我正在使用以下本地化选项:Click
Code Localization.cs:
public class TranslationSource : INotifyPropertyChanged
{
private readonly ResourceManager _rm = new ResourceManager("RECOVER.Languages.Language",
Assembly.GetExecutingAssembly());
private CultureInfo _currentCulture;
private static TranslationSource _instance;
public static TranslationSource Instance
{
get
{
if (_instance == null)
{
_instance = new TranslationSource();
}
return _instance;
}
}
public string this[string key]
{
get { return _rm.GetString(key, _currentCulture); }
}
public CultureInfo CurrentCulture
{
get { return _currentCulture; }
set
{
_currentCulture = value;
var @event = PropertyChanged;
if (@event != null)
{
@event.Invoke(this, new PropertyChangedEventArgs(string.Empty));
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
public class LocExtension : Binding
{
public LocExtension(string name) : base("[" + name + "]")
{
Mode = BindingMode.OneWay;
Source = TranslationSource.Instance;
}
}
如何对Localizate CodeBehind使用相同的原则?翻译所选语言的一些字符串(MessageBox等)。
感谢您的帮助!如有任何问题,请询问
也许是这样?
ResourceManager _rm = new ResourceManager("RECOVER.Languages.Language", Assembly.GetExecutingAssembly());
var kekssda = _rm.GetString("Button", TranslationSource.Instance.CurrentCulture);