IDIOMAS

Google-Translate-Chinese Google-Translate-Spanish to French Google-Translate-Spanish to German Google-Translate-Spanish to Japanese Google-Translate-Spanish to English Google-Translate-Spanish to Russian Google-Translate-Spanish to Portuguese Google-Translate-Spanish to Italian

miércoles, 10 de junio de 2015

Como cambiar el IDIOMA de nuestra aplicación Android en Android Studio. Adaptación automática por países.

La entrada de hoy habla de una de las cosas más importantes a tener en cuenta a la hora de crear una buena app: la traducción y adaptación de nuestra aplicación para cada país.

Es sencillo: a más idiomas, en más países se podrá distribuir, más público. Así que te enseñaré la manera para hacerlo paso a paso. Empecemos.

- Hay que tener a mano los códigos ISO 639-1 de cada país/idioma. También servirá el -2 y el -3. Android Studio puede reconocer todos esos códigos y hay que ir probando hasta que se muestre la bandera del país  ( lo veremos más adelante ) :

ISO 639-2/5ISO 639-3ISO 639-1Language nameScopeType
aaraaraaAfarIndividualLiving
aavAustro-Asiatic languagesCollective
abkabkabAbkhazianIndividualLiving
aceaceAchineseIndividualLiving
achachAcoliIndividualLiving
adaadaAdangmeIndividualLiving
adyadyAdygheIndividualLiving
afaAfro-Asiatic languagesCollective
afhafhAfrihiliIndividualConstructed
afrafrafAfrikaansIndividualLiving
ainainAinu (Japan)IndividualLiving
akaakaakAkanMacrolanguageLiving
akkakkAkkadianIndividualAncient
alb* / sqisqisqAlbanianMacrolanguageLiving
alealeAleutIndividualLiving
algAlgonquian languagesCollective
altaltSouthern AltaiIndividualLiving
alvAtlantic-Congo languagesCollective
amhamhamAmharicIndividualLiving
angangOld English (ca. 450-1100)IndividualHistorical
anpanpAngikaIndividualLiving
apaApache languagesCollective
aqaAlacalufan languagesCollective
aqlAlgic languagesCollective
araaraarArabicMacrolanguageLiving
arcarcOfficial Aramaic (700-300 BCE)IndividualAncient
argarganAragoneseIndividualLiving
arm* / hyehyehyArmenianIndividualLiving
arnarnMapudungunIndividualLiving
arparpArapahoIndividualLiving
artArtificial languagesCollective
arwarwArawakIndividualLiving
asmasmasAssameseIndividualLiving
astastAsturianIndividualLiving
athAthapascan languagesCollective
aufArauan languagesCollective
ausAustralian languagesCollective
avaavaavAvaricIndividualLiving
aveaveaeAvestanIndividualAncient
awaawaAwadhiIndividualLiving
awdArawakan languagesCollective
aymaymayAymaraMacrolanguageLiving
azcUto-Aztecan languagesCollective
azeazeazAzerbaijaniMacrolanguageLiving
badBanda languagesCollective
baiBamileke languagesCollective
bakbakbaBashkirIndividualLiving
balbalBaluchiMacrolanguageLiving
bambambmBambaraIndividualLiving
banbanBalineseIndividualLiving
baq* / euseuseuBasqueIndividualLiving
basbasBasa (Cameroon)IndividualLiving
batBaltic languagesCollective
bejbejBejaIndividualLiving
belbelbeBelarusianIndividualLiving
bembemBemba (Zambia)IndividualLiving
benbenbnBengaliIndividualLiving
berBerber languagesCollective
bhobhoBhojpuriIndividualLiving
bihbhBihari languagesCollective
bikbikBikolMacrolanguageLiving
binbinBiniIndividualLiving
bisbisbiBislamaIndividualLiving
blablaSiksikaIndividualLiving
bntBantu languagesCollective
bod / tib*bodboTibetanIndividualLiving
bosbosbsBosnianIndividualLiving
brabraBrajIndividualLiving
brebrebrBretonIndividualLiving
btkBatak languagesCollective
buabuaBuriatMacrolanguageLiving
bugbugBugineseIndividualLiving
bulbulbgBulgarianIndividualLiving
bur* / myamyamyBurmeseIndividualLiving
bynbynBilinIndividualLiving
cadcadCaddoIndividualLiving
caiCentral American Indian languagesCollective
carcarGalibi CaribIndividualLiving
catcatcaCatalanIndividualLiving
cauCaucasian languagesCollective
cbaChibchan languagesCollective
ccnNorth Caucasian languagesCollective
ccsSouth Caucasian languagesCollective
cdcChadic languagesCollective
cddCaddoan languagesCollective
cebcebCebuanoIndividualLiving
celCeltic languagesCollective
ces / cze*cescsCzechIndividualLiving
chachachChamorroIndividualLiving
chbchbChibchaIndividualExtinct
checheceChechenIndividualLiving
chgchgChagataiIndividualExtinct
chi* / zhozhozhChineseMacrolanguageLiving
chkchkChuukeseIndividualLiving
chmchmMari (Russia)MacrolanguageLiving
chnchnChinook jargonIndividualLiving
chochoChoctawIndividualLiving
chpchpChipewyanIndividualLiving
chrchrCherokeeIndividualLiving
chuchucuChurch SlavicIndividualAncient
chvchvcvChuvashIndividualLiving
chychyCheyenneIndividualLiving
cmcChamic languagesCollective
copcopCopticIndividualExtinct
corcorkwCornishIndividualLiving
coscoscoCorsicanIndividualLiving
cpeEnglish based Creoles and pidginsCollective
cpfFrench-Based Creoles and pidginsCollective
cppPortuguese-Based Creoles and pidginsCollective
crecrecrCreeMacrolanguageLiving
crhcrhCrimean TatarIndividualLiving
crpCreoles and pidginsCollective
csbcsbKashubianIndividualLiving
csuCentral Sudanic languagesCollective
cusCushitic languagesCollective
cym / wel*cymcyWelshIndividualLiving
cze* / cescescsCzechIndividualLiving
dakdakDakotaIndividualLiving
dandandaDanishIndividualLiving
dardarDargwaIndividualLiving
dayLand Dayak languagesCollective
deldelDelawareMacrolanguageLiving
dendenSlave (Athapascan)MacrolanguageLiving
deu / ger*deudeGermanIndividualLiving
dgrdgrDogribIndividualLiving
dindinDinkaMacrolanguageLiving
divdivdvDhivehiIndividualLiving
dmnMande languagesCollective
doidoiDogri (macrolanguage)MacrolanguageLiving
draDravidian languagesCollective
dsbdsbLower SorbianIndividualLiving
duaduaDualaIndividualLiving
dumdumMiddle Dutch (ca. 1050-1350)IndividualHistorical
dut* / nldnldnlDutchIndividualLiving
dyudyuDyulaIndividualLiving
dzodzodzDzongkhaIndividualLiving
efiefiEfikIndividualLiving
egxEgyptian languagesCollective
egyegyEgyptian (Ancient)IndividualAncient
ekaekaEkajukIndividualLiving
elxelxElamiteIndividualAncient
engengenEnglishIndividualLiving
enmenmMiddle English (1100-1500)IndividualHistorical
epoepoeoEsperantoIndividualConstructed
estestetEstonianMacrolanguageLiving
esxEskimo-Aleut languagesCollective
euqBasque (family)Collective
eus / baq*euseuBasqueIndividualLiving
eweeweeeEweIndividualLiving
ewoewoEwondoIndividualLiving
fanfanFang (Equatorial Guinea)IndividualLiving
faofaofoFaroeseIndividualLiving
fas / per*fasfaPersianMacrolanguageLiving
fatfatFantiIndividualLiving
fijfijfjFijianIndividualLiving
filfilFilipinoIndividualLiving
finfinfiFinnishIndividualLiving
fiuFinno-Ugrian languagesCollective
fonfonFonIndividualLiving
foxFormosan languagesCollective
fra / fre*frafrFrenchIndividualLiving
fre* / frafrafrFrenchIndividualLiving
frmfrmMiddle French (ca. 1400-1600)IndividualHistorical
frofroOld French (842-ca. 1400)IndividualHistorical
frrfrrNorthern FrisianIndividualLiving
frsfrsEastern FrisianIndividualLiving
fryfryfyWestern FrisianIndividualLiving
fulfulffFulahMacrolanguageLiving
furfurFriulianIndividualLiving
gaagaaGaIndividualLiving
gaygayGayoIndividualLiving
gbagbaGbaya (Central African Republic)MacrolanguageLiving
gemGermanic languagesCollective
geo* / katkatkaGeorgianIndividualLiving
ger* / deudeudeGermanIndividualLiving
gezgezGeezIndividualAncient
gilgilGilberteseIndividualLiving
glaglagdScottish GaelicIndividualLiving
gleglegaIrishIndividualLiving
glgglgglGalicianIndividualLiving
glvglvgvManxIndividualLiving
gmeEast Germanic languagesCollective
gmhgmhMiddle High German (ca. 1050-1500)IndividualHistorical
gmqNorth Germanic languagesCollective
gmwWest Germanic languagesCollective
gohgohOld High German (ca. 750-1050)IndividualHistorical
gongonGondiMacrolanguageLiving
gorgorGorontaloIndividualLiving
gotgotGothicIndividualAncient
grbgrbGreboMacrolanguageLiving
grcgrcAncient Greek (to 1453)IndividualHistorical
gre* / ellellelModern Greek (1453-)IndividualLiving
grkGreek languagesCollective
grngrngnGuaraniMacrolanguageLiving
gswgswSwiss GermanIndividualLiving
gujgujguGujaratiIndividualLiving
gwigwiGwichʼinIndividualLiving
haihaiHaidaMacrolanguageLiving
hathathtHaitianIndividualLiving
hauhauhaHausaIndividualLiving
hawhawHawaiianIndividualLiving
hebhebheHebrewIndividualLiving
herherhzHereroIndividualLiving
hilhilHiligaynonIndividualLiving
himHimachali languagesCollective
hinhinhiHindiIndividualLiving
hithitHittiteIndividualAncient
hmnhmnHmongMacrolanguageLiving
hmohmohoHiri MotuIndividualLiving
hmxHmong-Mien languagesCollective
hokHokan languagesCollective
hrvhrvhrCroatianIndividualLiving
hsbhsbUpper SorbianIndividualLiving
hunhunhuHungarianIndividualLiving
huphupHupaIndividualLiving
hye / arm*hyehyArmenianIndividualLiving
hyxArmenian (family)Collective
ibaibaIbanIndividualLiving
iboiboigIgboIndividualLiving
ice* / islislisIcelandicIndividualLiving
idoidoioIdoIndividualConstructed
iiiiiiiiSichuan YiIndividualLiving
iirIndo-Iranian languagesCollective
ijoIjo languagesCollective
ikuikuiuInuktitutMacrolanguageLiving
ileileieInterlingueIndividualConstructed
iloiloIlokoIndividualLiving
inainaiaInterlingua (International Auxiliary Language Association)IndividualConstructed
incIndic languagesCollective
indindidIndonesianIndividualLiving
ineIndo-European languagesCollective
inhinhIngushIndividualLiving
ipkipkikInupiaqMacrolanguageLiving
iraIranian languagesCollective
iroIroquoian languagesCollective
isl / ice*islisIcelandicIndividualLiving
itaitaitItalianIndividualLiving
itcItalic languagesCollective
javjavjvJavaneseIndividualLiving
jbojboLojbanIndividualConstructed
jpnjpnjaJapaneseIndividualLiving
jprjprJudeo-PersianIndividualLiving
jpxJapanese (family)Collective
jrbjrbJudeo-ArabicMacrolanguageLiving
kaakaaKara-KalpakIndividualLiving
kabkabKabyleIndividualLiving
kackacKachinIndividualLiving
kalkalklKalaallisutIndividualLiving
kamkamKamba (Kenya)IndividualLiving
kankanknKannadaIndividualLiving
karKaren languagesCollective
kaskasksKashmiriIndividualLiving
kat / geo*katkaGeorgianIndividualLiving
kaukaukrKanuriMacrolanguageLiving
kawkawKawiIndividualAncient
kazkazkkKazakhIndividualLiving
kbdkbdKabardianIndividualLiving
kdoKordofanian languagesCollective
khakhaKhasiIndividualLiving
khiKhoisan languagesCollective
khmkhmkmCentral KhmerIndividualLiving
khokhoKhotaneseIndividualAncient
kikkikkiKikuyuIndividualLiving
kinkinrwKinyarwandaIndividualLiving
kirkirkyKirghizIndividualLiving
kmbkmbKimbunduIndividualLiving
kokkokKonkani (macrolanguage)MacrolanguageLiving
komkomkvKomiMacrolanguageLiving
konkonkgKongoMacrolanguageLiving
korkorkoKoreanIndividualLiving
koskosKosraeanIndividualLiving
kpekpeKpelleMacrolanguageLiving
krckrcKarachay-BalkarIndividualLiving
krlkrlKarelianIndividualLiving
kroKru languagesCollective
krukruKurukhIndividualLiving
kuakuakjKuanyamaIndividualLiving
kumkumKumykIndividualLiving
kurkurkuKurdishMacrolanguageLiving
kutkutKutenaiIndividualLiving
ladladLadinoIndividualLiving
lahlahLahndaMacrolanguageLiving
lamlamLambaIndividualLiving
laolaoloLaoIndividualLiving
latlatlaLatinIndividualAncient
lavlavlvLatvianMacrolanguageLiving
lezlezLezghianIndividualLiving
limlimliLimburganIndividualLiving
linlinlnLingalaIndividualLiving
litlitltLithuanianIndividualLiving
lollolMongoIndividualLiving
lozlozLoziIndividualLiving
ltzltzlbLuxembourgishIndividualLiving
lualuaLuba-LuluaIndividualLiving
lublubluLuba-KatangaIndividualLiving
lugluglgGandaIndividualLiving
luiluiLuisenoIndividualLiving
lunlunLundaIndividualLiving
luoluoLuo (Kenya and Tanzania)IndividualLiving
luslusLushaiIndividualLiving
mac* / mkdmkdmkMacedonianIndividualLiving
madmadMadureseIndividualLiving
magmagMagahiIndividualLiving
mahmahmhMarshalleseIndividualLiving
maimaiMaithiliIndividualLiving
makmakMakasarIndividualLiving
malmalmlMalayalamIndividualLiving
manmanMandingoMacrolanguageLiving
mao* / mrimrimiMaoriIndividualLiving
mapAustronesian languagesCollective
marmarmrMarathiIndividualLiving
masmasMasaiIndividualLiving
may* / msamsamsMalay (macrolanguage)MacrolanguageLiving
mdfmdfMokshaIndividualLiving
mdrmdrMandarIndividualLiving
menmenMende (Sierra Leone)IndividualLiving
mgamgaMiddle Irish (900-1200)IndividualHistorical
micmicMi'kmaqIndividualLiving
minminMinangkabauIndividualLiving
mismisUncoded languagesSpecial
mkd / mac*mkdmkMacedonianIndividualLiving
mkhMon-Khmer languagesCollective
mlgmlgmgMalagasyMacrolanguageLiving
mltmltmtMalteseIndividualLiving
mncmncManchuIndividualLiving
mnimniManipuriIndividualLiving
mnoManobo languagesCollective
mohmohMohawkIndividualLiving
monmonmnMongolianMacrolanguageLiving
mosmosMossiIndividualLiving
mri / mao*mrimiMaoriIndividualLiving
msa / may*msamsMalay (macrolanguage)MacrolanguageLiving
mulmulMultiple languagesSpecial
munMunda languagesCollective
musmusCreekIndividualLiving
mwlmwlMirandeseIndividualLiving
mwrmwrMarwariMacrolanguageLiving
mya / bur*myamyBurmeseIndividualLiving
mynMayan languagesCollective
myvmyvErzyaIndividualLiving
nahNahuatl languagesCollective
naiNorth American IndianCollective
napnapNeapolitanIndividualLiving
naunaunaNauruIndividualLiving
navnavnvNavajoIndividualLiving
nblnblnrSouth NdebeleIndividualLiving
ndendendNorth NdebeleIndividualLiving
ndondongNdongaIndividualLiving
ndsndsLow GermanIndividualLiving
nepnepneNepali (macrolanguage)MacrolanguageLiving
newnewNepal BhasaIndividualLiving
ngfTrans-New Guinea languagesCollective
nianiaNiasIndividualLiving
nicNiger-Kordofanian languagesCollective
niuniuNiueanIndividualLiving
nld / dut*nldnlDutchIndividualLiving
nnonnonnNorwegian NynorskIndividualLiving
nobnobnbNorwegian BokmålIndividualLiving
nognogNogaiIndividualLiving
nonnonOld NorseIndividualHistorical
nornornoNorwegianMacrolanguageLiving
nqonqoN'KoIndividualLiving
nsonsoPediIndividualLiving
nubNubian languagesCollective
nwcnwcClassical NewariIndividualHistorical
nyanyanyNyanjaIndividualLiving
nymnymNyamweziIndividualLiving
nynnynNyankoleIndividualLiving
nyonyoNyoroIndividualLiving
nzinziNzimaIndividualLiving
ociociocOccitan (post 1500)IndividualLiving
ojiojiojOjibwaMacrolanguageLiving
omqOto-Manguean languagesCollective
omvOmotic languagesCollective
orioriorOriya (macrolanguage)MacrolanguageLiving
ormormomOromoMacrolanguageLiving
osaosaOsageIndividualLiving
ossossosOssetianIndividualLiving
otaotaOttoman Turkish (1500-1928)IndividualHistorical
otoOtomian languagesCollective
paaPapuan languagesCollective
pagpagPangasinanIndividualLiving
palpalPahlaviIndividualAncient
pampamPampangaIndividualLiving
panpanpaPanjabiIndividualLiving
pappapPapiamentoIndividualLiving
paupauPalauanIndividualLiving
peopeoOld Persian (ca. 600-400 B.C.)IndividualHistorical
per* / fasfasfaPersianMacrolanguageLiving
phiPhilippine languagesCollective
phnphnPhoenicianIndividualAncient
plfCentral Malayo-Polynesian languagesCollective
pliplipiPaliIndividualAncient
polpolplPolishIndividualLiving
ponponPohnpeianIndividualLiving
porporptPortugueseIndividualLiving
pozMalayo-Polynesian languagesCollective
pqeEastern Malayo-Polynesian languagesCollective
pqwWestern Malayo-Polynesian languagesCollective
praPrakrit languagesCollective
proproOld Provençal (to 1500)IndividualHistorical
puspuspsPushtoMacrolanguageLiving
qaa-qtzqaa-qtzReserved for local useLocal
quequequQuechuaMacrolanguageLiving
qweQuechuan (family)Collective
rajrajRajasthaniMacrolanguageLiving
raprapRapanuiIndividualLiving
rarrarRarotonganIndividualLiving
roaRomance languagesCollective
rohrohrmRomanshIndividualLiving
romromRomanyMacrolanguageLiving
ron / rum*ronroRomanianIndividualLiving
runrunrnRundiIndividualLiving
ruprupMacedo-RomanianIndividualLiving
rusrusruRussianIndividualLiving
sadsadSandaweIndividualLiving
sagsagsgSangoIndividualLiving
sahsahYakutIndividualLiving
saiSouth American Indian languagesCollective
salSalishan languagesCollective
samsamSamaritan AramaicIndividualExtinct
sansansaSanskritIndividualAncient
sassasSasakIndividualLiving
satsatSantaliIndividualLiving
scnscnSicilianIndividualLiving
scoscoScotsIndividualLiving
sdvEastern Sudanic languagesCollective
selselSelkupIndividualLiving
semSemitic languagesCollective
sgasgaOld Irish (to 900)IndividualHistorical
sgnSign languagesCollective
shnshnShanIndividualLiving
sidsidSidamoIndividualLiving
sinsinsiSinhalaIndividualLiving
sioSiouan languagesCollective
sitSino-Tibetan languagesCollective
slaSlavic languagesCollective
slk / slo*slkskSlovakIndividualLiving
slvslvslSlovenianIndividualLiving
smasmaSouthern SamiIndividualLiving
smesmeseNorthern SamiIndividualLiving
smiSami languagesCollective
smjsmjLule SamiIndividualLiving
smnsmnInari SamiIndividualLiving
smosmosmSamoanIndividualLiving
smssmsSkolt SamiIndividualLiving
snasnasnShonaIndividualLiving
sndsndsdSindhiIndividualLiving
snksnkSoninkeIndividualLiving
sogsogSogdianIndividualAncient
somsomsoSomaliIndividualLiving
sonSonghai languagesCollective
sotsotstSouthern SothoIndividualLiving
spaspaesSpanishIndividualLiving
sqiAlbanian languagesCollective
sqi / alb*sqisqAlbanianMacrolanguageLiving
srdsrdscSardinianMacrolanguageLiving
srnsrnSranan TongoIndividualLiving
srpsrpsrSerbianIndividualLiving
srrsrrSererIndividualLiving
ssaNilo-Saharan languagesCollective
sswsswssSwatiIndividualLiving
suksukSukumaIndividualLiving
sunsunsuSundaneseIndividualLiving
sussusSusuIndividualLiving
suxsuxSumerianIndividualAncient
swaswaswSwahili (macrolanguage)MacrolanguageLiving
sweswesvSwedishIndividualLiving
sycsycClassical SyriacIndividualHistorical
sydSamoyedic languagesCollective
syrsyrSyriacMacrolanguageLiving
tahtahtyTahitianIndividualLiving
taiTai languagesCollective
tamtamtaTamilIndividualLiving
tattatttTatarIndividualLiving
tbqTibeto-Burman languagesCollective
teltelteTeluguIndividualLiving
temtemTimneIndividualLiving
terterTerenoIndividualLiving
tettetTetumIndividualLiving
tgktgktgTajikIndividualLiving
tgltgltlTagalogIndividualLiving
thathathThaiIndividualLiving
tib* / bodbodboTibetanIndividualLiving
tigtigTigreIndividualLiving
tirtirtiTigrinyaIndividualLiving
tivtivTivIndividualLiving
tkltklTokelauIndividualLiving
tlhtlhKlingonIndividualConstructed
tlitliTlingitIndividualLiving
tmhtmhTamashekMacrolanguageLiving
togtogTonga (Nyasa)IndividualLiving
tontontoTonga (Tonga Islands)IndividualLiving
tpitpiTok PisinIndividualLiving
trkTurkic languagesCollective
tsitsiTsimshianIndividualLiving
tsntsntnTswanaIndividualLiving
tsotsotsTsongaIndividualLiving
tuktuktkTurkmenIndividualLiving
tumtumTumbukaIndividualLiving
tupTupi languagesCollective
turturtrTurkishIndividualLiving
tutAltaic languagesCollective
tuwTungus languagesCollective
tvltvlTuvaluIndividualLiving
twitwitwTwiIndividualLiving
tyvtyvTuvinianIndividualLiving
udmudmUdmurtIndividualLiving
ugaugaUgariticIndividualAncient
uiguigugUighurIndividualLiving
ukrukrukUkrainianIndividualLiving
umbumbUmbunduIndividualLiving
undundUndeterminedSpecial
urdurdurUrduIndividualLiving
urjUralic languagesCollective
uzbuzbuzUzbekMacrolanguageLiving
vaivaiVaiIndividualLiving
venvenveVendaIndividualLiving
vievieviVietnameseIndividualLiving
volvolvoVolapükIndividualConstructed
votvotVoticIndividualLiving
wakWakashan languagesCollective
walwalWolayttaIndividualLiving
warwarWaray (Philippines)IndividualLiving
waswasWashoIndividualLiving
wel* / cymcymcyWelshIndividualLiving
wenSorbian languagesCollective
wlnwlnwaWalloonIndividualLiving
wolwolwoWolofIndividualLiving
xalxalKalmykIndividualLiving
xgnMongolian languagesCollective
xhoxhoxhXhosaIndividualLiving
xndNa-Dene languagesCollective
yaoyaoYaoIndividualLiving
yapyapYapeseIndividualLiving
yidyidyiYiddishMacrolanguageLiving
yoryoryoYorubaIndividualLiving
ypkYupik languagesCollective
zapzapZapotecMacrolanguageLiving
zblzblBlissymbolsIndividualConstructed
zenzenZenagaIndividualLiving
zghzghStandard Moroccan TamazightIndividualLiving
zhazhazaZhuangMacrolanguageLiving
zho / chi*zhozhChineseMacrolanguageLiving
zhxChinese (family)Collective
zleEast Slavic languagesCollective
zlsSouth Slavic languagesCollective
zlwWest Slavic languagesCollective
zndZande languagesCollective
zulzulzuZuluIndividualLiving
zunzunZuniIndividualLiving
zxxzxxNo linguistic contentSpecial
zzazzaZazaMacrolanguageLiving

Ahora, hay que crear un nuevo archivo STRING.XLM donde traduciremos cada STRING en el idioma que queremos.

En Android Studio, debemos crear los nuevos directorios de recursos VALUES que se encuentran dentro de RES y se alojan los recurso STRINGS.XLM:

- Botón derecho sobre RES -> nuevo recurso directorio -> y en el mismo nombre VALUES le añadimos un guión y el código del país ( primera columna, aunque hay que ir probando hasta que nos aparezca la bandera del país justo al lado del recurso STRING) -> copiar el recurso que nos viene por defecto donde están todos nuestros STRINGS en nuestro idioma principal -> pegar en la nueva carpeta directorio VALUES-(codigo) del nuevo idioma -> traducir cada STRING




















- Abrimos la pestaña:


 




- Y nos aparece con la bandera:





- Ahora podemos modificar cada uno de los STRING del nuevo recurso STRING.XLM que será leído por el dispositivo según la configuración de idioma escogido por el usuario:








Propongo que hagas la prueba de compilación en un dispositivo externo del PC (conectado vía USB) y le puedas cambiar el idioma y ver si has completado con éxito las traducciones. Saludos a tod@s por la visita!



13 comentarios:

  1. hay que descargar algún paquete de idioma o solo hay que poner iso 639-1 de donde lo saco como encontrarlo

    ResponderEliminar
  2. de donde puedo obtener el iso 639-1 este es el código del idioma español

    ResponderEliminar
  3. de donde puedo obtener el iso 639-1 este es el código del idioma español

    ResponderEliminar
  4. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar
    Respuestas
    1. Hola Fernando, no hace falta. Sólo sigue las instrucciones de la entrada del blog. Deberás hacerlo para cada idioma y país. Saludos

      Eliminar
  5. Me gustaría saber si puedo hacer que el usuario elija entre los idiomas disponibles, y si es posible, pasarme un link de ello, gracias :D

    ResponderEliminar
    Respuestas
    1. Hola, esta entrada hace referencia al cambio automático de idioma establecido por el dispositivo. Si lo que quieres es que el usuario pueda elegir, podrías hacer un menú inicial con una lista de botones y que estos hagan un INTENT hacia un LAYOUT con un lenguaje u otro. Saludos

      Eliminar
  6. hola, muchas gracias por el tuto esta excelente, me sirvio mucho. solamente que no se como traducir los archivos que estan en la carpeta java, ya que no respetan el @string. agradeceria mucho alguien me pudiera aconsejar al respecto. un abrazo!

    ResponderEliminar
    Respuestas
    1. Hola Alonso, los valores @strings se tienen que traducir manualmente. Crea una carpeta String para los Values de cada idioma y traducelos. Saludos

      Eliminar
  7. hola oye tengo una app pero ya tiene las traduciones pero solo funciona en idioma ingles en que parte puedo cambiar para que eliga dependiendo el idioma del telefono las traducciones ya estan

    ResponderEliminar
  8. Hola, muchas gracias por el aporte pero tengo un problema.
    Al crear el directorio no me aparece dentro de res.
    si lo vuelvo a crear con el mismo nombre me dice que el archivo ya existe pero no me sale para poder copiar el strings.

    ResponderEliminar
  9. vete a la vista de packages en lugar de a la de android, y alli te aparecen, copia el archivo string, y cuando vuelvas a la vista de android en la carpeta value te apareceran

    ResponderEliminar
  10. cómo puedo implementar botones para que el usuario cambie al ideoma que necesite

    ResponderEliminar