Skip to content

Commit

Permalink
MAINTENANCE: rename LocaleNames classes to LocaleTranslations to avoi…
Browse files Browse the repository at this point in the history
…d namespace and class name collision
  • Loading branch information
jslachta committed Nov 27, 2022
1 parent 7a40ab6 commit b78208a
Show file tree
Hide file tree
Showing 9 changed files with 44 additions and 73 deletions.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,37 +13,37 @@ The translation data are generated from [CLDR locale data for internationalizati
### Find all language codes

```
var allLanguageCodes = LocaleNamesFactory.ForLanguageCode("en-US").AllLanguageCodes;
var allLanguageCodes = LocaleTranslationsFactory.ForLanguageCode("en-US").AllLanguageCodes;
```

### Find language name

```
var translatedLanguageName = LocaleNamesFactory.ForCultureInfo(new CultureInfo("en-US")).FindLanguageName("cs-CZ");
var translatedLanguageName = LocaleTranslationsFactory.ForCultureInfo(new CultureInfo("en-US")).FindLanguageName("cs-CZ");
```

### Find language code

```
var languageCode = LocaleNamesFactory.ForCultureInfo(new CultureInfo("en-US")).FindLanguageCode("Czech");
var languageCode = LocaleTranslationsFactory.ForCultureInfo(new CultureInfo("en-US")).FindLanguageCode("Czech");
```

### Find all country codes

```
var allCountryCodes = LocaleNamesFactory.ForLanguageCode("en-US").AllCountryCodes;
var allCountryCodes = LocaleTranslationsFactory.ForLanguageCode("en-US").AllCountryCodes;
```

### Find country name

```
var translatedCountryName = LocaleNamesFactory.ForCultureInfo(new CultureInfo("en-US")).FindCountryName("DE");
var translatedCountryName = LocaleTranslationsFactory.ForCultureInfo(new CultureInfo("en-US")).FindCountryName("DE");
```

### Find country code

```
var countryCode = LocaleNamesFactory.ForCultureInfo(new CultureInfo("en-US")).FindCountryCode("Germany");
var countryCode = LocaleTranslationsFactory.ForCultureInfo(new CultureInfo("en-US")).FindCountryCode("Germany");
```
# Stats
![Alt](https://repobeats.axiom.co/api/embed/864145fa59a424553c94a73d2343776612860b15.svg "Repobeats analytics image")
Expand Down
8 changes: 4 additions & 4 deletions src/LocaleNames.Test/FactoryTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class FactoryTests
[TestMethod]
public void LocaleNames_Factory_ForLanguageCode_On_Windows_Should_Have_Invariant_Culture()
{
var localeNames = LocaleNamesFactory.ForLanguageCode("unknown code");
var localeNames = LocaleTranslationsFactory.ForLanguageCode("unknown code");

if (OperatingSystem.IsWindows())
{
Expand All @@ -29,7 +29,7 @@ public void LocaleNames_Factory_ForLanguageCode_On_Windows_Should_Have_Invariant
[TestMethod]
public void LocaleNames_Factory_ForCultureInfo_Existing_Culture_Test()
{
var translations = LocaleNamesFactory.ForCultureInfo(new System.Globalization.CultureInfo("en-US"));
var translations = LocaleTranslationsFactory.ForCultureInfo(new System.Globalization.CultureInfo("en-US"));

Assert.AreEqual(new System.Globalization.CultureInfo("en-US"), translations.CultureInfo);
Assert.IsFalse(translations.AreCountryNameTranslationsEmpty);
Expand All @@ -45,7 +45,7 @@ public void LocaleNames_Factory_ForLanguageCode_Test()
/*
* if a valid language code is given, the cultureinfo name should match.
*/
var translations = LocaleNamesFactory.ForLanguageCode("cs-CZ");
var translations = LocaleTranslationsFactory.ForLanguageCode("cs-CZ");

Assert.AreEqual(new System.Globalization.CultureInfo("cs-CZ"), translations.CultureInfo);
Assert.IsFalse(translations.AreCountryNameTranslationsEmpty);
Expand All @@ -61,7 +61,7 @@ public void LocaleNames_Factory_ForLanguageCode_InvalidLanguageCode_Test()
/*
* if a not valid language code is given, the LocaleTranslations will not have any translations.
*/
var translations = LocaleNamesFactory.ForLanguageCode("non-existing-code");
var translations = LocaleTranslationsFactory.ForLanguageCode("non-existing-code");

Assert.IsTrue(translations.AreCountryNameTranslationsEmpty);
Assert.IsTrue(translations.AreLanguageTranslationsEmpty);
Expand Down
4 changes: 2 additions & 2 deletions src/LocaleNames.Test/FindCountryCodeTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class FindCountryCodeTests
[TestMethod]
public void LocaleNames_All_Country_Codes_Should_Not_Provide_Variants_And_Continents()
{
var localeNames = LocaleNamesFactory.ForLanguageCode("en-US");
var localeNames = LocaleTranslationsFactory.ForLanguageCode("en-US");

var countryCodes = localeNames.GetAllCountryCodes();

Expand All @@ -34,7 +34,7 @@ public void LocaleNames_All_Country_Codes_Should_Not_Provide_Variants_And_Contin
[TestMethod]
public void LocaleNames_Find_country_code_by_name()
{
var localeNames = LocaleNamesFactory.ForLanguageCode("en-US");
var localeNames = LocaleTranslationsFactory.ForLanguageCode("en-US");

Assert.AreEqual("DE", localeNames.FindCountryCode("Germany"));

Expand Down
4 changes: 2 additions & 2 deletions src/LocaleNames.Test/FindCountryNameTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public class FindCountryNameTests
[TestMethod]
public void Find_country_name_by_code()
{
var localeNames = LocaleNamesFactory.ForLanguageCode("en-US");
var localeNames = LocaleTranslationsFactory.ForLanguageCode("en-US");

Assert.AreEqual("Germany", localeNames.FindCountryName("DE"));
Assert.AreEqual("Czechia", localeNames.FindCountryName("CZ"));
Expand All @@ -22,7 +22,7 @@ public void Find_country_name_by_code()
[TestMethod]
public void Find_all_variants_of_country_name_by_code()
{
var localeNames = LocaleNamesFactory.ForLanguageCode("en-US");
var localeNames = LocaleTranslationsFactory.ForLanguageCode("en-US");
var result = localeNames.FindCountryNames("CZ");

Assert.IsTrue(result.Count == 2, "CZ country name has only two variants");
Expand Down
5 changes: 3 additions & 2 deletions src/LocaleNames.Test/FindLanguageCodeTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using System.Globalization;
using System.Linq;
using LocaleNames;
using System.Text;

namespace LocaleNames.Test
{
Expand All @@ -12,7 +13,7 @@ public class FindLanguageCodeTests
[TestMethod]
public void LocaleNames_All_Language_Codes_Should_Not_Provide_Variants()
{
var localeNames = LocaleNamesFactory.ForLanguageCode("en-US");
var localeNames = LocaleTranslationsFactory.ForLanguageCode("en-US");

var languageCodes = localeNames.GetAllLanguageCodes();

Expand All @@ -31,7 +32,7 @@ public void LocaleNames_All_Language_Codes_Should_Not_Provide_Variants()
[TestMethod]
public void LocaleNames_Find_language_code_by_name()
{
var localeNames = LocaleNamesFactory.ForLanguageCode("en-US");
var localeNames = LocaleTranslationsFactory.ForLanguageCode("en-US");

Assert.AreEqual("de", localeNames.FindLanguageCode("German"));

Expand Down
10 changes: 5 additions & 5 deletions src/LocaleNames.Test/FindLanguageNameTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public class FindLanguageNameTests
[TestMethod]
public void LocaleNames_Find_language_name_for_given_culture()
{
var localeNames = LocaleNamesFactory.ForCultureInfo(new CultureInfo("cs-CZ"));
var localeNames = LocaleTranslationsFactory.ForCultureInfo(new CultureInfo("cs-CZ"));

Assert.AreEqual("čeština", localeNames.FindLanguageName("cs"));

Expand All @@ -25,7 +25,7 @@ public void LocaleNames_Find_language_name_for_given_culture()

Assert.AreEqual(null, localeNames.FindLanguageName("unknown code"));

localeNames = LocaleNamesFactory.ForCultureInfo(new CultureInfo("yue"));
localeNames = LocaleTranslationsFactory.ForCultureInfo(new CultureInfo("yue"));

Assert.AreEqual("德文", localeNames.FindLanguageName("de"));

Expand All @@ -37,7 +37,7 @@ public void LocaleNames_Find_language_name_for_given_culture()
[TestMethod]
public void LocaleNames_Find_language_name_for_current_culture()
{
var localeNames = LocaleNamesFactory.ForCurrentCulture();
var localeNames = LocaleTranslationsFactory.ForCurrentCulture();

Assert.AreEqual("angličtina (USA)", localeNames.FindLanguageName("en-US"));

Expand All @@ -49,7 +49,7 @@ public void LocaleNames_Find_language_name_for_current_culture()
[TestMethod]
public void LocaleNames_Find_language_name_for_language_code()
{
var localeNames = LocaleNamesFactory.ForLanguageCode("en-US");
var localeNames = LocaleTranslationsFactory.ForLanguageCode("en-US");

Assert.AreEqual("German", localeNames.FindLanguageName("de"));

Expand All @@ -65,7 +65,7 @@ public void LocaleNames_Find_language_name_for_language_code()
[TestMethod]
public void LocaleNames_Find_language_name_for_unknown_language_code()
{
var localeNames = LocaleNamesFactory.ForLanguageCode("unknown-CODE");
var localeNames = LocaleTranslationsFactory.ForLanguageCode("unknown-CODE");

Assert.AreEqual(null, localeNames.FindLanguageName("de"));
}
Expand Down
6 changes: 3 additions & 3 deletions src/LocaleNames.Test/LocaleNamesTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ public class LocaleNamesTests
[TestMethod]
public void LocaleNames_Is_loading_from_cache()
{
LocaleNamesFactory.ClearCache();
var localeName = LocaleNamesFactory.ForCultureInfo(new CultureInfo("cs-CZ"));
LocaleTranslationsFactory.ClearCache();
var localeName = LocaleTranslationsFactory.ForCultureInfo(new CultureInfo("cs-CZ"));

Assert.IsFalse(localeName.IsFromCache);

localeName = LocaleNamesFactory.ForCultureInfo(new CultureInfo("cs-CZ"));
localeName = LocaleTranslationsFactory.ForCultureInfo(new CultureInfo("cs-CZ"));

Assert.IsTrue(localeName.IsFromCache);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
namespace LocaleNames
{
/// <summary>
///
/// Locale translations for a single language.
/// </summary>
public class LocaleNames
public class LocaleTranslations
{
#region PROPERTIES

Expand Down Expand Up @@ -66,10 +66,10 @@ public class LocaleNames
#region CONSTRUCTOR

/// <summary>
/// Initializes a new instance of the <see cref="LocaleNames"/> class.
/// Initializes a new instance of the <see cref="LocaleTranslations"/> class.
/// </summary>
/// <param name="culture">The culture.</param>
internal LocaleNames(CultureInfo culture)
internal LocaleTranslations(CultureInfo culture)
{
CultureInfo = culture;

Expand Down Expand Up @@ -170,18 +170,7 @@ public IReadOnlyCollection<string> GetAllLanguageCodes()
/// <param name="variant"></param>
/// <returns></returns>
public string FindLanguageName(string languageCode, AltVariant variant = AltVariant.Common)
{
var languageNames = FindLanguageNames(languageCode);

if (languageNames.ContainsKey(variant))
{
return languageNames[variant];
}
else
{
return null;
}
}
=> FindLanguageNames(languageCode).FirstOrDefault(i => i.Key == variant).Value;

/// <summary>
/// Finds all name variants of the language.
Expand Down Expand Up @@ -222,11 +211,7 @@ public string FindLanguageName(string languageCode, AltVariant variant = AltVari
/// <param name="countryName">Name of the country.</param>
/// <returns></returns>
public string FindLanguageCode(string countryName)
{
var value = LanguageNames.Value.FirstOrDefault(i => string.Compare(i.Value, countryName) == 0);

return value.Key;
}
=> LanguageNames.Value.FirstOrDefault(i => string.Compare(i.Value, countryName) == 0).Key;

#endregion FIND LANGUAGE NAMES/CODES

Expand All @@ -250,28 +235,15 @@ public IReadOnlyCollection<string> GetAllCountryCodes()
/// <param name="variant"></param>
/// <returns></returns>
public string FindCountryName(string countryCode, AltVariant variant = AltVariant.Common)
{
var countryNames = FindCountryNames(countryCode);

if (countryNames.ContainsKey(variant))
{
return countryNames[variant];
}
else
{
return null;
}
}
=> FindCountryNames(countryCode).FirstOrDefault(i => i.Key == variant).Value;

/// <summary>
/// Finds all name variants of the country.
/// </summary>
/// <param name="countryCode">country code</param>
/// <returns></returns>
public IReadOnlyDictionary<AltVariant, string> FindCountryNames(string countryCode)
{
return CountryNames.Value.FindLocaleValues(countryCode);
}
=> CountryNames.Value.FindLocaleValues(countryCode);

/// <summary>
/// Finds the country code.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,23 @@ namespace LocaleNames
/// <summary>
/// Locale Names.
/// </summary>
public static class LocaleNamesFactory
public static class LocaleTranslationsFactory
{
private static ConcurrentDictionary<CultureInfo, LocaleNames> CachedLocaleNames
= new ConcurrentDictionary<CultureInfo, LocaleNames>();
private static ConcurrentDictionary<CultureInfo, LocaleTranslations> CachedLocaleNames
= new ConcurrentDictionary<CultureInfo, LocaleTranslations>();

/// <summary>
/// Clears the cache.
/// </summary>
public static void ClearCache()
{
CachedLocaleNames.Clear();
}
=> CachedLocaleNames.Clear();

/// <summary>
/// Creates instance of <see cref="LocaleNames"/> for given language code.
/// Creates instance of <see cref="LocaleTranslations"/> for given language code.
/// </summary>
/// <param name="languageCode">The language code.</param>
/// <returns></returns>
public static LocaleNames ForLanguageCode(string languageCode)
public static LocaleTranslations ForLanguageCode(string languageCode)
{
CultureInfo cultureInfo = null;

Expand All @@ -44,22 +42,22 @@ public static LocaleNames ForLanguageCode(string languageCode)
}

/// <summary>
/// Creates instance of <see cref="LocaleNames"/> for current culture.
/// Creates instance of <see cref="LocaleTranslations"/> for current culture.
/// </summary>
/// <returns></returns>
public static LocaleNames ForCurrentCulture()
public static LocaleTranslations ForCurrentCulture()
{
var currentCulture = CultureInfo.CurrentCulture;

return ForCultureInfo(currentCulture);
}

/// <summary>
/// Creates instance of <see cref="LocaleNames"/> for given culture.
/// Creates instance of <see cref="LocaleTranslations"/> for given culture.
/// </summary>
/// <param name="cultureInfo">The culture information.</param>
/// <returns></returns>
public static LocaleNames ForCultureInfo(CultureInfo cultureInfo)
public static LocaleTranslations ForCultureInfo(CultureInfo cultureInfo)
{
if (CachedLocaleNames.ContainsKey(cultureInfo))
{
Expand All @@ -70,7 +68,7 @@ public static LocaleNames ForCultureInfo(CultureInfo cultureInfo)
}
else
{
var localeNames = new LocaleNames(cultureInfo);
var localeNames = new LocaleTranslations(cultureInfo);
CachedLocaleNames.TryAdd(cultureInfo, localeNames);

return localeNames;
Expand Down

0 comments on commit b78208a

Please sign in to comment.