USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Tradução do software?
Tamanini
não registrado
Postada em 10/01/2005 17:55 hs   
Voltei pessoal!Acabou a mamata, voltando a trabalhar a todo vapor.Bem e, já começo o ano com uma nova dúvida, alguém sabe se tem como fazer um software que mude de idioma com o VB? E como faria iria criar vários arquivos como o inno setup cria para a tradução do programa, como .isl? Preciso que o meu programa tenha opção de ficar no idioma inglês, espanhol e português. Alguém teria algum exemplo, precisarei mudar toda a estrutura do programa?[]'s,Marcelo Tamanini
     
rainerw
SÃO BERNARDO DO CAMPO
SP - BRASIL
Postada em 10/01/2005 18:24 hs            
Voce pode usar o Resource Editor do VB. Ele abre uma tabela onde você pode indexar os textos para os diferentes idiomas . Vá em Add-Ins> Add-Ins Manager e Selecione o Resource Editor.
Para recuperar o texto no idioma desejado use LoadResString(Index + X).
Exemplo:
        Escreva os textos em inglês apartir do 1000 , espanhol 2000 e portugues 3000
        Cada controle terá um texto em cada idioma e quando for trocar o texto
        altere o valor de intLanguange conforme o idioma desejado.
        Crie uma sub para carregar os textos.
        Dim intLanguage as Integer
        chkKey(i).Caption = LoadResString(intLanguage + 100)
        lblDescription(i).Caption = LoadResString(intLanguage + 101)
        Caso precise detectar o idioma nas configurações regionais do
        Windows para uma seleção automática use:
Dim strCodeLocale as String
strCodeLocale = Right(GetString(HKEY_CURRENT_USER, "Control PanelInternational", "Locale"), 4)
 
Na chave abaixo podem ser encontradas informações sobre as configurações regionais do Windows.
[HKEY_CURRENT_USERControl PanelInternationallocate]
Valor Idioma(País)
"0436"="af;Africâner"
"041C"="sq;Albanês"
"0001"="ar;Árabe"
"0401"="ar-sa;Árabe (Arábia Saudita)"
"0801"="ar-iq;Árabe (Iraque)"
"0C01"="ar-eg;Árabe (Egito)"
"1001"="ar-ly;Árabe (Líbia)"
"1401"="ar-dz;Árabe (Argélia)"
"1801"="ar-ma;Árabe (Marrocos)"
"1C01"="ar-tn;Árabe (Tunísia)"
"2001"="ar-om;Árabe (Omã)"
"2401"="ar-ye;Árabe (Iêmen)"
"2801"="ar-sy;Árabe (Síria)"
"2C01"="ar-jo;Árabe (Jordânia)"
"3001"="ar-lb;Árabe (Líbano)"
"3401"="ar-kw;Árabe (Kuwait)"
"3801"="ar-ae;Árabe (E.A.U.)"
"3C01"="ar-bh;Árabe (Barein)"
"4001"="ar-qa;Árabe (Catar)"
"042D"="eu;Basco"
"0402"="bg;Búlgaro"
"0423"="be;Belarusso"
"0403"="ca;Catalão"
"0004"="zh;Chinês"
"0404"="zh-tw;Chinês (Taiwan)"
"0804"="zh-cn;Chinês (China)"
"0C04"="zh-hk;Chinês (Hong Kong SAR)"
"1004"="zh-sg;Chinês (Cingapura)"
"041A"="hr;Croata"
"0405"="cs;Tcheco"
"0406"="da;Dinamarquês"
"0413"="nl;Holandês (Holanda)"
"0813"="nl-be;Holandês (Bélgica)"
"0009"="en;Inglesa"
"0409"="en-us;Inglês (Estados Unidos)"
"0809"="en-gb;Inglês (Reino Unido)"
"0C09"="en-au;Inglês (Austrália)"
"1009"="en-ca;Inglês (Canadá)"
"1409"="en-nz;Inglês (Nova Zelândia)"
"1809"="en-ie;Inglês (Irlanda)"
"1C09"="en-za;Inglês (África do Sul)"
"2009"="en-jm;Inglês (Jamaica)"
"2809"="en-bz;Inglês (Belize)"
"2C09"="en-tt;Inglês (Trindade)"
"0425"="et;Estoniano"
"0438"="fo;Faroês"
"0429"="fa;Farsi"
"040B"="fi;Finlandês"
"040C"="fr;Francês (França)"
"080C"="fr-be;Francês (Bélgica)"
"0C0C"="fr-ca;Francês (Canadá)"
"100C"="fr-ch;Francês (Suíça)"
"140C"="fr-lu;Francês (Luxemburgo)"
"043C"="gd;Gaélico"
"0407"="de;Alemão (Alemanha)"
"0807"="de-ch;Alemão (Suíça)"
"0C07"="de-at;Alemão (Áustria)"
"1007"="de-lu;Alemão (Luxemburgo)"
"1407"="de-li;Alemão (Liechtenstein)"
"0408"="el;Grego"
"040D"="he;Hebraico"
"0439"="hi;Hindi"
"040E"="hu;Húngaro"
"040F"="is;Islandês"
"0421"="in;Indonésio"
"0410"="it;Italiano (Itália)"
"0810"="it-ch;Italiano (Suíça)"
"0411"="ja;Japonês"
"0412"="ko;Coreano"
"0426"="lv;Letão"
"0427"="lt;Lituano"
"042F"="mk;Macedônio (FYRO)"
"043E"="ms;Malaio (Malásia)"
"043A"="mt;Maltês"
"0414"="no;Norueguês (Bokmal)"
"0814"="no;Norueguês (Nynorsk)"
"0415"="pl;Polonês"
"0416"="pt-br;Português (Brasil)"
"0816"="pt;Português (Portugal)"
"0417"="rm;Reto-românico"
"0418"="ro;Romeno"
"0818"="ro-mo;Romênio (Moldávia)"
"0419"="ru;Russo"
"0819"="ru-mo;Russo (Moldávia)"
"0C1A"="sr;Sérvio (cirílico)"
"081A"="sr;Sérvio (latino)"
"041B"="sk;Eslovaco"
"0424"="sl;Esloveno"
"042E"="sb;Sorábio"
"040A"="es;Espanhol (tradicional)"
"080A"="es-mx;Espanhol (México)"
"0C0A"="es;Espanhol (internacional)"
"100A"="es-gt;Espanhol (Guatemala)"
"140A"="es-cr;Espanhol (Costa Rica)"
"180A"="es-pa;Espanhol (Panamá)"
"1C0A"="es-do;Espanhol (República Dominicana)"
"200A"="es-ve;Espanhol (Venezuela)"
"240A"="es-co;Espanhol (Colômbia)"
"280A"="es-pe;Espanhol (Peru)"
"2C0A"="es-ar;Espanhol (Argentina)"
"300A"="es-ec;Espanhol (Equador)"
"340A"="es-cl;Espanhol (Chile)"
"380A"="es-uy;Espanhol (Uruguai)"
"3C0A"="es-py;Espanhol (Paraguai)"
"400A"="es-bo;Espanhol (Bolívia)"
"440A"="es-sv;Espanhol (El Salvador)"
"480A"="es-hn;Espanhol (Honduras)"
"4C0A"="es-ni;Espanhol (Nicarágua)"
"500A"="es-pr;Espanhol (Porto Rico)"
"0430"="sx;Sutu"
"041D"="sv;Sueco"
"081D"="sv-fi;Sueco (Finlândia)"
"041E"="th;Tailandês"
"0431"="ts;Tsonga"
"0432"="tn;Tswana"
"041F"="tr;Turco"
"0422"="uk;Ucraniano"
"0420"="ur;Urdu"
"042A"="vi;Vietnamita"
"0434"="xh;Xhosa"
"043D"="ji;Iídiche"
"0435"="zu;Zulu"
Esse são todos os idiomas disponíveis para as Configurações regionais do windows.
 
Abraços

Rainer Werthmuller

mailto:rainerwm@yahoo.com.br

 

     
Tamanini
não registrado
Postada em 11/01/2005 08:26 hs   
Não entendi muito bem, vou inserir o que no resource editor? Nada, apenas criar um e salvar?
E faço um laço em todos os componentes de cada form que o usuário for abrindo, é isso?
Traduzindo os componentes e o form em inglês por exemplo:
Dim intLanguage as integer
for...
   label1(x).caption = LoadResString(intLanguage + 1001)
   label2(x).caption = LoadResString(intLanguage + 1001)
   label3(x).caption = LoadResString(intLanguage + 1001)
   chk(x).caption = LoadResString(intLanguage + 1001)
   text1(x).caption = LoadResString(intLanguage + 1001)
   text2(x).caption = LoadResString(intLanguage + 1001)
   ...
next
form1.caption = LoadResString(intLanguage + 1001)
É isto? Apesar que se os componentes não forem arrays nem precisa do laço!
[]'s,
Marcelo Tamanini
     
rainerw
SÃO BERNARDO DO CAMPO
SP - BRASIL
Postada em 11/01/2005 08:44 hs            
O Resource editor é uma tabela onde cada texto que vc digitar terá um número correspondente. Cada form que vc abrir terá que ter uma sub para preencher os textos no respectivo idioma. Então vc vai criar uma tabela e inserir os textos que vão no form. Aí toda vez que abrir o form ou quando for trocar o idioma vc vai rodar a sub para carregar os textos direto do Resource Editor.

Rainer Werthmuller

mailto:rainerwm@yahoo.com.br

 

     
Tamanini
não registrado
Postada em 11/01/2005 08:55 hs   
Então eu mesmo terei que ir traduzindo, colocando os textos no resource editor? Ou só se eu mudar as configurações regionais pelo registro, correto? Mas este trocaria não apenas o idioma no meu software como tb no SO todo?
Seria possível, me passar algum exemplo, só para eu ter uma idéia, ou onde posso encontrar um exemplo desse tipo?

[]'s,
Marcelo Tamanini
     
Tamanini
não registrado
Postada em 12/01/2005 07:59 hs   
up!
     
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página