Frankfurdi stuudio mitmekeelsete digitaalsete esinemiste jaoks +49 69 95209894 [email protected] E–R 9–17 Klienditsoon →
EestiET

Praktiline juhend

Juhend rakenduste ja tarkvara lokalisatsiooniks (i18n)

Rakenduste ja tarkvara lokalisatsioon nõuab läbimõeldud eraldust koodi ja tekstide vahel. See juhend käsitleb tehnilisi aspekte nagu placeholdrid, mitmuse reeglid, tekstide pikkused, stringi võtmed, tõlkijate kontekst ja RTL-i tugi. See aitab arendajatel luua rahvusvahelisi rakendusi tõhusalt ja järjepidevalt, ilma õiguslike või rahaliste teemade käsitlemiseta.

i18n
Internationaliseerimise lühend
RTL
Paremalt vasakule tugi
ICU
Unicode'i rahvusvahelised komponendid
Koodi ja keeleressursside eraldamise diagramm

1. Koodi ja tekstide eraldamine

Iga lokaliseerimise põhitingimus on programmikoodi ja tekstisisu range eraldamine. Kõik kuvatavad tekstid tuleks salvestada välistesse ressursifailidesse (nt Properties, JSON, YAML), mitte koodi sisse kirjutada. Nii saavad tõlkijad töötada ilma koodi muutmata. Kasutage koodis unikaalseid stringivõtmeid, mis viitavad vastavatele tõlgetele. See eraldamine hõlbustab ka hooldust ja võimaldab hiljem lisada uusi keeli ilma koodimuudatusteta. Veenduge, et ka kasutajaliidese sildid, veateated ja töövihjed oleksid nendes failides.

2. Kohahoidjad ja muutujad

Tekstid sisaldavad sageli dünaamilist sisu nagu numbreid, nimesid või andmeid. Need tuleb sisestada kohahoidjate abil, nt printf-vormindusega (%s, %d) või uuema lähenemisega nagu looksulgud {0}. Oluline on, et tõlkijad teaksid kohahoidjate järjestust ja tähendust. Kasutage nimetatud kohahoidjaid (nt „{username}“), et anda konteksti. Keele erineva lausestruktuuri korral võib kohahoidjate järjekord varieeruda. Seega pakkuge võimalust järjekorda tõlkes kohandada. Testige kõiki variante, et vältida vigaseid või mittetäielikke väljundeid.

Näide kohatäitjatest tõlgitavates stringides

3. Mitmuse reeglid ja moodustamine

Saksa keeles on ainult ainsus ja mitmus, kuid paljudes keeltes on keerulisemad mitmuse reeglid (nt araabia keel kuue kategooriaga). Kasutage teeke nagu ICU MessageFormat, mis käsitlevad mitmuse reegleid keelepõhiselt. Määrake oma ressurssides eraldi võtmed erinevatele mitmuse vormidele (one, other). Kood valib seejärel automaatselt sobiva vormi arvu alusel. Näide: „{count} {count, plural, one {õun} other {õunad}“. Testige iga keelt mitme arvuväärtusega, veendumaks, et kuvatakse õige mitmuse vorm. Vältige fikseeritud if-küsimusi – see on veaohtlik.

4. Teksti pikkus ja paigutuse puhver

Tõlked on sageli pikemad või lühemad kui originaaltekst. Eriti nuppude, menüüde ja siltide korral võib see paigutust lõhkuda. Planeerige seetõttu piisavalt ruumi teksti laiendustele – hea rusikareegel on 30% lisaruumi läänekeelte puhul, rohkem Aasia keelte puhul. Kasutage dünaamilisi paigutusi, mis kohanduvad teksti pikkusega (nt Auto-Layout iOS-is või Flexbox veebis). Vältige fikseeritud laiuseid. Laske UI-elementidel vajadusel kasutada tekstimurdmist. Testige liidest kõige pikemate oodatavate tõlgetega, et vältida kattumisi või äralõikamisi.

5. String-võtmed, kontekst tõlkijatele ja RTL

Unikaalsed string-võtmed on lokaliseerimise selgroog. Kasutage kõnelevaid nimesid (nt „login.button.title“) ja dokumenteerige kasutuseesmärk. Andke tõlkijatele kontekst: ekraanipildid, maksimaalne märkide arv, piirangud (nt „mitte pikem kui 20 tähemärki“). RTL-keelte, nagu araabia või heebrea, puhul tuleb UI peegeldada. Kasutage paigutuse atribuute, mis toetavad RTL-i automaatselt (nt start/end asemel left/right). Testige kogu navigatsiooni RTL-tingimustes. Mõelge ka sümbolitele ja graafikale – neid võidakse kultuuriti erinevalt tõlgendada.

Kontrollnimekiri turule sisenemiseks

  • Väliste ressursifailide kasutamine tekstide jaoks
  • Nimetatud muutujatega ja kohandatava järjekorraga kohatäitjad
  • Mitmuse reeglite rakendamine ICU MessageFormatiga
  • Paigutusel vähemalt 30% puhvrit teksti laienduste jaoks
  • Tähendusrikkad stringivõtmed kontekstidokumentatsiooniga
  • RTL-i tugi paigutuse atribuutidega nagu start/end
Paigutusvõre erinevate tekstipikkuste ja puhvritega

Korduma kippuvad küsimused

Miks on koodi ja teksti eraldamine oluline?

See võimaldab tõlkeid ilma koodimuudatusteta, lihtsustab hooldust ja lubab uute keelte lisamist ilma tarkvara uuesti kompileerimata.

Kuidas käsitleda mitmuse vorme eri keeltes?

Kasutage teeke nagu ICU MessageFormat, mis valivad igale keelele õige mitmuse vormi. Määratlege ressurssides võtmed iga mitmuse kategooria jaoks (nt one, other).

Millele tuleb RTL-keelte puhul eriti tähelepanu pöörata?

UI-d tuleb peegeldada: kasutage loogilisi paigutusattribuute (start/end) absoluutsete suundade asemel. Testige navigatsiooni ja teksti taandeid RTL-tingimustes.

Valmis selleks turuks?

Me lokaliseerime teie veebisaiti keeleliselt, tehniliselt ja kultuuriliselt – emakeelekontrolli ja fikseeritud hinnaga. Tellige mittesiduv pakkumine.

Taotle sidumata pakkumist

Saksa GmbHFrankfurti registrikohus · HRB 111727
D-U-N-S® registreeritud315030052
DSGVO-le vastav töötlemineMajutus Saksamaal
Fikseeritud hinnad koos kirjaliku tarnetagatisega