天天看點

[UWP]針對UWP程式多語言支援的總結,含RTL

原文: [UWP]針對UWP程式多語言支援的總結,含RTL

UWP 對 Globalization and localization 的支援非常好,可以非常容易地實作應用程式本地化。

所謂本地化,表現最為直覺的就是UI上文字和布局方式了,針對文字,提供不同的語言資源檔案即可,而針對布局方式,有影響的一般是阿拉伯地區的RTL,閱讀順序是從右到左,需要稍稍适配一下。

具體實作步驟:

微軟官方文檔 Localize strings in your UI and app package manifest (

https://docs.microsoft.com/en-us/windows/uwp/globalizing/put-ui-strings-into-resources

)

注意事項:

  1.多語言的檔案 Resources.resw 必須放在以語言代碼為檔案夾名稱的目錄下,預設情況下系統才能識别;

  2.多語言檔案夾放在任何目錄都可以,隻需要注意的就是檔案夾的名稱必須是語言代碼,具體的語言代碼可以這兒查詢(

https://docs.microsoft.com/en-us/windows/uwp/publish/supported-languages

  3.編譯打包時,系統會根據找到的多語言檔案夾,在AppManifest檔案的 Resources 節點下面,生成對應的 Resource 子元素 ,但前提是該節點下面必須有如下元素

<Resource Language="x-generate"/>      

  4.針對需要布局RTL的語言,如希伯來語,隻需要添加例如語言代碼為 “he” 的資源檔案即可,系統會自動對标題欄等地方進行RTL布局,但也僅限于标題欄,頁面内部的RTL,還需要手動設定 FlowDirection 為 RightToLeft;

  5.如果在運作時,你的 app 不支援目前電腦系統選擇的語言,則預設會使用 Default Language 中設定的語言,該設定選項在你 app 項目的 .csproj 檔案中;

繼續閱讀