diff options
| author | Cody Robibero <cody@robibe.ro> | 2026-06-27 09:46:45 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-06-27 09:46:45 -0400 |
| commit | ed5e868a6bb5f124565bc2fb2c4c9f798af7f450 (patch) | |
| tree | 34ba5286e94399ebc1e6f67177ee0466ce3380ee /Emby.Server.Implementations/Localization/LocalizationManager.cs | |
| parent | 58de9b7a9934568c835853e2da728c4ef5083a1a (diff) | |
| parent | f398b6d08b46544f61523c6871624201a2b54dfc (diff) | |
Merge pull request #17187 from Shadowghost/fix-localization-lookup
Fix localization lookup
Diffstat (limited to 'Emby.Server.Implementations/Localization/LocalizationManager.cs')
| -rw-r--r-- | Emby.Server.Implementations/Localization/LocalizationManager.cs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Emby.Server.Implementations/Localization/LocalizationManager.cs b/Emby.Server.Implementations/Localization/LocalizationManager.cs index 843e35afcc..6971431155 100644 --- a/Emby.Server.Implementations/Localization/LocalizationManager.cs +++ b/Emby.Server.Implementations/Localization/LocalizationManager.cs @@ -566,11 +566,15 @@ namespace Emby.Server.Implementations.Localization private static string GetResourceFilename(string culture) { - var parts = culture.Split('-'); + // Region codes may use a '-' (BCP-47, e.g. "pt-BR") or '_' (e.g. "es_419", "ar_SA") separator. + // Normalize the casing (lower-case language, upper-case region) while preserving the separator + // so the result matches the embedded resource file name, which is case-sensitive. + var separatorIndex = culture.IndexOfAny(['-', '_']); - if (parts.Length == 2) + if (separatorIndex > 0) { - culture = parts[0].ToLowerInvariant() + "-" + parts[1].ToUpperInvariant(); + var separator = culture[separatorIndex]; + culture = culture[..separatorIndex].ToLowerInvariant() + separator + culture[(separatorIndex + 1)..].ToUpperInvariant(); } else { |
