发布于2026-07-07 阅读(0)
扫一扫,手机访问
在Ubuntu上做Ja vaScript国际化(i18n),听起来像是要写不少配置代码,但实际走通之后你会发现,核心就那几步。下面直接把流程拆开讲,从环境搭建到跑出第一句翻译,一条线串下来。

Ubuntu上最基础的准备,就是先把Node.js和npm装上。如果还没装,终端里跑下面两行就行:
sudo apt update
sudo apt install nodejs npm
找个地方新建一个目录,然后初始化项目:
mkdir my-i18n-project
cd my-i18n-project
npm init -y
这里选的是社区里最成熟的库——i18next。它本身是核心引擎,再加上两个常用插件:一个负责从后端加载翻译文件(i18next-http-backend),另一个负责自动检测浏览器语言(i18next-browser-languagedetector)。一次性安装:
npm install i18next i18next-http-backend i18next-browser-languagedetector
项目根目录下新建一个locales文件夹,每种语言单独建个子文件夹。比如英语和中文:
mkdir locales
mkdir locales/en
mkdir locales/zh
每个语言文件夹里放一个translation.json,写上对应的翻译内容。
locales/en/translation.json
{
"welcome": "Welcome to our website!",
"message": "This is a message."
}
locales/zh/translation.json
{
"welcome": "欢迎访问我们的网站!",
"message": "这是一条消息。"
}
在项目里新建一个i18n.js,把i18next初始化好。注意这里设定了fallback语言为英语,开启了调试模式(方便排查问题),以及插值时不自动转义HTML——大部分场景下这样更安全:
const i18n = require('i18next');
const Backend = require('i18next-http-backend');
const LanguageDetector = require('i18next-browser-languagedetector');
i18n
.use(Backend)
.use(LanguageDetector)
.init({
fallbackLng: 'en',
debug: true,
interpolation: {
escapeValue: false
}
}, (err, t) => {
if (err) return console.error(err);
console.log('i18n initialized');
});
module.exports = i18n;
主文件(比如app.js)里引入刚才配置好的i18n实例,然后切换到目标语言,调用t函数就能拿到翻译后的文本:
const i18n = require('./i18n');
i18n.changeLanguage('en');
console.log(i18n.t('welcome')); // 输出: Welcome to our website!
console.log(i18n.t('message')); // 输出: This is a message.
直接用Node.js跑起来看看效果:
node app.js
控制台应该会输出你期望的英文欢迎语和消息。如果想换成中文,把changeLanguage的参数改成'zh'即可。
整套流程走下来,其实就是在Ubuntu上用i18next搭了一套标准的翻译管道。这个库最大的好处是生态完整——不管你是做前端React/Vue,还是纯Node后端,甚至需要处理复数形式、变量插值,它都有成熟的方案。后续扩展语言文件、增加翻译键、对接后端翻译管理平台,都是水到渠成的事。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8