"разве ты не можешь?
читал весь документ здесь:https://angular.io/guide/i18n
Я не могу понять, как я должен обрабатывать HTML-теги такой природы:
<div i18n="@@myId" class="title-text">{{currentPage}}</div>
или такой как:
<div i18n="@@myId" class="title-text" [innerHTML]="currentPage"></div>
он вообще не упоминает никакой переменный текст, как будто они просто предполагают, что все наши имена и текст будут жестко запрограммированы в html.
языковой файл должен выглядеть так:
<?xml version="1.0" encoding="UTF-8" ?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="ng2.template">
<body>
<trans-unit id="myId" datatype="html">
<source>Hello</source>
<target>Bonjour</target>
</trans-unit>
</body>
</file>
</xliff>
Должен ли я сделать что-то подобное, чтобы справиться с множеством возможностей VAR?
<?xml version="1.0" encoding="UTF-8" ?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="ng2.template">
<body>
<trans-unit id="myId" datatype="html">
<source>Title 1</source>
<target>Titre 1</target>
<source>Help 2</source>
<target>Aide 2</target>
<source>New 3</source>
<target>Nouveau 3</target>
</trans-unit>
</body>
</file>
</xliff>
Я не думаю, что это сработает. Как мне работать с переменными?
ОБНОВИТЬ :
если я использую их инструмент создания языковых файлов:
ng xi18n --output-path locale --out-file english.xlf --i18n-locale fr
Я получил :
<?xml version="1.0" encoding="UTF-8" ?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="fr" datatype="plaintext" original="ng2.template">
<body>
<trans-unit id="9f3e56faa6da73b83f4646a1e074b970891894da" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{currentPage}}"/></source>
<context-group purpose="location">
<context context-type="sourcefile">app/logged.in/top.bar/top.bar.component.ts</context>
<context context-type="linenumber">85</context>
</context-group>
<note priority="1" from="description">the title of the current route</note>
</trans-unit>
</body>
</file>
</xliff>
достаточно уверенequiv-text="{{currentPage}}"
это мусор. но может еще работать надо проверить. тем временем я не могу заставить его принять новые конфиги.
ОБНОВЛЕНИЕ СНОВА:
получитьng serve --configuration=fr
работать
ты должен отредактироватьangular.json
далее, это не указано в официальных документах, но они говорят об этом здесь:https://github.com/angular/angular-cli/wiki/stories-internationalization
Ну я добавил<target>Title</target>
и это работает, но, конечно, это подразумевает, что прямо сейчас каждое отдельное значение для переменной возвращает «title», несмотря ни на что.
также после размещенияi18n
теги везде, я столкнулся с этим в моем коде:
<dropzone [message]="valid? '' : 'Placez ici votre fichier Excel csv à Ajouter aux lignes ci-dessous. (Ces lignes apparaîtront à la fin de la table)'" (success)="uploaded()"></dropzone>
и что теперь? как мне перевести сообщение, переданное в дропзону?