Hi All,

Now that others have installed and run the Angular 6 code, and we're on the
home stretch for 3.2, I have started putting the finishing touches on the
code in hopes we can merge for 3.2.

The biggest changes since my last wiki update [1] are related to continued
locale support.  The client now has a translation dialog component, which
can be plugged in anywhere, and is currently used from the auto-magic admin
UI for translating in-grid data (e.g. billing type names).

I also set about integrating Angular 6 template translations into the
Evergreen translation tool chain.  Here I hit my first real road block.
Angular template translation tools do not support .PO files.  I did not
expect this to be an issue, because translate-tookit (which we already use
for managing translations) has utilities for cross-walking to and from
XLIFF files (for Angular) and PO files (for Launchpad translations).

However, after a number of experiments I have found the process results in
critical loss of information.  First, the message IDs are jumbled, which
can be fixed with a little bit of Perl.  Second, and most problematic, the
interpolation values (in-text variables) are not correctly translated into
PO files.

For example:

XLIFF:
Add Record #<x id="INTERPOLATION" equiv-text="{{recId}}"/> to Bucket

Translates to PO:
Add Record # to Bucket

Unless I'm just missing something, xliff2po is simply not up to the task of
migrating XLIFF files generated by Angular.  Or, more likely, the .PO file
format is not up to the task of storing the needed data.

That leaves us with limited options for translating angular 6 templates in
the short term.

1. We quickly spin up a translation service (e.g. Pootle, Weblate).

2. Translators edit the Angular XLIFF files by hand.  The files contain
lots of context data and are generally pretty easy to understand, but it
requires editing XML by hand -- no UI.

Any other suggestions?

Thanks,

-b

[1]
https://wiki.evergreen-ils.org/doku.php?id=dev:browser_staff:angjs_to_ang_migration&s[]=angular&s[]=migration#notes

Reply via email to