本地化資源文件創建 前期準備 Visual Studio 搜索並安裝擴展插件 ResXManager 在項目內 Properties 文件夾內添加新建項 資源文件 Resource.resx 手動重新編譯項目,然後 Resource.resx 右鍵菜單 → 在 ResX Manager 中打開 打開 ...
本地化資源文件創建
前期準備
Visual Studio 搜索並安裝擴展插件 ResXManager
-
在項目內 Properties 文件夾內添加新建項 資源文件 Resource.resx
-
手動重新編譯項目,然後 Resource.resx 右鍵菜單 -> 在 ResX Manager 中打開
-
打開後界面如下
3.1.
添加新語言,由於語言比較多,點開下拉稍等一會後選擇需要添加的新語言
3.2.
檢測代碼引用,指示該鍵在項目中被調用的次數
3.3.
索引序號,表內鍵序號
3.4.
添加新鍵
3.5.(重要)
導入導出Excel是這個擴展最重要的一個功能,是用於給運維、產品、翻譯等非開發人員做語言翻譯的一個Excel表格,根據這個表內已有的Key來翻譯相應語言,翻譯完成後可直接導入到項目使用(第一語言在Excel中是空列名)
(擴展內查看如下)
運行時切換語言
1.新建類 ResourceService
public class ResourceService : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private static readonly ResourceService _current = new ResourceService();
public static ResourceService Current => _current;
readonly Properties.Resource resource = new Properties.Resource();
public Properties.Resource Resources => resource;
protected virtual void RaisePropertyChanged([CallerMemberName] string propertyName = null)
{
var handler = this.PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(propertyName));
}
public void ChangedCulture(string name)
{
Properties.Resource.Culture = CultureInfo.GetCultureInfo(name);
this.RaisePropertyChanged("Resources");
}
}
2.XAML使用
<Button Content="{Binding Resources.Hello, Source={x:Static local:ResourceService.Current}}"/>
3.切換語言
private void Changed()
{
ResourceService.Current.ChangedCulture("en-US");
}
本文來自博客園,作者:_蔚藍,轉載請註明原文鏈接:https://www.cnblogs.com/SunsetAzure/p/16293087.html