Android SDK
You can also see instructions on our GitHub
Features
- Over-the-air (OTA) localization
- View inflation
Requirements
- Android SDK version 21+
Installation
Add this to your root build.gradle
at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Add the dependency:
dependencies {
implementation 'com.github.translized:android-SDK:1.0.2'
}
If you are using ProGuard, add the following rule:
-keep class com.translized.translized_ota.** { *; }
Getting started
Before start make sure you have projectId
and otaToken
, which you can find in Project/Release and Account/API Access, and make a release on Translized Dashboard/Project/Release.
Usage
Configuring the SDK
In your Application#onCreate
method initialize the SDK by calling the following lines with your Translized keys:
class App: Application() {
override fun onCreate() {
super.onCreate()
Translized.init(this,"9AXGSpetMe", "123456abc")
Translized.updateTranslations()
}
}
Note! Do not forget to call Translized.updateTranslations()
Then in your Activity override attachBaseContext(..)
to add OTA support for your inflated views.
We recommend you create a base Activity class and extend all your activities from it.
override fun attachBaseContext(newBase: Context?) {
super.attachBaseContext(Translized.wrapContext(newBase))
}
Note! If you don’t have BaseActivity class add this code to all of your activities.
Callbacks
If you would like to be notified when translations are updated use this callback:
Translized.addCallback(object : TranslizedCallback{
override fun onTranslationsUpdated() {
}
override fun onFailure(error: TranslizedError) {
}
override fun onUpdateNotNeeded() {
}
})
View inflation
The SDK will wrap calls to Resources
and hook into the view inflation to replace any string resources with their latest, cached version.
Currently there is support for a few attributes of TextView
, ImageView
and subclasses thereof.
Menu inflation (option menus, bottom bars, etc.) is currently not supported.
Support for more attributes/types can be added via custom implementations of Transcriber.Factory
by providing list of transcribers to Translized#init
call.
Sample
The ./app
directory contains a sample project. To test the OTA features you need to add your own projectId and otaToken.
You can then start replacing the strings found in res/values/strings.xml
on Translized. New translations will be loaded on app start.
Support
Contact us through email: info@translized.com