System.Threading.Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.CreateSpecificCulture
(CurrentLanguage );
用这种方法转换,每转换一次,记录词条的值,再一起写入日志中。虽然功能实现了,这种写法导致代码非常复杂,不美观。
在网上找了蛮久,没有找到好的解决方案,不过一次无意间打开一个资源类,却很好的解决了上面提到的问题。
根据那个资源类,写了一个添加中英文日志的方法。如下:
/// <summary>
/// 添加双语日志
/// </summary>
/// <param name="CurrentLanguage">当前语言</param>
/// <param name="Folder">词条文件名</param>
/// <param name="Words">词条名</param>
public static void InsertLog(string CurrentLanguage,tring Folder,string Words)
{
System.Resources.ResourceManager temp = new System.Resources.ResourceManager(string.Format("Resources.{0}",Folder),
System.Reflection.Assembly.Load("App_GlobalResources"));
string CurrLangstr = temp.GetString(Words,
System.Globalization.CultureInfo.CreateSpecificCulture(CurrentLanguage));
string OtherLangstr = temp.GetString(Words,
System.Globalization.CultureInfo.CreateSpecificCulture(CurrentLanguage == "zh-cn" ? "en-us" : "zh-cn"));
//插入Logs表
}
这样,CurrLangstr和OtherLangstr就分别对应为中英文字符串了。