Traduire les attributs personnalisés avec i18next (espace réservé, valeur)
Je fais des recherches sur ce qui est possible avec i18next la localisation de la bibliothèque.
Droit maintenant, j'ai le code suivant (plein de Violon est ici):
HTML
<div data-i18n="title"></div>
<input placeholder="Hello" value="name">
<div class="holder"></div>
<button class="lang" data-lang="en">Eng</button>
<button class="lang" data-lang="ch">Chi</button>
JS
$(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();
});
});
});
Il traduit tous les text
éléments, mais le problème est que je ne peut pas les traduire custom attributes
. Pour exemple de texte à l'intérieur de la div est traduit, mais je ne comprends pas comment je peux traduire des attributs personnalisés comme placeholder
et value
.
Un autre problème avec ma façon de traduction. Chaque fois qu'un bouton Chi
, Eng
est cliqué, je suis de l'initialisation de la traduction (mais je ne suis pas sûr que c'est une bonne façon). Modifier je crois que j'ai trouvé comment résoudre ce problème (j'ai besoin d'utiliser setLng): i18n.setLng(lang, function(t) { ... })
OriginalL'auteur Salvador Dali | 2014-03-29
Vous devez vous connecter pour publier un commentaire.
Après avoir demandé i18next créateur directement cette question, j'ai reçu le réponse suivante: tout ce que je besoin est de mettre mon attribut personnalisé en face de la traduction de l'élément. Voici un exemple:
Si plusieurs attributs sont nécessaires, les séparer par une
;
.J'ai appris 2 choses:
<div id="dropdown" class="user_reg"> <select id="country_list" class="selectpicker" data-width="100%" data-size="5" data-live-search="true" required="required"> <option value="" disabled class="country_list">Country</option> </select> </div>
, alors comment pouvons-nous traduireCountry
?dans votre exemple, ici, le pays n'est pas un attribut.
Ouais, j'ai donc essayé ce code:
<option id="country" value="" disabled class="country_list">Country</option>
et$('#country').text($.t('app.country'));
. Il a travaillégénial! Je m'attendais à cette à être de longue haleine et délicat
OriginalL'auteur Salvador Dali
Pour moi qui suit travaillé
Donc il suffit d'entrer le nom de l'attribut entre [] et puis la traduction.
oh désolé, je n'ai pas remarqué que votre réponse est différente. Vraiment désolé pour cela. +1
Pas de problèmes! Votre réponse m'a orienté dans la bonne direction, alors merci!
OriginalL'auteur Skullbox