WinRT中是否有任何支持多語言應用程序的內置工具?例如,我有幾個按鈕,文本內容爲「添加」,「刪除」,「編輯」英文,它應該是「Dodaj」,「Usun」,「Edytuj」等波蘭語。我可以自動將此文本設置爲用戶語言嗎? (以及如何自動檢測用戶語言?)。我可以使用語言模型並將按鈕內容綁定到ViewModel屬性,但不是存在更好的方法來做到這一點嗎?多語言WinRT應用程序
0
A
回答
2
這是很好的支持,並且MS這裏有一個很好的例子:http://code.msdn.microsoft.com/windowsapps/Application-resources-and-cd0c6eaa
使用x設置的「靜態」內容的文本:UID如果這些元素的數據綁定不起作用。例如你有一個觀察的集合在你的視圖模型包含的用戶名視圖模型,你嘗試做以下(僞代碼!): -
<List ItemSource={Binding Users}>
<List.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock x:uid="ByUser"/>
<TextBlock Text={Binding Username}/>
</StackPanel>
</DataTemplate>
</List.ItemTemplate>
</List>
應設置第一個文本框的文本(基於UID ByUser)將不會被設置。我通過在全球化服務中包裝ResourceLoader
並將其傳遞給我的「UsersName」視圖模型來解決這個問題,然後我將公開一個名爲ByUserText的屬性,並對其進行綁定。不理想,希望這會得到解決。
,你將需要使用一個全球化的服務爲唯一的其他東西是一樣的東西消息框等
這是全球化的服務,我繞過: -
using Windows.ApplicationModel.Resources;
public class GlobalisationService : IGlobalisationService
{
private readonly ResourceLoader resourceLoader;
public GlobalisationService()
{
resourceLoader = new ResourceLoader();
}
public string GetString(string key)
{
try
{
return resourceLoader.GetString(key);
}
catch
{
return "NOT FOUND: " + key;
}
}
public string this[string key]
{
get
{
return GetString(key);
}
}
}
相關問題
- 1. 多語言應用程序vs很多應用程序
- 2. 如何在WinRT應用程序中獲得實際的語言?
- 3. 用C語言創建一個多語言應用程序#
- 4. 多語言應用程序編碼
- 5. Xamarin形式多語言應用程序
- 6. 多語言應用程序UI
- 7. 多種語言的Android應用程序
- 8. 多語言IOS應用程序
- 9. Phonegap應用程序的多種語言
- 10. 多語言應用程序圖像
- 11. 多語言Office 365應用程序
- 12. 使多語言Android應用程序
- 13. 多種語言的應用程序
- 14. Installshield多語言支持應用程序
- 15. Iphone中的多語言應用程序
- 16. Asp.net多語言網絡應用程序
- 17. 多語言Flex應用程序
- 18. 多語言AJAX應用程序
- 19. 多種語言的應用程序
- 20. android多語言應用程序
- 21. 多語言iOS應用程序
- 22. UWP應用程序在多種語言
- 23. 多語言winforms應用程序
- 24. K2 blackpearl的多語言應用程序
- 25. WP7中的多語言應用程序
- 26. mvc .net多語言應用程序
- 27. jQuery Mobile的多語言應用程序
- 28. 多語言快遞應用程序
- 29. 多語言android應用程序?
- 30. 多語言動態Silverlight應用程序