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