要實現JavaScript Prompt的多語言支持,您可以使用一個名為i18next
的庫。這個庫可以幫助您輕松地在應用程序中實現多語言支持。以下是使用i18next
實現多語言支持的步驟:
i18next
庫:npm install i18next
locales
的文件夾,用于存放不同語言的翻譯文件。例如,創建兩個文件:en.json
和zh.json
。en.json
:
{
"welcome": "Welcome",
"prompt": "Please enter your name:"
}
zh.json
:
{
"welcome": "歡迎",
"prompt": "請輸入您的名字:"
}
i18n.js
的文件,用于配置i18next
庫:import i18next from 'i18next';
import en from './locales/en.json';
import zh from './locales/zh.json';
i18next.init({
lng: 'en', // 默認語言
resources: {
en: { translation: en },
zh: { translation: zh },
},
});
export default i18next;
i18n.js
庫,并使用i18next.t()
函數獲取翻譯后的字符串:import i18next from './i18n.js';
function showPrompt() {
const name = prompt(i18next.t('prompt'));
console.log(`${i18next.t('welcome')}, ${name}!`);
}
showPrompt();
現在,當您運行項目時,prompt
將顯示默認語言(英語)的文本。您可以通過更改i18next.init()
函數中的lng
屬性來更改當前語言。例如,將其設置為'zh'
將顯示中文文本。
如果您想要根據用戶的瀏覽器語言設置自動選擇語言,可以使用i18next.detectLanguage()
函數:
i18next.detectLanguage().then((detectedLanguage) => {
i18next.changeLanguage(detectedLanguage);
});
這將使得應用程序根據用戶的瀏覽器語言設置自動選擇合適的語言。