Files

101 lines
2.6 KiB
C#
Raw Permalink Normal View History

2017-11-07 09:29:49 +01:00
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;
2017-12-15 10:47:43 +01:00
// return "TRANSLATED";
2017-11-07 09:29:49 +01:00
if (instance != null)
{
// handle null instance in design mode
return Instance.Translate(input);
}
return input;
}
2022-04-29 20:37:37 +02:00
public static String TranslateKey(String key, String defaultText)
2022-04-06 11:49:20 +02:00
{
if (instance != null)
{
// handle null instance in design mode
2022-04-29 20:37:37 +02:00
return Instance.TranslateKey(key, defaultText);
2022-04-06 11:49:20 +02:00
}
return defaultText;
}
2017-11-07 09:29:49 +01:00
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);
}
2022-04-29 20:37:37 +02:00
public static String TranslateKey(String key, String defaultText, params Object[] args)
2022-04-06 11:49:20 +02:00
{
if (instance != null)
{
// handle null instance in design mode
2022-04-29 20:37:37 +02:00
return Instance.TranslateKey(key, defaultText, args);
2022-04-06 11:49:20 +02:00
}
return String.Format(defaultText, args);
}
2017-11-07 09:29:49 +01:00
private readonly ITranslator translator;
public Translator(ITranslator translator)
{
this.translator = translator;
instance = this;
}
}
}