From 2fb9ca2011e16a85294969b946e74c09df11b3b0 Mon Sep 17 00:00:00 2001 From: itsjoshpark Date: Mon, 24 Aug 2026 16:25:32 -0400 Subject: [PATCH] feat: translate the new media track names The two strings added with the track menus shipped untranslated, so every language but English read "Track 1" for an unnamed track. Twenty languages get the numbered label, each using the word that language's existing track strings already use. Turkish and Vietnamese are left out: the terms currently in the catalog for "Track" read as "trace" and "groove", and picking between those and the alternatives is a call for someone who speaks them. The qualified form is punctuation, so it changes only where the punctuation does - Japanese and both Chinese scripts take the full-width brackets that belong beside CJK text. --- Front Row/Resources/Localizable.xcstrings | 260 +++++++++++++++++++++- 1 file changed, 258 insertions(+), 2 deletions(-) diff --git a/Front Row/Resources/Localizable.xcstrings b/Front Row/Resources/Localizable.xcstrings index c096d8e..298d9da 100644 --- a/Front Row/Resources/Localizable.xcstrings +++ b/Front Row/Resources/Localizable.xcstrings @@ -1098,7 +1098,141 @@ } }, "%@ (%@)" : { - "comment" : "A media track named by its title, qualified by its language" + "comment" : "A media track named by its title, qualified by its language", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "el" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@(%@)" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%@)" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@(%@)" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@(%@)" + } + } + } }, "%@ bps" : { "comment" : "Bits per second", @@ -17773,7 +17907,129 @@ } }, "Track %lld" : { - "comment" : "A media track that carries no name or language of its own" + "comment" : "A media track that carries no name or language of its own", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "المسار %lld" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stopa %lld" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Spor %lld" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Spur %lld" + } + }, + "el" : { + "stringUnit" : { + "state" : "translated", + "value" : "Κομμάτι %lld" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pista %lld" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Raita %lld" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Piste %lld" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sáv %lld" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traccia %lld" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "トラック %lld" + } + }, + "ko" : { + "stringUnit" : { + "state" : "translated", + "value" : "트랙 %lld" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Spoor %lld" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ścieżka %lld" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pista %lld" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Дорожка %lld" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Spår %lld" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Доріжка %lld" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "轨道 %lld" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "軌道 %lld" + } + } + } }, "Tracks" : { "comment" : "Inspector tab",