Localization Meteor accounts.ui本地化
我正在学习使用流星Localization Meteor accounts.ui本地化,localization,meteor,Localization,Meteor,我正在学习使用流星 是否可以轻松本地化accounts.ui组件?i18n仍在Meteor的待办事项列表中。同时,你可以自己制作一套系统。 查看他们是如何实现国际化的,例如:这是一个有点粗糙的解决方案,您可以删除现有的帐户ui包,然后手动添加它。查找meteor上的accounts ui分支,并查找accounts ui包中的所有内容,如:login\u buttons\u dialogs.html、login\u buttons.html等 然后,您可以编辑这些文件并将其直接复制到meteor
是否可以轻松本地化accounts.ui组件?i18n仍在Meteor的待办事项列表中。同时,你可以自己制作一套系统。
查看他们是如何实现国际化的,例如:这是一个有点粗糙的解决方案,您可以删除现有的
帐户ui
包,然后手动添加它。查找meteor上的accounts ui
分支,并查找accounts ui
包中的所有内容,如:login\u buttons\u dialogs.html、login\u buttons.html等
然后,您可以编辑这些文件并将其直接复制到meteor项目中,使用您想要的语言自定义文本
Meteor还没有实现国际化,但它已经在路线图上了。您可以使用并安装一个本地化软件包,如
simple-i18n
,与手动编辑的accounts ui
文件结合使用,为用户提供多种语言的体验,或者只需提供不同语言的accounts ui。以下是我使用的技巧。简单但有效:
Template.header.rendered = function() {
$('#login-sign-in-link').text('Přihlásit se ▾');
$('.login-close-text').text('Zavřít nabídku');
$('.sign-in-text-google').text('Přihlásit se přes Google');
$('.sign-in-text-facebook').text('Přihlásit se přes FB');
//etc...
};
法语:
/**
*丑陋的翻译
*TODO:使用i18n解决方案
*/
Template.header.rendered=函数(){
$(“#登录登录链接”).text('Connexion▾');
$('.login close text').text('Fermer');
$(“#登录用户名或电子邮件标签”).text('Pseudo ou email');
$(“#登录密码标签”).text('Mot de passe(mdp)');
$(“#注册链接”).text('Créer un compte');
$(“#忘记密码链接”).text('Mdp oubli');
$(“#登录按钮忘记密码”).text('Récupération');
$(“#返回登录链接”).text('Connexion');
$(“#登录用户名标签”).text('Pseudo');
$(“#登录按钮打开更改密码”).text('Changer de mdp');
$(“#登录按钮注销”).text('Deconnexion');
if($('#登录按钮密码').text().indexOf('Sign-in')!=-1){
$(“#登录按钮密码”).text('Connexion');
}否则{
$(“#登录按钮密码”).text('Créer le compte');
}
$('.login button').addClass('btn btn warning');
$('.login button').removeClass('login-button登录按钮表单提交');
if($('.message.error message').text().indexOf('用户名长度必须至少为3个字符)!=-1){
$('.message.error message').text('Le login doit faire plus de 3 caractères');
}else if($('.message.error message').text().indexOf('error password')!=-1('.message.error message').text().indexOf('User not found')!=-1){
$('.message.error message').text('登录不正确');
}
$(“#登录旧密码标签”).text('Mot de passe actuel');
$(“#登录按钮确实更改密码”).text('Changer le mot de passe');
$(“#重置密码新密码标签”).text('Nouveau mot de passe');
$(“#登录按钮重置密码按钮”).text('Changer');
如果($('.message.info message').text().indexOf('Email sent')!=-1)$('.message.info message').text('Email emission');
$(“#刚刚验证了解除按钮”).parent().html('Email vérifiéMasquer');
};
德语,包括所有标签。这主要是根据Pascoual的文章改编的,但是,按钮仍然是格式化的,一些额外的标签被翻译…
如果您发现一个标签仍然不是translatet,请在评论中报告这一点
/**
* Accounts-ui ugly translation
* TODO : use i18n solution
*/
Template.login.rendered = function() {
$('#login-sign-in-link').text('Einloggen');
$('.login-close-text').text('Schliessen');
$('#login-username-or-email-label').text('Benutzername oder Email');
$('#login-password-label').text('Passwort');
$('#signup-link').text('Konto erstellen');
$('#forgot-password-link').text('Passwort vergessen');
$('#login-buttons-forgot-password').text('Wiederherstellen');
$('#back-to-login-link').text('Zurück');
$('#login-username-label').text('Benutzername');
$('#login-buttons-open-change-password').text('Passwort ändern');
$('#login-buttons-logout').text('Logout');
$('#reset-password-new-password-label').text('Neues Passwort');
$('#login-old-password-label').text('Aktuelles Passwort');
$('#login-password-label').text('Neues Passwort');
$('#login-buttons-do-change-password').text('Passwort ändern');
if ($('#login-buttons-password').text().indexOf('Sign in') != -1) {
$('#login-buttons-password').text('Einloggen');
} else {
$('#login-buttons-password').text('Konto erstellen');
}
if ($('.message.error-message').text().indexOf('Username must be at least 3 characters long') != -1) {
$('.message.error-message').text('Benutzername muss mindestens 3 Zeichen lang sein');
} else if ($('.message.error-message').text().indexOf('Incorrect password') != -1 || $('.message.error-message').text().indexOf('User not found') != -1) {
$('.message.error-message').text('Benutzername oder Passwort falsch');
}
};
葡萄牙语(PT-BR)
Template.layout.rendered=function(){
$(“#登录登录链接”).text('login▾');
$('.login close text').text('Fechar');
$(“#登录用户名或电子邮件标签”).text('Nome de usuário ou e-mail');
$(“#登录密码标签”).text('Senha');
$(“#注册链接”).text('Criar uma conta');
$(“#忘记密码链接”).text('Esqueceu a senha?');
$(“#登录按钮忘记密码”).text('reciperar');
$(“#返回登录链接”).text('login');
$(“#登录用户名标签”).text('Usuário para login');
$(“#登录按钮打开更改密码”).text('Alterar senha');
$(“#登录按钮注销”).text('logout');
if($('#登录按钮密码').text().indexOf('Sign-in')!=-1){
$(“#登录按钮密码”).text('login');
}否则{
$(“#登录按钮密码”).text('Criar conta');
}
$('.login button').addClass('btn btn warning');
$('.login button').removeClass('login-button登录按钮表单提交');
if($('.message.error message').text().indexOf('用户名长度必须至少为3个字符)!=-1){
$('.message.error message').text('Usuário deve ter pelo menos 3个字符');
}else if($('.message.error message').text().indexOf('error password')!=-1('.message.error message').text().indexOf('User not found')!=-1){
$('.message.error message').text('Usuário/senha errado');
}
$(“#登录旧密码标签”).text('Senha atual');
$(“#登录按钮确实更改密码”).text('altera a senha');
$(“#重置密码新密码标签”).text('Nova senha');
$(“#登录按钮重置密码按钮”).text('Alterar');
如果($('.message.info message').text().indexOf('Email sent')!=-1)$('.message.info message').text('E-mail enviado');
$(“#刚刚验证了关闭按钮”).parent().html('Email-verificado-Ocultar');
};
小心孩子们!
$('.login CLOSE text')中的CLOSE是动词…TO CLOSE
这并不意味着“接近”,正如我在上面的一些答案中所读到的。
你可以考虑使用
它支持: accountsUIBootstrap3.setLanguage('ru')最简单的方法是用户帐户点击软件包: 它基于tapi18n,您只需在客户端添加以下配置:
T9n.setLanguage('<yourLanguage>')
T9n.setLanguage(“”)
我不知道是否发生了变化,但呈现的回调对此不起作用(至少对我来说是这样)。下拉列表中的元素似乎只有在单击它之后才能创建,因此在单击下拉列表后在控制台上键入一行
Template.layout.rendered = function() {
$('#login-sign-in-link').text('Login ▾');
$('.login-close-text').text('Fechar');
$('#login-username-or-email-label').text('Nome de usuário ou e-mail');
$('#login-password-label').text('Senha');
$('#signup-link').text('Criar uma conta');
$('#forgot-password-link').text('Esqueceu a senha?');
$('#login-buttons-forgot-password').text('Recuperar');
$('#back-to-login-link').text('Login');
$('#login-username-label').text('Usuário para login');
$('#login-buttons-open-change-password').text('Alterar senha');
$('#login-buttons-logout').text('Logout');
if ($('#login-buttons-password').text().indexOf('Sign in') != -1) {
$('#login-buttons-password').text('Login');
} else {
$('#login-buttons-password').text('Criar conta');
}
$('.login-button').addClass('btn btn-warning');
$('.login-button').removeClass('login-button login-button-form-submit');
if ($('.message.error-message').text().indexOf('Username must be at least 3 characters long') != -1) {
$('.message.error-message').text('Usuário deve ter pelo menos 3 caracteres');
} else if ($('.message.error-message').text().indexOf('Incorrect password') != -1 || $('.message.error-message').text().indexOf('User not found') != -1) {
$('.message.error-message').text('Usuário/senha errado(s)');
}
$('#login-old-password-label').text('Senha atual');
$('#login-buttons-do-change-password').text('Alterar a senha');
$('#reset-password-new-password-label').text('Nova senha');
$('#login-buttons-reset-password-button').text('Alterar');
if ($('.message.info-message').text().indexOf('Email sent') != -1) $('.message.info-message').text('E-mail enviado');
$('#just-verified-dismiss-button').parent().html('Email verificado <div class="btn btn-warning" id="just-verified-dismiss-button">Ocultar</div>');
};
T9n.setLanguage('<yourLanguage>')