'Why Angular uses XLIFF 1.2 instead of XLIFF 2?
I'm starting a new Angular 6 project (and I'm new to Angular as well ^^) so I am pretty free about the choices. When coming to Internalization, we chose to use Angular native I18n after reading:
The fact that translations cannot be used out of template files can be fixed by some workaround at our stage
XLIFF learning curve hit me with the question of XLIFF 1.2 vs XLIFF 2. After reading the differences between XLIFF 1.2 and XLIFF 2, it seems that XLIFF 2 solved a lot of issues and is more future-proof than XLIFF 1.2 which is now a legacy format according to Wikipedia
Consequently, why Angular is focused on XLIFF 1.2 instead of XLIFF 2? I noticed that:
- The official Angular I18n uses XLIFF 1.2
- Most of web resources (like on Medium) use XLIFF 1.2
- It's pretty hard to find some free translation tools compatible with XLIFF 2 (I got error when importing XLIFF 2 file on SmartCat and I struggled with Rainbox/Okapi framework)
- It's also pretty hard to find help on XLIFF 2 (like how do I do the ICU stuff?), at least for a beginner
As for our project, we started on XLIFF 2 but I'm strongly tempted to switch to XLIFF 1.2
Solution 1:[1]
I'd like to point out that line from the official specification changelog for 2.0:
In response to comment 002, the specification now clearly indicates that backwards compatibility with XLIFF 1.2 is not required.
You can also read from the same changelog :
In response to comment 038, modules, , and extensions have been prohibited on and lower structural levels.
So a file might not validate both format.
Solution 2:[2]
Angular is now accepting XLIFF 2 files (see here)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | raaaahman |
| Solution 2 | Jöcker |
