在中,我可以使用常用的 ISO 命名约定(即、、 )C#
为各种语言/文化构建 resx 文件。编译时,我会为每个特定于文化的 resx 文件获得一个相应的文件夹。我的困境在于使用的命名约定。Strings.resx
Strings.en-GB.resx
Strings.fr.resx
MS 使用“语言代码 2-国家/地区代码 2 格式,其中语言代码 2 是派生自的小写双字母代码ISO 639-1
,国家/地区代码 2 是派生自 . 的大写双字母代码ISO 3166
。”
由于我无法控制与公司中其他组件的一些交互,因此我需要使用下划线 (_),例如:languagecode2_country/regioncode2。例如,代替"en-GB"
,我需要"en_GB"
。目标是让我的应用程序en_GB
在系统文化设置为时命名的文件夹中查找资源文件"en-GB"
。
这可能吗?我还没有找到分离器的 ISO 规范,所以如果有,我可以用它作为弹药来解决真正的问题,并在我使用的其他组件中遵循标准。
请注意,当我访问应用程序中的本地化资源时,我是通过designer.cs
文件中自动生成的属性来访问的,因此我不能只替换"en-GB"
为"en_GB"
.