我遇到了需要针对不同语言本地化应用程序的棘手问题。谷歌搜索主题给了我很多相同的网站
http://msdn.microsoft.com/en-us/library/ff637520(v=vs.92).aspx
我正在使用msdn作为参考。我已经创建了AppResource .resx文件,在.csproj文件中进行了更改。 创建了一个名为Localizedstrings的新类。但我无法创建实例
private static LoveCycles.AppResources localizedResources
事实上智能感知器无法识别AppResources。我得到一个错误sayin类型或命名空间名称AppResource在命名空间中不存在。我如何访问此资源文件?
我试着替换在消息框中显示消息的字符串而不是UI元素吗?
我哪里出错了?应用程序中未使用任何绑定。
Alfah
答案 0 :(得分:0)
我已经完成了本地化:)它就像魔法一样。 你要做的就是按照msdn链接进行本地化。
在大多数网站中,他们没有提到如何替换变量。如果有人想知道,我已经按照以下方式完成了
对于msg框中的字符串,
ResourceManager rm = new ResourceManager("LoveCycles.AppResources", Assembly.GetExecutingAssembly());
msgResult = MessageBox.Show(rm.GetString("msgBoxStartMonitoringDescription") + "\n" + dtSelDate.ToString("dd - MMM - yyyy"), rm.GetString("msgBoxStartMonitoringHeader"), MessageBoxButton.OKCancel);
msgBoxStartMonitoringDescription和msgBoxStartMonitoringHeader在我的resx文件中定义。
以及xaml中定义的UI
<TextBlock x:Name="Average" Height="30" TextWrapping="Wrap" Text="{Binding Path=LocalizedResources.statsAvgLengthTBlock, Source={StaticResource LocalizedStrings}}" Width="215"/>
statsAvgLengthTBlock在resx文件中定义
:)
快乐编码全部:D
Alfah