2

谢谢阅读。在尝试将 i18next 添加到我的第一个 phonegap 应用程序中时,我感到非常困惑。作为一名新开发人员,我很确定自己在做一些愚蠢的事情。我真的很希望它能够在浏览器(至少在开发期间)和设备上工作。

目前我收到错误 i18n not defined 在 init 行

索引.html

<!DOCTYPE HTML>
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">    
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>Auth Demo 2</title>
    <link rel="stylesheet" href="/css/jquery.mobile.min.css" />
    <script type="text/javascript" charset="utf-8" src="cordova-1.8.1.js"></script>
    <script src="js/lib/zepto.min.js"></script>
    <script src="js/lib/i18next.amd.withJQuery.min.js"></script>
    <!-- <script src="js/lib/i18next.min.js"></script> -->
    <script src="js/index.js"></script> 
    <script src="main.js"></script>
</head>
<body>
    <script>
        $(document).ready(function(){
        if (navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry)/)) {
        document.addEventListener("deviceready", onDeviceReady, false);
        } else {
            onDeviceReady();
        }
        language_complete = navigator.language.split("-");
        language = (language_complete[0]);
        i18n.init({ lng: language }, function() {
            // save to use translation function as resources are fetched
            $("#content-div").i18n();
        });
    }); 
    function onDeviceReady() {
        startupBehavior(); 
    }   
    </script>
    <div id="appPage" data-role="page">
        <div data-role="header">
            <h1>Auth Demo</h1>
        </div>
        <div id="content-div" data-role="content">
            <h2>Auth demo</h2>
        </div>
        <div data-role="footer">
            <h4>Auth demo</h4>
        </div>
    </div>
</body>
</html>

index.js(部分)

function startupBehavior() {
    $("#content-div").children().remove(); //clear the form out
    $("#content-div").append('<form id="auth_login_form">');
    $("#content-div").append('<label for="Email" data-i18n="site.email"></label>');
    $("#content-div").append('<input type="text" id="auth_login_email" value="" data-i18n="site.email" placeholder="Email Address old" />');
    $("#content-div").append('<input type="button" id="auth_login_submit" onClick="handleLogin()">Log me in</input>');
$("#content-div").append('</form>');
}

我唯一的想法是 i18next 不能与 zepto 一起使用,或者我可能需要使用 require.js ,我见过几次提到过,但不确定这是否仅对基于 node.js 的东西才有必要,这这不是。

4

0 回答 0