Skip to main content

The generate tool of iOS / Android localized strings.

Project description

日本語

strgen

Overview

The strgen can create iOS / Android strings file from CSV file.

Dependency

Using Python 3.x.

Install packages.

$ pip install pyyaml

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.py

$ python strgen.py 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
      • ...

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"
    }

}

Sample

There are sample that you can easily try.

Sample

  1. Change the current directory to the root of strgen.
  2. Run
    $ python strgen.py sample/strgen.yml 
    
  3. Check sample/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

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: sample/source.csv
  output_path: sample/
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.
Default directory is current directory

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

strgen-1.0.3.tar.gz (6.1 kB view details)

Uploaded Source

File details

Details for the file strgen-1.0.3.tar.gz.

File metadata

  • Download URL: strgen-1.0.3.tar.gz
  • Upload date:
  • Size: 6.1 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

Hashes for strgen-1.0.3.tar.gz
Algorithm Hash digest
SHA256 b03ff40a4af8ddb64ec6fe6f1280d3adaa15896dab18ab5a1d0e947a7aba7994
MD5 fc4f28462eabe73183ba470d5bd4d717
BLAKE2b-256 40b27a4d16127462a3fb1d3ab4ca7cd28bded926ebf7fa5462c08cab06877dbc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page