The generate tool of iOS / Android localized strings.
Project description
strgen
Overview
The strgen can create iOS / Android strings file from CSV file.
Install
https://pypi.org/project/strgen/
The strgen can install using pip
.
$ pip install strgen
Usage
1. Prepare input files
Prepare input files.
CSV file
The source file of multi language strings.
YAML file
The config file.
2. Run strgen
$ strgen strgen.yml
Run with argument of YAML file path.
If not specified, strgen.yml
in the current directory will be used.
The following files will be generated under the build
folder.
- build/
- apple/
- LocalizableStrings.swift
- lproj/
- en.lproj/Localizable.strings
- ja-JP.lproj/Localizable.strings
- ...
- google/
- values-en/strings.xml
- values-ja-JP/strings.xml
- ...
- apple/
in apple
folder(for iOS/macOS),
LocalizableStrings.swift
that enumerated the key names is also generated.
import Foundation
class LocalizableStrings {
enum Key: String {
case yes = "yes"
case no = "no"
case cancel = "cancel"
case next = "next"
case close = "close"
case escape_test = "escape_test"
case parameter_google = "parameter_google"
case parameter_apple = "parameter_apple"
}
}
Sample
There are sample that you can easily try.
- Clone project.
$ git clone https://github.com/daisuke-t-jp/strgen
- Change the current directory to
strgen/sample
. - Run
$ strgen strgen.yml
- Check
build
folder.
Input file format
CSV format
id | en | ja-JP | zh-Hans | zh-Hant | ... |
---|---|---|---|---|---|
hello_world | Hello world | こんにちは世界 | 你好,世界 | 你好,世界 | ... |
yes | Yes | はい | 是 | 是 | ... |
no | No | いいえ | 没有 | 沒有 | ... |
cancel | Cancel | キャンセル | 取消 | 取消 | ... |
next | Next | キャンセル | 下一个 | 下一個 | ... |
close | Next | キャンセル | 下一个 | 下一個 | ... |
escape_test | escape <'""&?@> test | ||||
parameter_google | Parameter %1$s, %2$s. | ||||
parameter_apple | Parameter %1$@, %2$@. |
Header
Start the header line with id
.
Next, add the language (language and country code).
Body
The id
string will be the key to reference on iOS / Android.
Enter the localized string for each language.
You can leave the localized string blank.
In that case, no localized strings are generated for that language.
YAML format
strgen.yml
general:
input_file_path: ./source.csv
output_path: ./
google:
strings_file_name: strings.xml
apple:
strings_file_name: Localizable.strings
swift_file_name: LocalizableStrings.swift
swift_class_name: LocalizableStrings
general
input_file_path
(Required)
Input CSV file path.
output_path
(Optional)
Output path.
The default directory will be the same as the YAML file.
google
strings_file_name
(Optional)
Generated strings file's name.
Default is strings.xml
.
apple
strings_file_name
(Optional)
Generated strings file's name.
Default is Localizable.strings
.
swift_file_name
(Optional)
Generated swift file's name.
Default is LocalizableStrings.swift
.
swift_class_name
(Optional)
Generated swift class name.
Default is LocalizableStrings
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file strgen-1.1.0.tar.gz
.
File metadata
- Download URL: strgen-1.1.0.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a325a941eea4daf2dcd9873119e427055eef1e61207511392c51556439b8a645 |
|
MD5 | e716bc801f2bce973a13989350160d46 |
|
BLAKE2b-256 | 238d56bb8cd0e94ad96bf2b4cc7a475ee3ecb9825c3c0a96e72acd2cfa73db48 |