Files
BeWoPlaner/Shared/Translation/Translator.cs
Christian 49a5f5e7dd cb
2022-04-29 20:37:37 +02:00

101 lines
2.6 KiB
C#

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;
}
}
}