Files
FluentTerminal/FluentTerminal.App/Services/ApplicationLanguageService.cs
Faris CakaricandFelix Seidl 783d03848f Added Bosnian (#879)
* Added Bosnian

* include in project

Co-authored-by: Felix Seidl <f.seidl@me.com>
2021-01-17 12:29:16 +01:00

68 lines
2.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using Windows.Globalization;
namespace FluentTerminal.App.Services
{
public class ApplicationLanguageService : IApplicationLanguageService
{
private readonly Dictionary<string, string> _languages = new Dictionary<string, string>
{
[""] = "System default",
["ar"] = "العربية",
["ar-IQ"] = "اللهجة العراقية",
["az-Latn"] = "azərbaycan dili",
["bs"] = "bosanski",
["de"] = "Deutsch",
["en"] = "English",
["eo"] = "Esperanto",
["es"] = "Español",
["fa"] = "فارسی",
["fr"] = "Français",
["he"] = "עברית",
["hi"] = "हिन्दुस्तानी",
["hr"] = "Hrvatski",
["hu"] = "magyar",
["id"] = "Bahasa Indonesia",
["it"] = "Italiano",
["ja"] = "日本語",
["ko"] = "한국어",
["nl"] = "Nederlands",
["pl"] = "Polski",
["pt-BR"] = "Português-Brasil",
["ro"] = "Română",
["ru"] = "Pусский",
["sl"] = "Slovenščina",
["sv"] = "svenska",
["tr"] = "Türkçe",
["ug-Arab"] = "ئۇيغۇر تىلى",
["uk"] = "Українська",
["uz-Latn"] = "O'zbek tili",
["zh-Hans"] = "简体中文",
["zh-Hant"] = "繁體中文"
};
public IEnumerable<string> Languages => _languages.Values;
public void SetLanguage(string language)
{
if (!_languages.ContainsValue(language))
{
throw new ArgumentException($"Language not supported: {language}", nameof(language));
}
ApplicationLanguages.PrimaryLanguageOverride = _languages.FirstOrDefault(x => x.Value == language).Key;
}
public string GetCurrentLanguage()
{
if (!_languages.ContainsKey(ApplicationLanguages.PrimaryLanguageOverride))
{
ApplicationLanguages.PrimaryLanguageOverride = "en";
}
return _languages[ApplicationLanguages.PrimaryLanguageOverride];
}
}
}