Frankfurter studio för flerspråkiga digitala framträdanden +49 69 95209894 [email protected] Mån–Fre 9–17 Kundområde →
SvenskaSV

Praktisk guide

Guide för app- och programvarulokalisering (i18n)

Lokalisering av appar och programvara kräver en genomtänkt separation av kod och texter. Den här guiden behandlar tekniska aspekter som platshållare, pluralregler, textlängder, strängnycklar, kontext för översättare och RTL-stöd. Den hjälper utvecklare att skapa internationella applikationer effektivt och konsekvent, utan att beröra juridiska eller finansiella frågor.

i18n
Förkorta internationalisering
RTL
Stöd för höger-till-vänster
ICU
Internationella komponenter för Unicode
Diagram över separation av kod och språkresurser

1. Separation av kod och texter

Den grundläggande förutsättningen för all lokalisering är strikt separation av programkod och textinnehåll. Alla texter som ska visas bör lagras i externa resursfiler (t.ex. Properties, JSON, YAML), inte hårdkodade i källkoden. Detta gör att översättare kan arbeta utan att ändra koden. Använd unika strängnycklar som referens i koden, som pekar på respektive översättningar. Denna separation underlättar underhåll och möjliggör senare tillägg av nya språk utan kodändringar. Se till att även UI-etiketter, felmeddelanden och verktygstips hamnar i dessa filer.

2. Platshållare och variabler

Texter innehåller ofta dynamiskt innehåll som siffror, namn eller datum. Dessa måste infogas via platshållare, t.ex. med printf-formatering (%s, %d) eller modernare metoder som krullparenteser {0}. Det är viktigt att översättarna känner till ordningen och betydelsen av platshållarna. Använd namngivna platshållare (t.ex. „{username}“) för att ge kontext. I språk med olika meningsbyggnad kan ordningen på platshållarna variera. Erbjud därför möjligheten att justera ordningen i översättningen. Testa alla varianter för att undvika felaktiga eller ofullständiga utdata.

Exempel på platshållare i översättningsbara strängar

3. Pluralregler och flertalsbildning

I tyskan finns bara singular och plural, men många språk har mer komplexa pluralregler (t.ex. arabiska med sex kategorier). Använd bibliotek som ICU MessageFormat som hanterar pluralregler språkspecifikt. Definiera separata nycklar i dina resurser för de olika pluralformerna (one, other). Koden väljer sedan automatiskt rätt form baserat på talet. Exempel: „{count} {count, plural, one {äpple} other {äpplen}}“. Testa varje språk med flera talvärden för att säkerställa att rätt pluralform visas. Undvik fasta if-satser – det är felbenäget.

4. Textlängd och layoutbuffert

Översättningar är ofta längre eller kortare än originaltexten. Särskilt vid knappar, menyer och etiketter kan detta spränga layouten. Planera därför tillräckligt med utrymme för textutökningar – en bra riktlinje är 30 % extra utrymme för västerländska språk, mer för asiatiska. Använd dynamiska layouter som anpassar sig till textlängden (t.ex. Auto Layout i iOS eller Flexbox på webben). Undvik fasta bredder. Låt UI-element hantera textbrytning vid behov. Testa gränssnittet med de längsta förväntade översättningarna för att undvika överlappningar eller avskärningar.

5. Strängnycklar, kontext för översättare och RTL

Unika strängnycklar är ryggraden i lokaliseringen. Använd beskrivande namn (t.ex. „login.button.title“) och dokumentera användningsändamålet. Ge översättare kontext: skärmdumpar, maximal teckenlängd, begränsningar (t.ex. „inte längre än 20 tecken“). För RTL-språk som arabiska eller hebreiska måste gränssnittet speglas. Använd layoutattribut som automatiskt stöder RTL (t.ex. start/end istället för left/right). Testa hela navigationen under RTL-förhållanden. Tänk också på symboler och grafik – de kan tolkas olika beroende på kultur.

Checklista för marknadsinträde

  • Använd externa resursfiler för texter
  • Platshållare med namngivna variabler och anpassningsbar ordning
  • Implementera pluralregler med ICU MessageFormat
  • Layout minst 30% buffert för textutökningar
  • Tydliga strängnycklar med kontextdokumentation
  • RTL-stöd via layoutattribut som start/end
Layoutrutnät med olika textlängder och buffertar

Vanliga frågor

Varför är separationen av kod och texter viktig?

Den möjliggör översättningar utan kodändringar, förenklar underhållet och tillåter att nya språk läggs till utan att programvaran behöver kompileras om.

Hur hanterar jag pluralformer på olika språk?

Använd bibliotek som ICU MessageFormat, som väljer rätt pluralform för varje språk. Definiera nycklar i resurserna för varje pluralkategori (t.ex. one, other).

Vad är särskilt viktigt att tänka på vid RTL-språk?

Gränssnittet måste speglas: Använd logiska layoutattribut (start/end) istället för absoluta riktningar. Testa navigering och textindrag under RTL-förhållanden.

Redo för denna marknad?

Vi lokaliserar din webbplats språkligt, tekniskt och kulturellt – med modersmålskontroll och fast pris. Begär en kostnadsfri offert.

Begär en icke-bindande offert

Tysk GmbHAmtsgericht Frankfurt am Main · HRB 111727
D-U-N-S® registrerad315030052
GDPR-konform behandlingHosting i Tyskland
Fastpriser med skriftlig leveransgaranti