AngularJS translate: построить динамический c строка - PullRequest
1 голос
/ 07 мая 2020

Я использую модуль angular -translate для перевода, я хотел бы создать динамическую c строку, как показано ниже.

Ключ перевода:

"MY_TRANS_KEY": "Answer should include all of the following: {{limit}}"

Html:

<span
    class="warningStyle padding-0"
    translate="{{limit.myKey}}"
    translate-value-limit="{{limit.valueTrans | translate}}
  >

limit.myKey -> имеет значение ключа перевода, в этом случае "MY_TRANS_KEY"

limit.valueTrans -> - это объект с переводами, как показано ниже.

    {
da: "En {{JOINWORD_ANY}} To",
en: "One {{JOINWORD_ANY}} Two",
}

Мой вопрос: как мне получить перевод {{JOINWOD_ANY}} выше? В настоящее время он отображается только в виде строки.

Надеюсь, это объясняет.

1 Ответ

0 голосов
/ 07 мая 2020

Если я вас правильно понимаю, вы хотите связаться с переведенным текстом с каким-то номером.

Так что, возможно, используйте <p>{{data.key_with_limit |translate}}</p>

вместо перевода: <p translate="{{data.key_with_limit}}"></p>

Итак, вы можете написать:

<p>{{data.key|translate}} {{limit}}</p>

пример:

Надеюсь, это вам поможет:

var en_translations = {
    MY_TRANS_KEY: "EN "
      }

  var sp_translations = {
     MY_TRANS_KEY: "SP "
  }

$translateProvider.translations('en',en_translations);

$translateProvider.translations('sp',sp_translations);

$translateProvider.preferredLanguage('en');

$scope.data = {
     key: 'MY_TRANS_KEY'
   };

$scope.numericLimit = 80;

и HTML:

 <p translate="{{data.key}}"></p>     
 <p>{{data.key|translate}} {{numericLimit}}</p>

Некоторая демонстрация


РЕДАКТИРОВАТЬ

языковые ключи - это JSON файл:

 {
  da: "En {{JOINWORD_ANY}} To",
  en: "One {{JOINWORD_ANY}} Two",
 }

Вы не можете скомпилировать его, {{JOINWORD_ANY}} всегда будет в виде строки.

Используйте разные ключи и динамические c значения, которые вы можете объединить / управлять в контроллерах / компонентах / директивах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...