簡體   English   中英

是否可以使用“ globalize.js”庫切換語言? 例如:將英語單詞轉換為其他單詞,例如法語

[英]Is it possible to switch language using 'globalize.js' library? e.g: convert english word to other like french

我的網絡應用程序沒有很多字母。 單詞表示按鈕,標題等。因此,我想知道是否可以使用Globalize.js庫切換語言。 例如:如果我更改設置,我希望我的“注冊”按鈕切換為法語。

首先,您需要為其他語言編寫一個帶有json內容的其他消息文件,例如:

{
    "fr": {
        "register": "s'inscrire"
    }
}

然后,您可以使用javascript從服務器獲取其數據,並將其傳遞給全球化:

    const fetchHeaders = new Headers({"accept": "application/json", 'X-Requested-With': 'XMLHttpRequest'});

    fetch("messages/" + locale + ".json", { headers: fetchHeaders }).then(response => {
        return response.json();
    })
    .then(
        json => {
            Globalize.loadMessages(json);
            Globalize.locale(locale);
            yourRender(); 
        });

此處的locale是保存新語言環境的變量。 如果為'fr',則上面的代碼希望該文件位於您的服務器上,位於messages/fr.json

yourRender是您自己編程的功能,用於將消息更新到按鈕等中:

function yourRender() {
    document.getElementById( "button-1" ).value = Globalize.formatMessage( "register" );
    // etc
}

如果您還需要使用Globalize設置格式並解析日期和數字,則該操作將變得很復雜。 為此,您需要獲取服務器文件的內容並將其加載到Globalize中。 這將異步發生,因此您需要跟蹤已加載的數量,並且僅在全部加載后才進行跟蹤,將語言環境放在Globalize上,創建新的格式化函數並調用yourRender()。 有關完整的示例(使用webpack),請參閱我在Github上的切換語言示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM