尽管这个问题的公认答案是绝对正确的,但我想用我在必须本地化一个相当大的系统后学到的东西来补充它。
每次需要使用 a 时设置Thread.CurrentCulture
and非常容易出错且难以维护,特别是在系统的多个不同部分执行此操作时。为避免这种情况,您可以创建一个简单的类,该类继承自并始终在运行代码之前设置文化:Thread.CurrentUICulture
BackgroundWorker
BackgroundWorker
public class LocalizedBackgroundWorker : BackgroundWorker {
private readonly CultureInfo currentCulture;
public LocalizedBackgroundWorker() {
currentCulture = /* Get your current culture somewhere */
}
protected override void OnDoWork(DoWorkEventArgs e) {
Thread.CurrentThread.CurrentCulture = currentCulture;
Thread.CurrentThread.CurrentUICulture = currentCulture;
base.OnDoWork(e);
}
}
现在只需使用LocalizedBackgroundWorker
该类而不是BackgroundWorker
您就可以开始了。