Frankfurtski studio za višejezične digitalne nastupe +49 69 95209894 [email protected] Pon–Pet 9–17 sati Korisnički prostor →
HrvatskiHR

Praktični vodič

Vodič za lokalizaciju aplikacija i softvera (i18n)

Lokalizacija aplikacija i softvera zahtjeva promišljeno odvajanje koda i tekstova. Ovaj vodič obrađuje tehničke aspekte poput placeholder-a, pravila za množinu, dužine teksta, ključeva nizova, konteksta za prevoditelje i RTL podrške. Pomaže programerima da efikasno i dosljedno kreiraju međunarodne aplikacije, bez zadiranja u pravne ili financijske teme.

i18n
Skraćenica za internacionalizaciju
RTL
Podrška za desno-na-lijevo
ICU
Međunarodne komponente za Unicode
Dijagram razdvajanja koda i jezičnih resursa

1. Odvajanje koda i tekstova

Osnovni preduvjet za svaku lokalizaciju je strogo odvajanje programskog koda i tekstualnih sadržaja. Svi tekstovi koji se prikazuju trebaju se pohraniti u vanjske datoteke resursa (npr. Properties, JSON, YAML), a ne biti tvrdo kodirani u izvornom kodu. Na taj način prevoditelji mogu raditi bez mijenjanja koda. Koristite jedinstvene ključeve stringova u kodu kao reference koje upućuju na odgovarajuće prijevode. Ovo odvajanje također olakšava održavanje i omogućuje kasnije dodavanje novih jezika bez promjena koda. Pazite da i UI oznake, poruke o pogreškama i opisi alata budu u tim datotekama.

2. Zamjenske oznake i varijable

Tekstovi često sadrže dinamički sadržaj poput brojeva, imena ili datuma. Oni se moraju unositi putem zamjenskih oznaka, npr. printf formatiranjem (%s, %d) ili modernijim pristupima poput vitičastih zagrada {0}. Važno je da prevoditelji poznaju redoslijed i značenje zamjenskih oznaka. Koristite imenovane zamjenske oznake (npr. „{username}“) kako biste pružili kontekst. Kod jezika s različitim redoslijedom riječi, redoslijed zamjenskih oznaka može varirati. Stoga omogućite prilagodbu redoslijeda u prijevodu. Testirajte sve varijante kako biste izbjegli pogrešne ili nepotpune ispise.

Primjer zamjenskih oznaka u prevedivim nizovima

3. Pravila za množinu i tvorbu množine

U njemačkom postoje samo jednina i množina, ali mnogi jezici imaju složenija pravila za množinu (npr. arapski sa šest kategorija). Koristite biblioteke kao što je ICU MessageFormat koje obrađuju pravila za množinu specifično za jezik. Definirajte u svojim resursima zasebne ključeve za različite oblike množine (one, other). Kod će zatim automatski odabrati odgovarajući oblik na temelju broja. Primjer: „{count} {count, plural, one {jabuka} other {jabuke}}“. Testirajte svaki jezik s više brojčanih vrijednosti kako biste osigurali da se prikazuje točan oblik množine. Izbjegavajte fiksne if-uvjete – to je sklono pogreškama.

4. Duljina teksta i prostor za proširenje

Prijevodi su često duži ili kraći od izvornog teksta. Posebno kod gumba, izbornika i oznaka to može poremetiti raspored. Stoga planirajte dovoljno prostora za proširenje teksta – dobra smjernica je 30 % dodatnog prostora za zapadne jezike, više za azijske. Koristite dinamičke rasporede koji se prilagođavaju duljini teksta (npr. Auto Layout u iOS-u ili Flexbox na webu). Izbjegavajte fiksne širine. Dopustite UI elementima da po potrebi prelamaju tekst. Testirajte sučelje s najdužim očekivanim prijevodima kako biste izbjegli preklapanja ili odsijecanje.

5. Ključevi stringova, kontekst za prevoditelje i RTL

Jedinstveni ključevi stringova su okosnica lokalizacije. Koristite opisne nazive (npr. „login.button.title“) i dokumentirajte svrhu upotrebe. Dajte prevoditeljima kontekst: snimke zaslona, maksimalnu duljinu znakova, ograničenja (npr. „ne duže od 20 znakova“). Za RTL jezike poput arapskog ili hebrejskog UI se mora zrcaliti. Koristite atribute rasporeda koji automatski podržavaju RTL (npr. start/end umjesto left/right). Testirajte cjelokupnu navigaciju u RTL uvjetima. Također razmislite o simbolima i grafikama – oni se mogu različito tumačiti ovisno o kulturi.

Kontrolni popis za ulazak na tržište

  • Koristite vanjske datoteke resursa za tekstove
  • Mjesta za zamjenu s imenovanim varijablama i prilagodljivim redoslijedom
  • Provedite pravila za množinu s ICU MessageFormatom
  • Raspored najmanje 30% prostora za proširenja teksta
  • Opisni ključevi nizova s dokumentacijom konteksta
  • RTL podrška putem atributa rasporeda poput start/end
Mreža izgleda s različitim duljinama teksta i međuspremnicima

Često postavljana pitanja

Zašto je važno odvajanje koda i teksta?

Omogućuje prijevode bez izmjena koda, pojednostavljuje održavanje i dopušta dodavanje novih jezika bez ponovnog kompajliranja softvera.

Kako postupati s oblicima množine u različitim jezicima?

Koristite knjižnice poput ICU MessageFormat koje za svaki jezik odabiru ispravan oblik množine. Definirajte u resursima ključeve za svaku kategoriju množine (npr. one, other).

Što posebno treba uzeti u obzir kod RTL jezika?

UI se mora zrcaliti: koristite logičke atribute izgleda (start/end) umjesto apsolutnih smjerova. Testirajte navigaciju i uvlačenje teksta pod RTL uvjetima.

Spremni za ovo tržište?

Lokaliziramo vašu web stranicu jezično, tehnički i kulturološki – uz provjeru izvornih govornika i fiksnu cijenu. Zatražite neobvezujuću ponudu.

Zatražite neobvezujuću ponudu

Njemačka GmbHTrgovački sud Frankfurt na Majni · HRB 111727
D-U-N-S® registrirano315030052
Obrada u skladu s GDPRHosting u Njemačkoj
Fiksne cijene s pisanim jamstvom isporuke