Menu

Tree [75c1f7] master 1.1 /
 History

HTTPS access


File Date Author Commit
 Images 2018-01-23 David Ondrus David Ondrus [4c6c78] Added images for GitHub README
 Parser 2018-01-23 David Ondrus David Ondrus [031c2a] Removed GetHashCode() override causing problems...
 Properties 2018-01-23 David Ondrus David Ondrus [75c1f7] New build (increased version, added description)
 .gitignore 2018-01-21 David Ondrus David Ondrus [d4ac55] Initial commit
 App.config 2018-01-21 David Ondrus David Ondrus [259533] Initial project commit
 App.xaml 2018-01-21 David Ondrus David Ondrus [259533] Initial project commit
 App.xaml.cs 2018-01-21 David Ondrus David Ondrus [259533] Initial project commit
 Ariil-Alphabet-Letter-X.ico 2018-01-23 David Ondrus David Ondrus [612146] Added application icon
 Constants.cs 2018-01-23 David Ondrus David Ondrus [970c87] Implemented saving for XLIFF version 1.2
 LICENSE 2018-01-21 David Ondrus David Ondrus [d4ac55] Initial commit
 MainWindow.xaml 2018-01-23 David Ondrus David Ondrus [6dd3ea] Removed separator from menu
 MainWindow.xaml.cs 2018-01-23 David Ondrus David Ondrus [962af1] Added information MessageBox for save
 README.md 2018-01-23 David Ondrus David Ondrus [86068b] Update README.md
 XliffTranslatorTool.csproj 2018-01-23 David Ondrus David Ondrus [612146] Added application icon
 XliffTranslatorTool.sln 2018-01-21 David Ondrus David Ondrus [259533] Initial project commit

Read Me

XLIFF Translator Tool

Simple XLIFF (*.xlf/*.xliff 1.2 & 2.0) editor with merge/import feature

I made this tool mainly for Angular translations because I couldn't find any simple, suitable and free tool. It's compatible with XLIFF 1.2 and XLIFF 2.0 and you can even combine them (open 1.2, import 2.0).

With this tool you can simply manage and update your translation files. Open old translations file, import newly generated file. Old translations won't be touched and new translations will be added to the list. Write translations in "Target" column, then "Save as..." file. Columns are resizable, reorderable and sortable.

EXAMPLE: Opening "strings.en.xlf" with 4 translation units and then importing "strings.en.xlf" (same file) will lead to the same list of 4 translation units not changed by import.

WARNING: This tool also removes all unnecessary elements from XLIFF file such as "location" of translation in source code.

Images

table image
menu image

Output

SOURCE:

<?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="loginHeaderTitle" datatype="html">
        <source>Login</source>
        <target>Login</target>
        <context-group purpose="location">
          <context context-type="sourcefile">app/login/login.component.ts</context>
          <context context-type="linenumber">7</context>
        </context-group>
        <note priority="1" from="description">description</note>
        <note priority="1" from="meaning">meaning</note>
      </trans-unit>
    </body>
  </file>
</xliff>

RESULT:

<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
  <file source-language="en">
    <body>
      <trans-unit id="loginHeaderTitle">
        <source>Login</source>
        <target>Login</target>
        <note from="description">description</note>
        <note from="meaning">meaning</note>
      </trans-unit>
    </body>
  </file>
</xliff>

Angular i18n

Generate XLIFF file with Angular xi18n and open it with this tool

ng xi18n --i18nFormat=xlf --outputPath src/locales --outFile strings.en.xlf --locale en

or

ng xi18n --i18nFormat=xlf2 --outputPath src/locales --outFile strings.en.xlf --locale en
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.