【发布时间】:2014-09-03 10:05:54
【问题描述】:
我有便携式类库,其中有包含本地化字符串的 resx 文件(Resources.resx、Resources.en.resx、Resources.de.resx)。然后我以这种方式在 PCL LocalizationViewModel 中使用这些资源:
public string SettingsLogin
{
get { return Resources.Settings_Login; }
}
语言切换代码如下:
在 PCL 中
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo(lang);
CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo(lang);
Resources.Culture = new CultureInfo(lang);
在Win8.1应用中
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = lang;
来自 LocalizationViewModel 的字符串在 Win8.1 应用程序中使用,它工作得很好,在运行时更改语言也是如此。
在我创建应用程序包并安装应用程序时出现问题。当我运行安装的应用程序时,语言切换不起作用。
在 resx 文件中,我使用嵌入式资源构建操作,并尝试了构建操作和“复制到输出目录”设置的所有组合。
你可以在this article找到类似的项目
您知道可能是什么问题吗?
【问题讨论】:
-
您是如何设置目录结构或文件命名约定的?我正在尝试做同样的事情,但无法进行基本工作。
标签: c# localization windows-store-apps portable-class-library