Bisu manages your app iOS, Android and RoR localization files for you. No more copy+paste induced errors!
gem install bisu
- Open terminal in app project base
- Run:
bisu
- That's it!*
*given that someone already configured Bisu
- Create in your project base folder a translatable.yml:
type: <iOS|Android|RoR>
dictionary:
type: google_sheet
sheet_id: <GOOGLE-DRIVE-SHEET-ID>
keys_column: <GOOGLE-DRIVE-KEY-COLUMN-TITLE>
translate:
- in: path/to/1st/file.translatable
out: path/to/%{locale}/strings.xml
out_en: path/to/default/strings.xml
- in: path/to/2nd/file.translatable
out: path/to/2nd-%{locale}/strings.xml
languages:
- locale: en
language: en
- locale: en-US
language: en
- locale: pt
language: pt
Also available OneSky integration:
dictionary:
type: one_sky
api_key: <ONE-SKY-API-KEY>
api_secret: <ONE-SKY-API-SECRET>
project_id: <ONE-SKY-PROJECT-ID>
file_name: <ONE-SKY-FILE-NAME>
- Create a *.translatable version for your iOS localization files:
// $specialKComment1$
// $specialKComment2$
// Locale: $specialKLocale$; Language used: $specialKLanguage$
/***********
* General
************/
"klGeneral_Delete" = "$kDelete$";
"klGeneral_Cancel" = "$kCancel$";
"klGeneral_Close" = "$kClose$";
"klRequestName" = "$kRequestName%{user_name: %@}$";
- Create a *.translatable version for your Android localization files:
<?xml version="1.0" encoding="utf-8"?>
<!-- $specialKComment1$ -->
<!-- $specialKComment2$ -->
<!-- Locale: $specialKLocale$; Language used: $specialKLanguage$ -->
<resources>
<string name="delete">$kDelete$</string>
<string name="cancel">$kCancel$</string>
<string name="close">$kClose$</string>
<string name="request_name">$kRequestName%{user_name: %s}$</string>
</resources>
- Create a *.translatable version for your RoR localization files:
$specialKLocale$:
resources:
delete: $kDelete$
cancel: $kCancel$
close: $kClose$
messages:
request_name: $kRequestName$