Der Folgen-Schlüssel hieß beim Auslesen anders als beim Nachschlagen

`Text("episode.number \(episode)")` trug Xcode beim Auslesen als
`episode.number %@` in den Katalog ein, während die Laufzeit
`episode.number %lld` nachschlägt. Zwischen zwei verschiedenen
Schlüsseln findet man nie einen — und auf dem Bildschirm stand weiter
der Schlüssel selbst.

Jetzt über `String(localized:)` wie die Staffel zwei Blöcke darüber.
Damit ist der Platzhalter eindeutig, und die übersetzte Tabelle im
gebauten Bündel führt genau die beiden Schlüssel, die der Code sucht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-09-20 11:10:38 +02:00
co-authored by Claude Opus 5
parent 5d09836686
commit 00db1bbab9
2 changed files with 40 additions and 35 deletions
+34 -34
View File
@@ -1543,6 +1543,23 @@
} }
} }
}, },
"episode.number %lld" : {
"extractionState" : "manual",
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "Folge %lld"
}
},
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Episode %lld"
}
}
}
},
"episode.short %lld %lld" : { "episode.short %lld %lld" : {
"comment" : "Staffel- und Folgennummer", "comment" : "Staffel- und Folgennummer",
"extractionState" : "stale", "extractionState" : "stale",
@@ -4034,6 +4051,23 @@
} }
} }
}, },
"season.number %lld" : {
"extractionState" : "manual",
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "Staffel %lld"
}
},
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Season %lld"
}
}
}
},
"season.short %lld" : { "season.short %lld" : {
"comment" : "Platzhalter: Staffelnummer", "comment" : "Platzhalter: Staffelnummer",
"extractionState" : "stale", "extractionState" : "stale",
@@ -6201,40 +6235,6 @@
} }
} }
} }
},
"season.number %lld" : {
"extractionState" : "manual",
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "Staffel %lld"
}
},
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Season %lld"
}
}
}
},
"episode.number %lld" : {
"extractionState" : "manual",
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "Folge %lld"
}
},
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Episode %lld"
}
}
}
} }
}, },
"version" : "1.1" "version" : "1.1"
+6 -1
View File
@@ -150,7 +150,12 @@ struct PlayableDetailView: View {
} }
if let episode = item.index { if let episode = item.index {
Text("episode.number \(episode)") // Über `String(localized:)` wie die Staffel darüber, nicht als
// `LocalizedStringKey`. Bei der Schlüsselform ist der
// Platzhalter nicht eindeutig: Xcode trug beim Auslesen
// `%@` ein, während die Laufzeit `%lld` nachschlägt — und
// zwischen zwei verschiedenen Schlüsseln findet man nie einen.
Text(String(localized: "episode.number \(episode)"))
if !plain.isEmpty { separator } if !plain.isEmpty { separator }
} }