Strings.resx 本地化未安装在 .Net 程序中

Posted

技术标签:

【中文标题】Strings.resx 本地化未安装在 .Net 程序中【英文标题】:Strings.resx Localizations not Installing in .Net Program 【发布时间】:2011-05-06 03:47:21 【问题描述】:

我有一个 .Net 应用程序。它有一个 Strings.resx 文件,以及 Strings.es.resx,以及更多的本地化版本。

如果我使用的是调试或发布模式,在 Visual Studio 中一切正常。

但是,当我构建我的安装包并安装软件时,就好像缺少翻译一样。当我将程序语言从荷兰语更改为西班牙语到英语时,仅使用默认字符串。

这不是必须重新启动程序的问题。我保存了用户期望的语言。然后我设置它没有例外。

我的安装包中似乎缺少翻译。为什么?

【问题讨论】:

有一个很重的Doh!这里的角度。您是否真的将这些附属程序集添加到您的安装项目中?不,它不是自动的。 我还没有将它们添加到安装项目中。似乎 Strings.resx 正在工作,但不是 Strings.es.resx 等。我只添加了“项目输出”。如何将这些字符串文件添加到标准 Windows 部署项目?为了将来参考,如果我进行 clickonce 分发会有所不同吗? 如果我添加它们,我只是把它们和exe文件放在同一个地方吗? 没关系,我明白了。您可以像添加主输出一样添加本地化资源。我想我现在很好。干杯! 【参考方案1】:

部署项目有项目输出,但不包括字符串文件。我必须通过 Add->Project Output->Localized Resources 手动将本地化资源添加到部署项目中。

【讨论】:

你好,我可以在安装软件后更改资源文件中的字符串值吗? 我怀疑不容易......我认为它们被编译成一些咬代码。但是,我不确定。

以上是关于Strings.resx 本地化未安装在 .Net 程序中的主要内容,如果未能解决你的问题,请参考以下文章

VB.NET本地化,检测未翻译文本

asp.net程序在本地IIs运行好用,放到服务器上就出运行时错误

尝试在本地安装“Prestashop”但未正确安装 INTL

本地 NPM 模块未正确安装

Asp.net mvc Session[""]="xxx" 提供对象引用未设置为服务器上的对象实例(在本地工作的同一项目)

Nuget 包未安装在 .Net Framework 中