Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LeafaR19

montar página de tradução

Recommended Posts

Vou tentar explicar, e vamos ver se vocês me entede.....O SIGUINTe....Como eu estou montando um jogo que será internacional, eu queria montar uma página de tradução, mas não cmo google translator, eu ia cadastrar o usuário, a lingua nova e assim ele ia traduzi...Então, assim nele teria a linguagem padrão, que é da onde todos os tradutores iam ver o que traduzir, oiu seja o ingles, até aew tudo bem...Mas sempre que eu adiciona um texto, ir automaticamente em to do pra ele traduzir, é aew que pega, pois eu não sei fazer ler assim...Ele le no database as linguagem traduzida, e assim não aparece, se a linguagem não estiver traduzida, assim irá aparecer para ele fazer, entende?Ou eu teria que fazer um while em insert, pra toda vez que eu adiciona um texto, adiciona em todas as linguas disponiveis, e toda vez que eu adiciona uma linguagem, já adiciona automaticamente todos os textos criados na linguagem padrão, nesta lingua cmo não traduzido...Mas cmo fazer esse insert.. pois com mysql_insert_id() num da... :Sto confuso, algupem me ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

hAUHAUHAeu dinivoeu pensei em uma coisaeu monto 2 tableas..uma da default lang(ingles)...e outra dos textos que serão traduzidosse a id do texto (mesmo que da dafult lang) dakela linguagem(por exemplo brasil) não estiver na tabela, ele aparece pra traduzi...e agora.. cmo poderia fazer isso, este select com tantos inner join, left join :SHAuHAa, e quando eu edita o texto, exclui de lah automaticamente...pois quando a linguagem não estiver traduzida, a exportação nakele texto será em ingles

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra que o mysql_insert_id?Pra envia pra pessoa?Acho que o que falta é documentação ;)"Desenhe" todo o processo que tu vai utilizar que as respostas surgirão

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na minha opinião criar multiplas tabelas seria uma "zona" É melhor usar um registro pra cada lang.Na verdade o melhor seria um arquivo por tradução, mais rápido, práitoc, melhor pra ti gerenciar pelo código, entre outros, mas como vai ser gerenciável e tu vai add linguagens novas diversas vezes o banco se torna mais fácil. Sei lá opinião minha...Se não for muito extenso eu traduzo pra Alemão hehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq você não faz que nem no fórum, a tradução vai ser só para o sistema de jogo certo?então podia ser que nem no fórum ipb, pasta lang e dentro dela as váriaveis que se seta a tradução pt ou en, ai o usuario escolhe qual a linguagem.tipo assim:arquivo br$lang['who_farted'] = "Quem postou em:";arquivo en$lang['who_farted'] = "who posted in:";

Compartilhar este post


Link para o post
Compartilhar em outros sites

o sistema de tradução eh deste jeito... eu só estou montando o site pra ficar melhor o gerenciamento...Quando o usuario exporta.. vai pra versão beta do jogo, no ftp pasta langs..sobrescrever o q ta..entende...o site é só pra um facil gerenciamento.. sem ter que enviar o código para os tradutores, quando adiciona coisa nova no jogo, ou muda um texto, já estaria lá...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta kuase pronto...

 

 

$sql = mysql_query("SELECT A.*, B.* , C.*, D.*					FROM lang_texts A 					INNER JOIN languages B ON (A.lang_id = B.lang_id)  					INNER JOIN lang_users C ON (A.lang_id = C.lang_id)   					INNER JOIN lang_translation D ON (A.text_id = D.text_id)					WHERE C.user_id = '$user_id'									AND A.lang_id = D.lang_id					LIMIT 50") or die(mysql_error());$coutntrans = mysql_num_rows($sql);$fetchtrans = mysql_fetch_array($sql);$textid = $fetchtrans['lang_id'];$sql = mysql_query("SELECT A.*, B.* , C.*					FROM lang_texts A 					INNER JOIN languages B ON (A.lang_id != B.lang_id)  					INNER JOIN lang_users C ON (A.lang_id != C.lang_id)					WHERE C.user_id = '$user_id'					AND B.lang_default = '0'					AND A.text_id != '$textid'					LIMIT 50") or die(mysql_error());$texts = array();while ($row = mysql_fetch_array($sql)){	$texts[] = $row;}$total_texts = count($texts);

 

 

a unica coisa ruim é que fez isso

 

Brazil

dfghdfas fas sdf

dfghdfas fas sdf

astfgsdfxasdf

astfgsdfxasdf

sadfsd asdf

sadfsd asdf

 

 

Romenia

dfghdfas fas sdf

dfghdfas fas sdf

astfgsdfxasdf

astfgsdfxasdf

sadfsd asdf

sadfsd asdf

 

 

 

repete 2 vezes o resultado

 

ingles não aparece... pois é a lingua padrão

Compartilhar este post


Link para o post
Compartilhar em outros sites

entaum.... não deu certo... pois quando eu coloquei um texto dado como traduzido.. inseri na tabela.. ele deu moo pau...alguém tem alguma ideia..de eu faze assim.. soh ler na tabela texts o que não estiver na tabela translation nakela lingua...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O siguinte.. vo coloca o codigo aki pra vcs ve....

ele ta kuase pronto... mas a única coisa que não consigo faze é não aparecer os textos já traduzido, pois aparece tdo :S

ou aparece somente 1....

 

 

$sql = mysql_query("SELECT A.text_id as 'textid1', D.text_id as 'textid'					FROM lang_texts A 					INNER JOIN lang_translation D ON (A.text_id != D.text_id)									WHERE A.text_id != D.text_id					LIMIT 50") or die(mysql_error());$coutntrans = mysql_num_rows($sql);$transad = array();while($fetchtrans = mysql_fetch_array($sql)){$transad[] = $fetchtrans;}$transadcount = count($transad);for($y=0;$y<$transadcount;$y++){$textid = $transad[$y]['textid'];echo $textid;}$sql = mysql_query("SELECT A.*, C.lang_id as 'langid'					FROM ((( lang_texts A 					LEFT JOIN languages B ON A.lang_id != B.lang_id)					LEFT JOIN lang_users C ON B.lang_id = C.lang_id)					LEFT JOIN lang_translation D ON D.text_id != '$textid')					WHERE C.user_id = '$user_id'					AND B.lang_default = '0'					LIMIT 50") or die(mysql_error());

Dá uma olhada fazendo o favor, e por favor, me responda, pelo menos se for um, não tenho idea, mas me responda pra mim saber e não ficar aqui esperando, pois tenho muita coisa pra faze ainda....

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu sei q vcs vaum qre me mata... mas é caso de urgencia... tenhu tantas coisas pra faze e to preso nisso...naum consigu sai enquanto num faze....por favor.. alguem me responda...cmo q faz pra seleciona na tabela texts o que não estiver na tabela translation

Compartilhar este post


Link para o post
Compartilhar em outros sites

achu que ngm vai sabe me ajuda neh :(mas entaum... cmo estou montando... e esse jogo tera um forum.. cadastra no jogo automaticamente vai o cadastro pro forum.. e no forum num tem a opção de registrar.. eh claro...entaum... cmo vai ter mtas ações no mysql ao msmo tempo.. e isso e akilo.. naum é bom usa o mysql_insert_id(), neh?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta semana fiz uma página com versão em inglês pra um cliente. O conteúdo é salvo no mysql, por isso criei na mesma tabela 2 tipos de campos, um em portugues e outro em inglês, então eu tenho a estrutura da tabela:- id- titulo_ptbr- texto_ptbr- titulo_en- texto_enNo meu caso, português é padrão, mas tem um if que cria uma opção de trocar via $_GET, ou seja, ele seleciona do BD os campos de acordo com o valor do $_GET. Modo simples de fazer, porém muito útil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o seu é somente ingles e portugues...o meu jogo já está sendo traduzido pra romeno, ingles e polones...hehehehee sobre o mysql_insert_id... oq me falam??

Compartilhar este post


Link para o post
Compartilhar em outros sites

up...ngm??me responde assim...eu não sei a primeira, mas a segunda realmente ñão eh bom usar o mysql_insert_id()ou, pode usa, pois somente adiciona a id da ação anterior, mas no meu jogo são varias..plz... me ajudem

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.