MAUI 第四天 使用MASA Blazor 中英文切换

目标:

1、在AppBar上加一个Switch开关,实现中英文切换。

效果:

 

代码:

MainLayout.razor界面代码如下:

@using BlazorComponent.I18n
@using System.Globalization
@inherits LayoutComponentBase
@inject I18n I18n

<MApp Id="inspire">
    <CascadingValue Value="@I18n.Culture.ToString()" Name="Culture">
        <MNavigationDrawer @bind-Value="_drawer" App>
                <!-- Your content -->
                <NavMenu/>
            </MNavigationDrawer>

            <MAppBar Color="deep-purple accent-4"
                     Dense
                     Dark App>
                <MAppBarNavIcon @onclick="() => _drawer = !_drawer">
                </MAppBarNavIcon>
                <MToolbarTitle>
                @I18n.T("Home")
                </MToolbarTitle>
                <MSpacer></MSpacer>

            <MSwitch Class="mt-5 mr-10" @bind-Value="IsChinese" LeftText="EN" RightText="中" Color="black" TrackColor="#E5E6EB" MinHeight="30"></MSwitch>
            </MAppBar>

            <MMain>
                <CascadingValue Value="this" IsFixed>
                    @Body
                </CascadingValue>
            </MMain>
    </CascadingValue>
</MApp>

@code {
    private CultureInfo? _culture;
    private bool _showMobileMenuList;
    private bool _hideAppBarNavIcon;
    private bool _showSettings;
    private string? _project;


    bool _drawer = true;
    bool _isChinee = true;

    public bool IsChinese
    {
        get { return _isChinee; }
        set
        {
            _isChinee = !_isChinee;
            SetLanugae();
        }
    }

    private void SetLanugae()
    {
        if (_isChinee)
        {
            I18n.SetCulture(new CultureInfo("zh-CN"));//将语言切换成zh-CN
        }
        else
        {
            I18n.SetCulture(new CultureInfo("en-US"));//将语言切换成en-US
        }
    }
}

 Index.razor

@page "/"
@using BlazorComponent.I18n
@inject I18n I18n

<h1>Hello, world!</h1>

Welcome to your new app.

<SurveyPrompt Title="How is Blazor working for you?" />

@I18n.T("Home")

@code{
    [CascadingParameter(Name = "Culture")]
    private string Culture { get; set; } = null!;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

为风而战

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值