/
EvilBeaver
/
OneScript
Обзор
Документация
Войти
/
EvilBeaver
/
OneScript
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
v1.8.4
src/OneScriptDocumenter/Model/MultilangString.cs
79 строк
2 KB
EvilBeaver
Префиксы лицензии
23 янв 2020, 01:06
23 янв 2020, 01:06
0516913
Код
Авторство
О чём код?
/*---------------------------------------------------------- This Source Code Form is subject to the terms of the Mozilla Public License, v.2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. ----------------------------------------------------------*/ using System; using System.Collections.Generic; namespace OneScriptDocumenter.Model { class MultilangString : IEnumerable<KeyValuePair<string, string>> { public const string DEFAULT_LANG = "ru"; private readonly Dictionary<string, string> _variants = new Dictionary<string,string>(); public MultilangString(string content) { if (content == null) throw new ArgumentNullException(); Set(DEFAULT_LANG, content); } public MultilangString(IDictionary<string, string> strings) { if (strings == null) throw new ArgumentNullException(); _variants = new Dictionary<string, string>(strings); } private void Set(string lang, string content) { if (lang == null || content == null) throw new ArgumentNullException(); _variants[lang] = content; } public string DefaultString { get { return _variants[DEFAULT_LANG]; } set { _variants[DEFAULT_LANG] = value; } } public override string ToString() { return DefaultString; } public string ToString(string lang) { return _variants[lang]; } public IEnumerator<KeyValuePair<string, string>> GetEnumerator() { return _variants.GetEnumerator(); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return GetEnumerator(); } public static MultilangString New(string content) { return new MultilangString(content); } } }