13

私は流星の使い方を学んでいます。

account.uiコンポーネントを簡単にローカライズすることは可能ですか?

4

8 に答える 8

9

これは少しハッキーな解決策ですaccounts-ui。お持ちのパッケージを削除して手動で追加することができます。accounts-uimeteorのgithubリポジトリでブランチを見つけaccounts-ui、login_buttons_dialogs.html、login_buttons.htmlなどのパッケージ内のすべてのコンテンツを見つけます。

次に、これらのファイルを編集して、希望する言語のカスタムテキストを使用してmeteorプロジェクトに直接コピーできます。

Meteorは国際化を実装していませんが、ロードマップ上にあります。あなたができることは、隕石simple-i18nを使用し、手動で編集されたファイルと組み合わせてローカリゼーションパッケージをインストールしaccounts-uiて、ユーザーに多言語体験を提供したり、単に別の言語でアカウントUIを提供したりすることです。

于 2013-01-27T18:27:34.640 に答える
9

これが私が使ったトリックです。シンプルですが機能します:

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...
};
于 2013-08-15T21:12:30.500 に答える
5

フランス語の場合:  

 /**
  * Accounts-ui ugly translation
  * TODO : use i18n solution
  */
   Template.header.rendered = function() {
     $('#login-sign-in-link').text('Connexion ▾');
     $('.login-close-text').text('Fermer');
     $('#login-username-or-email-label').text('Pseudo ou email');
     $('#login-password-label').text('Mot de passe (mdp)');
     $('#signup-link').text('Créer un compte');
     $('#forgot-password-link').text('Mdp oublié');
     $('#login-buttons-forgot-password').text('Récupération');
     $('#back-to-login-link').text('Connexion');
     $('#login-username-label').text('Pseudo');
     $('#login-buttons-open-change-password').text('Changer de mdp');
     $('#login-buttons-logout').text('Deconnexion');
     if ($('#login-buttons-password').text().indexOf('Sign in') != -1) {
       $('#login-buttons-password').text('Connexion');
     } else {
       $('#login-buttons-password').text('Créer le compte');
     }
     $('.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('Le login doit faire plus de 3 caractères');
     } else if ($('.message.error-message').text().indexOf('Incorrect password') != -1 || $('.message.error-message').text().indexOf('User not found') != -1) {
       $('.message.error-message').text('login ou mot de passe incorrect');
     }
     $('#login-old-password-label').text('Mot de passe actuel');
     $('#login-buttons-do-change-password').text('Changer le mot de passe');
     $('#reset-password-new-password-label').text('Nouveau mot de passe');
     $('#login-buttons-reset-password-button').text('Changer');
     if ($('.message.info-message').text().indexOf('Email sent') != -1) $('.message.info-message').text('Email envoyé');
     $('#just-verified-dismiss-button').parent().html('Email vérifié <div class="btn btn-warning" id="just-verified-dismiss-button">Masquer</div>');
   };
于 2013-11-19T19:16:35.500 に答える
5

ポルトガル語(PT-BR)の場合

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>');
};


男の子に気をつけろ!
$('。login-close-text')の CLOSEは動詞です...閉じる
上記のいくつかの回答で読んだかもしれないので、「NEAR」を意味するものではありません。

于 2014-05-15T12:04:03.220 に答える
3

i18nはまだMeteorのtodoリストにあります。その間、あなたはあなた自身のシステムを調理することができます。たとえば、https ://github.com/bolora/multi-page-configで国際化をどのように達成したかを確認してください。

于 2013-01-27T12:57:14.600 に答える
2

すべてのラベルを含むドイツ語の場合。
これは主にPascoualの投稿から採用されていますが、ボタンはまだフォーマットされており、いくつかの追加のラベルが翻訳されています...
まだ翻訳されていないラベルを見つけた場合は、コメントで報告してください。

  /**
   * 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');
  }
};
于 2013-11-20T20:06:48.717 に答える
1

meteor-accounts-ui-bootstrap-3の使用を検討できます

ローカリゼーションをサポートします:

accountUIBootstrap3.setLanguage('ru');

于 2015-12-09T07:58:24.423 に答える
1

最も簡単な方法は、アカウントを使用することです-パッケージをタップします: https ://atmospherejs.com/softwarerero/accounts-t9n

これはtapi18nに基づいており、クライアント側で次の構成を追加する必要があります。

T9n.setLanguage('<yourLanguage>')
于 2016-01-11T16:57:01.530 に答える