mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-17 17:14:18 +02:00
@@ -45,14 +45,14 @@ namespace NzbDrone.Core.Localization
|
||||
|
||||
public Dictionary<string, string> GetLocalizationDictionary()
|
||||
{
|
||||
var language = IsoLanguages.Get((Language)_configService.UILanguage).TwoLetterCode;
|
||||
var language = GetSetLanguageFileName();
|
||||
|
||||
return GetLocalizationDictionary(language);
|
||||
}
|
||||
|
||||
public string GetLocalizedString(string phrase)
|
||||
{
|
||||
var language = IsoLanguages.Get((Language)_configService.UILanguage).TwoLetterCode;
|
||||
var language = GetSetLanguageFileName();
|
||||
|
||||
return GetLocalizedString(phrase, language);
|
||||
}
|
||||
@@ -66,7 +66,7 @@ namespace NzbDrone.Core.Localization
|
||||
|
||||
if (language.IsNullOrWhiteSpace())
|
||||
{
|
||||
language = IsoLanguages.Get((Language)_configService.UILanguage).TwoLetterCode;
|
||||
language = GetSetLanguageFileName();
|
||||
}
|
||||
|
||||
if (language == null)
|
||||
@@ -84,6 +84,19 @@ namespace NzbDrone.Core.Localization
|
||||
return phrase;
|
||||
}
|
||||
|
||||
private string GetSetLanguageFileName()
|
||||
{
|
||||
var isoLanguage = IsoLanguages.Get((Language)_configService.UILanguage);
|
||||
var language = isoLanguage.TwoLetterCode;
|
||||
|
||||
if (isoLanguage.CountryCode.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
language = string.Format("{0}_{1}", language, isoLanguage.CountryCode);
|
||||
}
|
||||
|
||||
return language;
|
||||
}
|
||||
|
||||
private Dictionary<string, string> GetLocalizationDictionary(string language)
|
||||
{
|
||||
if (string.IsNullOrEmpty(language))
|
||||
@@ -109,9 +122,17 @@ namespace NzbDrone.Core.Localization
|
||||
var dictionary = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
var baseFilenamePath = Path.Combine(prefix, baseFilename);
|
||||
|
||||
var alternativeFilenamePath = Path.Combine(prefix, GetResourceFilename(culture));
|
||||
|
||||
await CopyInto(dictionary, baseFilenamePath).ConfigureAwait(false);
|
||||
|
||||
if (culture.Contains("_"))
|
||||
{
|
||||
var languageBaseFilenamePath = Path.Combine(prefix, GetResourceFilename(culture.Split('_')[0]));
|
||||
await CopyInto(dictionary, languageBaseFilenamePath).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
await CopyInto(dictionary, alternativeFilenamePath).ConfigureAwait(false);
|
||||
|
||||
return dictionary;
|
||||
@@ -145,11 +166,11 @@ namespace NzbDrone.Core.Localization
|
||||
|
||||
private static string GetResourceFilename(string culture)
|
||||
{
|
||||
var parts = culture.Split('-');
|
||||
var parts = culture.Split('_');
|
||||
|
||||
if (parts.Length == 2)
|
||||
{
|
||||
culture = parts[0].ToLowerInvariant() + "-" + parts[1].ToUpperInvariant();
|
||||
culture = parts[0].ToLowerInvariant() + "_" + parts[1].ToUpperInvariant();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Reference in New Issue
Block a user