【发布时间】:2014-04-29 00:36:24
【问题描述】:
当用户使用应用程序时,我需要能够显示特定语言的 UI 文本。目前,我将文本存储在每种语言的 Properties.Settings 文件中。有没有办法创建一个指向设置文件的变量,这样我只需将此变量设置为指向所选语言设置文件,然后应用程序使用此变量来检索所需的文本字符串。
使用 Properties.Settings.Default.textString 意味着我必须执行以下操作:
if (language == "English") {
String text = Properties.SettingsEnglish.Default.textString;
} else
if (language == "SomethingElse") {
String text = Properties.SettingsSomethingElse.Default.textString;
}
我更喜欢做这样的事情,因为它只需要执行一次检查:
Properties varSettings;
if (language == "English") {
var = Properties.SettingsEnglish;
} else
if (language == "SomethingElse") {
var = Properties.SettingsSomethingElse;
}
...
String text = varSettings.Default.textString;
有关执行此操作的最佳方法的任何建议 - 请记住,这必须是用户可选择的应用程序选项,而不是操作系统级别的特定语言安装选项。
【问题讨论】:
-
为什么不创建一个辅助方法(或扩展方法),它传入语言并返回适当的“文本”?设置应用程序启动时或基于用户配置在某个全局变量中使用的语言,并使用该语言传递到此帮助方法(或扩展方法)。或者也许使用字典并将语言存储为键,后跟一些标识符(即 English_ErrorMsg),值是从应用程序属性中读取的适当文本?
标签: c# wpf properties.settings