-
Notifications
You must be signed in to change notification settings - Fork 29
3. Localization
IUpdatable edited this page Aug 30, 2021
·
2 revisions
WeUiSharp目前支持三种语言(WeUiSharp currently supports three languages):
- English(en)
- 简体中文(zh-CN)
- 繁体中文(zh-Hant)
// using WeUiSharp.Localization;
TranslationSource.Instance.Language = "en"; // "zh-CN" "zh-Hant"Step 1: 建立如下图的resx资源文件,添加自己的多语言文本,这里推荐使用 ResXManager(Create the resx resource file as shown below and add your own multilingual text. It is recommended to use ResXManager)

Step 2: XAML
<weui:Window xmlns:weui="https://github.com/IUpdatable/WeUiSharp"
xmlns:props="clr-namespace:YourProjectName.Properties"
xmlns:markup="clr-namespace:WeUiSharp.Markup;assembly=WeUiSharp"
xmlns:localization="clr-namespace:WeUiSharp.Localization;assembly=WeUiSharp"
localization:Translation.ResourceManager="{x:Static props:Strings.ResourceManager}"
...>
<Grid>
<!-- TestText is a demo key -->
<TextBlock Text="{markup:Loc TestText}" Width="100" Height="30"></TextBlock>
</Grid>
</weui:Window>
Step 3: code
// using YourProjectName.Properties;
string text = Strings.ResourceManager.GetString(nameof(Strings.TestText), Thread.CurrentThread.CurrentUICulture);如果希望监听语言切换事件(If you want to listen to language switching events)
// using WeUiSharp.Localization;
TranslationSource.Instance.PropertyChanged += TranslationInstance_PropertyChanged;
private void TranslationInstance_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
// your code here
}