2015-10-05 1 views
1

J'ai écrit un code qui traduira le texte de en-US en id-ID (indonésien). Ici le bouton a un texte qui se lit comme Click me if you are serious. Après l'application de la traduction, il est traduit comme Klik saya jika anda serius avec succès. Si je clique sur ce bouton, un message d'alerte sera affiché comme ceci: You have been alerted, code it down. Je veux que ce message d'alerte soit traduit au id-ID. Voici mon code:Traduction des messages d'alerte à l'aide de la bibliothèque de traduction i18

<!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" 
    } 
} 

Comment puis-je traduire un message d'alerte en id-ID?

+0

Ummm .... quelqu'un ici? –

Répondre

0

Où est votre problème? Vous n'essayez même pas :) Il y a tout documenté: http://i18next.com/pages/doc_jquery.html Et vous pouvez trouver de nombreux exemples avec jquery. Vous trouverez même des exemples en direct sur jsFiddle, comme ça:

$(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/

Terminez votre code et modifier votre question, afin que nous puissions vous aider. Tout d'abord déclarer des variables i18n, puis utilisez .t $

+0

J'essayais ... J'ai réussi à traduire le texte du bouton dans une autre langue, mais pas le message d'alerte –

+0

Mais c'est aussi simple que ça: alert ($. T ("key")); Alors essayez et dites-nous si cela fonctionne. N'oubliez pas de définir votre plugin, et les clés avant votre script! – Daimos

+0

Non, cela n'a pas fonctionné –

0

Mon code:

<!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 (en-US):

{ 
    "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!!!" 
    } 
}