Skip to content
Novus Examples
strings1.1 KB

Apple .strings — positional arguments that reorder (German)

A German .strings file whose replace_confirm value puts %2$@ before %1$@, because German inverts the pair English uses. Also covers %% as a literal percent, an escaped double quote, a doubled-backslash UNC path and an escaped newline inside a value.

Preview — first 24 linesstrings
/* Novus example app - German (de) Localizable.strings
   POSITIONAL FORMAT SPECIFIERS. English reads "Replace A with B"; German inverts the pair, so the
   German value uses %2$@ before %1$@. A translator who writes plain %@ %@ here silently swaps the
   two file names at runtime, and nothing in the build catches it. */

"browser_title" = "Dateien";
"move_to_trash" = "In den Papierkorb verschieben";

/* en: "Move %1$@ to %2$@?" — same order */
"move_confirm" = "%1$@ nach %2$@ verschieben?";

/* en: "Replace %1$@ with %2$@?" — REVERSED order in German */
"replace_confirm" = "%2$@ anstelle von %1$@ einsetzen?";

/* en: "%1$@ used %2$ld%% of the quota" — %% is a literal percent sign */
"quota_used" = "%1$@ hat %2$ld%% des Kontingents belegt";

/* Escaped double quote and a literal backslash in a Windows-style path. */
"wrote_file" = "\"%1$@\" wurde gespeichert";
"unc_path" = "\\\\server\\share\\%1$@";

/* Multi-line value: \n is an escape sequence inside the quoted value, not a real line break. */
"disk_full" = "Kein Speicherplatz mehr.\nGeben Sie mindestens 500 MB frei.";

Specifications

Format
Apple .strings
Locale
de
Encoding
UTF-8
Canonical Name
Localizable.strings
Keys
7
Placeholder
%1$@ / %2$ld (positional)
Features
argument reordering | %% literal | escaped quotes | UNC backslashes
Seed
20260807
Wave
p7
Line Endings
LF

Testing contract

Expected to pass
Scenario
Format each key with two distinct arguments and compare against the English source ordering.
Expected result
replace_confirm swaps the two arguments relative to English while move_confirm keeps their order — a translation that used bare %@ instead of %1$@/%2$@ would silently substitute the wrong file name with no build error.

What is a .strings file?

An Apple .strings file is a plain-text localization catalog used by iOS and macOS apps. Each line maps a quoted key to a quoted translated value with a trailing semicolon, optionally preceded by a comment, and placeholders use printf-style tokens like %@ and %d. It is typically stored per-locale in an .lproj folder.

How to use this file

Use an example .strings file to test Apple localization parsers, Xcode string catalogs, .strings-to-XLIFF converters, and tooling that reads iOS/macOS translations.

How to use this file for testing

“Apple .strings — positional arguments that reorder (German)” is a deterministic Novus Examples fixture for Internationalization, Localization catalogs. Parallel text and accented, multi-script content — for testing translation pipelines, Unicode handling, and localization tooling.

Documented properties for this file: seed 20260807 · UTF-8 · LF · placeholder %1$@ / %2$ld (positional). Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Translation-catalog fixtures carry the same message set across formats, each with its native placeholder syntax. Test your i18n loader, catalog converter, or translation-memory tool, and use the RTL and CJK variants to check bidirectional text and Unicode handling.

Load the catalog with your i18n framework and verify placeholder interpolation and plural handling; the RTL and CJK variants exercise bidirectional text and font fallback.

Code examples

plutil -lint Localizable-de.strings    # macOS validation
cat Localizable-de.strings             # "key" = "value";  pairs

Generated by generation/localization_p7.py. Free for any use, no attribution required — license.