A simple command-line tool to convert Android strings.xml
files into iOS Localizable.strings
and Localizable.stringsdict
files.
The tool can be installed using brew
.
All you have to do is run the following command:
brew install liquidsoul/formulae/l10nconverter
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.
- Does not support
String Array
keys - Support only one variable for plurals entries. An iOS
stringsdict
file can support multiple variables - Require to use integer format specifier (
%d
) to format plurals
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.