/LocalizationConverter

A command-line tool to convert mobile localization files

Primary LanguageSwiftMIT LicenseMIT

LocalizationConverter

Build Status

A simple command-line tool to convert Android strings.xml files into iOS Localizable.strings and Localizable.stringsdict files.

Installation

The tool can be installed using brew. All you have to do is run the following command:

brew install liquidsoul/formulae/l10nconverter

Usage

You need to pass the action to the tool to execute the conversion or get the usage help:

l10nconverter help

You can convert a android strings directory with this command:

l10nconverter convertAndroidFolder android/ --output=ios/

The tool expects the folder to have the following layout:

android
├── values
│   └── strings.xml
└── values-fr
    └── strings.xml

Which is the standard Android resources layout. See the Android String Resources documentation for more details.

It will output the following folder tree containing iOS localization files:

ios
├── Base.lproj
│   ├── Localizable.strings
│   └── Localizable.stringsdict
└── fr.lproj
    ├── Localizable.strings
    └── Localizable.stringsdict

The presence of stringsdict files will depend on the existance of plurals in your localization. None will be generated if you do not have plurals keys. You can look at the Apple documentation for more information on plurals on iOS.

⚠️ Limitations ⚠️

Development information

The Makefile is the central point to run the different commands for this project.
To setup the dependencies and run the tests:

make install
make test

Note that this assumes that brew is installed.

The project uses the Swift Package Manager so you can use it directly to build and run tests on the project.

To generate a release build:

make release

This will output a binary in the release/ folder of the project.