fix(l10n): New translations#591
Conversation
WalkthroughThe changes update the Changes
Possibly related PRs
Suggested reviewers
Poem
Tip ⚡🧪 Multi-step agentic review comment chat (experimental)
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (12)
lib/l10n/arb/intl_cs.arb(5 hunks)lib/l10n/arb/intl_de.arb(5 hunks)lib/l10n/arb/intl_es.arb(5 hunks)lib/l10n/arb/intl_fr.arb(5 hunks)lib/l10n/arb/intl_it.arb(5 hunks)lib/l10n/arb/intl_ko.arb(5 hunks)lib/l10n/arb/intl_pl.arb(5 hunks)lib/l10n/arb/intl_pt.arb(5 hunks)lib/l10n/arb/intl_ru.arb(5 hunks)lib/l10n/arb/intl_sr.arb(5 hunks)lib/l10n/arb/intl_tr.arb(5 hunks)lib/l10n/arb/intl_zh.arb(5 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- lib/l10n/arb/intl_cs.arb
- lib/l10n/arb/intl_sr.arb
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: test / ios
🔇 Additional comments (65)
lib/l10n/arb/intl_pt.arb (7)
708-711: Standardized search hint to explicitly reference codex feature.The codex search hint is now standardized to English across all localization files, changing from the localized "Pesquisar aqui..." to "Search the codex here...". This clarifies the purpose of the search field but removes localization for this hint.
Consider whether maintaining localization for this hint is desirable, as all other user-facing text remains localized.
31-35: Updated terminology from "Wikia" to "Wiki".Key renamed from "seeWikia" to "seeWiki" to reflect current terminology standards.
19-20: Removed empty placeholder objects to simplify JSON structure.Empty placeholder objects have been removed from these entries and throughout the file, which streamlines the localization structure without affecting functionality.
Also applies to: 24-25, 29-30
1037-1040: Added new circuit reset subtitle entry.New localization entry for circuit reset feature enhances user experience by providing clear guidance.
1082-1091: Added nightwave season subtitle localization.New entry with proper placeholder structure for displaying the season number. This will allow for dynamic season information to be displayed to users.
1092-1096: Added 1999 Calendar title localization.New entry for the 1999 Calendar feature properly added with description.
1097-1111: Added trader inventory header localizations.New entries for trader inventory headers have been consistently added across all localization files.
Note that all these trader header entries use the same value "Item" - confirm if this is intentional or if they should have more specific labels.
lib/l10n/arb/intl_es.arb (7)
708-711: Standardized search hint to explicitly reference codex feature.The codex search hint is now standardized to English across all localization files, changing from the localized "Busque aquí..." to "Search the codex here...". This clarifies the purpose of the search field but removes localization for this hint.
Consider whether maintaining localization for this hint is desirable, as all other user-facing text remains localized.
31-35: Updated terminology from "Wikia" to "Wiki".Key renamed from "seeWikia" to "seeWiki" to reflect current terminology standards.
19-20: Removed empty placeholder objects to simplify JSON structure.Empty placeholder objects have been removed from these entries and throughout the file, which streamlines the localization structure without affecting functionality.
Also applies to: 24-25, 29-30
1037-1040: Added new circuit reset subtitle entry.New localization entry for circuit reset feature enhances user experience by providing clear guidance.
1082-1091: Added nightwave season subtitle localization.New entry with proper placeholder structure for displaying the season number. This will allow for dynamic season information to be displayed to users.
1092-1096: Added 1999 Calendar title localization.New entry for the 1999 Calendar feature properly added with description.
1097-1111: Added trader inventory header localizations.New entries for trader inventory headers have been consistently added across all localization files.
Note that all these trader header entries use the same value "Item" - confirm if this is intentional or if they should have more specific labels.
lib/l10n/arb/intl_pl.arb (7)
708-711: Standardized search hint to explicitly reference codex feature.The codex search hint is now standardized to English across all localization files, changing from the generic "Search here..." to the more specific "Search the codex here...". This clarifies the purpose of the search field.
31-35: Updated terminology from "Wikia" to "Wiki".Key renamed from "seeWikia" to "seeWiki" to reflect current terminology standards.
19-20: Removed empty placeholder objects to simplify JSON structure.Empty placeholder objects have been removed from these entries and throughout the file, which streamlines the localization structure without affecting functionality.
Also applies to: 24-25, 29-30
1037-1040: Added new circuit reset subtitle entry.New localization entry for circuit reset feature enhances user experience by providing clear guidance.
1082-1091: Added nightwave season subtitle localization.New entry with proper placeholder structure for displaying the season number. This will allow for dynamic season information to be displayed to users.
1092-1096: Added 1999 Calendar title localization.New entry for the 1999 Calendar feature properly added with description.
1097-1111: Added trader inventory header localizations.New entries for trader inventory headers have been consistently added across all localization files.
Note that all these trader header entries use the same value "Item" - confirm if this is intentional or if they should have more specific labels.
lib/l10n/arb/intl_fr.arb (7)
708-711: Standardized search hint to explicitly reference codex feature.The codex search hint is now standardized to English across all localization files, changing from the localized "Rechercher..." to "Search the codex here...". This clarifies the purpose of the search field but removes localization for this hint.
Consider whether maintaining localization for this hint is desirable, as all other user-facing text remains localized.
31-35: Updated terminology from "Wikia" to "Wiki".Key renamed from "seeWikia" to "seeWiki" to reflect current terminology standards.
19-20: Removed empty placeholder objects to simplify JSON structure.Empty placeholder objects have been removed from these entries and throughout the file, which streamlines the localization structure without affecting functionality.
Also applies to: 24-25, 29-30
1037-1040: Added new circuit reset subtitle entry.New localization entry for circuit reset feature enhances user experience by providing clear guidance. Note that unlike the localized French text for other entries, this new entry is in English.
Consider whether this entry should be translated to French like the surrounding text.
1082-1091: Added nightwave season subtitle localization.New entry with proper placeholder structure for displaying the season number. This will allow for dynamic season information to be displayed to users. Note that this entry is in English rather than French.
Consider whether this entry should be translated to French for consistency with other localizations.
1092-1096: Added 1999 Calendar title localization.New entry for the 1999 Calendar feature properly added with description, though in English rather than French.
Consider whether this entry should be translated to French for consistency with other localizations.
1097-1111: Added trader inventory header localizations.New entries for trader inventory headers have been consistently added across all localization files, though in English rather than French.
- Note that all these trader header entries use the same value "Item" - confirm if this is intentional or if they should have more specific labels.
- Consider whether these entries should be translated to French for consistency with other localizations.
lib/l10n/arb/intl_zh.arb (6)
31-35: Localization key renamed from "seeWikia" to "seeWiki"The key has been renamed from "seeWikia" to "seeWiki" to reflect the more generic term for wikis rather than the specific Wikia brand.
708-711: Non-localized string used for search placeholderThe value for "codexHint" has been changed from a Chinese localized string to an English string "Search the codex here...". This creates inconsistency in the UI where most elements are localized but the search hint is in English.
Was this intentional to keep the search hint in English across all localizations? If not, consider translating this string to Chinese to maintain UI language consistency.
1032-1041: New entry added for Circuit reset subtitleA new localization entry has been added for the circuit reset subtitle, maintaining the same format as other entries.
1082-1091: New localization entry with placeholders addedA new entry for displaying the Nightwave season number has been added with proper placeholder configuration for the season number.
1092-1096: New calendar title localization entryAdded a new localization entry for the 1999 calendar title.
1097-1111: New trader inventory header entries addedThree new localization entries have been added for the trader inventory headers. Note that all three currently have the same value "Item" - you may want to differentiate these if they represent different concepts in the UI.
Consider reviewing whether "traderItemHeaderTitle", "traderDucatsHeaderTitle", and "traderCreditsHeaderTitle" should have different translations if they represent different columns in the trader inventory.
lib/l10n/arb/intl_ko.arb (6)
31-35: Localization key renamed from "seeWikia" to "seeWiki"The key has been renamed from "seeWikia" to "seeWiki" to reflect the more generic term for wikis rather than the specific Wikia brand.
708-711: Non-localized string used for search placeholderThe value for "codexHint" has been set to an English string "Search the codex here..." rather than being translated to Korean. This creates inconsistency in the UI where most elements are localized but the search hint is in English.
Was this intentional to keep the search hint in English across all localizations? If not, consider translating this string to Korean to maintain UI language consistency.
1032-1041: New entry added for Circuit reset subtitleA new localization entry has been added for the circuit reset subtitle, maintaining the same format as other entries.
1082-1091: New localization entry with placeholders addedA new entry for displaying the Nightwave season number has been added with proper placeholder configuration for the season number.
1092-1096: New calendar title localization entryAdded a new localization entry for the 1999 calendar title.
1097-1111: New trader inventory header entries addedThree new localization entries have been added for the trader inventory headers. Note that all three currently have the same value "Item" - you may want to differentiate these if they represent different columns in the UI.
Consider reviewing whether "traderItemHeaderTitle", "traderDucatsHeaderTitle", and "traderCreditsHeaderTitle" should have different translations if they represent different columns in the trader inventory.
lib/l10n/arb/intl_it.arb (6)
31-35: Localization key renamed from "seeWikia" to "seeWiki"The key has been renamed from "seeWikia" to "seeWiki", but the value has also been changed from the Italian "Vedi Wikia" to the English "See Wiki". This creates inconsistency in the UI where most elements are localized but this button text is in English.
Was this intentional to keep the wiki link text in English across all localizations? If not, consider translating "See Wiki" to Italian (perhaps "Vedi Wiki") to maintain UI language consistency.
708-711: Non-localized string used for search placeholderThe value for "codexHint" has been set to an English string "Search the codex here..." rather than being translated to Italian. This creates inconsistency in the UI where most elements are localized but the search hint is in English.
Was this intentional to keep the search hint in English across all localizations? If not, consider translating this string to Italian to maintain UI language consistency.
1032-1041: New entry added for Circuit reset subtitleA new localization entry has been added for the circuit reset subtitle, maintaining the same format as other entries.
1082-1091: New localization entry with placeholders addedA new entry for displaying the Nightwave season number has been added with proper placeholder configuration for the season number.
1092-1096: New calendar title localization entryAdded a new localization entry for the 1999 calendar title.
1097-1111: New trader inventory header entries addedThree new localization entries have been added for the trader inventory headers. Note that all three currently have the same value "Item" - you may want to differentiate these if they represent different columns in the UI.
Consider reviewing whether "traderItemHeaderTitle", "traderDucatsHeaderTitle", and "traderCreditsHeaderTitle" should have different translations if they represent different columns in the trader inventory.
lib/l10n/arb/intl_ru.arb (6)
31-35: Localization key renamed from "seeWikia" to "seeWiki"The key has been renamed from "seeWikia" to "seeWiki", but the value has also been changed from the Russian "Открыть на Fandom'е" to the English "See Wiki". This creates inconsistency in the UI where most elements are localized but this button text is in English.
Was this intentional to keep the wiki link text in English across all localizations? If not, consider translating "See Wiki" to Russian (perhaps "Смотреть Wiki" or "Открыть Wiki") to maintain UI language consistency.
708-711: Non-localized string used for search placeholderThe value for "codexHint" has been changed from the Russian "Поиск здесь..." to the English "Search the codex here...". This creates inconsistency in the UI where most elements are localized but the search hint is in English.
Was this intentional to keep the search hint in English across all localizations? If not, consider translating this string to Russian to maintain UI language consistency.
1032-1041: New entry added for Circuit reset subtitleA new localization entry has been added for the circuit reset subtitle, but unlike the translated title "Смена наград через", the subtitle is left in English.
Consider translating the subtitle "Tap to see current offerings" to Russian to maintain UI language consistency.
1082-1091: New localization entry with placeholders addedA new entry for displaying the Nightwave season number has been added with proper placeholder configuration for the season number, but using English text "Season" rather than a Russian translation.
Consider translating "Season {season}" to Russian to maintain UI language consistency.
1092-1096: New calendar title localization entryAdded a new localization entry for the 1999 calendar title in English rather than Russian.
Consider translating "1999 Calendar" to Russian to maintain UI language consistency.
1097-1111: New trader inventory header entries addedThree new localization entries have been added for the trader inventory headers all using the English word "Item". This creates inconsistency with the rest of the Russian UI.
Consider translating "Item" to Russian (such as "Предмет") for these trader inventory headers to maintain UI language consistency.
lib/l10n/arb/intl_tr.arb (7)
31-35: Key renamed from "seeWikia" to "seeWiki"This is an appropriate update that reflects current terminology. Wikia was rebranded to Fandom several years ago, and "Wiki" is now the more commonly used and recognized term.
1037-1041: New string added for circuit reset subtitleThis new string provides additional context for users, prompting them to interact with the UI to see current offerings when a circuit reset is approaching.
1082-1091: Added properly formatted placeholder for season numberThe new "nightwaveSeasonSubtitle" entry correctly uses a placeholder for the season number, making the text dynamic and properly structured with appropriate metadata.
1092-1096: New string added for 1999 CalendarThis addition enhances the application by providing a localized title for the 1999 Calendar feature.
1097-1111: Added trader inventory header stringsNew entries have been added for trader inventory headers. These strings will improve the user interface for displaying trader information.
However, I notice that all three header titles use the same value "Item". This might be confusing for users as they don't differentiate between the different columns (item, ducats, credits).
Are these supposed to be differentiated in some way? The identical values for different header types could cause confusion in the UI.
19-20: Simplified metadata structure by removing empty placeholdersThis change removes empty placeholder objects from the metadata, making the file structure cleaner without affecting functionality. This is a good practice to reduce file size and improve readability.
Also applies to: 24-25, 29-30
708-712:Details
❓ Verification inconclusive
String updated to use English instead of localized text
The "codexHint" value has been changed from a localized Turkish phrase to English "Search the codex here...". This appears to be intentional to standardize the search prompt across all language files, but it removes the localization for Turkish users.
Would you like me to verify if this is consistent across other language files? This change makes the interface less localized for Turkish users, which is typically not the goal of localization files.
🌐 Web query:
When should UI strings be kept in English in localized software?💡 Result:
UI strings in localized software should typically remain in English in specific technical or brand-related scenarios while prioritizing user experience. Here’s a structured breakdown of when to retain English text:
1. Technical References and Code Elements
- Error messages referencing code syntax (e.g.,
resource.LANGUAGESin C#) [1][9]- Placeholders or variables like
{orderNumber}in dynamic content [7][9]- Logs or debugging outputs meant for developers [3][9]
2. Brand and Universal Terms
- Trademarks, product names, or slogans (e.g., "Photoshop," "iPhone") [5][7]
- Universal UI terms like "OK" or "Cancel" if widely recognized in English across target markets [10]
3. Untranslatable Technical Strings
- Code-driven labels (e.g.,
Text(verbatim: "do_not_localize")in SwiftUI) where localization could break functionality [3][6]- Hardcoded strings in legacy systems not designed for localization [4][7]
4. Culturally Neutral Content
- Scientific/technical terms (e.g., "JSON," "UTF-8") standardized in English globally [1][6]
- Units of measurement (e.g., "KB," "GHz") where localization adds confusion [1][4]
5. Platform Constraints
- Interface Builder (IB) elements where opt-out localization isn’t supported (e.g., Xcode strings not marked for exclusion) [3][9]
- Temporary UI elements during development before localization workflows are finalized [3][6]
Best Practices for Implementation
Scenario Solution Example Source Code references Use Text(verbatim:)in SwiftUI or equivalent in other frameworksText(verbatim: "HTTP_ERROR_404")[3][6] Brand terms Add to a "do not translate" list for localization teams "Photoshop" remains untouched [5][7] Placeholders Lock variables in localization tools (e.g., {variable})"File {count} uploaded" [7][9] Universal terms Validate with regional UX research "OK" vs. "Aceptar" in Spanish [10] For instance, Apple’s SwiftUI explicitly uses
Text(verbatim:)to exclude code-critical strings from localization catalogs [3], while Lokalise recommends protecting variables to prevent accidental translation [6][7]. Always balance technical necessity with cultural relevance – test localized UIs to ensure retained English terms don’t hinder usability.Citations:
- 1: https://daily.dev/blog/10-ui-localization-best-practices-for-developers
- 2: https://lingoport.com/i18n-term/ui-strings/
- 3: https://forums.developer.apple.com/forums/thread/731171
- 4: https://lingoport.com/blog/what-are-the-best-approaches-to-localize-ui-strings/
- 5: https://www.frontitude.com/glossary-posts/ui-content-strings
- 6: https://lokalise.com/blog/software-localization/
- 7: https://www.bureauworks.com/blog/10-ui-localization-best-practices-for-a-successful-global-launch-fc
- 8: https://crowdin.com/blog/2021/01/27/best-practices-for-ui-localization
- 9: https://www.languageintelligence.com/post/software-string-localization-what-to-know
- 10: https://www.gridly.com/blog/ui-ux-app-localization-best-practices/
Action: Verify Codex Hint Localization Consistency
- In
lib/l10n/arb/intl_tr.arb(lines 708–712), thecodexHintstring was changed to the English text "Search the codex here...".- This appears to standardize the prompt across languages, yet for a user-facing UI element—not a technical label or code reference—the best practice is to provide localized content to enhance user experience.
- Please confirm whether this change is intentional. If the goal is to standardize the UI string due to specific brand or technical requirements, ensure that it is consistently applied across all locale files. Otherwise, consider reverting to a proper Turkish localization for this string.
lib/l10n/arb/intl_de.arb (6)
31-35: Key renamed from "seeWikia" to "seeWiki"This is an appropriate update that reflects current terminology. Wikia was rebranded to Fandom several years ago, and "Wiki" is now the more commonly used and recognized term.
1037-1041: New string added for circuit reset subtitleThis new string provides additional context for users, prompting them to interact with the UI to see current offerings when a circuit reset is approaching.
1082-1091: Added properly formatted placeholder for season numberThe new "nightwaveSeasonSubtitle" entry correctly uses a placeholder for the season number, making the text dynamic and properly structured with appropriate metadata.
1092-1096: New string added for 1999 CalendarThis addition enhances the application by providing a localized title for the 1999 Calendar feature.
1097-1111: Added trader inventory header strings with identical valuesNew entries have been added for trader inventory headers, but all three use the identical value "Item". This might be confusing for users as they don't differentiate between the different columns (item, ducats, credits).
These header titles should likely have different values to distinguish between the columns they represent. Consider checking if this is intentional or if more specific terms should be used for each header type.
19-20: Simplified metadata structure by removing empty placeholdersThis change removes empty placeholder objects from the metadata, making the file structure cleaner without affecting functionality. This is a good practice to reduce file size and improve readability.
Also applies to: 24-25, 29-30
abb0e38 to
fdb4d3b
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (4)
lib/l10n/arb/intl_it.arb (1)
708-708: Consider preserving localized search hints.The
codexHinthas been changed from its Italian version to standardized English "Search the codex here...". While this creates consistency across files, it might reduce usability for non-English speakers.- "codexHint": "Search the codex here...", + "codexHint": "Cerca nel codex qui...",lib/l10n/arb/intl_fr.arb (1)
708-708: Consider preserving localized search hints.The
codexHinthas been changed from "Rechercher..." to standardized English "Search the codex here...". While this creates consistency across files, it might reduce usability for French speakers.- "codexHint": "Search the codex here...", + "codexHint": "Rechercher dans le codex ici...",lib/l10n/arb/intl_ru.arb (1)
708-708: Consider preserving localized search hints.The
codexHinthas been changed from "Поиск здесь..." to standardized English "Search the codex here...". While this creates consistency across files, it might reduce usability for Russian speakers.- "codexHint": "Search the codex here...", + "codexHint": "Искать в кодексе здесь...",lib/l10n/arb/intl_tr.arb (1)
708-712: UI text should be translated rather than kept in EnglishThe search prompt "Search the codex here..." is displayed in English instead of Turkish. For better user experience, UI placeholder text should be translated to the target language.
Consider translating this to Turkish to match the localization practices, for example: "Kodeksi burada ara..."
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (12)
lib/l10n/arb/intl_cs.arb(5 hunks)lib/l10n/arb/intl_de.arb(5 hunks)lib/l10n/arb/intl_es.arb(5 hunks)lib/l10n/arb/intl_fr.arb(5 hunks)lib/l10n/arb/intl_it.arb(5 hunks)lib/l10n/arb/intl_ko.arb(5 hunks)lib/l10n/arb/intl_pl.arb(5 hunks)lib/l10n/arb/intl_pt.arb(5 hunks)lib/l10n/arb/intl_ru.arb(5 hunks)lib/l10n/arb/intl_sr.arb(5 hunks)lib/l10n/arb/intl_tr.arb(5 hunks)lib/l10n/arb/intl_zh.arb(5 hunks)
🚧 Files skipped from review as they are similar to previous changes (6)
- lib/l10n/arb/intl_es.arb
- lib/l10n/arb/intl_zh.arb
- lib/l10n/arb/intl_cs.arb
- lib/l10n/arb/intl_sr.arb
- lib/l10n/arb/intl_pl.arb
- lib/l10n/arb/intl_ko.arb
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: test / android
- GitHub Check: test / ios
🔇 Additional comments (19)
lib/l10n/arb/intl_it.arb (3)
19-19: Placeholder removal looks good.The removal of empty placeholders across multiple localization entries streamlines the file structure without affecting functionality.
Also applies to: 24-24, 29-29
31-35: Key renamed fromseeWikiatoseeWiki.This terminology update is consistent with other files and likely reflects a platform change.
1037-1111: New localization entries added for trader inventory and other features.The additions are consistent with other localization files and support new features.
lib/l10n/arb/intl_fr.arb (3)
19-19: Placeholder removal looks good.The removal of empty placeholders across multiple localization entries streamlines the file structure without affecting functionality.
Also applies to: 24-24, 29-29
31-35: Key renamed fromseeWikiatoseeWiki.This terminology update is consistent with other files and likely reflects a platform change.
1037-1111: New localization entries added for trader inventory and other features.The additions are consistent with other localization files and support new features. Note that entries like "circuitResetSubtitle" are in English and may need translation later.
lib/l10n/arb/intl_ru.arb (3)
19-19: Placeholder removal looks good.The removal of empty placeholders across multiple localization entries streamlines the file structure without affecting functionality.
Also applies to: 24-24, 29-29
31-35: Key renamed fromseeWikiatoseeWiki.This terminology update is consistent with other files and likely reflects a platform change.
1037-1111: New localization entries added for trader inventory and other features.The additions are consistent with other localization files and support new features. Note that entries like "circuitResetSubtitle", "nightwaveSeasonSubtitle", and trader inventory headers are in English and may need translation later.
lib/l10n/arb/intl_pt.arb (3)
19-20: Code structure optimization to remove empty placeholdersThe removal of empty placeholder objects across numerous entries simplifies the localization structure while maintaining the required type information. This cleanup makes the file more maintainable and reduces unnecessary data.
Also applies to: 24-25, 29-30, 34-35, 39-40, 44-45, 49-50, 54-55, 59-60, 64-65, 69-70, 74-75, 79-80, 84-85, 89-90, 94-95, 99-100, 104-105, 121-122, 126-127, 131-132, 136-137, 141-142, 146-147, 151-152, 156-157, 161-162, 166-167, 171-172, 176-177, 181-182, 186-187, 191-192, 196-197, 201-202, 206-207, 211-212, 216-217, 221-222, 226-227, 231-232, 236-237, 241-242, 246-247, 251-252, 256-257, 261-262, 266-267, 271-272, 276-277, 281-282, 286-287, 291-292, 296-297, 301-302, 306-307, 311-312, 316-317, 321-322, 326-327, 331-332, 336-337, 341-342, 346-347, 351-352, 356-357, 361-362, 366-367, 371-372, 376-377, 381-382, 386-387, 391-392, 396-397, 401-402, 406-407, 411-412, 416-417, 421-422, 426-427, 431-432, 436-437, 441-442, 446-447, 451-452, 456-457, 461-462, 466-467, 471-472, 476-477, 481-482, 486-487, 491-492, 496-497, 501-502, 506-507, 511-512, 516-517, 521-522, 526-527, 531-532, 536-537, 541-542, 546-547, 551-552, 556-557, 561-562, 566-567, 571-572, 576-577, 581-582, 586-587, 591-592, 596-597, 601-602, 606-607, 611-612, 616-617, 621-622, 626-627, 631-632, 636-637, 641-642, 646-647, 651-652, 656-657, 661-662, 666-667, 671-672, 676-677, 681-682, 686-687, 691-692, 696-697, 711-712, 716-717, 721-722, 726-727, 731-732, 736-737, 741-742, 746-747, 751-752, 756-757, 761-762, 766-767, 771-772, 792-793, 797-798, 802-803, 807-808, 812-813, 817-818, 822-823, 827-828, 832-833, 837-838, 842-843, 847-848, 852-853, 857-858, 862-863, 867-868, 872-873, 877-878, 882-883, 887-888, 892-893, 897-898, 902-903, 907-908, 912-913, 925-926, 930-931, 935-936, 940-941, 945-946, 950-951, 955-956, 960-961, 965-966, 970-971, 975-976, 980-981, 985-986, 990-991, 995-996, 1000-1001, 1005-1006, 1010-1011, 1015-1016, 1020-1021, 1025-1026, 1030-1031, 1035-1036
31-35: Renamed key from "seeWikia" to "seeWiki"The key has been renamed from "seeWikia" to "seeWiki", which is more accurate since Wikia was rebranded to Fandom several years ago, and many Warframe community resources use "Wiki" in their naming.
1037-1041: New localization keys added for UI elementsNew localization keys have been added for trader inventory UI elements, calendar features, and nightwave season information. The additions improve the application's localization coverage.
Also applies to: 1082-1091, 1092-1096, 1097-1111
lib/l10n/arb/intl_tr.arb (3)
19-20: Code structure optimization to remove empty placeholdersThe removal of empty placeholder objects across numerous entries simplifies the localization structure while maintaining the required type information. This cleanup makes the file more maintainable and reduces unnecessary data.
Also applies to: 24-25, 29-30, 34-35, 39-40, 44-45, 49-50, 54-55, 59-60, 64-65, 69-70, 74-75, 79-80, 84-85, 89-90, 94-95, 99-100, 104-105, 121-122, 126-127, 131-132, 136-137, 141-142, 146-147, 151-152, 156-157, 161-162, 166-167, 171-172, 176-177, 181-182, 186-187, 191-192, 196-197, 201-202, 206-207, 211-212, 216-217, 221-222, 226-227, 231-232, 236-237, 241-242, 246-247, 251-252, 256-257, 261-262, 266-267, 271-272, 276-277, 281-282, 286-287, 291-292, 296-297, 301-302, 306-307, 311-312, 316-317, 321-322, 326-327, 331-332, 336-337, 341-342, 346-347, 351-352, 356-357, 361-362, 366-367, 371-372, 376-377, 381-382, 386-387, 391-392, 396-397, 401-402, 406-407, 411-412, 416-417, 421-422, 426-427, 431-432, 436-437, 441-442, 446-447, 451-452, 456-457, 461-462, 466-467, 471-472, 476-477, 481-482, 486-487, 491-492, 496-497, 501-502, 506-507, 511-512, 516-517, 521-522, 526-527, 531-532, 536-537, 541-542, 546-547, 551-552, 556-557, 561-562, 566-567, 571-572, 576-577, 581-582, 586-587, 591-592, 596-597, 601-602, 606-607, 611-612, 616-617, 621-622, 626-627, 631-632, 636-637, 641-642, 646-647, 651-652, 656-657, 661-662, 666-667, 671-672, 676-677, 681-682, 686-687, 691-692, 696-697, 711-712, 716-717, 721-722, 726-727, 731-732, 736-737, 741-742, 746-747, 751-752, 756-757, 761-762, 766-767, 771-772, 792-793, 797-798, 802-803, 807-808, 812-813, 817-818, 822-823, 827-828, 832-833, 837-838, 842-843, 847-848, 852-853, 857-858, 862-863, 867-868, 872-873, 877-878, 882-883, 887-888, 892-893, 897-898, 902-903, 907-908, 912-913, 925-926, 930-931, 935-936, 940-941, 945-946, 950-951, 955-956, 960-961, 965-966, 970-971, 975-976, 980-981, 985-986, 990-991, 995-996, 1000-1001, 1005-1006, 1010-1011, 1015-1016, 1020-1021, 1025-1026, 1030-1031, 1035-1036
31-35: Renamed key from "seeWikia" to "seeWiki"The key has been renamed from "seeWikia" to "seeWiki", which is more accurate since Wikia was rebranded to Fandom several years ago, and many Warframe community resources use "Wiki" in their naming.
1037-1041: New localization keys added for UI elementsNew localization keys have been added for trader inventory UI elements, calendar features, and nightwave season information. The additions improve the application's localization coverage.
Also applies to: 1082-1091, 1092-1096, 1097-1111
lib/l10n/arb/intl_de.arb (4)
19-20: Code structure optimization to remove empty placeholdersThe removal of empty placeholder objects across numerous entries simplifies the localization structure while maintaining the required type information. This cleanup makes the file more maintainable and reduces unnecessary data.
Also applies to: 24-25, 29-30, 34-35, 39-40, 44-45, 49-50, 54-55, 59-60, 64-65, 69-70, 74-75, 79-80, 84-85, 89-90, 94-95, 99-100, 104-105, 121-122, 126-127, 131-132, 136-137, 141-142, 146-147, 151-152, 156-157, 161-162, 166-167, 171-172, 176-177, 181-182, 186-187, 191-192, 196-197, 201-202, 206-207, 211-212, 216-217, 221-222, 226-227, 231-232, 236-237, 241-242, 246-247, 251-252, 256-257, 261-262, 266-267, 271-272, 276-277, 281-282, 286-287, 291-292, 296-297, 301-302, 306-307, 311-312, 316-317, 321-322, 326-327, 331-332, 336-337, 341-342, 346-347, 351-352, 356-357, 361-362, 366-367, 371-372, 376-377, 381-382, 386-387, 391-392, 396-397, 401-402, 406-407, 411-412, 416-417, 421-422, 426-427, 431-432, 436-437, 441-442, 446-447, 451-452, 456-457, 461-462, 466-467, 471-472, 476-477, 481-482, 486-487, 491-492, 496-497, 501-502, 506-507, 511-512, 516-517, 521-522, 526-527, 531-532, 536-537, 541-542, 546-547, 551-552, 556-557, 561-562, 566-567, 571-572, 576-577, 581-582, 586-587, 591-592, 596-597, 601-602, 606-607, 611-612, 616-617, 621-622, 626-627, 631-632, 636-637, 641-642, 646-647, 651-652, 656-657, 661-662, 666-667, 671-672, 676-677, 681-682, 686-687, 691-692, 696-697, 711-712, 716-717, 721-722, 726-727, 731-732, 736-737, 741-742, 746-747, 751-752, 756-757, 761-762, 766-767, 771-772, 792-793, 797-798, 802-803, 807-808, 812-813, 817-818, 822-823, 827-828, 832-833, 837-838, 842-843, 847-848, 852-853, 857-858, 862-863, 867-868, 872-873, 877-878, 882-883, 887-888, 892-893, 897-898, 902-903, 907-908, 912-913, 925-926, 930-931, 935-936, 940-941, 945-946, 950-951, 955-956, 960-961, 965-966, 970-971, 975-976, 980-981, 985-986, 990-991, 995-996, 1000-1001, 1005-1006, 1010-1011, 1015-1016, 1020-1021, 1025-1026, 1030-1031, 1035-1036
31-35: Renamed key from "seeWikia" to "seeWiki"The key has been renamed from "seeWikia" to "seeWiki", which is more accurate since Wikia was rebranded to Fandom several years ago, and many Warframe community resources use "Wiki" in their naming.
708-712: Update the Codex Hint TranslationThe placeholder text in the German locale still appears in English. Since UI text placeholders should be translated for better user comprehension and consistency in localized applications, please update the string accordingly.
Consider translating this to German, for example: "Durchsuche den Codex hier..."
1037-1041: New localization keys added for UI elementsNew localization keys have been added for trader inventory UI elements, calendar features, and nightwave season information. The additions improve the application's localization coverage.
Also applies to: 1082-1091, 1092-1096, 1097-1111
| "codexHint": "Search the codex here...", | ||
| "@codexHint": { | ||
| "description": "Codex description when a user enters the codex or when the search bar is empty", | ||
| "type": "text", | ||
| "placeholder": {} | ||
| "type": "text" | ||
| }, |
There was a problem hiding this comment.
💡 Verification agent
🧩 Analysis chain
UI text should be translated rather than kept in English
The search prompt "Search the codex here..." is displayed in English instead of Portuguese. For better user experience, UI placeholder text should be translated to the target language.
Consider translating this to Portuguese to match the localization practices, for example: "Pesquise o codex aqui..."
🌐 Web query:
Should placeholder text be translated in localized applications?
💡 Result:
Placeholder text in localized applications should not be translated when it represents dynamic variables (e.g., {COUNTRY_NAME} or %s). However, the surrounding text often requires adaptation to fit linguistic and cultural norms. Here’s a breakdown of best practices:
Key Guidelines
-
Preserve Placeholder Syntax
Placeholders like{{item}},%s, or{COUNTRY_NAME}must remain untouched in translations. They act as code markers for dynamic content (e.g., user names, dates) and altering them breaks functionality[1][4][7]. -
Adjust Placement for Syntax
Position placeholders according to the target language’s grammar. For example:- English:
"Remove the {{color}} bag" - Spanish:
"Retire la bolsa {{color}}"(adjective after noun)[1][4].
- English:
-
Contextual Adaptation
- Prepositions or articles may need adjustments around placeholders. In French,
"Streaming in {COUNTRY_NAME}?"becomes"Diffusion en {COUNTRY_NAME} ?"for France but"au {COUNTRY_NAME}"for Morocco[1][4]. - Use localization tools (e.g., Smartling, Phrase) to lock placeholders and guide translators[7][13].
- Prepositions or articles may need adjustments around placeholders. In French,
-
Avoid Translating Descriptive Labels
If placeholders include descriptive text (e.g.,{{MoreInfoButton/}}), retain the original language unless the label itself is part of the UI (e.g.,"Enter email"becomes"Ingrese su correo")[1][5][9].
Common Pitfalls
- Mistranslating Placeholders
Translating variables like$DepartureTime$to$HeureDépart$breaks code[4][13]. - Ignoring Context
Translators need screenshots or notes to understand where placeholders appear (e.g., buttons vs. error messages)[3][13]. - Overlooking Positional Logic
In languages with gendered nouns or plural rules, placeholders may require backend logic adjustments (e.g.,"the Bahamas"vs."die Schweiz"in German)[4][17].
Tools & Workflows
- Automated Detection: Platforms like Smartling and Phrase auto-detect placeholders and lock them during translation[7][13].
- Regular Expressions: Use regex to convert variables into uneditable elements (e.g.,
[A-Z]{2}\d{4}-\d{4}for IDs)[4]. - Testing: Validate placeholder integrity with pseudo-localization or QA checks[3][18].
By following these practices, developers and translators ensure dynamic content functions correctly while delivering linguistically accurate interfaces.
Citations:
- 1: https://www.crisoltranslations.com/our-blog/placeholders-how-to-translate-around-them/
- 2: https://phrase.com/blog/posts/10-common-mistakes-in-software-localization/
- 3: https://unbabel.com/4-tips-for-effective-software-localization/
- 4: https://www.smartcat.com/blog/place-holders-save-the-day/
- 5: https://blog.lipsumhub.com/what-is-the-best-practice-of-placeholder-text/
- 6: https://success.vanillaforums.com/kb/articles/493-adding-and-editing-locale-translation-strings
- 7: https://help.smartling.com/hc/en-us/articles/360008143433-Placeholders-in-Resource-Files
- 8: https://www.lenovo.com/us/en/glossary/placeholder-text/
- 9: https://www.proz.com/forum/translation_theory_and_practice/272585-should_placeholders_in_strings_be_translated.html
- 10: https://app.studyraid.com/en/read/12446/402132/implementing-i18n-placeholder-attributes
- 11: https://discuss.emberjs.com/t/best-place-to-define-placeholder-text/2829
- 12: https://multilingual.com/articles/learning-localization-in-context/
- 13: https://help.smartling.com/hc/en-us/articles/6015532120219-Module-4-Placeholders
- 14: https://blog.lipsumhub.com/what-is-the-best-practice-for-placeholder-text/
- 15: https://community.glideapps.com/t/language-of-the-text-placeholder-and-button-in-comments-component/67833
- 16: https://support.phrase.com/hc/en-us/articles/5822510498332-Placeholders-Strings
- 17: https://engineering.fb.com/2022/05/09/android/language-packs/
- 18: https://www.oneskyapp.com/blog/how-placeholder-validation-can-improve-the-quality-of-websites-mobile-apps-translation/
Action Required: Localize the UI Placeholder Text
The "codexHint" string in lib/l10n/arb/intl_pt.arb (lines 708–712) remains in English. Since this static UI text doesn’t represent a dynamic variable, it should be fully localized. Please update:
-
Current:
"codexHint": "Search the codex here..." -
Suggestion:
"codexHint": "Pesquise o codex aqui..."
This change will ensure the placeholder text adheres to our localization best practices.
## [2.25.4](v2.25.3...v2.25.4) (2025-03-14) ### Bug Fixes * **l10n:** New translations ([#591](#591)) ([4f618f3](4f618f3))
Summary by CodeRabbit