Gå til hovedinnhold

Apple String Catalog format (.xcstrings)

Formatet Apple String Catalog leser .xcstrings-filer, standardbeholderen for strengressurser i iOS-, macOS- og andre Apple-plattformprosjekter siden Xcode 15. I motsetning til eldre .strings/.stringsdict inneholder én katalog kildespråket og alle oversettelser i ett JSON-dokument, med tilstand per språkkode (new, translated, needs_review), utviklerkommentarer og variasjoner for flertall, enhet og substitusjon.

Hver tekstverdi på bladnivå blir en blokk. Kildeteksten (eller oppføringsnøkkelen, når kildespråket ikke har en egen oppføring) er kilden; stringUnit-verdier per språkkode er målene. Utvikler-commenter vises som oversetternotater, og printf-spesifikatorer (%@, %lld, %1$@ og Apples %arg-substitusjonstoken) beskyttes som innebygde plassholdere slik at de aldri endres. Tilbakeskriving er byte-tro: bare endrede verdier og tilstander skrives om, og resten av katalogen forblir uendret.

IDxcstrings
SourceBuilt-in
Extensions.xcstrings
MIME Typesapplication/json
CapabilitiesRead + Write

How kapi reads it

Parameters

ParameterTypeDefaultDescription
extractNonTranslatableContentbooleantrueVis en oppføringens utviklerkommentar via en ikke-oversettbar reserveblokk når oppføringen ikke har noen oversettbar løvnode (ingen lokaliseringer, et tomt lokaliseringsobjekt, eller en foreldet oppføring som hoppes over fordi extractStale er av). Når dette er av, er delstrømmen byte-identisk med den tidligere oppførselen.
extractStalebooleantrueEmit oppføringer hvis extractionState er "stale" (kildeteksten vises ikke lenger i kodebasen) som oversettbare blokker.
markTranslatedStatestringtranslatedTilstandsverdien for stringUnit som skrives for en lokalisering som fylles ut for første gang. Eksisterende tilstander bevares uendret ved tur-retur.

Configure it live

Configuration
Loading form…

Examples

Hopp over foreldede oppføringer

Ikke send ut oppføringer som Xcode har flagget som foreldede.

extractStale: false

Merk nye oversettelser for gjennomgang

Skriv en needs_review-tilstand for nylig befolkede språkkoder i stedet for translated.

markTranslatedState: needs_review

Processing notes

  • En katalog er flerspråklig, så én fil inneholder kildespråket og alle målspråk, og innlesing gir blokker med én kilde og flere målspråkkoder.

  • Flertall (CLDR-kategorier), enhet (iphone/ipad/mac/…) og substitusjonsvariasjoner utvides hver til sine egne løvblokker, nøklet etter variasjonssti.

  • printf-spesifikatorer og Apples substitusjons-%arg-token trekkes ut som inline-plassholdere og skal ikke oversettes.

  • Utdata er byte-tro: en uendret katalog går gjennom rundtur nøyaktig; bare endrede verdier og tilstander skrives om.

← Back to the Format Reference