using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BS.Shared.Translation { public class Translator { private static Translator instance; private static ITranslator Instance { get { return instance.translator; } } public static String Translate(Enum enumValue) { if (enumValue == null) { return null; } return Translate(enumValue.GetType().FullName + ".");// + EnumUtils.ToString(enumValue)); } public static String Translate(Enum enumValue, params Object[] args) { return Translate(enumValue.GetType().FullName + ".");// + EnumUtils.ToString(enumValue), args); } public static String Translate(String input) { //if (input == "Mitarbeiter") //{ // return "MitarbeiterIn"; //} //if (input == "Klient") //{ // return "KlientIn"; //} //if (input == "Klienten") //{ // return "KlientInnen"; //} ////return input; // return "TRANSLATED"; if (instance != null) { // handle null instance in design mode return Instance.Translate(input); } return input; } public static String TranslateKey(String key, String defaultText) { if (instance != null) { // handle null instance in design mode return Instance.TranslateKey(key, defaultText); } return defaultText; } public static String Translate(String input, params Object[] args) { if (instance != null) { // handle null instance in design mode return Instance.Translate(input, args); } return String.Format(input, args); } public static String TranslateKey(String key, String defaultText, params Object[] args) { if (instance != null) { // handle null instance in design mode return Instance.TranslateKey(key, defaultText, args); } return String.Format(defaultText, args); } private readonly ITranslator translator; public Translator(ITranslator translator) { this.translator = translator; instance = this; } } }