Blazor IStringLocalizer 多语言实现教程


Blazor 多语言核心是 IStringLocalizer + .resx 资源文件 + 语言切换逻辑,不依赖 JS;需在 Program.cs 注册 AddLocalization(),按规范命名资源文件(如 SharedResource.zh-CN.resx),组件中 @inject IStringLocalizer 使用,Server/WASM 切换文化方式不同但均原生支持。

blazor istringlocalizer 多语言实现教程

Blazor 中使用 IStringLocalizer 实现多语言,核心是结合 .NET 的本地化服务 + 资源文件(.resx)+ 语言切换逻辑。它不依赖 J*aScript,完全在 C# 层完成,适合 Server、WASM 和 Hybrid 项目。

配置本地化服务

在 Program.cs(.NET 6+)中注册本地化服务:

  • Server 项目:调用 builder.Services.AddRazorComponents().AddInteractiveServerComponents() 后,添加 AddLocalization()
  • WASM 项目:同样调用 AddLocalization(),并确保资源文件被正确发布(默认会自动包含)
  • 语言文化需通过 RequestLocalizationOptions 设置支持列表,例如 new[] { "zh-CN", "en-US", "ja-JP" }

准备资源文件(.resx)

资源文件必须按命名规范放置,Blazor 才能自动匹配:

  • 新建文件夹 Resources(推荐),在其中创建 SharedResource.resx(默认语言,如中文)
  • 对应英文版: SharedResource.en-US.resx;日文版:SharedResource.ja-JP.resx
  • 文件属性中,将 Build Action 设为 Embedded Resource,Custom Tool 留空(不要设为 PublicResXFileCodeGenerator)
  • 类名不重要,但资源键名要统一,比如 WelcomeMessage,各语言文件里填对应翻译

在组件中注入并使用 IStringLocalizer

以 Razor 组件为例(如 Counter.razor):

PrestaShop 开源网店系统 PrestaShop 开源网店系统

PrestaShop 开源网店系统是一款针对web2.0设计的全功能、跨平台的免费开源电子商务解决方案,自08年1.0版本发布,短短两年时间,发展迅速,全球已超过四万家网店采用Prestashop进行布署。Prestashop 开源网店系统基于Smarty引擎编程设计,模块化设计,扩展性强,能轻易实现多种语言,多种货币浏览交易,支持Paypal等几乎所有的支付手段,是外贸网站建站的佳选。Prest

PrestaShop 开源网店系统 0 查看详情 PrestaShop 开源网店系统
  • 顶部注入: @inject IStringLocalizer<sharedresource> localizer</sharedresource>(注意泛型参数是资源类类型,不是字符串)
  • 使用方式: @localizer["WelcomeMessage"] 或带参数的 @localizer["HelloName", @name]
  • 若资源类未显式定义(即只用 .resx),可借助一个空的 SharedResource.cs 文件(内容仅 public class SharedResource { }),让编译器生成类型引用

动态切换语言并持久化用户选择

切换语言本质是改变当前线程/请求的 CultureInfo,并在客户端保存偏好:

  • Server 渲染:通过中间件或自定义 ICultureService 在每次请求前设置 HttpContext.Features.Get<irequestculturefeature>().RequestCulture</irequestculturefeature>
  • WASM 渲染:无法改线程文化,改用 JSInterop 存 localStorage,再在 App.razor 中用 CultureChanged 事件触发重载,或配合 N*igationManager.Refresh()
  • 推荐轻量方案:封装一个 LanguageService,提供 ChangeLanguage(string culture) 方法,内部更新 CultureInfo.DefaultThreadCurrentCulture(WASM 不生效,仅作标记)+ 触发状态通知

基本上就这些。关键点是资源文件命名、注入方式、以及区分 Server/WASM 的文化切换机制。不需要第三方库,.NET 原生支持很稳。

以上就是Blazor IStringLocalizer 多语言实现教程的详细内容,更多请关注其它相关文章!


# java  # javascript  # 网店  # red  # .net  # c#  # 本地化  # 多语言  # app  # js  # seo 首页变化好  # 茂名网站建设程序是什么  # 肇庆网站建设路  # 晋城关键词排名报价  # 抖音电商营销推广诈骗app  # 浙江网站优化托管效果  # 口碑好营销推广费用高吗  # 闽清网站建设公司  # 株洲教育培训网站建设  # 河南知名网站优化  # 不需要  # 操作指南  # 如何用  # 如何处理  # 它在  # 设为  # 文档  # 开源 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894 】


相关推荐: J*aScript中高效处理用户输入:从Keyup事件到表单提交的优化实践  CDR如何复制交互式填充色  在XML中嵌入二进制数据(如图片)的最佳实践是什么? Base64编码与解析注意事项  智学网成绩单查询系统网_智学网学生平台登录  cad视图选项卡不见了怎么办_cad视图标签恢复显示方法  WooCommerce 新客户订单自动添加管理员备注教程  《理想汽车》权限管理设置方法  J*aScript类型数组_TypedArray使用  Win10关闭UAC用户账户控制的方法 Win10降低安全提示等级【技巧】  快手网页版官方访问 快手网页版页面在线打开  c++类和对象到底是什么_c++面向对象编程基础  win11怎么更改账户类型 Win11标准用户和管理员权限切换【教程】  企查查官网和爱企查 企查查企业查询官网入口  使用AI在VS Code中将代码从一种语言翻译成另一种  《豆瓣》私信用户方法  漫蛙manwa2网页版书签同步链接_漫蛙manwa多设备登录入口  Golang如何使用log记录日志信息_Golang log日志记录方法总结  优酷下载视频的清晰度怎么选_优酷缓存清晰度设置与选择指南  告别阻塞等待:如何使用GuzzlePromises优雅处理PHP异步操作,提升应用响应速度  AffinityDesigner图层蒙版怎么用_AffinityDesigner图层蒙版设计应用  PHP使用DOMDocument与XPath精准追加XML元素教程  毒蘑菇VOLUMESHADER_BM官网首页登录入口 毒蘑菇VOLUMESHADER_BM官网首页登录入口说明  中大网校app做题记录清除方法  VS Code快捷键when上下文子句的妙用  哔哩哔哩的|直播|间怎么送礼物_哔哩哔哩|直播|送礼操作指南  优化Asyncio嵌套函数调度:使用生产者-消费者模式实现并发流处理  《下一站江湖2》心法融合技巧  《随手记》关闭首页消息推送方法  西瓜视频怎么查看访客记录_西瓜视频访客记录查看方法  CSS如何在页面中引入重置样式_使用Normalize.css或Reset.css统一浏览器默认样式  Win10锁屏时间怎么设置 Win10调整自动锁屏时间方法  C++ virtual析构函数作用_C++基类虚析构函数防止内存泄漏  J*aScript与CSS动画:实现平滑顺序淡入淡出效果并解决显示冲突  b站怎么查看视频的码率_b站视频码率查看方法  123网页端官方登录页 123邮箱网页版即时通讯服务  如何在CSS中使用伪类选择器_hover实现悬停效果  Go语言反射机制下访问嵌入结构体中的被遮蔽方法  163邮箱在线登录 163邮箱网页版在线入口  汽水音乐网页版登录 汽水音乐网页端官方入口  《美篇》取消会员自动续费方法  悟空浏览器如何恢复关闭的标签页 悟空浏览器撤销关闭网页快捷键设置  银信通自动开通原因揭秘  蜻蜓FM如何设置移动流量播放  抖音号显示企业机构号是什么意思?企业机构号申请条件是什么?  汽水音乐车机版 汽水音乐车机版官方入口  《海豚家》注销账号方法  高德地图导航路线偏差报警频繁怎么办 高德地图路线偏差修复与优化方法  多闪APP官方下载安装入口_多闪最新版本获取入口  阿里云共享相册入口在哪  飞飞漫画漫画阅读官网_飞飞漫画漫画阅读官网进入阅读 

 2025-12-13

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.