我們正在開發一個支持多種語言的WPF應用程序。由於我們必須支持某些語言,所以開發團隊都不知道,我們同意允許用戶(管理員)輸入這些語言的文本。最好的辦法是什麼?WPF應用程序的本地化
1
A
回答
2
我已經取得了非常好的經驗與WPFLocalizationExtension
它帶有大量的功能(例如根據語言綁定到本地化的圖像資源)和最好的:它是免費的。還有一些resx編輯工具可以讓你加載和編輯你的resx本地化文件。
2
您可以按照以下步驟
1創建資源文件
添加該文件StringResources.xaml到服務目錄。示例如下:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="close">Close</system:String>
</ResourceDictionary>
您可以創建多個文件,每種語言一個。
2添加資源(調用此當你啓動應用程序)
private void SetLanguageDictionary()
{
ResourceDictionary dict = new ResourceDictionary();
switch (Thread.CurrentThread.CurrentCulture.ToString())
{
case "en-US":
dict.Source = new Uri("..\\Resources\\StringResources.xaml", UriKind.Relative);
break;
case "fr-CA":
dict.Source = new Uri("..\\Resources\\StringResources.fr-CA.xaml", UriKind.Relative);
break;
default :
dict.Source = new Uri("..\\Resources\\StringResources.xaml",UriKind.Relative);
break;
}
this.Resources.MergedDictionaries.Add(dict);
}
3使用的資源,這樣的 -
<Button
x:Name="btnLogin"
Click="btnLogin_Click"
Content="{DynamicResource login}"
Grid.Row="3"
Grid.Column="0"
Padding="10" />
+0
如何在CodeBehind中使用此DynamicResource,例如MessageBoxes?這似乎只是一個(XAML)用戶界面本地化。 – SeToY
+0
@SeTo Y你有這裏的示例:和此代碼
相關問題
- 1. LocBaml本地化WPF ClickOnce應用程序
- 2. 棱鏡本地化WPF應用程序
- 3. 本地化基於MVVM的WPF應用程序
- 4. MVVM符合WPF應用程序中的本地化
- 5. 本地化WPF應用程序不起作用?
- 6. 手動應用程序的本地化
- 7. WP中的應用程序本地化
- 8. 多個應用程序的本地化
- 9. iphone中的應用程序本地化
- 10. iOS4中的應用程序本地化
- 11. Android上應用程序的本地化
- 12. 本地化的SaaS應用程序
- 13. 本地化的mvc應用程序
- 14. 本地化的mvc3應用程序
- 15. 移動應用程序的本地化
- 16. iOS應用程序的本地化
- 17. 如何本地化WPF應用程序中的ASP.Net Memebership提供程序
- 18. Silverlight或WPF應用程序或WPF瀏覽器應用程序在本地運行的應用程序?
- 19. 本地化應用程序(主)菜單?
- 20. 本地化iPhone應用程序
- 21. iPhone應用程序本地化
- 22. 本地化Google Chrome Web應用程序
- 23. C#表單應用程序本地化
- 24. android應用程序本地化建議
- 25. iOS應用程序圖標本地化
- 26. 如何本地化iPhone應用程序
- 27. 本地化應用程序名稱
- 28. ios應用程序(迅速)本地化
- 29. iOS 9應用程序本地化
- 30. 應用程序本地化(IOS)
這看起來很有前途。雖然我沒有得到它運行。你知道我能在哪裏得到樣品嗎? – TheJoeIaut
是的,下載源代碼並打開解決方案\ Tests \ XamlLocalizationTest.sln提供了一些示例。我建議閱讀「文檔」。關鍵是讓ResourceDictionaries在您的程序集中工作... – SvenG
並且您可以閱讀「白癡使用WPF本地化擴展指南(入門)」http://wpflocalizeextension.codeplex.com/discussions/283041 – SvenG