101 lines
2.6 KiB
C#
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;
|
|
}
|
|
}
|
|
|
|
}
|