在JavaScript中实现静态页面的语言切换,通常涉及到以下几个基础概念:
假设我们有以下两个语言资源文件:
en.json
{
"welcome": "Welcome to our website",
"about": "About us"
}
zh.json
{
"welcome": "欢迎访问我们的网站",
"about": "关于我们"
}
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Language Switch</title>
</head>
<body>
<h1 class="translate" data-key="welcome"></h1>
<p class="translate" data-key="about"></p>
<button onclick="changeLanguage('en')">English</button>
<button onclick="changeLanguage('zh')">中文</button>
<script src="script.js"></script>
</body>
</html>
JavaScript (script.js)
const translations = {};
async function loadLanguage(lang) {
const response = await fetch(`${lang}.json`);
translations[lang] = await response.json();
updateContent();
}
function updateContent() {
document.querySelectorAll('.translate').forEach(el => {
const key = el.getAttribute('data-key');
el.textContent = translations[currentLang][key];
});
}
let currentLang = 'en';
loadLanguage(currentLang);
function changeLanguage(lang) {
currentLang = lang;
loadLanguage(currentLang);
}
en.json
和 zh.json
分别存储英文和中文的翻译文本。data-key
属性标记需要翻译的文本,并添加按钮来切换语言。loadLanguage
函数加载指定语言的资源文件。updateContent
函数更新页面上的文本内容。changeLanguage
函数切换当前语言并重新加载资源文件。data-key
属性是否正确,确保 updateContent
函数被正确调用。通过以上步骤和示例代码,你可以实现一个简单的静态页面语言切换功能。
领取专属 10元无门槛券
手把手带您无忧上云