.net - 是否可以本地化 web.config 文件中的 appSettings 信息?

标签 .net asp.net configuration localization

我有这样的想法:

<appSettings>
 <add key="ConfigName" value="configuration" culture="1033" />
 <add key="ConfigName" value="konfiguracja" culture="1045" />
</appSettings>

但是 the add element只有 2 个属性 - keyvalue ,所以我猜它不受支持。

接下来我想到的是:
<appSettings>
 <add key="ConfigName-1033" value="configuration" />
 <add key="ConfigName-1045" value="konfiguracja" />
</appSettings>

有人可以提出更好的解决方案吗?

更新 - 我实现的解决方案:

将此信息移动到资源文件 ( Oded's answer ) 的不利之处在于它不再能够在开发人员和测试人员的机器上轻松修改。

但是,这就是我所做的 - 我将设置保留在 web.config 中文件(它们不能被本地化,但它们可以被修改而无需重新编译代码)将它们添加到资源文件中(它们可以本地化;它们仅用于生产环境,其中 web.config 设置设置为空字符串)。

最佳答案

您不应将本地化数据存储在 config 中文件。

使用附属程序集和资源文件进行本地化。

如果你只有少量元素,把东西放在config可能没问题,但经验表明项目的数量会增加,直到最终成为维护噩梦。

this指南(全局化和本地化在 ASP.NET 2.0 中揭开神秘面纱)了解更多详细信息。

关于.net - 是否可以本地化 web.config 文件中的 appSettings 信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2585313/

相关文章:

.net - SMS网关设备

c# - Entity Framework 5 不清除导航属性

c# - 如何使用 XSLT 将 XML 转换为无效的 XML?

asp.net - Lucene.NET --> 拒绝访问段

c# - 嵌套 ASP.NET 选项卡

.net - app.config 是什么时候创建的,什么时候是 app.exe.config 和有什么区别

c# - Lambda 表达式未按预期运行

asp.net - SignalR 在 start().done() 之后并不总是准备好?

android - NoClassDefFound错误: Changes in project import from sdk rev 15 to sdk rev 17?

configuration - 我的 elasticsearch 实例已启动并正在运行,让我们将其投入生产。