gpt4 book ai didi

c# - 如何在 XAML 中显示本地化文本

转载 作者:太空宇宙 更新时间:2023-11-03 21:39:00 24 4
gpt4 key购买 nike

我有一个 WPF 应用程序,我需要将其本地化为西类牙语。我已经阅读了 MSDN 文档并且感到困惑。这很复杂,因为我们公司有一套三个程序一起工作(一个是 Windows 服务,一个是 Web 应用程序,第三个是我的 WPF 应用程序),我们决定构建一个包含可本地化的资源 DLL所有三种产品的字符串。

因此字符串位于资源 DLL 中,将其称为 resources.dll。现在,原始英文字符串在 XAML 中进行硬编码。我已经为 ControlType_StringName 形式的每个字符串创建了资源 ID。多个控件使用的字符串被命名为 Common_StringName

如何编写 XAML 代码以便显示正确的字符串?例如,我有一个关于框。它使用一个名为“About_Copyright”的字符串。在“关于”框中,有一个显示此字符串的 TextBlock。我应该在 Text 属性的值中输入什么?

<TextBlock x:Uid="TextBlock_4" FontSize="18"
FontWeight="Bold"
Foreground="{DynamicResource TextForeground}"
Grid.Row="5"
HorizontalAlignment="Center"
Margin="5"
Text="Copyright © 2012, 2013, Elsag North America, Inc." />

完成后,Text 属性中应该有一个引用资源中的“AboutBox_Copyright”字符串。

并且在我的程序资源的资源 DLL 中有一个单独的静态类称为 CarSystem,因此代码隐藏会将字符串引用为“CarSystem.AboutBox_Copyright”。

最佳答案

添加对你的资源dll的引用

xmlns:res="clr-namespace:LocalizationDll.Properties"

并在您的 UI 中使用它作为

Text="{x:Static res:Resources.AboutBox_Copyright}"

请注意,您必须将您的 UI 文化设置为

System.Threading.Thread.CurrentThread.CurrentUICulture = 
new System.Globalization.CultureInfo("es-ES");

关于c# - 如何在 XAML 中显示本地化文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20334672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com