Skip to content

PocketByte/LocoLaser

Repository files navigation

LocoLaser

LocoLaser - Localization tool to import localized strings from external source to your project. Utility support following resource types:

  • Android resources: strings.xml
  • iOS resources: Localizable.strings
  • GetText resources: messages.pom
  • Java Script i18next: strings.json
  • Kotlin Multiplatform: Generates repository classes for Android, iOS, macOS and JavaSript that can be used in common code.
  • Google Sheets
  • INI File
Migration to 2.0.0

Please read Migration instruction to migrate to version 2.0.0

Related Git's

Gradle plugin: https://github.com/PocketByte/locolaser-gradle-plugin
Android Example: https://github.com/PocketByte/locolaser-android-example
iOS Example: https://github.com/PocketByte/locolaser-ios-example
Kotlin MPP Example: https://github.com/PocketByte/locolaser-kotlin-mpp-example

How does it work

At first, you need to create configuration file in JSON format that contains configuration of platforms and sources. Here is the detailed instruction for configuring: LocoLaser Config
Example of Android config that gets strings from Google Sheets:

{
    "platform" : "android",
    "source" : {
        "type" : "googlesheet",
        "column_key" : "key",
        "id" : "1KDu0_iel5qoNTKHZI0e4l3Uy52WisdfswYRy_GlFOPtY"
    },
    "locales" : ["en", "fi"],
    "delay" : 30
}

When configuration is created you should run LocoLaser with corresponding set of jar artifacts which supports platforms and sources from configuration. Example of console command that starts LocoLaser:

java -cp "core.jar:platform-mobile.jar:source-googlesheet.jar" ru.pocketbyte.locolaser.Main "localization_config.json"

These artifacts can be downloaded from maven repository. But there is another simplest ways. If you use gradle you can use LocoLaser gradle plugin instead. Otherwise, in LocaLaser iOS Example you can find localize.command, the bash scripts that simplify work with LocoLaser on Unix based systems.

Console arguments

You can override config properties by adding additional console arguments:

  • --force or --f - Sets force_import = true.
  • -cs - String. Override config property conflict_strategy.
  • -delay - Long. Override config property delay.

License

Copyright © 2017 Denis Shurygin. All rights reserved.
Contacts: <mail@pocketbyte.ru>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

Localization tool to import localized strings from external source to your project.

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE.txt

Stars

Watchers

Forks

Packages

No packages published