使用 i18 翻译库翻译警报消息

Translating the alert messages by using i18 translation library

我编写了一个代码,可以将文本从 en-US 翻译成 id-ID(印度尼西亚语)。这里的按钮有一个文本,显示为 Click me if you are serious。应用翻译后,它被成功翻译为 Klik saya jika anda serius。如果我单击该按钮,将显示如下警告消息:You have been alerted, code it down。我希望将该警报消息翻译成 id-ID。这是我的代码:

<!DOCTYPE html>
<html>

<head>
    <title>Translation</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>

<body>
    <button onclick="alertbox();" id="btn" >Click me if you are serious</button>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="i18next-1.10.1.min.js"></script>
    <script>
    function alertbox () {
      alert("You have been alerted, code it down");
    }
    $.i18n.init({
        lng: 'id-ID',
        ns: {
            namespaces: ['ns.common', 'ns.special'],
            defaultNs: 'ns.special'
        },
        useLocalStorage: false,
        debug: true
    }, function(t) {
        $('#btn').text($.t('app.btn', {
            btn: ''
        }))
    });


    </script>
</body>

</html>  

id-ID (ns.special.json)

{
    "app": {
        "btn": "Klik saya jika anda serius"
    }
}  

en-US (ns.special.json)

{
    "app": {
        "btn": "Click me if you are serious"
    }
}  

如何将警告消息翻译成 id-ID

你的问题在哪里?您甚至不尝试 :) 记录了所有内容: http://i18next.com/pages/doc_jquery.html 你可以找到很多 jquery 的例子。你甚至可以在 jsfiddle 上找到活生生的例子,比如:

$(document).ready(function () {
i18n.init({
    "lng": 'en',
    "resStore": resources,
    "fallbackLng" : 'en'
}, function (t) {
    $(document).i18n();
});

$('.lang').click(function () {
    var lang = $(this).attr('data-lang');
    i18n.init({
        lng: lang
    }, function (t) {
        $(document).i18n();
    });
});
});

http://jsfiddle.net/SalvadorDali/dLc7x/

完成您的代码并编辑您的问题,以便我们为您提供帮助。先声明i18n变量,然后使用$.t

我的代码:

<!DOCTYPE html>
<html>

<head>
    <title>Translation</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" href="test.css">
</head>

<body>
    <button id="btn">Click me if you are serious</button>
    <div id="qwe"></div>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="i18next-1.10.1.min.js"></script>
    <script>
    /*$("#btn").click(function() {
        alert("You have been alerted, code it down!!!");
    });*/
    $.i18n.init({
        lng: 'en-US',
        ns: {
            namespaces: ['ns.common', 'ns.special'],
            defaultNs: 'ns.special'
        },
        useLocalStorage: false,
        debug: true
    }, function(t) {
        var key = $('#qwe').text();
        $('#btn').text($.t('app.btn', {
            btn: ''
        }))
        $('#qwe').text($.t('app.alert', {
          alert: ''
        }))
    });
    $("#btn").click(function() {
        alert($('#qwe').text());
    });
    </script>
</body>

</html>  

CSS:

div {
    display: none;
}  

ns.special.json(英文):

{
    "app": {
        "btn": "Click me if you are serious",
        "alert": "You have been alerted, code it down!!!"
    }
}  

ns.special.json (id-ID):

{
    "app": {
        "btn": "Klik saya jika anda serius",
        "alert": "Anda telah diperingatkan, kode itu turun!!!"
    }
}