我有Windows應用商店應用程序項目和類庫項目的解決方案,我想添加本地化支持。
如何將所有資源文件添加到我的類庫並在我的應用程序和類庫中使用它們?Windows通用/商店應用程序中的類庫本地化
2
A
回答
1
好吧,我發現如何做到這一點,並用樣本項目中找到here 基本上實行的是以下幾點:
- 在ClassLibrary創建一個文件夾名爲「琴絃」
- 絃樂內文件夾中創建一個爲每種語言(例如:英語,法語,PT等)
- 並在每個你的鑰匙這些文件夾的添加Resources.resw /值
現在,在您ClassLibrary具有以下代碼添加一個新的類(適用於您的項目):
using System;
using Windows.ApplicationModel.Resources;
namespace MyClassLibraryName.Tools {
public static class LocalizationTool {
static ResourceLoader resourceLoader = null;
public static string MyStringOne {
get {
String name;
GetLibraryName("MyStringOne", out name);
return name;
}
}
private static void GetLibraryName(string resourceName, out string resourceValue) {
if(resourceLoader == null) {
resourceLoader = ResourceLoader.GetForCurrentView("MyClassLibraryName/Resources");
}
resourceValue = resourceLoader.GetString(resourceName);
}
}
}
而在你ClassLibrary或MainApp只是調用如下
string text = LocalizationTool.MyStringOne;
7
在爲避免在添加新資源字符串時寫入大量樣板和容易出錯的代碼,例如:
- 將它添加到.resw文件
- 將它添加到提供給資源訪問您的靜態類
- 將它添加到每個特定語言.resw文件(例如:英語,法語,PT等)
您可以使用以下方法:
- 創建「字符串」文件夾並添加有隻有一個文件夾的默認語言(例如「EN-US」)在你的類庫
- 添加Resources.resw文件「EN-US 「所需鍵/值的文件夾
- 安裝Multilingual App Toolkit
- 您的類庫啓用VS MAT(VS- - >工具 - >啓用多語言應用工具包)
- 添加所需語言,你的類庫(VS->項目 - >添加翻譯語言.. 。)
- 安裝ResW File Code Generator VS擴展
- 轉到Resources.resw文件屬性,並設置自定義工具「ReswFileCodeGenerator」(你也可以在自定義工具命名空間指定的命名空間)
- 要使用支持的語言檢測解決的問題(目前生成的清單包含根據t支持的語言o文件夾結構「Strings/en-US」),您需要爲App庫(「fr-FR」,「bg-BG」等)中的所有必需語言添加文件夾,並將Resources.resw文件僅包含一個假鑰匙。
- 建立您的解決方案並享受!
通過這種方法,您的所有資源都可以通過由ReswFileCodeGenerator生成的靜態類來使用,並且它們都可以在XAML中使用x:uid。您不需要關心不同語言之間的鍵同步。 MAT還可以爲你翻譯你的資源。
相關問題
- 1. Windows商店應用程序的版本
- 2. Windows商店應用程序
- 3. 本地化應用程序商店中的元數據應用程序名稱
- 4. 構建本地化反應/還原應用程序的商店
- 5. 在Windows應用商店的應用程序使用JavaScript類
- 6. 本地部署並行版本的Windows應用商店應用
- 7. 部署Windows 8.1商店應用程序
- 8. Windows商店應用程序更新
- 9. Windows商店應用程序HttpClient問題
- 10. Windows商店應用程序 - jQuery錯誤
- 11. Windows商店應用程序角半徑
- 12. Windows商店應用程序和iFrame Cookie
- 13. 獲取商店中的Windows Phone應用程序的版本
- 14. 從Windows應用商店中刪除Windows 8版本的應用程序
- 15. Windows 8商店 - 調試應用程序從商店下載
- 16. 如何爲商店構建Windows 10通用應用程序包
- 17. Windows應用商店中的非UWP應用程序如何?
- 18. 適用於Windows 8.1的安裝程序商店應用程序
- 19. 如何獲得Windows應用商店應用的本地化顯示名稱
- 20. Windows應用商店應用中的DynamicResource?
- 21. 開始應用商店 - 用於Windows Phone 8.1和Windows 8.1應用程序的通用應用程序
- 22. iOS商店在應用程序中格式化文本
- 23. Path.GetTempPath()在Windows應用商店的應用程序不可用
- 24. 在Windows應用商店應用程序中保存圖像
- 25. Windows應用商店的應用程序的ListView的DataTemplate
- 26. 在商店中找不到我的應用程序(Windows Phone應用程序商店)
- 27. 是否允許在Windows應用商店中使用腳本應用程序?
- 28. 定義Windows應用商店的應用程序資源XAML
- 29. 造型ListView.SelectedItem - Windows應用商店的應用程序
- 30. 功能測試,Windows應用商店的應用程序
非常感謝。你拯救了我的一天。我搜索了3個多小時,直到我來到這裏。 :) – hellodear 2017-01-19 11:45:52