All Projects → betterme-dev → Localizer-Android

betterme-dev / Localizer-Android

Licence: Apache-2.0 License
Gradle plugin which simplifies Android string resources & translations synchronization with POEditor.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Localizer-Android

Django Translations
Django model translation for perfectionists with deadlines.
Stars: ✭ 109 (+419.05%)
Mutual labels:  translations, localization
I18N-Portable
Simple and cross platform internationalization/translations for Xamarin and .NET
Stars: ✭ 102 (+385.71%)
Mutual labels:  translations, localization
Attranslate
Semi-automated Text Translator for Websites and Apps
Stars: ✭ 178 (+747.62%)
Mutual labels:  translations, localization
L10n Swift
Localization of the application with ability to change language "on the fly" and support for plural form in any language.
Stars: ✭ 177 (+742.86%)
Mutual labels:  localization, strings
Domino-English-Translation
🌏 Let's translate Domino, a Japanese MIDI editor!
Stars: ✭ 29 (+38.1%)
Mutual labels:  translations, localization
Mojito
An automation platform that enables continuous localization.
Stars: ✭ 256 (+1119.05%)
Mutual labels:  translations, localization
translate5
Translate5: Open Source Translation System (published 1st time on github at 2020-08-10)
Stars: ✭ 32 (+52.38%)
Mutual labels:  translations, translations-api
Kite
🪁 Android Resources Wrapper Library
Stars: ✭ 127 (+504.76%)
Mutual labels:  strings, resources
android-localization-helper
A python script that helps you create strings.xml for all languages in different hierarchical folder(using Google Translation API)
Stars: ✭ 19 (-9.52%)
Mutual labels:  localization, strings
poeditor-cli
POEditor CLI
Stars: ✭ 29 (+38.1%)
Mutual labels:  localization, strings
Stringz
A lightweight and powerful editor for localizing iOS, macOS, tvOS, and watchOS applications.
Stars: ✭ 440 (+1995.24%)
Mutual labels:  localization, strings
www.gafam.info
Sources of the gafam.info web page
Stars: ✭ 14 (-33.33%)
Mutual labels:  translations, localization
Androidlocalizeplugin
🌏 Android localization plugin. support multiple languages, no need to apply for key.
Stars: ✭ 352 (+1576.19%)
Mutual labels:  localization, strings
Ava Docs
Localized docs for AVA
Stars: ✭ 455 (+2066.67%)
Mutual labels:  translations, localization
resxmanager
Consolidates, synchronizes and translates Microsoft .NET resources (*.resx, *.wxl). Supports export to Excel (*.xlsx) and automating translation.
Stars: ✭ 28 (+33.33%)
Mutual labels:  localization, resources
Flutter translate
Flutter Translate is a fully featured localization / internationalization (i18n) library for Flutter.
Stars: ✭ 245 (+1066.67%)
Mutual labels:  translations, localization
XLocalizer
Localizer package for Asp.Net Core web applications, powered by online translation and auto resource creating.
Stars: ✭ 103 (+390.48%)
Mutual labels:  localization, resources
android-api-loquacious
Loquacious is a localized remote resource manager library for Android
Stars: ✭ 24 (+14.29%)
Mutual labels:  localization, resources
laravel-localized-routes
A convenient way to set up and use localized routes in a Laravel app.
Stars: ✭ 257 (+1123.81%)
Mutual labels:  translations, localization
yearn-comms
Collection of communication, announcements, tweets, newsletters, and other articles about Yearn and a hosted blog for all translation contributors.
Stars: ✭ 16 (-23.81%)
Mutual labels:  translations

Localizer-Android

Gradle plugin which simplifies Android string resources & translations synchronization with POEditor (API v2).

With the help of this plugin you can either download strings.xml for all existing locales in your project or export your own terms and translations to POEdtior in order to keep both sources - local and remote - up-to-date.

Configuration

1. Add plugin's classpath to your app-level build.gradle.

buildscript {
    repositories {
        maven { url "https://plugins.gradle.org/m2/" }
    }
    dependencies {
        final localizerVer = '1.0.5'

        classpath "gradle.plugin.com.betterme.localizer:localizer-android:$localizerVer"
    }
}

2. Apply plugin in your module-level build.gradle.

apply plugin: 'com.betterme.localizer'

3. Set up POEditor configs and translations upload/download parameters.

localizer {
    apiToken = getPoEditorApiToken()
    projectId = getPoEditorProjectId()

    resourcesPath = "${rootDir}/app/src/main/res".toString()

    overwriteOnExport = "true"
    syncTerms = "true"
    exportLocale = "en"
    supportRegions = "true" // optional, false by default
    
    filters = ["translated"]
    tags = ["android"]
}

apiToken: api token for your POEditor project.

projectId: project ID of your project in POEditor.

resourcesPath: path to your values folder in current project.

It's important to convert resourcesPath to Groovy String type with toString() method for compatibility with Java type system.

overwriteOnExport: allows or denies (if set to false) strings overwriting on their upload.

exportLocale: desired locale for local strings resources to be uploaded to POEditor. Usually, should be set to your default language ("en"), as it's the most common case when you need to keep your English (as primary ones) terms up-to-date in POEditor as well. But other languages may also be the case if there are some typos in POEditor translations or special symbols need to be used in remote strings.xml, that need to be applied to remote versions of your strings.

syncTerms: allows or denies (if set to false) two-sided strings synchronization with POEditor API, and automatically removes strings remotely deleted locally.

filters: Filter strings by 'translated', 'untranslated', 'fuzzy', 'not_fuzzy', 'automatic', 'not_automatic', 'proofread', 'not_proofread' (only available when Proofreading is set to "Yes" in Project Settings).

tags: Filter strings by tags.

supportRegions: enables or disables (if set to false or not defined) regional locales support (which are usually defined in the following pattern in POEditor zh_CH). By default, or if set to false externally, the regional postfix (i.e. _CH in zh_CH will be omitted).

Finally, this plugin is ready to use!

Usage

In order to trigger the tasks consider selecting downloadTranslations and uploadTranslations tasks in translations group Gradle tasks folder associated to the module where you apply this plugin.

Improvement ideas and pull requests are highly appreciated.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].