浏览器扩展开发 - i18n 国际化多语言配置
原文地址:https://waynegong.cn/posts/954.html
Chrome 浏览器扩展进行 i18n 国际化多语言适配需要进行三处修改:
- 在特定目录按照特定格式编写多语言配置的
messages.json
文件; - 在
manifest.json
中设置默认语言; - 修改项目代码,通过
__MSG_messagename__
或getMessage
方法获取本地化内容;
编写多语言配置
多语言文件位于扩展根目录的 _locales/{_localeCode_}/messages.json
路径下
支持的 _localeCode_
可参考 languages.cc
以英语 en
为例,_localCode_/en/messages.json
如下:
{"title": {"message": "hello world", // title 字段的英语表示,必填"description": "Title string" // 当前字段的描述信息(注释),可选},...
}
配置默认语言
多语言配置编写完成后,还必须在 manifest.json
中设置默认语言 default_locale
才能生效。
使用本地化内容
在 Javascript 中,可通过调用 getMessage
方法获取本地化之后的内容,具体参数参考 getMessage API
在不支持 getMessage
方法的环境下(例如 json、css、html),可使用 __MSG_messagename__
占位符获取本地化内容。
多语言降级
当扩展程序在特定 _localeCode_
目录下没有找到本地化内容时,会按照一定规则进行搜索:
- 未找到当前地区的语言时,降级到当前大的语言环境,例如未找到
en_US
时,会尝试搜索en
目录; - 未满足上述条件时,则会使用
default_locale
配置的语言; - 否则返回
""
空字符;
多语言调试
调试多语言配置时,需要修改到特定的语言环境,具体方法参考:
- Windows
- MacOS
- Linux
其他方法
API 文档
浏览器扩展开发 - i18n 国际化多语言配置相关推荐
- # 前后端国际化多语言配置
前后端国际化多语言配置 前端(Vue ElementUI) 项目前端使用Vue+Elementui 编写 i18n.js 在这个js 中引入ElementUI的多语言资源,引入本地的多语言资源 // ...
- SpringBoot系列之i18n国际化多语言支持教程
SpringBoot系列之i18n国际化多语言支持教程 文章目录 1.环境搭建 2.resource bundle资源配置 3.LocaleResolver类 4.I18n配置类 5.Thymelea ...
- 常见浏览器扩展开发笔记(chrome firefox 360 baidu qq sougou liebao uc opera)
浏览器扩展开发貌似时下很冷门啊,但是不少企业还是有类似的应用,360的抢票插件啊,笔者最近在做的网页翻译扩展之类的.笔者在开发的过程中,遇到了不少坑,说是坑,说白了就是各个厂商支持的API不统一导致的 ...
- 【vue-element-admin】4.x 添加 i18n 国际化多语言切换
花裤衩前辈的vue-element-admin模块在4.x的大版本中去除了对i18n国际化的支持,本次因项目需要,在一个基于 vue-element-admin V4.2.1 版本模板开发的项目中,需 ...
- ☘gMIS吉密斯i18n国际化多语言更新
gMIS吉密斯部署和使用范围日益扩大,跨国多语言版本成为迫切需要的功能,早在2018年年中就考虑要增加这一功能--在gMIS吉密斯中实现多语言版本的支持.以期实现gMIS吉密斯的跨行业.跨地区和国际化 ...
- Firefox(火狐)浏览器扩展开发初探
最近开发一个FF的扩展,自动完成公司的订餐操作,主要完成的功能很简单:登陆网站,执行一个特定操作,并在ff的状态栏内显示执行的成功或者失败的状态.以前没有写过FF扩展,需要从头学习,在完成这个扩展过程 ...
- qt linux 国际化,多语言,配置CLion管理Qt项目国际化支持
随着Qt 6的发布,cmake也正式宣告接管qmake的工作了. 在之前的一篇博客里我介绍了如何使用cmake管理你的qt项目,不过有一点我没有讲,那就是对国际化(i18n)的处理. 今天我们就来介绍 ...
- Chrome浏览器扩展开发之自动化操作页面
Chrome浏览器支持扩展(Extension)开发,来定制扩展现有的功能,如:自动登录,定时刷新,抢票等功能,本文以一个简单的小例子,简述Google Chrome 扩展开发的基本步骤,仅供学习分享 ...
- Chrome浏览器扩展开发系列之一:初识Google Chrome扩展
1. Google Chrome扩展简介 Google Chrome扩展是一种软件,以增强Chrome浏览器的功能. Google Chrome扩展使用HTML.JavaScript.CS ...
最新文章
- 第1课第4.4节_Android硬件访问服务编写HAL代码
- php heahd,heaheader phpder 详解
- 文件描述符在内核态下的一些小把戏
- select * 映射错误_高性能IO模型分析-浅析Select、Poll、Epoll机制(三)
- 基于QEMU的NVRAM仿真
- 一组匹配中国大陆手机号的正则表达式
- 基于JAVA+Servlet+JSP+MYSQL的失物招领系统
- UITableView 协议方法中更好的 switch 使用方案
- seajs的模块化开发--实践笔记
- 如何卸载zabbix且删除
- 图像分割各种评测标准
- 计算机组装与维护启发式教学,电工技能与电子工艺技术实训
- win10永久禁用驱动数字签名强制的方法
- android viewgroup点击变色,Android ViewGroup点击效果(背景色)
- HTML实例网页代码 简单的个人博客网站设计与实现 (div+css)
- python爬duitang的摄影类图片
- Flutter中AspectRatio、Card 卡片组件
- python中颜色红色的表示_matplotlib中的绿色到红色的颜色映射,以d的中值为中心...
- Centos 图形界面与Dos界面切换
- OpenStack挂载ISO,安装原版windows
热门文章
- 接入腾讯广告联盟 Android SDK时遇到的坑
- Mosaix首席科学家劳逆:弱监督学习是未来发展趋势
- 顺丰快递代码表java,SF-CSIM-EXPRESS-SDK-V1.3 顺丰下单java后台demo代码 - 下载 - 搜珍网...
- 【俗话编程】什么是对象?
- 真兰仪表通过深交所注册:拟募资17.4亿 上半年净利下降27%
- LC,SC,FC ,ST,MPO分别代表什么
- 群晖 6.1 重置 mysql,重置群晖Synology NAS
- 前端追梦人Cytoscape.js教程
- 利用OpenCV读图绘制栅格导航
- LPC(Low Pin Count) 与SIO(Super IO)