I've read the entire doc here : https://angular.io/guide/i18n
I can't make heads or tails of how I'm supposed to handle a html tag of this nature :
<div i18n="@@myId" class="title-text">{{currentPage}}</div>
or one like this :
<div i18n="@@myId" class="title-text" [innerHTML]="currentPage"></div>
it doesn't mention any variable text at all as if they just assume we'd have all our names and text hard coded into the html.
a language file is supposed to look like this :
<?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>
Am I to do something like this to handle the multiple possibilities of the 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>
I don't think that'll work. How do I handle variables?
UPDATE :
if I use their language file generation tool :
ng xi18n --output-path locale --out-file english.xlf --i18n-locale fr
I get :
<?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>
pretty sure equiv-text="{{currentPage}}"
is garbage. but It may yet work need to test.
in the meantime I can't get ng serve to accept the new configs.
UPDATE AGAIN :
to get ng serve --configuration=fr
to work
you have to edit angular.json
further, it's not specified in the official docs but they do talk about it here : https://github.com/angular/angular-cli/wiki/stories-internationalization
Well I added a <target>Title</target>
and it works but of course this implies that right now every single value for the var returns "title" no matter what.
also upon placing the i18n
tags everywhere, I ran into this in my code :
<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>
so what now? how do I translate the message passed to the dropzone?