在JavaScript中实现中英文切换功能,通常会涉及到以下几个基础概念:
i18next
、Polyglot.js
等。以下是一个简单的基于i18next
的中英文切换示例:
npm install i18next
import i18next from 'i18next';
// 英文资源
const resourcesEn = {
translation: {
"welcome": "Welcome to our website",
"change_language": "Change Language"
}
};
// 中文资源
const resourcesZh = {
translation: {
"welcome": "欢迎访问我们的网站",
"change_language": "切换语言"
}
};
i18next.init({
lng: 'en', // 默认语言
resources: {
en: resourcesEn,
zh: resourcesZh
}
}, function(err, t) {
// 初始化完成后的回调
});
export default i18next;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Language Switch</title>
</head>
<body>
<h1 id="welcome"></h1>
<button id="change_language_btn">Change Language</button>
<script src="./path/to/i18next.js"></script>
<script>
document.getElementById('welcome').innerText = i18next.t('welcome');
document.getElementById('change_language_btn').addEventListener('click', function() {
const currentLang = i18next.language;
const newLang = currentLang === 'en' ? 'zh' : 'en';
i18next.changeLanguage(newLang);
document.getElementById('welcome').innerText = i18next.t('welcome');
this.innerText = i18next.t('change_language');
});
</script>
</body>
</html>
i18next.changeLanguage
并重新渲染需要翻译的文本。通过以上步骤,你可以实现一个简单的中英文切换功能,并根据需要进行扩展和优化。
领取专属 10元无门槛券
手把手带您无忧上云