Frankfurto studija daugiakalbiams skaitmeniniams projektams +49 69 95209894 [email protected] Pirm–Penk 9–17 val. Klientų sritis →
LietuviųLT

Valiuta

Užsienio valiutos sumos yra neįpareigojančios orientacinės vertės; atsiskaitymas atliekamas eurais.

Praktinis vadovas

Vadovas, kaip lokalizuoti programėles ir programinę įrangą (i18n)

Programėlių ir programinės įrangos lokalizavimas reikalauja kruopščiai apgalvoto kodo ir tekstų atskyrimo. Šiame vadove aptariami techniniai aspektai, tokie kaip vietos rezervavimo ženklai, daugiskaitos taisyklės, tekstų ilgiai, eilučių raktai, kontekstas vertėjams ir RTL palaikymas. Jis padeda kūrėjams efektyviai ir nuosekliai kurti tarptautines programas, neliečiant teisinių ar finansinių klausimų.

i18n
Internacionalizavimo trumpinys
RTL
Dešinės į kairę palaikymas
ICU
Tarptautiniai Unicode komponentai
Diagrama, rodanti kodo ir kalbos išteklių atskyrimą

1. Kodo ir tekstų atskyrimas

Pagrindinė bet kokio lokalizavimo sąlyga yra griežtas programos kodo ir tekstinių turinių atskyrimas. Visi rodomi tekstai turėtų būti saugomi išoriniuose išteklių failuose (pvz., Properties, JSON, YAML), o ne kietai užkoduoti šaltinio kode. Taip vertėjai gali dirbti nekeisdami kodo. Naudokite unikalius eilučių raktus kaip nuorodą kode, rodančius į atitinkamus vertimus. Šis atskyrimas taip pat palengvina priežiūrą ir leidžia vėliau pridėti naujų kalbų be kodo pakeitimų. Pasirūpinkite, kad ir UI etiketės, klaidų pranešimai bei įrankių patarimai būtų šiuose failuose.

2. Vietos žymekliai ir kintamieji

Tekstuose dažnai yra dinaminio turinio, pvz., skaičių, vardų ar datų. Jie turi būti įterpti naudojant vietos žymeklius, pvz., su printf formatavimu (%s, %d) arba modernesniais metodais, pvz., riestiniais skliaustais {0}. Svarbu, kad vertėjai žinotų vietos žymeklių eiliškumą ir reikšmę. Naudokite pavadintus vietos žymeklius (pvz., „{username}“), kad suteiktumėte kontekstą. Kalbose, kuriose skiriasi sakinio struktūra, vietos žymeklių eiliškumas gali skirtis. Todėl suteikite galimybę koreguoti eiliškumą vertime. Išbandykite visus variantus, kad išvengtumėte klaidingų ar neišsamių rezultatų.

Pavyzdys su vietos rezervavimo ženklais verčiamose eilutėse

3. Daugiskaitos taisyklės ir daryba

Vokiečių kalboje yra tik vienaskaita ir daugiskaita, tačiau daugelis kalbų turi sudėtingesnes daugiskaitos taisykles (pvz., arabų kalba su šešiomis kategorijomis). Naudokite tokias bibliotekas kaip ICU MessageFormat, kurios kalbai būdingai tvarko daugiskaitos taisykles. Savo ištekliuose apibrėžkite atskirus raktus skirtingoms daugiskaitos formoms (one, other). Kodas tada automatiškai parenka tinkamą formą pagal skaičių. Pavyzdys: „{count} {count, plural, one {Apfel} other {Äpfel}}“. Išbandykite kiekvieną kalbą su keliais skaičiais, kad įsitikintumėte, jog rodoma teisinga daugiskaitos forma. Venkite fiksuotų if sąlygų – tai klaidų šaltinis.

4. Teksto ilgis ir maketo paraštės

Vertimai dažnai būna ilgesni arba trumpesni nei originalus tekstas. Ypač mygtukuose, meniu ir etiketėse tai gali sugriauti maketą. Todėl numatykite pakankamai vietos teksto išplėtimui – gera gairė yra 30 % papildomos vietos Vakarų kalboms, daugiau Azijos kalboms. Naudokite dinaminius maketus, kurie prisitaiko prie teksto ilgio (pvz., „Auto Layout“ sistemoje „iOS“ arba „Flexbox“ žiniatinklyje). Venkite fiksuotų pločių. Leiskite UI elementams, jei reikia, apvynioti tekstą. Išbandykite sąsają su ilgiausiais numatomais vertimais, kad išvengtumėte persidengimų ar nukirpimų.

5. Raktai, kontekstas vertėjams ir RTL

Vienareikšmiai eilučių raktai yra lokalizacijos pagrindas. Naudokite aprašomuosius pavadinimus (pvz., „login.button.title“) ir dokumentuokite naudojimo paskirtį. Suteikite vertėjams kontekstą: ekrano nuotraukas, maksimalų simbolių skaičių, apribojimus (pvz., „ne ilgesnis nei 20 simbolių“). RTL kalboms, tokioms kaip arabų ar hebrajų, sąsaja turi būti veidrodinė. Naudokite maketo atributus, kurie automatiškai palaiko RTL (pvz., „start“/„end“ vietoj „left“/„right“). Išbandykite visą navigaciją RTL sąlygomis. Pagalvokite ir apie piktogramas bei grafiką – jie gali būti skirtingai interpretuojami pagal kultūrą.

Įėjimo į rinką kontrolinis sąrašas

  • Naudoti išorinius ištekliaus failus tekstams
  • Vietos rezervai su pavadintais kintamaisiais ir koreguojama tvarka
  • Daugiskaitos taisyklių įgyvendinimas naudojant ICU MessageFormat
  • Išdėstymas: bent 30 % rezervas teksto išplėtimams
  • Prasmingi eilučių raktai su kontekstine dokumentacija
  • RTL palaikymas naudojant atributus, tokius kaip start/end
Išdėstymo tinklelis su skirtingo ilgio tekstais ir tarpais

Dažniausiai užduodami klausimai

Kodėl svarbu atskirti kodą nuo tekstų?

Tai leidžia versti nekeičiant kodo, supaprastina priežiūrą ir leidžia pridėti naujų kalbų neperkompiliuojant programinės įrangos.

Kaip tvarkyti daugiskaitos formas skirtingose kalbose?

Naudokite tokias bibliotekas kaip ICU MessageFormat, kurios kiekvienai kalbai parenka tinkamą daugiskaitos formą. Ištekliuose apibrėžkite raktus kiekvienai daugiskaitos kategorijai (pvz., one, other).

Į ką ypač atkreipti dėmesį dirbant su RTL kalbomis?

UI turi būti veidrodinis: naudokite loginius išdėstymo atributus (pradžia/pabaiga) vietoj absoliučių krypčių. Išbandykite navigaciją ir teksto įtraukas RTL sąlygomis.

Pasiruošę šiai rinkai?

Mes lokalizuojame jūsų svetainę kalbiniu, techniniu ir kultūriniu požiūriu – su gimtakalbių patikrinimu ir fiksuota kaina. Užsakykite neįpareigojantį pasiūlymą.

Prašyti neįpareigojančio pasiūlymo

Vokietijos MBFrankfurto prie Maino apygardos teismas · HRB 111727
D-U-N-S® registruotas315030052
DSGVO atitinkantis apdorojimasHostingas Vokietijoje
Fiksuotos kainos su rašytine pristatymo garantija