随着移动应用的飞速发展,国际化和本地化已经成为了移动应用不可忽视的问题。eslint-plugin-intl-mobile
是一个针对 React Native 应用的国际化校验工具,其可以帮助开发者快速发现国际化问题,并给出解决方案。
本文将会介绍 eslint-plugin-intl-mobile
的使用方法,包括安装、配置、使用方式和示例。
安装
eslint-plugin-intl-mobile
是一个 ESLint 插件,因此需要先安装 ESLint。
--- ------- ------ ----------
安装完成 ESLint 后,可以直接通过 npm 安装 eslint-plugin-intl-mobile
。
--- ------- ------------------------- ----------
配置
在 React Native 项目中,需要在 .eslintrc.js
配置文件中设置 eslint-plugin-intl-mobile
插件,同时添加相关规则。
-------------- - - ---------- - ------------- -- -------- - ------------------------- -------- ---------------------------------- -------- --------------------------------------------- -------- ----------------------------------------- -------- ------------------------------------------------------ -------- ------------------------------------------------ -------- -------------------------------------------- -------- -------------------------- -------- ------------------------------------------ ------- - -
使用方式
配置完成后,运行 ESLint 命令即可检测国际化问题。
------ ------------
注意,如果你的 React Native 项目中文本都是使用 FormattedMessage
组件包裹的话,需要添加 react-intl
插件以支持国际化代码校验。
规则介绍
valid-i18n
检查是否存在未翻译的字符串。
enforce-description
强制国际化字符串添加描述。
enforce-translation-message-id
强制国际化字符串添加翻译 ID。
no-boolean-literal-compare
禁止使用布尔字面值比较翻译 ID。
no-multiple-interpolation-in-message-id
禁止在翻译 ID 中使用多个插值占位符。
no-multiple-spaces-in-translation
禁止在翻译文本中使用多个空格。
no-nonliteral-translation-key
禁止使用非字面值作为翻译 ID。
no-raw-text
禁止直接在代码中使用文本。
use-standard-message-syntax
禁止在代码中直接使用翻译 ID。
示例代码
未翻译字符串检测
------ ----- ---- -------- ------ ------------------ ---- ------------- ----- ----------- - -- -- - ----- ----------------- --------------- ---------------------- ------- -- ------ --
该示例代码中没有定义 my.message
的默认翻译,因此运行 ESLint 检测时会提示错误:
---- ----- ------------------------ --- ------- ---- -- ------------ ------- ---- - ------- --------
禁止直接在代码中使用文本
------ ----- ---- -------- ----- ----------- - -- -- - ----- ------ ------ ------ --
该示例代码直接在代码中使用了文本,因此运行 ESLint 检测时会提示错误:
--- ----- ------------------------- --- ---- ------- ------- --- -----
禁止在代码中直接使用翻译 ID
------ ----- ---- -------- ----- ----------- - -- -- - ----- -------------- ------ --
该示例代码直接在代码中使用了翻译 ID,因此运行 ESLint 检测时会提示错误:
--- ----- ----------------------------------------- --- ------- ---- -- ------------ ------ -- ---- ---- ------------------ ----------
结论
eslint-plugin-intl-mobile
插件可以有效帮助开发者发现国际化问题,提高移动应用的本地化水平。因此,在开发 React Native 应用时,建议开发者使用该插件进行国际化校验。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedb92fb5cbfe1ea0611882