Frankfurtes studija daudzvalodu digitālajiem risinājumiem +49 69 95209894 [email protected] P–P 9–17 Klientu zona →
LatviešuLV

Praktisks ceļvedis

Ceļvedis par lietotņu un programmatūras lokalizāciju (i18n)

Lietotņu un programmatūras lokalizācijai nepieciešama pārdomāta koda un tekstu atdalīšana. Šis ceļvedis aptver tehniskus aspektus, piemēram, vietturētājus, daudzskaitļa noteikumus, teksta garumus, virkņu atslēgas, kontekstu tulkotājiem un RTL atbalstu. Tas palīdz izstrādātājiem efektīvi un konsekventi veidot starptautiskas lietojumprogrammas, neietekmējot juridiskus vai finanšu jautājumus.

i18n
Internacionalizācijas saīsinājums
RTL
Atbalsts no labās uz kreiso pusi
ICU
Starptautiskās Unicode komponentes
Diagramma koda un valodas resursu atdalīšanai

1. Koda un tekstu atdalīšana

Pamatprasība jebkurai lokalizācijai ir stingra programmkoda un teksta satura atdalīšana. Visi attēlojamie teksti jāglabā ārējās resursdatnēs (piemēram, Properties, JSON, YAML), nevis cieti kodēti avota tekstā. Tādējādi tulkotāji var strādāt, nemainot kodu. Izmantojiet unikālas virkņu atslēgas kā atsauces kodā, kas norāda uz attiecīgajiem tulkojumiem. Šī atdalīšana arī atvieglo uzturēšanu un ļauj vēlāk pievienot jaunas valodas bez koda izmaiņām. Pārliecinieties, ka arī lietotāja saskarnes uzraksti, kļūdu ziņojumi un rīka padomi tiek iekļauti šajās datnēs.

2. Vietturi un mainīgie

Teksti bieži satur dinamiskus saturus, piemēram, skaitļus, vārdus vai datus. Tie jāievieto, izmantojot vietturus, piemēram, ar printf formatējumu (%s, %d) vai modernākām pieejām, piemēram, ar cirtainajām iekavām {0}. Svarīgi, lai tulkotāji zinātu vietturu secību un nozīmi. Izmantojiet nosauktus vietturus (piemēram, „{username}”), lai sniegtu kontekstu. Valodās ar atšķirīgu teikuma struktūru vietturu secība var atšķirties. Tāpēc nodrošiniet iespēju pielāgot secību tulkojumā. Testējiet visas versijas, lai izvairītos no kļūdainiem vai nepilnīgiem rezultātiem.

Piemērs aizvietotājiem tulkojamās virknēs

3. Daudzskaitļa noteikumi un veidošana

Vācu valodā ir tikai vienskaitlis un daudzskaitlis, bet daudzās valodās ir sarežģītāki daudzskaitļu noteikumi (piem., arābu valodā ir sešas kategorijas). Izmantojiet bibliotēkas, piemēram, ICU MessageFormat, kas apstrādā daudzskaitļu noteikumus atbilstoši valodai. Savos resursos definējiet atsevišķas atslēgas dažādām daudzskaitļu formām (one, other). Kods pēc tam automātiski izvēlas atbilstošo formu, pamatojoties uz skaitli. Piemērs: „{count} {count, plural, one {ābols} other {āboli}}“. Pārbaudiet katru valodu ar vairākām skaitļu vērtībām, lai pārliecinātos, ka tiek parādīta pareizā daudzskaitļa forma. Izvairieties no fiksētiem if vaicājumiem – tie ir kļūdaini.

4. Teksta garums un izkārtojuma rezerve

Tulkojumi bieži ir garāki vai īsāki par oriģināltekstu. Īpaši pogām, izvēlnēm un etiķetēm tas var izjaukt izkārtojumu. Tāpēc plānojiet pietiekami daudz vietas teksta paplašināšanai – labs rādītājs ir 30% papildu vieta Rietumu valodām, vairāk Āzijas valodām. Izmantojiet dinamiskus izkārtojumus, kas pielāgojas teksta garumam (piem., Auto-Layout iOS vai Flexbox tīmeklī). Izvairieties no fiksētiem platumiem. Ļaujiet UI elementiem nepieciešamības gadījumā izmantot teksta aplaušanu. Pārbaudiet saskarni ar garākajiem paredzamajiem tulkojumiem, lai izvairītos no pārklāšanās vai apgriešanas.

5. Virkņu atslēgas, konteksts tulkotājiem un RTL

Unikālas virkņu atslēgas ir lokalizācijas mugurkauls. Izmantojiet aprakstošus nosaukumus (piem., „login.button.title“) un dokumentējiet lietošanas mērķi. Sniedziet tulkotājiem kontekstu: ekrānšāviņus, maksimālo rakstzīmju garumu, ierobežojumus (piem., „ne garāks par 20 rakstzīmēm“). RTL valodām, piemēram, arābu vai ivritam, UI ir jāatspoguļo. Izmantojiet izkārtojuma atribūtus, kas automātiski atbalsta RTL (piem., start/end, nevis left/right). Pārbaudiet visu navigāciju RTL apstākļos. Padomājiet arī par ikonām un grafikām – tās var tikt interpretētas atšķirīgi atkarībā no kultūras.

Ienākšanas tirgū kontrolsaraksts

  • Izmantot ārējos resursu failus tekstiem
  • Vietturi ar nosauktiem mainīgajiem un pielāgojamu secību
  • Daudzskaitļu noteikumu ieviešana ar ICU MessageFormat
  • Izkārtojumā vismaz 30% rezerves teksta paplašinājumiem
  • Aprakstoši string atslēgas ar konteksta dokumentāciju
  • RTL atbalsts, izmantojot izkārtojuma atribūtus, piemēram, start/end
Izkārtojuma režģis ar dažādu teksta garumu un buferiem

Bieži uzdotie jautājumi

Kāpēc ir svarīga koda un tekstu atdalīšana?

Tā ļauj veikt tulkojumus bez koda izmaiņām, vienkāršo uzturēšanu un ļauj pievienot jaunas valodas, bez nepieciešamības pārkompilēt programmatūru.

Kā apstrādāt daudzskaitļa formas dažādās valodās?

Izmantojiet bibliotēkas, piemēram, ICU MessageFormat, kas katrai valodai izvēlas pareizo daudzskaitļa formu. Definējiet resursos atslēgas katrai daudzskaitļa kategorijai (piem., one, other).

Kas īpaši jāņem vērā attiecībā uz RTL valodām?

UI ir jāatspoguļo: izmantojiet loģiskās izkārtojuma īpašības (start/end), nevis absolūtus virzienus. Pārbaudiet navigāciju un teksta atkāpes RTL apstākļos.

Vai esat gatavs šim tirgum?

Mēs lokalizējam jūsu vietni valodiski, tehniski un kulturāli – ar dzimtās valodas pārbaudi un fiksētu cenu. Pieprasiet bezsaistību.

Pieprasīt nesaistošu piedāvājumu

Vācijas SIAAmtsgericht Frankfurt am Main · HRB 111727
D-U-N-S® reģistrēts315030052
VDAR atbilstīga apstrādeHostings Vācijā
Fiksētas cenas ar rakstisku piegādes garantiju