Skip to main content
AI agent network visualization

Oversæt .strings-filer uden at ødelægge din app

Nøglerne forbliver uændrede, formatspecifikationerne bevares og pluralisreglerne er korrekte. Dine Localizable.strings-filer oversættes på sekunder i stedet for dage.

Oversættelse af Apple .strings-filer er tidskrævende og fejlbehæftet

Du eksporterer din Localizable.strings-fil, giver den til en oversætter eller indsætter den i et generisk værktøj og får beskadigede formatspecifikationer, ødelagte escape-sekvenser og forvanskede pluralisregler tilbage. Derefter bruger du timevis på at finde ud af, hvorfor din app går ned ved start på japansk.

Formatspecifikationer som %@, %d og %1$@ bliver oversat, omarrangeret eller fjernet af generiske værktøjer

Escape-sekvenser (\n, \", \t) beskadiges eller får tilføjet ekstra escape-tegn, så strenge ikke kan fortolkes

Pluralisregler i .stringsdict-filer kræver sprogspecifikke CLDR-kategorier, som de fleste værktøjer helt ignorerer

Oversætterkommentarer og kontekstnoter fjernes, hvilket fører til forkerte oversættelser

Kilde (engelsk)
Base.lproj/Localizable.strings
/* Localizable.strings (English) */

"welcome_title" = "Welcome to MyApp";
"login_button" = "Sign In";
"greeting" = "Hello, %@!";
"items_count" = "%d items in your cart";
"transfer" = "Send %1$@ to %2$@";
Oversat (japansk)
ja.lproj/Localizable.strings
/* Localizable.strings (Japanese) */

"welcome_title" = "MyAppへようこそ";
"login_button" = "サインイン";
"greeting" = "%@さん、こんにちは!";
"items_count" = "カートに%d個のアイテム";
"transfer" = "%2$@に%1$@を送信";

Det bevarer i18n Agent

Formatspecifikationer

Positionsbestemte (%1$@) og typespecifikke (%d, %f, %@) specifikationer registreres og forbliver uændrede

Escape-sekvenser

Linjeskift (\n), tabulatorer (\t), anførselstegn (\") og Unicode-escape-sekvenser bevares korrekt

.stringsdict-pluralisformer

CLDR-pluraliskategorier (zero, one, two, few, many, other) angives korrekt for hvert målsprog

Kommentarer og kontekst

Oversætterkommentarer og udviklernoter bevares, så oversættelseskonteksten fastholdes

Fungerer på tværs af Apple-platforme

SwiftUI
UIKit / AppKit
Xcode String Catalogs
macOS-apps
watchOS / tvOS
Swift-pakker

Open source-værktøjer til iOS-lokalisering

i18n Agent for Xcode

En macOS-menulinjeapp, der føjer lokalisering med ét klik til Xcode. Den registrerer automatisk dit aktive projekt, oversætter dine .strings-, .xcstrings- og .stringsdict-filer og skriver dem til de korrekte .lproj-mapper. Upload eksisterende oversættelser som oversættelseshukommelse for at få ensartede resultater i hele projektet.

Registrerer automatisk dit aktive Xcode-projekt via AppleScript
Pull: oversætter filer og skriver dem til de korrekte .lproj-mapper
Push: uploader eksisterende oversættelser som oversættelseshukommelse
Ligger i menulinjen og fungerer med .strings-, .xcstrings- og .stringsdict-filer
Se på GitHub

LocaleChain

iOS har en kendt mangel: Når en brugers regionale landestandard (f.eks. pt-BR) mangler, går systemet direkte til engelsk i stedet for at prøve en beslægtet landestandard (f.eks. pt-PT). LocaleChain er en Swift-pakke, der løser dette med konfigurerbare fallbackkæder. Én linje til opsætning og ingen ændringer af din eksisterende kode.

Opsætning på én linje: LocaleChain.configure()
Fungerer transparent med NSLocalizedString, SwiftUI Text og .stringsdict
Indbyggede fallbackkæder til portugisisk, spansk, fransk, tysk med flere
Installeres via Swift Package Manager med MIT-licens
Se på GitHub

Sådan fungerer det

How i18n Agent works: Install, Translate, Done
1
2
3
terminal
$translate_filesrc/messages/en.json
 --target["de", "ja", "es"]
Done.3 languages, 142 keys translated.

Ingen manuel kopiering og indsættelse. Ingen udtrækning af tekststrenge. Kun oversatte filer.

Prøv i18n Agent nu

Slip din oversættelsesfil her

JSON, YAML, PO, XML, CSV, Markdown, Properties

eller klik for at vælge en fil

Målsprog

Kræver ingen tilmeldingEstimat med det samme

Ofte stillede spørgsmål

Udvikler?

Installér CLI-værktøjet og oversæt din første fil på 2 minutter.

Installér CLI-værktøj

Team i en større virksomhed?

Sidder du stadig fast i en TMS-kontrakt? Lad os tale om at skifte.