Project

loco_tool

0.01
The project is in a healthy, maintained state
loco_tool is a command-line tool written in Ruby that helps parse, validate, and manipulate localization strings for iOS and Android projects.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.52

Runtime

~> 0.1.1
~> 2.3
~> 1.2, >= 1.2.2
 Project Readme

LocoTool

Gem Version License

LocoTool is a command-line tool for localization tasks, designed to simplify the management and validation of localization strings in iOS and Android projects.

Features

  • Find duplicate keys between localization files.
  • Sync and move missing strings between files.
  • Validate and verify localization files.
  • Transform localization files between different formats.
  • Identify oversized strings in localization files.

TODO

  • Convert strings between different formats.

Installation

LocoTool can be installed via RubyGems. Make sure you have Ruby installed on your system, then run the following command:

$ gem install loco_tool

Usage

LocoTool provides various commands to perform localization tasks. Here are some examples:

Find Duplicate Keys

$ locotool duplicates [FILE_A] [FILE_B]

This command compares two localization files and identifies duplicate keys between them.

Sync Localization Files

$ locotool sync [PATH_A] [PATH_B] [BASE_LANG] [TARGET_LANG]

This command synchronizes localization files between two directories (PATH_A and PATH_B). It compares the base language (BASE_LANG) with the target language (TARGET_LANG) and moves missing strings from the base file to the target file.

Sync iOS Localization Files Automatically

$ locotool sync_ios_auto [PATH_A] [PATH_B] [BASE_LANG]

This command automatically finds and syncs iOS localization files in the specified directories (PATH_A and PATH_B). It iterates over the available target languages, excluding the base language (BASE_LANG), and performs the synchronization operation.

Transform Localization Files

$ locotool export [PATH_A] [PATH_B] -s [SORT] -c [CASE]

This command transforms localization files from PATH_A to PATH_B. It can sort the keys in the output files (SORT) and change the case of the keys (CASE). The SORT parameter can be set to asc, or desc. The CASE parameter can be set to lower, or upper. Both parameters are optional.

Identify Oversized Strings

$ locotool oversize [PATH_A] [TARGET_LANG] [GAP]

This command identifies oversized strings in the localization files in the specified directory (PATH_A). It compares the length of the strings in the target language (TARGET_LANG) with the base language and reports the strings that exceed the specified gap (GAP).

Examples

Export Localization file from iOS to Android

$ locotool export en.lproj/Localizable.strings en.xml -s asc -c lower

Contributing

Contributions are welcome! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request on the LocoTool GitHub repository.

License

This project is licensed under the MIT License.