From 3a4ca663e20994257e93776847d3bcc3f58a81ba Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Sun, 14 Sep 2025 22:46:22 +0200 Subject: [PATCH 01/41] docs: expand Android SDK overview with detailed features and benefits --- android-sdk/about.mdx | 161 ++++++++++++++++++++++----- android-sdk/get-started.mdx | 59 ++++++++++ android-sdk/installation.mdx | 99 ++++++++++++---- android-sdk/jetpack/overview.mdx | 109 ++++++++++++++++++ sidebarAndroidSdk.js | 8 ++ src/component/SystemCard.tsx | 57 ++++++++++ src/component/docsIndex/DocsTile.tsx | 2 +- src/pages/index.tsx | 4 +- tailwind.config.js | 2 +- 9 files changed, 449 insertions(+), 52 deletions(-) create mode 100644 android-sdk/get-started.mdx create mode 100644 android-sdk/jetpack/overview.mdx create mode 100644 src/component/SystemCard.tsx diff --git a/android-sdk/about.mdx b/android-sdk/about.mdx index 202df6c02..6f254a799 100644 --- a/android-sdk/about.mdx +++ b/android-sdk/about.mdx @@ -5,47 +5,150 @@ slug: / description: Overview of Tolgee Android SDK with Over‑the‑Air (OTA) localization updates and how to get started. --- -> NOTE: -> For managing static translations in your repository, consider using the [Tolgee CLI](/tolgee-cli/installation). +import SystemCard from '@site/src/component/SystemCard'; +import Tolgee from '@site/src/component/Tolgee'; -Tolgee Android SDK lets you localize Android apps with dynamic content delivery, Over‑the‑Air (OTA) translation updates, reactive locale changes, and seamless integration with Views and Jetpack Compose. +# Tolgee Android SDK -## Why use it +:::info +For managing static translations in your repository, consider using the [Tolgee CLI](/tolgee-cli/installation). +::: -- __Avoid releases for copy changes__: Ship translation fixes and new languages without a new app build. -- __Faster iteration__: Product/localization teams can push improvements instantly and validate in production. -- __Consistent UX__: UI updates reactively on locale change; fewer stale or mismatched strings. -- __Resilient by default__: Works offline with caching and resource fallbacks; fewer blank strings. +## Overview -## What you can do +Tolgee Android SDK lets you localize Android apps with dynamic content delivery, and lets you provide translations dynamically without needing to publish new app versions. -- __Over‑the‑Air (OTA) updates__: Deliver translations via CDN (Cloud or self‑host) with caching. -- __Views and Compose support__: `stringResource`/`pluralStringResource`, parameters, and reactive updates. -- __Runtime locale API__: Switch locales and react to `Tolgee.changeFlow`. -- __Fallbacks and preloading__: Android resources fallback; preload critical namespaces/locales. -- __Hosting options__: Tolgee Cloud CDN or your own CDN. +**Supports Over‑the‑Air (OTA)** translation updates, seamless integration with multiple systems, Android Views, Jetpack Compose and static translations. + +## Why should you try it? + +Tolgee platform lets you ship translations and new languages faster and easier without a new app build. + +The platform works offline with caching, fallbacks to Android resources when needed, and preloading critical namespaces for a smooth user experience. Additionally, Tolgee keeps UX consistent by updating the UI automatically in response to translation or locale changes. These features result in fewer untranslated or mismatched strings of text. + +## Features + +### Over‑the‑Air (OTA) updates + +Delivers translations via CDN (Cloud or self‑hosting) with caching and offline support. + +### Change the app's language at runtime (Runtime locale API) + +Use `tolgee.changeFlow` to monitor locale changes and update your UI accordingly. + +### Works offline with fallbacks and preloading + +Provides fallbacks to Android resources and preloading of critical namespaces. + +### Support for Android Views, Jetpack Compose and static translations with CLI + +Support for both coding functions `stringResource`, `pluralStringResource` and reactive updates. + +### Hosting options + +You have multiple hosting options: CDN (Cloud or self‑hosting). ## Demo apps -- __Android Views demo__: https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid -- __Jetpack Compose demo__: https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack +
+ + + +
## Compatibility -> NOTE: -> Build configuration examples use Kotlin DSL (`build.gradle.kts`). Groovy DSL may work but is not officially supported/tested. +:::note +To build configuration examples use Kotlin DSL (build.gradle.kts). Groovy DSL may work but is not officially supported/tested. +::: + +## Get Started + +Ready to integrate Tolgee into your Android project? Follow this step-by-step guide to add dynamic translations to your app. + +### Setup Overview + +
+ + + +
+ +### Choose Your Implementation + +
+ + + + + +
-## Get started +### Production Deployment -- __Installation__: Set up dependencies and network security — [Installation](./installation.mdx) -- __Modules overview__: Choose between Core and Compose — [Modules overview](./modules.mdx) -- __Jetpack Compose__: Install, use, and troubleshoot — [Installation](/android-sdk/jetpack/installation), [Usage](/android-sdk/jetpack/usage), [Troubleshooting](/android-sdk/jetpack/troubleshooting) -- __Usage with Views (non‑Compose)__: Simple keys, parameters, plurals, preloading, reactive flows — [Usage](./usage.mdx) -- __Production guide__: Over‑the‑Air (OTA) updates, caching, formatting, testing — [Production guide](./production.mdx) -- __Troubleshooting__: Common issues and diagnostics — [Troubleshooting](./troubleshooting.mdx) +
+ +
-## Next steps +### Need Help? -- Install and configure the SDK: [Installation](./installation.mdx) -- Connect your app to the Tolgee Platform and manage translations collaboratively: [Platform docs](../platform/) -- Generate or manage static strings with CLI: [Tolgee CLI](/tolgee-cli/installation) +- **Manage translations collaboratively**: Connect your app to the Tolgee Platform — [Platform docs](../platform/) +- **Troubleshooting**: Common issues and diagnostics — [Troubleshooting](./troubleshooting.mdx) diff --git a/android-sdk/get-started.mdx b/android-sdk/get-started.mdx new file mode 100644 index 000000000..a0936b065 --- /dev/null +++ b/android-sdk/get-started.mdx @@ -0,0 +1,59 @@ +--- +id: get-started +title: Get Started +slug: /get-started +description: Quick start guide for integrating Tolgee Android SDK into your project +--- + +import SystemCard from '@site/src/component/SystemCard'; + +# Get Started with Tolgee Android SDK + +Follow these steps to integrate Tolgee into your Android project and start localizing your app with dynamic translations. + +## Quick Setup Overview + +
+ + + +
+ +## Integration Path + +1. **[Installation](./installation)** - Add Tolgee SDK to your project +2. **[Modules Overview](./modules)** - Understand Core vs Compose modules +3. **Choose your implementation:** + - **[Android Views](./usage)** - For traditional Android UI + - **[Jetpack Compose](./jetpack/installation)** - For modern Compose UI +4. **[Production Setup](./production)** - Configure for production deployment + +## What You'll Achieve + +After completing the setup, your app will have: + +- ✅ **Dynamic translations** delivered via CDN +- ✅ **Offline support** with local caching +- ✅ **Runtime language switching** without app restart +- ✅ **Fallback support** to bundled Android resources +- ✅ **Over-the-Air updates** for translations without app republishing + +## Need Help? + +- Check our **[Troubleshooting Guide](./troubleshooting)** for common issues +- Explore **[Demo Apps](./about#demo-apps)** for complete examples +- Review **[Production Guide](./production)** for deployment best practices diff --git a/android-sdk/installation.mdx b/android-sdk/installation.mdx index 35eac6c1b..238f71058 100644 --- a/android-sdk/installation.mdx +++ b/android-sdk/installation.mdx @@ -4,18 +4,33 @@ title: Installation description: How to install Tolgee Android SDK in your Android project --- -> **NOTE:** -> For managing static translations, we recommend using [Tolgee CLI](https://github.com/tolgee/tolgee-cli). +:::info +For managing static translations, we recommend using [Tolgee CLI](https://github.com/tolgee/tolgee-cli). +::: ## Requirements -- **Android API Level**: 21+ (Android 5.0+) +
+
+
+ 📱 +
+

Android API Level

+

Minimum API Level 21+ (Android 5.0 and above)

+
+
+
+
## Quickstart (Views) +:::info +Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. This provides **readability, centralization, and consistency**. +::: + 1. Add dependency (Core): - Using Version Catalog is recommended to keep your versions aligned. + In `gradle/libs.versions.toml` add an alias for Tolgee library. ```toml # gradle/libs.versions.toml @@ -23,6 +38,8 @@ description: How to install Tolgee Android SDK in your Android project tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "core", version.ref = "tolgee" } ``` +Then, in `build.gradle.kts`, use the created alias. + ```kotlin // build.gradle.kts (module) dependencies { @@ -30,16 +47,35 @@ description: How to install Tolgee Android SDK in your Android project } ``` - If you use Jetpack Compose, see the Compose variant: [Jetpack Installation](/android-sdk/jetpack/installation) - -2. (If needed) Ensure repositories include Maven Central: +For **smaller projects** you can also add dependency directly (the old way). ```kotlin - // settings.gradle.kts or build.gradle.kts - pluginManagement { repositories { gradlePluginPortal(); google(); mavenCentral() } } - dependencyResolutionManagement { repositories { google(); mavenCentral() } } + // build.gradle.kts + dependencies { + implementation("io.tolgee.mobile-kotlin-sdk:core:tolgee") + } ``` +:::note +If you use **Jetpack Compose**, see the Compose variant: [Jetpack Installation](/android-sdk/jetpack/installation) +::: + +2. (If needed) Ensure repositories include Maven Central: + +```kotlin +// settings.gradle.kts or build.gradle.kts +pluginManagement { repositories { gradlePluginPortal(); google(); mavenCentral() } } +dependencyResolutionManagement { repositories { google(); mavenCentral() } } +``` +To use the library, **you need to have proper repositories configured** in your project. +Otherwise an error like: + +```text +Could not find io.tolgee.mobile-kotlin-sdk:core +``` +might pop up. +Make sure **Maven Central** is set up properly so the dependency can be resolved. + 3. Allow CDN networking (required when using Tolgee Cloud CDN): Create a network security config file `network_security.xml` in your `res/xml` folder: @@ -62,8 +98,9 @@ Add network security config to your `AndroidManifest.xml`: ``` -> NOTE: -> Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. If you only access your own self-hosted CDN, include your domain(s) accordingly. +:::note +Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. If you only access your own self-hosted CDN, include your domain(s) accordingly. +::: ## Initialization and configuration @@ -83,19 +120,43 @@ class MyApplication : Application() { } ``` -How to get your CDN URL prefix (Content Delivery): -- Open Tolgee Platform → your Project → Developer settings → Content Delivery. -- Copy the full CDN URL prefix. You can use different prefixes per environment (dev/staging/prod). -- Optional: Verify connectivity locally: +When your app boots up, Tolgee is globally initialized. The translations are downloaded from CDN and cached locally. Other parts of your app (such as activities and fragments) can now use Tolgee without additional configuration. + +***Make sure that your app knows where to download translations***: + +For your app to download translation files, you need to provide a CDN URL prefix specific to your project. This prefix points to the catalog that contains your app’s translations. + +### How to get your CDN URL prefix (Content Delivery): +1. Open Tolgee Platform → your Project → Developer settings → Content Delivery. +2. Copy the full CDN URL prefix. +3. You can use different prefixes per environment (dev/staging/prod). + +### Optional: Verify connectivity locally: ```bash curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" ``` -You should receive a 200 response. If you get 403/404, double‑check the prefix. +You should receive a 200 response. +If you get 403 (Forbidden) or 404 (Not found), double‑check the prefix. + +:::tip +Dynamic updates without republishing +::: + +To receive fresh translations without needing to publish new app versions, wrap the base context in your Activities. +This way, APIs like getString() will use Tolgee dynamically. + +- With wrapped context → fresh translations from the Tolgee CDN will be provided automatically. + +- Without wrapped context → only the translations already bundled or previously cached will be available. + +See the step-by-step guide in Usage. + +:::note +If you have a different integration setup (for example, using tolgee-cli and bundling JSON translation files in assets), the initialization may look different. +::: -> TIP: -> For Activities, wrap the base context so `getString` and similar APIs use Tolgee. See step-by-step in [Usage](./usage.mdx). ## Next steps diff --git a/android-sdk/jetpack/overview.mdx b/android-sdk/jetpack/overview.mdx new file mode 100644 index 000000000..959bb582d --- /dev/null +++ b/android-sdk/jetpack/overview.mdx @@ -0,0 +1,109 @@ +--- +id: overview +title: Jetpack Compose Overview +slug: /jetpack +description: Overview of Tolgee Android SDK integration with Jetpack Compose +--- + +import SystemCard from '@site/src/component/SystemCard'; + +# Jetpack Compose Integration + +Tolgee Android SDK provides first-class support for Jetpack Compose, enabling dynamic translations in modern Android applications with reactive UI updates. + +## Why Choose Tolgee for Jetpack Compose? + +Transform your Compose app with dynamic translations that update seamlessly without rebuilding or republishing. + +### Key Benefits + +- ✅ **Reactive Updates**: Translations update automatically when language changes +- ✅ **Compose-Native**: Built specifically for Compose architecture patterns +- ✅ **State Management**: Integrates seamlessly with Compose state systems +- ✅ **Performance**: Optimized for Compose recomposition cycles +- ✅ **Over-the-Air**: Push translation updates without app store releases + +## Getting Started + +
+ + + + + +
+ +## Key Features + +### Compose-Specific APIs + +- `tolgeeStringResource()` - Compose-optimized string retrieval +- `tolgeePluralStringResource()` - Plural handling for Compose +- `LocalTolgee` - CompositionLocal for dependency injection + +### Reactive Language Switching + +```kotlin +@Composable +fun MyScreen() { + val text by tolgeeStringResource("welcome_message") + + Text(text = text) // Automatically updates when language changes +} +``` + +### State Integration + +Tolgee integrates with Compose's state system to ensure UI updates happen automatically when: +- Language is changed at runtime +- New translations are downloaded +- Fallback resources are loaded + +## Demo Application + +Explore our complete Jetpack Compose demo to see all features in action: + +
+ +
+ +## Integration Path + +1. **[Installation](./installation)** - Add Compose-specific dependencies +2. **[Usage Patterns](./usage)** - Learn Compose integration patterns +3. **[Production Setup](../production)** - Configure for deployment +4. **[Troubleshooting](./troubleshooting)** - Resolve integration issues + +## Need Help? + +- Check our **[Troubleshooting Guide](./troubleshooting)** for Compose-specific issues +- Explore the **[Complete Demo](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack)** for implementation examples +- Review **[Production Guide](../production)** for deployment best practices diff --git a/sidebarAndroidSdk.js b/sidebarAndroidSdk.js index 019b2135b..6a412c585 100644 --- a/sidebarAndroidSdk.js +++ b/sidebarAndroidSdk.js @@ -4,12 +4,20 @@ module.exports = { { type: 'category', label: 'Get started', + link: { + type: 'doc', + id: 'get-started', + }, items: ['installation', 'modules'], }, 'usage', { type: 'category', label: 'Jetpack Compose', + link: { + type: 'doc', + id: 'jetpack/overview', + }, items: ['jetpack/installation', 'jetpack/usage', 'jetpack/troubleshooting'], }, 'production', diff --git a/src/component/SystemCard.tsx b/src/component/SystemCard.tsx new file mode 100644 index 000000000..232a523cf --- /dev/null +++ b/src/component/SystemCard.tsx @@ -0,0 +1,57 @@ +import React from 'react'; +import Link from '@docusaurus/Link'; +import Heading from '@theme/Heading'; + +interface SystemCardProps { + title: string; + emoji: string; + description: string; + links: Array<{ + href: string; + label: string; + color: 'blue' | 'green' | 'orange' | 'purple' | 'cyan'; + }>; +} + +const colorClasses = { + blue: 'bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200 hover:bg-blue-200 dark:hover:bg-blue-800', + green: 'bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200 hover:bg-green-200 dark:hover:bg-green-800', + orange: 'bg-orange-100 dark:bg-orange-900 text-orange-800 dark:text-orange-200 hover:bg-orange-200 dark:hover:bg-orange-800', + purple: 'bg-purple-100 dark:bg-purple-900 text-purple-800 dark:text-purple-200 hover:bg-purple-200 dark:hover:bg-purple-800', + cyan: 'bg-cyan-100 dark:bg-cyan-900 text-cyan-800 dark:text-cyan-200 hover:bg-cyan-200 dark:hover:bg-cyan-800', +}; + +export default function SystemCard({ + title, + emoji, + description, + links, +}: SystemCardProps) { + return ( +
+ + {emoji} {title} + +

+

+ {links.map((link, index) => ( + + {link.label} + + ))} +
+
+ ); +} diff --git a/src/component/docsIndex/DocsTile.tsx b/src/component/docsIndex/DocsTile.tsx index d9d8407d3..321f66b3a 100644 --- a/src/component/docsIndex/DocsTile.tsx +++ b/src/component/docsIndex/DocsTile.tsx @@ -12,7 +12,7 @@ type Props = { export const DocsTile = ({ title, text, link, linkText }: Props) => { return (
diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 97b854f1b..834524955 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -38,8 +38,8 @@ function Home() { Tolgee is a localization platform that streamlines translations for web, mobile, and desktop apps. With tools like the SDK, CLI, and REST API, it simplifies in-context translation and string - management for efficient localization. Explore the docs to get - started! + management for efficient internationalization. Explore the docs + to get started!

Date: Mon, 15 Sep 2025 11:07:14 +0200 Subject: [PATCH 02/41] update --- android-sdk/about.mdx | 126 +++++------------- android-sdk/get-started.mdx | 68 ++++++++-- android-sdk/jetpack/installation.mdx | 119 ++++++++++++++--- android-sdk/jetpack/overview.mdx | 17 +-- android-sdk/jetpack/troubleshooting.mdx | 8 +- android-sdk/jetpack/usage.mdx | 37 +++-- android-sdk/modules.mdx | 9 +- android-sdk/production.mdx | 2 +- .../{installation.mdx => quickstart.mdx} | 14 +- android-sdk/troubleshooting.mdx | 2 +- android-sdk/usage.mdx | 82 ++++++++---- sidebarAndroidSdk.js | 2 +- src/component/FeatureGrid.tsx | 70 ++++++++++ 13 files changed, 376 insertions(+), 180 deletions(-) rename android-sdk/{installation.mdx => quickstart.mdx} (91%) create mode 100644 src/component/FeatureGrid.tsx diff --git a/android-sdk/about.mdx b/android-sdk/about.mdx index 6f254a799..38eab95c6 100644 --- a/android-sdk/about.mdx +++ b/android-sdk/about.mdx @@ -2,13 +2,14 @@ id: about title: Overview slug: / -description: Overview of Tolgee Android SDK with Over‑the‑Air (OTA) localization updates and how to get started. +description: Overview of Tolgee Mobile SDK with Over‑the‑Air (OTA) localization updates for Android and Compose Multiplatform. --- import SystemCard from '@site/src/component/SystemCard'; +import FeatureGrid from '@site/src/component/FeatureGrid'; import Tolgee from '@site/src/component/Tolgee'; -# Tolgee Android SDK +# Tolgee Mobile SDK :::info For managing static translations in your repository, consider using the [Tolgee CLI](/tolgee-cli/installation). @@ -16,37 +17,44 @@ For managing static translations in your repository, consider using the [Tolgee ## Overview -Tolgee Android SDK lets you localize Android apps with dynamic content delivery, and lets you provide translations dynamically without needing to publish new app versions. +Tolgee Mobile SDK for Android and Compose Multiplatform lets you localize Kotlin-based applications with dynamic content delivery, providing translations dynamically without needing to publish new app versions. -**Supports Over‑the‑Air (OTA)** translation updates, seamless integration with multiple systems, Android Views, Jetpack Compose and static translations. +**Supports Over‑the‑Air (OTA)** translation updates, seamless integration with Android Views, Jetpack Compose, Compose Multiplatform, and static translation fallbacks. ## Why should you try it? Tolgee platform lets you ship translations and new languages faster and easier without a new app build. -The platform works offline with caching, fallbacks to Android resources when needed, and preloading critical namespaces for a smooth user experience. Additionally, Tolgee keeps UX consistent by updating the UI automatically in response to translation or locale changes. These features result in fewer untranslated or mismatched strings of text. +The platform works offline with caching, fallbacks to static translation resources when needed, and preloading critical namespaces for a smooth user experience. Additionally, Tolgee keeps UX consistent by updating the UI automatically in response to translation or locale changes. These features result in fewer untranslated or mismatched strings of text. ## Features -### Over‑the‑Air (OTA) updates - -Delivers translations via CDN (Cloud or self‑hosting) with caching and offline support. - -### Change the app's language at runtime (Runtime locale API) - -Use `tolgee.changeFlow` to monitor locale changes and update your UI accordingly. - -### Works offline with fallbacks and preloading - -Provides fallbacks to Android resources and preloading of critical namespaces. - -### Support for Android Views, Jetpack Compose and static translations with CLI - -Support for both coding functions `stringResource`, `pluralStringResource` and reactive updates. - -### Hosting options - -You have multiple hosting options: CDN (Cloud or self‑hosting). +Sprintf (Android SDK) formatting
ICU (Tolgee Native Flat JSON) formatting', + colorTheme: 'green' + }, + { + emoji: '⚡', + title: 'Compose integration', + description: 'Full integration with Jetpack Compose and Compose Multiplatform', + colorTheme: 'purple' + }, + { + emoji: '🌐', + title: 'Kotlin Multiplatform', + description: 'Designed with multiplatform support in mind', + colorTheme: 'orange' + } +]} /> ## Demo apps @@ -78,77 +86,15 @@ To build configuration examples use Kotlin DSL (build.gradle.kts). Groovy DSL ma ## Get Started -Ready to integrate Tolgee into your Android project? Follow this step-by-step guide to add dynamic translations to your app. - -### Setup Overview - -
- - - -
- -### Choose Your Implementation - -
- - - - - -
- -### Production Deployment +Ready to integrate Tolgee into your Android project?
- -### Need Help? - -- **Manage translations collaboratively**: Connect your app to the Tolgee Platform — [Platform docs](../platform/) -- **Troubleshooting**: Common issues and diagnostics — [Troubleshooting](./troubleshooting.mdx) diff --git a/android-sdk/get-started.mdx b/android-sdk/get-started.mdx index a0936b065..d0ffe2c73 100644 --- a/android-sdk/get-started.mdx +++ b/android-sdk/get-started.mdx @@ -2,24 +2,24 @@ id: get-started title: Get Started slug: /get-started -description: Quick start guide for integrating Tolgee Android SDK into your project +description: Quick start guide for integrating Tolgee Mobile SDK into your project --- import SystemCard from '@site/src/component/SystemCard'; -# Get Started with Tolgee Android SDK +# Get Started with Tolgee Mobile SDK -Follow these steps to integrate Tolgee into your Android project and start localizing your app with dynamic translations. +Follow these steps to integrate Tolgee into your Android project and start localizing your app with **dynamic translations**. ## Quick Setup Overview
@@ -35,13 +35,44 @@ Follow these steps to integrate Tolgee into your Android project and start local ## Integration Path -1. **[Installation](./installation)** - Add Tolgee SDK to your project +1. **[Quickstart](./quickstart)** - Add Tolgee SDK to your project 2. **[Modules Overview](./modules)** - Understand Core vs Compose modules -3. **Choose your implementation:** - - **[Android Views](./usage)** - For traditional Android UI - - **[Jetpack Compose](./jetpack/installation)** - For modern Compose UI +3. **Choose your implementation** (see cards below) 4. **[Production Setup](./production)** - Configure for production deployment +## Choose Your Implementation + +
+ + + + + +
+ ## What You'll Achieve After completing the setup, your app will have: @@ -52,8 +83,21 @@ After completing the setup, your app will have: - ✅ **Fallback support** to bundled Android resources - ✅ **Over-the-Air updates** for translations without app republishing +## Production Deployment + +
+ +
+ ## Need Help? -- Check our **[Troubleshooting Guide](./troubleshooting)** for common issues -- Explore **[Demo Apps](./about#demo-apps)** for complete examples -- Review **[Production Guide](./production)** for deployment best practices +- **Manage translations collaboratively**: Connect your app to the Tolgee Platform — [Platform docs](../platform/) +- **Troubleshooting**: Common issues and diagnostics — [Troubleshooting](./troubleshooting.mdx) +- **Demo Apps**: Complete example implementations — [Demo Apps](./about#demo-apps) diff --git a/android-sdk/jetpack/installation.mdx b/android-sdk/jetpack/installation.mdx index 9fb53abe2..cc5434a46 100644 --- a/android-sdk/jetpack/installation.mdx +++ b/android-sdk/jetpack/installation.mdx @@ -1,19 +1,40 @@ --- id: installation -title: Installation -description: How to install Tolgee Android SDK in your Android project with Jetpack Compose support +title: Quickstart (Compose Module) +description: Quick start guide for Tolgee Mobile SDK Compose module with Jetpack Compose and Compose Multiplatform --- -> **NOTE:** -> For managing static translations, we recommend using [Tolgee CLI](https://github.com/tolgee/tolgee-cli). +# Quickstart (Compose Module) + +This guide shows you how to integrate Tolgee Mobile SDK using the **Compose module** for Jetpack Compose and Compose Multiplatform. + +:::info +For managing static translations, we recommend using [Tolgee CLI](https://github.com/tolgee/tolgee-cli). +::: ## Requirements -- **Android API Level**: 21+ (Android 5.0+) +
+
+
+ 📱 +
+

Android API Level

+

Minimum API Level 21+ (Android 5.0 and above)

+
+
+
+
+ +## Dependency Setup + +:::info +Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. This provides **readability, centralization, and consistency**. +::: -## Setup +1. Add dependency (Compose): -Using Version Catalog is highly recommended to keep your versions aligned. +In `gradle/libs.versions.toml` add an alias for Tolgee Compose library. ```toml # gradle/libs.versions.toml @@ -21,6 +42,8 @@ Using Version Catalog is highly recommended to keep your versions aligned. tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "compose", version.ref = "tolgee" } ``` +Then, in `build.gradle.kts`, use the created alias. + ```kotlin // build.gradle.kts (module) dependencies { @@ -28,7 +51,38 @@ dependencies { } ``` -Create a network security config file `network_security.xml` in your `res/xml` folder: +For **smaller projects** you can also add dependency directly (the old way). + +```kotlin +// build.gradle.kts +dependencies { + implementation("io.tolgee.mobile-kotlin-sdk:compose:tolgee") +} +``` + +:::note +If you use **traditional Android Views**, see the Core variant: [Core Quickstart](/android-sdk/quickstart) +::: + +2. (If needed) Ensure repositories include Maven Central: + +```kotlin +// settings.gradle.kts or build.gradle.kts +pluginManagement { repositories { gradlePluginPortal(); google(); mavenCentral() } } +dependencyResolutionManagement { repositories { google(); mavenCentral() } } +``` +To use the library, **you need to have proper repositories configured** in your project. +Otherwise an error like: + +```text +Could not find io.tolgee.mobile-kotlin-sdk:compose +``` +might pop up. +Make sure **Maven Central** is set up properly so the dependency can be resolved. + +3. Allow CDN networking (required when using Tolgee Cloud CDN): + + Create a network security config file `network_security.xml` in your `res/xml` folder: ```xml @@ -48,18 +102,21 @@ Add network security config to your `AndroidManifest.xml`: ``` -## Initialization +:::note +Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. If you only access your own self-hosted CDN, include your domain(s) accordingly. +::: + +## Initialization and configuration -Initialize Tolgee in your Application class (Android). You can find your CDN URL prefix in the Tolgee Platform under your Project settings (CDN/Content Delivery). Use different prefixes per environment. +Initialize Tolgee in your `Application` class. ```kotlin class MyApplication : Application() { override fun onCreate() { super.onCreate() - Tolgee.init { contentDelivery { - url = "https://cdn.tolg.ee/your-cdn-url-prefix" // e.g., from Tolgee Platform + url = "https://cdn.tolg.ee/your-cdn-url-prefix" // from Tolgee Platform → Content Delivery storage = TolgeeStorageProviderAndroid(this@MyApplication, BuildConfig.VERSION_CODE) // cache invalidates on app update } } @@ -67,10 +124,38 @@ class MyApplication : Application() { } ``` -> TIP: -> Compose uses its own `stringResource`/`pluralStringResource` helpers, no `ContextWrapper` needed. +When your app boots up, Tolgee is globally initialized. The translations are downloaded from CDN and cached locally. Your Compose components can now use Tolgee without additional configuration. + +***Make sure that your app knows where to download translations***: + +For your app to download translation files, you need to provide a CDN URL prefix specific to your project. This prefix points to the catalog that contains your app's translations. + +### How to get your CDN URL prefix (Content Delivery): +1. Open Tolgee Platform → your Project → Developer settings → Content Delivery. +2. Copy the full CDN URL prefix. +3. You can use different prefixes per environment (dev/staging/prod). + +### Optional: Verify connectivity locally: + +```bash +curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" +``` + +You should receive a 200 response. +If you get 403 (Forbidden) or 404 (Not found), double‑check the prefix. + +:::tip +Compose advantage: No context wrapping needed +::: + +Unlike traditional Android Views, Compose uses its own `stringResource`/`pluralStringResource` helpers, so no `ContextWrapper` is needed for automatic translation updates. + +:::note +If you have a different integration setup (for example, using tolgee-cli and bundling JSON translation files in assets), the initialization may look different. +::: -### Next steps +## Next steps -- Learn how to compose translations: [`Usage`](./usage.mdx) -- Problems? See [`Troubleshooting`](./troubleshooting.mdx) \ No newline at end of file +- Learn how to use translations in Compose: [`Usage`](./usage.mdx) +- Not sure which module to use? See [`Modules overview`](../modules.mdx) +- Having issues? Check [`Troubleshooting`](./troubleshooting.mdx) \ No newline at end of file diff --git a/android-sdk/jetpack/overview.mdx b/android-sdk/jetpack/overview.mdx index 959bb582d..2db534afd 100644 --- a/android-sdk/jetpack/overview.mdx +++ b/android-sdk/jetpack/overview.mdx @@ -1,19 +1,19 @@ --- id: overview -title: Jetpack Compose Overview +title: Compose Module Overview slug: /jetpack -description: Overview of Tolgee Android SDK integration with Jetpack Compose +description: Overview of Tolgee Mobile SDK Compose module for Jetpack Compose and Compose Multiplatform --- import SystemCard from '@site/src/component/SystemCard'; -# Jetpack Compose Integration +# Compose Module -Tolgee Android SDK provides first-class support for Jetpack Compose, enabling dynamic translations in modern Android applications with reactive UI updates. +Tolgee Mobile SDK **Compose module** provides first-class support for Jetpack Compose and Compose Multiplatform, enabling dynamic translations in modern applications with reactive UI updates. -## Why Choose Tolgee for Jetpack Compose? +## Why Choose Tolgee for Compose? -Transform your Compose app with dynamic translations that update seamlessly without rebuilding or republishing. +Transform your Jetpack Compose or Compose Multiplatform app with dynamic translations that update seamlessly without rebuilding or republishing. ### Key Benefits @@ -22,12 +22,13 @@ Transform your Compose app with dynamic translations that update seamlessly with - ✅ **State Management**: Integrates seamlessly with Compose state systems - ✅ **Performance**: Optimized for Compose recomposition cycles - ✅ **Over-the-Air**: Push translation updates without app store releases +- ✅ **Multiplatform**: Works with both Jetpack Compose and Compose Multiplatform ## Getting Started
Prerequisite: Make sure you’ve installed and initialized the Tolgee for Compose. See: [Jetpack Compose Installation](./installation.mdx) +# Usage (Compose Module) -Tolgee’s Jetpack Compose extensions let you fetch localized strings directly inside your composables. Below are the most common patterns you’ll use: +This guide shows you how to use the Tolgee Mobile SDK **Compose module** in your Jetpack Compose or Compose Multiplatform application. -* __Use `stringResource` for simple strings__ - retrieve a translation by its resource ID. +## Prerequisites + +Make sure you've completed the quickstart setup and initialized Tolgee for Compose. See: [Compose Quickstart](./installation.mdx) + +## Basic Usage + +Tolgee's Compose extensions let you fetch localized strings directly inside your composables. Below are the most common patterns you'll use: + +### Simple Strings + +Use `stringResource` for simple strings - retrieve a translation by its resource ID. ```kotlin @Composable @@ -16,7 +26,10 @@ fun SimpleText() { Text(text = stringResource(R.string.welcome_message)) } ``` -* __Pass parameters to translations__ - supply arguments for placeholders in your strings. + +### With Parameters + +Pass parameters to translations - supply arguments for placeholders in your strings. ```kotlin @Composable @@ -24,7 +37,10 @@ fun TextWithParameters(name: String) { Text(text = stringResource(R.string.welcome_user, name)) } ``` -* __Handle plurals with `pluralStringResource`__ - provide the count and any formatting args. + +### Plurals + +Handle plurals with `pluralStringResource` - provide the count and any formatting args. ```kotlin @Composable @@ -90,7 +106,8 @@ fun LocaleAwareComponent() { } ``` -## Next steps +## Next Steps -- Learn the basics with Views: [`Usage`](/android-sdk/usage) -- Problems? See [`Troubleshooting`](/android-sdk/jetpack/troubleshooting) +- **Using traditional Views?** See [Core Module Usage](/android-sdk/usage) +- **Production deployment?** Check [Production Guide](../production.mdx) +- **Having issues?** See [Troubleshooting](./troubleshooting.mdx) diff --git a/android-sdk/modules.mdx b/android-sdk/modules.mdx index 372aa8447..d88ea8e16 100644 --- a/android-sdk/modules.mdx +++ b/android-sdk/modules.mdx @@ -4,7 +4,7 @@ title: Modules overview description: Choose between Core and Compose based on your app architecture. --- -Tolgee Android SDK is split into modules so you only add what you need. +Tolgee Mobile SDK is split into modules so you only add what you need. ## When to use which module @@ -18,12 +18,13 @@ Tolgee Android SDK is split into modules so you only add what you need. - Adds localized composables and helpers (e.g., `stringResource`, `pluralStringResource`). - Requires `core` transitively. -> NOTE: -> The Gradle compiler plugin is not released yet and is not part of the current installation options. +:::warning +The Gradle compiler plugin is not released yet and is not part of the current installation options. +::: ## Installation snippets -Using a Version Catalog is recommended. +Using a **Version Catalog** is recommended. ```toml # gradle/libs.versions.toml diff --git a/android-sdk/production.mdx b/android-sdk/production.mdx index 2ec046ce4..d1a2755f7 100644 --- a/android-sdk/production.mdx +++ b/android-sdk/production.mdx @@ -4,7 +4,7 @@ title: Production guide description: OTA updates, caching, formatting, and deployment tips for shipping to production. --- -This guide summarizes recommendations for using Tolgee Android SDK in production. +This guide summarizes recommendations for using Tolgee Mobile SDK in production. ## Over‑the‑air (OTA) updates & caching diff --git a/android-sdk/installation.mdx b/android-sdk/quickstart.mdx similarity index 91% rename from android-sdk/installation.mdx rename to android-sdk/quickstart.mdx index 238f71058..04ffe3a5b 100644 --- a/android-sdk/installation.mdx +++ b/android-sdk/quickstart.mdx @@ -1,7 +1,7 @@ --- -id: installation -title: Installation -description: How to install Tolgee Android SDK in your Android project +id: quickstart +title: Quickstart +description: Quick start guide for Tolgee Mobile SDK with Core module (traditional Android Views) --- :::info @@ -22,7 +22,11 @@ For managing static translations, we recommend using [Tolgee CLI](https://github
-## Quickstart (Views) +# Quickstart (Core Module) + +This guide shows you how to integrate Tolgee Mobile SDK using the **Core module** for traditional Android Views. + +The **Core module** is a Kotlin Multiplatform library that provides runtime support for Tolgee translations in your app. With Tolgee, you can update your translations **over-the-air** without releasing a new app version. :::info Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. This provides **readability, centralization, and consistency**. @@ -57,7 +61,7 @@ For **smaller projects** you can also add dependency directly (the old way). ``` :::note -If you use **Jetpack Compose**, see the Compose variant: [Jetpack Installation](/android-sdk/jetpack/installation) +If you use **Jetpack Compose**, see the Compose variant: [Jetpack Quickstart](/android-sdk/jetpack/installation) ::: 2. (If needed) Ensure repositories include Maven Central: diff --git a/android-sdk/troubleshooting.mdx b/android-sdk/troubleshooting.mdx index fa9e0f819..5dc8377a7 100644 --- a/android-sdk/troubleshooting.mdx +++ b/android-sdk/troubleshooting.mdx @@ -1,7 +1,7 @@ --- id: troubleshooting title: Troubleshooting -description: Troubleshooting Tolgee Android SDK +description: Troubleshooting Tolgee Mobile SDK --- ## Translations Not Loading diff --git a/android-sdk/usage.mdx b/android-sdk/usage.mdx index 1641583cc..2de6ce0d5 100644 --- a/android-sdk/usage.mdx +++ b/android-sdk/usage.mdx @@ -1,12 +1,18 @@ --- id: usage -title: Usage -description: How to use Tolgee Android SDK in your Android application +title: Usage (Core Module) +description: How to use Tolgee Mobile SDK Core module in traditional Android Views applications --- -## Quickstart +# Usage (Core Module) -1) Ensure you have completed Installation and Initialization in your Application class. See: [Installation](./installation.mdx) +This guide shows you how to use the Tolgee Mobile SDK **Core module** in your traditional Android Views application. + +## Prerequisites + +1) Ensure you have completed the quickstart setup and initialization in your Application class. See: [Quickstart](./quickstart.mdx) + +## Basic Setup 2) Wrap your Activity context so Android resource lookups (getString, etc.) use Tolgee: @@ -18,8 +24,11 @@ class MyActivity : Activity() { } ``` -> TIP: -> If you use AppCompatActivity, the same approach applies. Wrap the base context in `attachBaseContext`. +:::tip +If you use AppCompatActivity, the same approach applies. Wrap the base context in `attachBaseContext`. +::: + +## Reactive UI Updates 3) (If preferred) Recreate the Activity when translations change: @@ -58,6 +67,8 @@ class MyActivity : Activity(), Tolgee.ChangeListener { } ``` +## Fetching Translations + 4) Fetch and display a translation with a safe fallback to your Android resources: ```kotlin @@ -66,7 +77,7 @@ val text = tolgee.t(context, R.string.string_key) textView.text = text ``` -## With Parameters +### With Parameters Provide arguments for placeholders in your strings: @@ -75,10 +86,20 @@ val textWithParams = tolgee.t(context, R.string.string_with_params, "param1", "p textView.text = textWithParams ``` -> TIP: -> Parameters map to Android-style placeholders in order (e.g., %1$s, %2$d). +:::tip +Parameters map to Android-style placeholders in order (e.g., %1$s, %2$d). +::: + +### Alternative Parameter Syntax -## Plurals +You can also use a map for named parameters: + +```kotlin +val textWithParams = tolgee.t("key_with_param", mapOf("param" to "value")) +textView.text = textWithParams +``` + +### Plurals Handle Android plurals via resources: @@ -87,10 +108,11 @@ val itemsText = tolgee.tPlural(context, R.plurals.items_count, count, count) textView.text = itemsText ``` -> NOTE: -> - The second `count` argument is the formatting parameter used inside the string (typical Android pattern when you want to show the number). -> - Tolgee resolves the key from your Android resource ID using `resources.getResourceEntryName`. Ensure the keys exist in Tolgee Platform as well. -> - Limitation: Only one plural per string is supported (Android plural resources). Nested or multiple plurals in a single string are not supported. +:::note +- The second `count` argument is the formatting parameter used inside the string (typical Android pattern when you want to show the number). +- Tolgee resolves the key from your Android resource ID using `resources.getResourceEntryName`. Ensure the keys exist in Tolgee Platform as well. +- Limitation: Only one plural per string is supported (Android plural resources). Nested or multiple plurals in a single string are not supported. +::: ## Language Switching @@ -109,8 +131,10 @@ val locale = tolgee.getLocale() Listen for changes: ```kotlin -tolgee.changeFlow.collect { - // Locale or available translations changed, update UI if needed +lifecycleScope.launch { + tolgee.changeFlow.collect { + // Locale or available translations changed, update UI if needed + } } ``` @@ -153,8 +177,9 @@ lifecycleScope.launch { } ``` -> TIP: -> `tFlow` updates when locale or available translations change. This can be used for live updates without the need for full activity recreate. +:::tip +`tFlow` updates when locale or available translations change. This can be used for live updates without the need for full activity recreate. +::: ## Obtaining a Tolgee instance @@ -166,17 +191,16 @@ val tolgee = Tolgee.instance For DI or testing, you can hold a reference you created during initialization and pass it around explicitly. -## Reactive UI updates - -If your UI should react to translation/locale changes, subscribe to `changeFlow` and update state accordingly. See Compose examples in [Jetpack Compose Usage](./jetpack/usage.mdx). - -## Best practices +## Best Practices -- **Preload** translations in `onStart` for Activities or when a Fragment becomes visible. -- **Avoid blocking calls** on the main thread; use flows for reactivity. -- **Keep keys in sync** between Android resources and Tolgee Platform. +- **Preload** translations in `onStart` for Activities or when a Fragment becomes visible +- **Avoid blocking calls** on the main thread; use flows for reactivity +- **Keep keys in sync** between Android resources and Tolgee Platform +- **Use context wrapping** for automatic translation updates +- **Subscribe to changeFlow** for reactive UI updates when needed -## Next steps +## Next Steps -- Using Compose? Continue with [Jetpack Compose Usage](./jetpack/usage.mdx) -- Problems? See [Troubleshooting](./troubleshooting.mdx) +- **Using Compose?** Continue with [Jetpack Compose Usage](./jetpack/usage.mdx) +- **Production deployment?** See [Production Guide](./production.mdx) +- **Having issues?** Check [Troubleshooting](./troubleshooting.mdx) diff --git a/sidebarAndroidSdk.js b/sidebarAndroidSdk.js index 6a412c585..d4f1d15d2 100644 --- a/sidebarAndroidSdk.js +++ b/sidebarAndroidSdk.js @@ -8,7 +8,7 @@ module.exports = { type: 'doc', id: 'get-started', }, - items: ['installation', 'modules'], + items: ['quickstart', 'modules'], }, 'usage', { diff --git a/src/component/FeatureGrid.tsx b/src/component/FeatureGrid.tsx new file mode 100644 index 000000000..3a863172c --- /dev/null +++ b/src/component/FeatureGrid.tsx @@ -0,0 +1,70 @@ +import React from 'react'; +import Heading from '@theme/Heading'; + +interface Feature { + emoji: string; + title: string; + description: string; + colorTheme: 'blue' | 'green' | 'purple' | 'orange'; +} + +interface FeatureGridProps { + features: Feature[]; +} + +const colorClasses = { + blue: { + bg: 'bg-gradient-to-br from-blue-50 to-blue-100 dark:from-blue-900/20 dark:to-blue-800/20', + border: 'border-gray-200 dark:border-gray-700', + title: 'text-blue-800 dark:text-blue-200', + text: 'text-blue-700 dark:text-blue-300', + }, + green: { + bg: 'bg-gradient-to-br from-green-50 to-green-100 dark:from-green-900/20 dark:to-green-800/20', + border: 'border-gray-200 dark:border-gray-700', + title: 'text-green-800 dark:text-green-200', + text: 'text-green-700 dark:text-green-300', + }, + purple: { + bg: 'bg-gradient-to-br from-purple-50 to-purple-100 dark:from-purple-900/20 dark:to-purple-800/20', + border: 'border-gray-200 dark:border-gray-700', + title: 'text-purple-800 dark:text-purple-200', + text: 'text-purple-700 dark:text-purple-300', + }, + orange: { + bg: 'bg-gradient-to-br from-orange-50 to-orange-100 dark:from-orange-900/20 dark:to-orange-800/20', + border: 'border-gray-200 dark:border-gray-700', + title: 'text-orange-800 dark:text-orange-200', + text: 'text-orange-700 dark:text-orange-300', + }, +}; + +export default function FeatureGrid({ features }: FeatureGridProps) { + return ( +
+ {features.map((feature, index) => { + const colors = colorClasses[feature.colorTheme]; + return ( +
+
+ {feature.emoji} + + {feature.title} + +
+
+
+ ); + })} +
+ ); +} From 4a88a73938a98250d76fcf2212fabf248c3c49fa Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Mon, 15 Sep 2025 12:43:55 +0200 Subject: [PATCH 03/41] Update --- android-sdk/about.mdx | 18 +++--------------- android-sdk/get-started.mdx | 6 +++--- android-sdk/jetpack/installation.mdx | 4 ++++ android-sdk/jetpack/overview.mdx | 8 ++++---- android-sdk/quickstart.mdx | 4 ++++ android-sdk/troubleshooting.mdx | 2 +- platform/faq.mdx | 2 +- platform/formats/android_xml.mdx | 2 +- .../getting_started/translation_content.mdx | 4 ++-- sidebarAndroidSdk.js | 12 +++--------- src/component/SystemCard.tsx | 9 ++++++--- 11 files changed, 32 insertions(+), 39 deletions(-) diff --git a/android-sdk/about.mdx b/android-sdk/about.mdx index 38eab95c6..d46f6b583 100644 --- a/android-sdk/about.mdx +++ b/android-sdk/about.mdx @@ -17,15 +17,9 @@ For managing static translations in your repository, consider using the [Tolgee ## Overview -Tolgee Mobile SDK for Android and Compose Multiplatform lets you localize Kotlin-based applications with dynamic content delivery, providing translations dynamically without needing to publish new app versions. +Tolgee Mobile SDK for **Android** and **Compose Multiplatform** lets you localize Kotlin-based applications with **dynamic content delivery**, providing translations dynamically without needing to publish new app versions. -**Supports Over‑the‑Air (OTA)** translation updates, seamless integration with Android Views, Jetpack Compose, Compose Multiplatform, and static translation fallbacks. - -## Why should you try it? - -Tolgee platform lets you ship translations and new languages faster and easier without a new app build. - -The platform works offline with caching, fallbacks to static translation resources when needed, and preloading critical namespaces for a smooth user experience. Additionally, Tolgee keeps UX consistent by updating the UI automatically in response to translation or locale changes. These features result in fewer untranslated or mismatched strings of text. +**Supports Over‑the‑Air (OTA)** translation updates, seamless integration with **Android Views**, **Jetpack Compose**, **Compose Multiplatform**, and **static translation fallbacks**. ## Features @@ -78,12 +72,6 @@ The platform works offline with caching, fallbacks to static translation resourc />
-## Compatibility - -:::note -To build configuration examples use Kotlin DSL (build.gradle.kts). Groovy DSL may work but is not officially supported/tested. -::: - ## Get Started Ready to integrate Tolgee into your Android project? @@ -94,7 +82,7 @@ Ready to integrate Tolgee into your Android project? emoji="🚀" description="Complete step-by-step setup guide with installation, modules, and implementation choices" links={[ - { href: "./get-started", label: "Start Here", color: "blue" } + { href: "/android-sdk/get-started", label: "Start Here", color: "blue" } ]} />
diff --git a/android-sdk/get-started.mdx b/android-sdk/get-started.mdx index d0ffe2c73..88762c085 100644 --- a/android-sdk/get-started.mdx +++ b/android-sdk/get-started.mdx @@ -48,7 +48,7 @@ Follow these steps to integrate Tolgee into your Android project and start local emoji="🚀" description="Modern declarative UI with reactive translations" links={[ - { href: "/android-sdk/jetpack/overview", label: "Overview", color: "blue" }, + { href: "/android-sdk/jetpack", label: "Overview", color: "blue" }, { href: "/android-sdk/jetpack/installation", label: "Installation", color: "green" }, { href: "/android-sdk/jetpack/usage", label: "Usage", color: "orange" } ]} @@ -99,5 +99,5 @@ After completing the setup, your app will have: ## Need Help? - **Manage translations collaboratively**: Connect your app to the Tolgee Platform — [Platform docs](../platform/) -- **Troubleshooting**: Common issues and diagnostics — [Troubleshooting](./troubleshooting.mdx) -- **Demo Apps**: Complete example implementations — [Demo Apps](./about#demo-apps) +- **Troubleshooting**: Common issues and diagnostics — [Troubleshooting](./troubleshooting) +- **Demo Apps**: Complete example implementations — [Demo Apps](/android-sdk#demo-apps) diff --git a/android-sdk/jetpack/installation.mdx b/android-sdk/jetpack/installation.mdx index cc5434a46..511d7de16 100644 --- a/android-sdk/jetpack/installation.mdx +++ b/android-sdk/jetpack/installation.mdx @@ -32,6 +32,10 @@ For managing static translations, we recommend using [Tolgee CLI](https://github Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. This provides **readability, centralization, and consistency**. ::: +:::note +To build configuration examples use Kotlin DSL (build.gradle.kts). Groovy DSL may work but is not officially supported/tested. +::: + 1. Add dependency (Compose): In `gradle/libs.versions.toml` add an alias for Tolgee Compose library. diff --git a/android-sdk/jetpack/overview.mdx b/android-sdk/jetpack/overview.mdx index 2db534afd..5e8bd94a2 100644 --- a/android-sdk/jetpack/overview.mdx +++ b/android-sdk/jetpack/overview.mdx @@ -32,7 +32,7 @@ Transform your Jetpack Compose or Compose Multiplatform app with dynamic transla emoji="📦" description="Set up Tolgee Compose dependencies and configuration" links={[ - { href: "./installation", label: "Install Guide", color: "blue" } + { href: "/android-sdk/jetpack/installation", label: "Install Guide", color: "blue" } ]} /> @@ -98,13 +98,13 @@ Explore our complete Jetpack Compose demo to see all features in action: ## Integration Path -1. **[Quickstart](./installation)** - Add Compose-specific dependencies +1. **[Quickstart](/android-sdk/jetpack/installation)** - Add Compose-specific dependencies 2. **[Usage Patterns](./usage)** - Learn Compose integration patterns -3. **[Production Setup](../production)** - Configure for deployment +3. **[Production Setup](/android-sdk/production)** - Configure for deployment 4. **[Troubleshooting](./troubleshooting)** - Resolve integration issues ## Need Help? - Check our **[Troubleshooting Guide](./troubleshooting)** for Compose-specific issues - Explore the **[Complete Demo](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack)** for implementation examples -- Review **[Production Guide](../production)** for deployment best practices +- Review **[Production Guide](/android-sdk/production)** for deployment best practices diff --git a/android-sdk/quickstart.mdx b/android-sdk/quickstart.mdx index 04ffe3a5b..474a560ee 100644 --- a/android-sdk/quickstart.mdx +++ b/android-sdk/quickstart.mdx @@ -32,6 +32,10 @@ The **Core module** is a Kotlin Multiplatform library that provides runtime supp Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. This provides **readability, centralization, and consistency**. ::: +:::note +To build configuration examples use Kotlin DSL (build.gradle.kts). Groovy DSL may work but is not officially supported/tested. +::: + 1. Add dependency (Core): In `gradle/libs.versions.toml` add an alias for Tolgee library. diff --git a/android-sdk/troubleshooting.mdx b/android-sdk/troubleshooting.mdx index 5dc8377a7..245b0a522 100644 --- a/android-sdk/troubleshooting.mdx +++ b/android-sdk/troubleshooting.mdx @@ -56,7 +56,7 @@ Expect HTTP 200. For 403/404, re‑copy the prefix and check project permissions ## Useful links -- Installation: [Installation](./installation.mdx) +- Installation: [Quickstart](./quickstart.mdx) - Usage (Views): [Usage](./usage.mdx) - Jetpack Compose: [Installation](./jetpack/installation.mdx), [Usage](./jetpack/usage.mdx) - CLI for static strings: [Tolgee CLI](/tolgee-cli/installation) diff --git a/platform/faq.mdx b/platform/faq.mdx index 520b5bb54..8f2fa0de7 100644 --- a/platform/faq.mdx +++ b/platform/faq.mdx @@ -32,7 +32,7 @@ Yes. Tolgee provides a native [iOS SDK](/ios-sdk) that integrates with your app Yes. Tolgee provides a native [Android SDK](/android-sdk) that integrates with your app and supports Jetpack Compose. -- Get started: [Installation](/android-sdk/installation) +- Get started: [Quickstart](/android-sdk/quickstart) - Use translations: [Usage](/android-sdk/usage) - Compose UI: [Jetpack Compose](/android-sdk/jetpack/installation) - File format details: [Android Resources XML](/platform/formats/android_xml) diff --git a/platform/formats/android_xml.mdx b/platform/formats/android_xml.mdx index 523a8e9ff..8a78c1d55 100644 --- a/platform/formats/android_xml.mdx +++ b/platform/formats/android_xml.mdx @@ -86,7 +86,7 @@ Tolgee.init { See also: -- Android SDK: [Installation](/android-sdk/installation) · [Usage](/android-sdk/usage) · [Jetpack Compose](/android-sdk/jetpack/installation) +- Android SDK: [Quickstart](/android-sdk/quickstart) · [Usage](/android-sdk/usage) · [Jetpack Compose](/android-sdk/jetpack/installation) ## Array support When importing data to Tolgee from the Android XML files, the array elements are converted into flat keys with diff --git a/platform/getting_started/translation_content.mdx b/platform/getting_started/translation_content.mdx index e9d9ce877..1dbddc413 100644 --- a/platform/getting_started/translation_content.mdx +++ b/platform/getting_started/translation_content.mdx @@ -38,8 +38,8 @@ Tolgee provides a native [iOS SDK](/ios-sdk) with a great support for SwiftUI th Tolgee also provides an [Android SDK](/android-sdk) for native Android apps, including Jetpack Compose support. Follow the Android docs to: -- Install and initialize the SDK: [Installation](/android-sdk/installation) +- Install and initialize the SDK: [Quickstart](/android-sdk/quickstart) - Use translations in Views and handle plurals/parameters: [Usage](/android-sdk/usage) - Use localized composables: [Jetpack Compose](/android-sdk/jetpack/installation) -In production, configure content delivery (CDN) using the Android [Installation](/android-sdk/installation) and [Production guide](/android-sdk/production), and preload data as needed. +In production, configure content delivery (CDN) using the Android [Quickstart](/android-sdk/quickstart) and [Production guide](/android-sdk/production), and preload data as needed. diff --git a/sidebarAndroidSdk.js b/sidebarAndroidSdk.js index d4f1d15d2..05cf5e80c 100644 --- a/sidebarAndroidSdk.js +++ b/sidebarAndroidSdk.js @@ -1,15 +1,9 @@ module.exports = { someSidebar: [ 'about', - { - type: 'category', - label: 'Get started', - link: { - type: 'doc', - id: 'get-started', - }, - items: ['quickstart', 'modules'], - }, + 'get-started', + 'quickstart', + 'modules', 'usage', { type: 'category', diff --git a/src/component/SystemCard.tsx b/src/component/SystemCard.tsx index 232a523cf..f84d60812 100644 --- a/src/component/SystemCard.tsx +++ b/src/component/SystemCard.tsx @@ -15,9 +15,12 @@ interface SystemCardProps { const colorClasses = { blue: 'bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200 hover:bg-blue-200 dark:hover:bg-blue-800', - green: 'bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200 hover:bg-green-200 dark:hover:bg-green-800', - orange: 'bg-orange-100 dark:bg-orange-900 text-orange-800 dark:text-orange-200 hover:bg-orange-200 dark:hover:bg-orange-800', - purple: 'bg-purple-100 dark:bg-purple-900 text-purple-800 dark:text-purple-200 hover:bg-purple-200 dark:hover:bg-purple-800', + green: + 'bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200 hover:bg-green-200 dark:hover:bg-green-800', + orange: + 'bg-orange-100 dark:bg-orange-900 text-orange-800 dark:text-orange-200 hover:bg-orange-200 dark:hover:bg-orange-800', + purple: + 'bg-purple-100 dark:bg-purple-900 text-purple-800 dark:text-purple-200 hover:bg-purple-200 dark:hover:bg-purple-800', cyan: 'bg-cyan-100 dark:bg-cyan-900 text-cyan-800 dark:text-cyan-200 hover:bg-cyan-200 dark:hover:bg-cyan-800', }; From 4a92aedd6f459d3074d68089439ea0b33eef4b6f Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Mon, 15 Sep 2025 16:00:20 +0200 Subject: [PATCH 04/41] docs: simplify demo sections by replacing SystemCard components with markdown headings and links --- android-sdk/about.mdx | 30 +++++++++++------------------- android-sdk/jetpack/overview.mdx | 13 +++---------- 2 files changed, 14 insertions(+), 29 deletions(-) diff --git a/android-sdk/about.mdx b/android-sdk/about.mdx index d46f6b583..4730d154e 100644 --- a/android-sdk/about.mdx +++ b/android-sdk/about.mdx @@ -52,25 +52,17 @@ Tolgee Mobile SDK for **Android** and **Compose Multiplatform** lets you localiz ## Demo apps -
- - - -
+### 📱 Android Views Demo +Complete example implementation using Android Views +- [https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid) + +### 🚀 Jetpack Compose Demo +Complete example implementation using Jetpack Compose +- [https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack) + +### 🌐 Compose Multiplatform Demo +Complete example implementation using Compose Multiplatform +- [https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplecomposemultiplatform](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplecomposemultiplatform) ## Get Started diff --git a/android-sdk/jetpack/overview.mdx b/android-sdk/jetpack/overview.mdx index 5e8bd94a2..66cd202a5 100644 --- a/android-sdk/jetpack/overview.mdx +++ b/android-sdk/jetpack/overview.mdx @@ -85,16 +85,9 @@ Tolgee integrates with Compose's state system to ensure UI updates happen automa Explore our complete Jetpack Compose demo to see all features in action: -
- -
+### 🚀 Jetpack Compose Demo +Complete example implementation with all Compose features +- [https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack) ## Integration Path From c33fdc4d65f5b97c492aa5df0e6f212ac7516453 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Tue, 16 Sep 2025 12:53:35 +0200 Subject: [PATCH 05/41] docs: reorganize Android SDK docs and merge modules into overview section --- android-sdk/about.mdx | 27 ++++++++-- android-sdk/get-started.mdx | 50 ++++++++----------- android-sdk/jetpack/installation.mdx | 2 +- android-sdk/modules.mdx | 66 ------------------------ android-sdk/quickstart.mdx | 75 ++++++++++++++-------------- sidebarAndroidSdk.js | 1 - 6 files changed, 84 insertions(+), 137 deletions(-) delete mode 100644 android-sdk/modules.mdx diff --git a/android-sdk/about.mdx b/android-sdk/about.mdx index 4730d154e..57d56011e 100644 --- a/android-sdk/about.mdx +++ b/android-sdk/about.mdx @@ -7,7 +7,6 @@ description: Overview of Tolgee Mobile SDK with Over‑the‑Air (OTA) localizat import SystemCard from '@site/src/component/SystemCard'; import FeatureGrid from '@site/src/component/FeatureGrid'; -import Tolgee from '@site/src/component/Tolgee'; # Tolgee Mobile SDK @@ -17,9 +16,15 @@ For managing static translations in your repository, consider using the [Tolgee ## Overview -Tolgee Mobile SDK for **Android** and **Compose Multiplatform** lets you localize Kotlin-based applications with **dynamic content delivery**, providing translations dynamically without needing to publish new app versions. +Tolgee Mobile SDK for **Android** and **Compose Multiplatform** lets you localize Kotlin-based applications with **dynamic content delivery**, adapting content to user behavior, preferences, and device data. -**Supports Over‑the‑Air (OTA)** translation updates, seamless integration with **Android Views**, **Jetpack Compose**, **Compose Multiplatform**, and **static translation fallbacks**. +**Supports Over‑the‑Air (OTA)** translation updates, providing translations dynamically **without needing to publish new app versions**. + +The platform works offline with **caching**, **fallbacks**, **device-aware resource selection**, and **preloading** of critical namespaces for a smooth user experience. Tolgee **keeps UX consistent** by updating the UI automatically in response to locale changes, resulting in **fewer untranslated or mismatched strings**. + +:::info +Tolgee gives you multiple hosting options: Cloud CDN (Cloud or self‑hosting) or your own CDN. +::: ## Features @@ -50,6 +55,22 @@ Tolgee Mobile SDK for **Android** and **Compose Multiplatform** lets you localiz } ]} /> + +## Modules + +Tolgee Mobile SDK is split into modules so you only add what you need. + +### When to use which module +- **Core** + - Use with traditional Android Views or any non-Compose UI. + - Provides content delivery (CDN), key lookup, formatting (Sprintf/ICU), caching. + - Start here if you don't use Jetpack Compose. +- **Compose** + - Use with Jetpack Compose or Compose Multiplatform. + - Adds localized composables and helpers (e.g., stringResource, pluralStringResource). + - Requires core transitively. + + ## Demo apps ### 📱 Android Views Demo diff --git a/android-sdk/get-started.mdx b/android-sdk/get-started.mdx index 88762c085..4f3a86c9b 100644 --- a/android-sdk/get-started.mdx +++ b/android-sdk/get-started.mdx @@ -18,29 +18,15 @@ Follow these steps to integrate Tolgee into your Android project and start local title="Quickstart" emoji="📦" description="Set up dependencies and network security configuration" - links={[ - { href: "./quickstart", label: "Quickstart Guide", color: "blue" } - ]} - /> - -
## Integration Path -1. **[Quickstart](./quickstart)** - Add Tolgee SDK to your project -2. **[Modules Overview](./modules)** - Understand Core vs Compose modules -3. **Choose your implementation** (see cards below) -4. **[Production Setup](./production)** - Configure for production deployment +### 1. **[Quickstart](./quickstart)** - Add Tolgee SDK to your project -## Choose Your Implementation +### 2. **Choose your implementation**
- + - +
+### 3. **[Production guide](./production)** - Configure for production deployment + +:::warning +The Gradle compiler plugin is not released yet and is not part of the current installation options. +::: + ## What You'll Achieve After completing the setup, your app will have: @@ -90,9 +84,7 @@ After completing the setup, your app will have: title="Production Guide" emoji="🚀" description="Over‑the‑Air (OTA) updates, caching, formatting, and testing for production apps" - links={[ - { href: "./production", label: "Production Setup", color: "blue" } - ]} + links={[{ href: './production', label: 'Production Setup', color: 'blue' }]} /> diff --git a/android-sdk/jetpack/installation.mdx b/android-sdk/jetpack/installation.mdx index 511d7de16..0e08c0e16 100644 --- a/android-sdk/jetpack/installation.mdx +++ b/android-sdk/jetpack/installation.mdx @@ -161,5 +161,5 @@ If you have a different integration setup (for example, using tolgee-cli and bun ## Next steps - Learn how to use translations in Compose: [`Usage`](./usage.mdx) -- Not sure which module to use? See [`Modules overview`](../modules.mdx) +- Not sure which module to use? See [`Modules overview`](../about.mdx) - Having issues? Check [`Troubleshooting`](./troubleshooting.mdx) \ No newline at end of file diff --git a/android-sdk/modules.mdx b/android-sdk/modules.mdx deleted file mode 100644 index d88ea8e16..000000000 --- a/android-sdk/modules.mdx +++ /dev/null @@ -1,66 +0,0 @@ ---- -id: modules -title: Modules overview -description: Choose between Core and Compose based on your app architecture. ---- - -Tolgee Mobile SDK is split into modules so you only add what you need. - -## When to use which module - -- **Core** - - Use with traditional Android Views or any non-Compose UI. - - Provides content delivery (CDN), key lookup, formatting (Sprintf/ICU), caching. - - Start here if you don't use Jetpack Compose. - -- **Compose** - - Use with Jetpack Compose or Compose Multiplatform. - - Adds localized composables and helpers (e.g., `stringResource`, `pluralStringResource`). - - Requires `core` transitively. - -:::warning -The Gradle compiler plugin is not released yet and is not part of the current installation options. -::: - -## Installation snippets - -Using a **Version Catalog** is recommended. - -```toml -# gradle/libs.versions.toml -[libraries] -tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "core", version.ref = "tolgee" } -``` - -```kotlin -// build.gradle.kts (Core) -dependencies { - implementation(libs.tolgee) -} -``` - -For Compose, use the `compose` artifact instead of `core`: - -```toml -# gradle/libs.versions.toml -[libraries] -tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "compose", version.ref = "tolgee" } -``` - -```kotlin -// build.gradle.kts (Compose) -dependencies { - implementation(libs.tolgee) -} -``` - - -## Demos - -- Views: https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/HEAD/demo/exampleandroid -- Compose: https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/HEAD/demo/examplejetpack -- Compose Multiplatform: https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/HEAD/demo/multiplatform-compose - -## Next steps - -- Ship confidently: [Production guide](./production.mdx) diff --git a/android-sdk/quickstart.mdx b/android-sdk/quickstart.mdx index 474a560ee..72c9c0594 100644 --- a/android-sdk/quickstart.mdx +++ b/android-sdk/quickstart.mdx @@ -1,6 +1,6 @@ --- id: quickstart -title: Quickstart +title: Quickstart (Core Module) description: Quick start guide for Tolgee Mobile SDK with Core module (traditional Android Views) --- @@ -15,21 +15,21 @@ For managing static translations, we recommend using [Tolgee CLI](https://github
📱
-

Android API Level

+

Android API Level

Minimum API Level 21+ (Android 5.0 and above)

-# Quickstart (Core Module) +# Quickstart This guide shows you how to integrate Tolgee Mobile SDK using the **Core module** for traditional Android Views. The **Core module** is a Kotlin Multiplatform library that provides runtime support for Tolgee translations in your app. With Tolgee, you can update your translations **over-the-air** without releasing a new app version. :::info -Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. This provides **readability, centralization, and consistency**. +Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. This provides **readability, centralization, and consistency**. ::: :::note @@ -38,34 +38,34 @@ To build configuration examples use Kotlin DSL (build.gradle.kts). Groovy DSL ma 1. Add dependency (Core): - In `gradle/libs.versions.toml` add an alias for Tolgee library. +In `gradle/libs.versions.toml` add an alias for Tolgee library. - ```toml - # gradle/libs.versions.toml - [libraries] - tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "core", version.ref = "tolgee" } - ``` +```toml +# gradle/libs.versions.toml +[libraries] +tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "core", version.ref = "tolgee" } +``` -Then, in `build.gradle.kts`, use the created alias. +Then, in `build.gradle.kts`, use the created alias. - ```kotlin - // build.gradle.kts (module) - dependencies { - implementation(libs.tolgee) - } - ``` +```kotlin +// build.gradle.kts (module) +dependencies { + implementation(libs.tolgee) +} +``` For **smaller projects** you can also add dependency directly (the old way). - ```kotlin - // build.gradle.kts - dependencies { - implementation("io.tolgee.mobile-kotlin-sdk:core:tolgee") - } - ``` +```kotlin +// build.gradle.kts +dependencies { + implementation("io.tolgee.mobile-kotlin-sdk:core:tolgee") +} +``` :::note -If you use **Jetpack Compose**, see the Compose variant: [Jetpack Quickstart](/android-sdk/jetpack/installation) +If you use **Jetpack Compose**, see the Compose variant: [Jetpack Compose -> Quickstart](/android-sdk/jetpack/installation) ::: 2. (If needed) Ensure repositories include Maven Central: @@ -75,12 +75,14 @@ If you use **Jetpack Compose**, see the Compose variant: [Jetpack Quickstart](/a pluginManagement { repositories { gradlePluginPortal(); google(); mavenCentral() } } dependencyResolutionManagement { repositories { google(); mavenCentral() } } ``` + To use the library, **you need to have proper repositories configured** in your project. Otherwise an error like: ```text Could not find io.tolgee.mobile-kotlin-sdk:core ``` + might pop up. Make sure **Maven Central** is set up properly so the dependency can be resolved. @@ -106,7 +108,7 @@ Add network security config to your `AndroidManifest.xml`: ``` -:::note +:::info Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. If you only access your own self-hosted CDN, include your domain(s) accordingly. ::: @@ -130,13 +132,14 @@ class MyApplication : Application() { When your app boots up, Tolgee is globally initialized. The translations are downloaded from CDN and cached locally. Other parts of your app (such as activities and fragments) can now use Tolgee without additional configuration. -***Make sure that your app knows where to download translations***: +**_Make sure that your app knows where to download translations_**: For your app to download translation files, you need to provide a CDN URL prefix specific to your project. This prefix points to the catalog that contains your app’s translations. ### How to get your CDN URL prefix (Content Delivery): + 1. Open Tolgee Platform → your Project → Developer settings → Content Delivery. -2. Copy the full CDN URL prefix. +2. Copy the full CDN URL prefix. 3. You can use different prefixes per environment (dev/staging/prod). ### Optional: Verify connectivity locally: @@ -145,31 +148,29 @@ For your app to download translation files, you need to provide a CDN URL prefix curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" ``` -You should receive a 200 response. +You should receive a 200 response. If you get 403 (Forbidden) or 404 (Not found), double‑check the prefix. :::tip Dynamic updates without republishing ::: -To receive fresh translations without needing to publish new app versions, wrap the base context in your Activities. -This way, APIs like getString() will use Tolgee dynamically. +To receive **fresh translations without needing to publish new app versions**, wrap the base context in your Activities. +This way, APIs like getString will use Tolgee **dynamically**. -- With wrapped context → fresh translations from the Tolgee CDN will be provided automatically. +- **With wrapped context** → fresh translations from the Tolgee CDN will be provided automatically. -- Without wrapped context → only the translations already bundled or previously cached will be available. +- **Without wrapped context** → only the translations already bundled or previously cached will be available. -See the step-by-step guide in Usage. +**See the step-by-step guide in Usage.** -:::note +:::info If you have a different integration setup (for example, using tolgee-cli and bundling JSON translation files in assets), the initialization may look different. ::: - ## Next steps -- Not sure which artifact to use? See [`Modules overview`](./modules.mdx) +- Not sure which artifact to use? See ['overview`](./about.mdx) - Learn how to fetch and render translations in Views: [`Usage`](./usage.mdx) - Using Compose? Start here: [`Jetpack Installation`](./jetpack/installation.mdx) - Having issues? Check [`Troubleshooting`](./troubleshooting.mdx) - diff --git a/sidebarAndroidSdk.js b/sidebarAndroidSdk.js index 05cf5e80c..5d72f9063 100644 --- a/sidebarAndroidSdk.js +++ b/sidebarAndroidSdk.js @@ -3,7 +3,6 @@ module.exports = { 'about', 'get-started', 'quickstart', - 'modules', 'usage', { type: 'category', From 456ff63b421130aa8983b25486c13f220853e245 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Thu, 18 Sep 2025 20:43:29 +0200 Subject: [PATCH 06/41] docs: enhance Android SDK documentation with detailed features and usage examples --- android-sdk/about.mdx | 46 +++----- android-sdk/quickstart.mdx | 36 +++--- android-sdk/usage.mdx | 228 ++++++++++++++++++++----------------- 3 files changed, 158 insertions(+), 152 deletions(-) diff --git a/android-sdk/about.mdx b/android-sdk/about.mdx index 57d56011e..824455f74 100644 --- a/android-sdk/about.mdx +++ b/android-sdk/about.mdx @@ -26,36 +26,6 @@ The platform works offline with **caching**, **fallbacks**, **device-aware resou Tolgee gives you multiple hosting options: Cloud CDN (Cloud or self‑hosting) or your own CDN. ::: -## Features - -Sprintf (Android SDK) formatting
ICU (Tolgee Native Flat JSON) formatting', - colorTheme: 'green' - }, - { - emoji: '⚡', - title: 'Compose integration', - description: 'Full integration with Jetpack Compose and Compose Multiplatform', - colorTheme: 'purple' - }, - { - emoji: '🌐', - title: 'Kotlin Multiplatform', - description: 'Designed with multiplatform support in mind', - colorTheme: 'orange' - } -]} /> - - ## Modules Tolgee Mobile SDK is split into modules so you only add what you need. @@ -65,11 +35,27 @@ Tolgee Mobile SDK is split into modules so you only add what you need. - Use with traditional Android Views or any non-Compose UI. - Provides content delivery (CDN), key lookup, formatting (Sprintf/ICU), caching. - Start here if you don't use Jetpack Compose. + + - **Compose** - Use with Jetpack Compose or Compose Multiplatform. - Adds localized composables and helpers (e.g., stringResource, pluralStringResource). - Requires core transitively. +### Features +- **Core** + - **Over-the-air updates**: Update your translations without releasing a new app version. + - **Multiple format support**: Sprintf (Android SDK) formatting, ICU (Tolgee Native Flat JSON) formatting. + - **Kotlin Multiplatform**: Designed with multiplatform support in mind. + - **Android integration**: Seamless integration with Android resources. + - **Dynamic locale switching**: Change languages at runtime. + + - **Compose** + - **Compose Integration**: Use Tolgee translations in your Compose UI with familiar APIs. + - **Android Resource Support**: Seamless integration with Android string resources. + - **Parameter Support**: Pass parameters to your translations. + - **Plural Support**: Handles plural forms. + - **Reactive Updates**: UI automatically updates when translations or locale change. ## Demo apps diff --git a/android-sdk/quickstart.mdx b/android-sdk/quickstart.mdx index 72c9c0594..bf38efcc0 100644 --- a/android-sdk/quickstart.mdx +++ b/android-sdk/quickstart.mdx @@ -142,7 +142,26 @@ For your app to download translation files, you need to provide a CDN URL prefix 2. Copy the full CDN URL prefix. 3. You can use different prefixes per environment (dev/staging/prod). -### Optional: Verify connectivity locally: +:::info +If you have a different integration setup (for example, using tolgee-cli and bundling JSON translation files in assets), the initialization may look different. +::: + +### Other Platforms + +For non-Android platforms, initialization is similar but without the Android-specific storage provider: + +```kotlin +fun initTolgee() { + Tolgee.init { + contentDelivery { + url = "https://cdn.tolg.ee/your-cdn-url-prefix" + // Create a custom storage provider for caching the latest translations from CDN if needed + } + } +} +``` + +### **Optional**: Verify connectivity locally: ```bash curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" @@ -152,20 +171,7 @@ You should receive a 200 response. If you get 403 (Forbidden) or 404 (Not found), double‑check the prefix. :::tip -Dynamic updates without republishing -::: - -To receive **fresh translations without needing to publish new app versions**, wrap the base context in your Activities. -This way, APIs like getString will use Tolgee **dynamically**. - -- **With wrapped context** → fresh translations from the Tolgee CDN will be provided automatically. - -- **Without wrapped context** → only the translations already bundled or previously cached will be available. - -**See the step-by-step guide in Usage.** - -:::info -If you have a different integration setup (for example, using tolgee-cli and bundling JSON translation files in assets), the initialization may look different. +Dynamic updates without republishing. See the step-by-step guide in [**Usage**](./usage.mdx). ::: ## Next steps diff --git a/android-sdk/usage.mdx b/android-sdk/usage.mdx index 2de6ce0d5..6efcea50c 100644 --- a/android-sdk/usage.mdx +++ b/android-sdk/usage.mdx @@ -6,198 +6,212 @@ description: How to use Tolgee Mobile SDK Core module in traditional Android Vie # Usage (Core Module) -This guide shows you how to use the Tolgee Mobile SDK **Core module** in your traditional Android Views application. - ## Prerequisites -1) Ensure you have completed the quickstart setup and initialization in your Application class. See: [Quickstart](./quickstart.mdx) - -## Basic Setup - -2) Wrap your Activity context so Android resource lookups (getString, etc.) use Tolgee: +Ensure you have completed the quickstart setup and initialization in your Application class. See: [Quickstart](./quickstart.mdx) +## Basic Usage +### Get the global Tolgee instance: ```kotlin -class MyActivity : Activity() { - override fun attachBaseContext(newBase: Context?) { - super.attachBaseContext(TolgeeContextWrapper.wrap(newBase)) - } -} +val tolgee = Tolgee.instance ``` +From now on you can use: +- translations: (`tolgee.t`("key"), `tolgee.tFlow`("key")), +- change system: (`tolgee.changeFlow`), +- locale changes:(`tolgee.setLanguage`("cs")). -:::tip -If you use AppCompatActivity, the same approach applies. Wrap the base context in `attachBaseContext`. -::: - -## Reactive UI Updates - -3) (If preferred) Recreate the Activity when translations change: +## Getting Translations +### 1. One time translations: ```kotlin -class MyActivity : Activity() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - val tolgee = Tolgee.instance - lifecycleScope.launch { - tolgee.changeFlow.collect { - // Locale or translations changed - recreate() - } - } - } -} +val text: String? = tolgee.t("key") ``` -or using good old listener: +Returns null if isn’t loaded yet (e.g.,SDK hasn't downloaded data) -```kotlin -class MyActivity : Activity(), Tolgee.ChangeListener { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - tolgee.addChangeListener(this) - } +Returns string when loaded. - override fun onDestroy() { - super.onDestroy() - tolgee.removeChangeListener(this) - } - - override fun onTranslationsChanged() { - recreate() - } -} -``` +**Use for simple/static text** (e. g., error messages, titles). -## Fetching Translations -4) Fetch and display a translation with a safe fallback to your Android resources: +### Get a translation with fallback to Android resources ```kotlin -val tolgee = Tolgee.instance val text = tolgee.t(context, R.string.string_key) -textView.text = text ``` -### With Parameters +:::info +Fallbacks provide a safety net in case of any problems with loading the translation or pulling from Android resources. +::: -Provide arguments for placeholders in your strings: +### 2. Translation with parameters: ```kotlin -val textWithParams = tolgee.t(context, R.string.string_with_params, "param1", "param2") -textView.text = textWithParams +val textWithParams: String? = tolgee.t("key_with_param", mapOf("param" to "value")) ``` -:::tip -Parameters map to Android-style placeholders in order (e.g., %1$s, %2$d). +***Use for translation with dynamic values.*** Add data that changes during the app's runtime (e.g., dates, numbers, usernames). + +:::tip +Android-style strings, placeholders follow Sprintf order (e.g., %1$s, %2$d). ::: -### Alternative Parameter Syntax +### Get a translation with fallback to Android resources with parameters -You can also use a map for named parameters: +val textWithParams = tolgee.t(context, R.string.string_with_params, "param1", "param2") + +### Semi-dynamic updates for classic Views + +:::Info +To receive fresh translations without needing to publish new app versions follow these steps: +::: + +a) Wrap your Activity context so Android resource lookups use Tolgee: ```kotlin -val textWithParams = tolgee.t("key_with_param", mapOf("param" to "value")) -textView.text = textWithParams +class MyActivity : Activity() { + override fun attachBaseContext(newBase: Context?) { + super.attachBaseContext(TolgeeContextWrapper.wrap(newBase)) + } +} ``` -### Plurals +b) Trigger a UI refresh when locale/translations change: -Handle Android plurals via resources: +```kotlin +lifecycleScope.launch { + tolgee.changeFlow.collect { + recreate() // reloads the Activity, Views get fresh translations + } +} +``` +Combining those two approaches gives **semi-dynamic behavior**: translations update after an Activity reload, not instantly. These methods can be used with ways mentioned above (**a one-time translation** and **translations with parameters**). + +### 3. Get dynamic (reactive) translations. ```kotlin -val itemsText = tolgee.tPlural(context, R.plurals.items_count, count, count) -textView.text = itemsText +val textFlow: Flow = tolgee.tFlow("key") +textFlow.collect { text -> + // Use the text (e.g., update UI) +} ``` -:::note -- The second `count` argument is the formatting parameter used inside the string (typical Android pattern when you want to show the number). -- Tolgee resolves the key from your Android resource ID using `resources.getResourceEntryName`. Ensure the keys exist in Tolgee Platform as well. -- Limitation: Only one plural per string is supported (Android plural resources). Nested or multiple plurals in a single string are not supported. -::: +**Use for reactive UI.** Translations update **immediately and automatically** whenever the language or CDN data changes. + +### Get a reactive translation with fallback to Android resources -## Language Switching -Set locale: +val textFlow = tolgee.tFlow(context, R.string.string_key) + +:::tip +In Compose, use `collectAsState()` function for a more idiomatic integration. See more in [**Jetpack Compose Usage**](./jetpack/usage.mdx). +::: + +## Locale Management +### 1. Set the locale manually. ```kotlin tolgee.setLocale("en") ``` -Get current locale: +**Use when your app lets users pick a locale.** + +:::tip +Combine this with `recreate()` after language changes. This reloads your Activity and ensures Views show updated translations. +::: + + +### 2. Get the current locale ```kotlin val locale = tolgee.getLocale() ``` -Listen for changes: +**Use for checking what locale is working currently.** +Handy for displaying the current locale, debugging, or syncing with app/system settings. + +### 3. Listen for locale/translation changes ```kotlin lifecycleScope.launch { tolgee.changeFlow.collect { - // Locale or available translations changed, update UI if needed + // locale or available translations changed } } ``` +**Use for building dynamically updated UI.** +Enables you to create UI that stays in sync with locale changes and new translations. + +## Plurals + +:::info +Tolgee advantage: keeps plural rules and translations in sync across languages, without you needing to hardcode them. +::: +```kotlin +Handle Android plurals via resources: +val itemsText = tolgee.tPlural(context, R.plurals.items_count, count, count) +textView.text = itemsText +``` + +***Use for lists, counters, notifications** — any situation where the grammar changes with quantity. ## Advanced Configuration ### Formatter Configuration +**Choose how placeholders are parsed and rendered.** +Use when you have translations with placeholders, SDK must know how to exchange the placeholders for wanted values. +**Example**: "`Hello %s`" or"`You have {count} items`" -Configure formatters for parsing translations from CDN: - +1. Sprintf (default – Android style) ```kotlin Tolgee.init { contentDelivery { url = "https://cdn.tolg.ee/your-cdn-url-prefix" - format(Tolgee.Formatter.Sprintf) // Android SDK formatting (default) - // format(Tolgee.Formatter.ICU) // Tolgee Native Flat JSON formatting + format(Tolgee.Formatter.Sprintf) } } ``` -### Preloading Translations - -Preload translations for the current locale from Activity: +**Use for easy scenarios**, when you are using classic formatters (`%s, %d, %1$s`). +2. ICU (advanced) ```kotlin -override fun onStart() { - super.onStart() - tolgee.preload(this) +Tolgee.init { + contentDelivery { + url = "https://cdn.tolg.ee/your-cdn-url-prefix" + format(Tolgee.Formatter.ICU) + } } ``` -### Reactive lookups with tFlow +**Use for more advanced translations**, when you need formatters like (**few, may, female, complex lingual principles**). -You can also use `tFlow` to reactively update a specific string when translations change: +## Preload translations for the current locale from Activity ```kotlin -lifecycleScope.launch { - tolgee.tFlow(context, R.string.string_key).collect { text -> - textView.text = text - } +override fun onStart() { + super.onStart() + tolgee.preload(this) } ``` -:::tip -`tFlow` updates when locale or available translations change. This can be used for live updates without the need for full activity recreate. -::: +Improves perceived performance and avoids empty/late. +**Use for UI’s where the translations are critical (e.g., login, onboarding).** -## Obtaining a Tolgee instance +## Example Projects -Most apps use the singleton: +**For complete examples of how to use the Tolgee Core module**, check out the demo projects: -```kotlin -val tolgee = Tolgee.instance -``` - -For DI or testing, you can hold a reference you created during initialization and pass it around explicitly. +**Example Android**- https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid . ## Best Practices -- **Preload** translations in `onStart` for Activities or when a Fragment becomes visible -- **Avoid blocking calls** on the main thread; use flows for reactivity -- **Keep keys in sync** between Android resources and Tolgee Platform -- **Use context wrapping** for automatic translation updates -- **Subscribe to changeFlow** for reactive UI updates when needed +- **Preload translations** in `onStart`/Fragment visibility → prevents blank UI. +- **Avoid main-thread blocking**; use Flows → keeps UI responsive. +- **Keep keys in sync** between Android resources and Tolgee → avoids fallback issues. +- **Wrap context** in Activities → automatic updates in classic Views. +- **Subscribe to `changeFlow`** → enables fully reactive UIs. + ## Next Steps From acfed4b2cc698dfaacc59c7633b74ed6ae04ded3 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Fri, 19 Sep 2025 12:07:23 +0200 Subject: [PATCH 07/41] docs: update references from Tolgee Mobile SDK to Tolgee Android SDK across documentation --- android-sdk/about.mdx | 35 ++++++++----- android-sdk/get-started.mdx | 17 ++++--- android-sdk/jetpack/installation.mdx | 48 ++++++++++++++---- android-sdk/jetpack/overview.mdx | 27 ++++++---- android-sdk/jetpack/troubleshooting.mdx | 5 +- android-sdk/jetpack/usage.mdx | 67 ++++++++++++++++++++++--- android-sdk/production.mdx | 2 +- android-sdk/quickstart.mdx | 19 +++++-- android-sdk/troubleshooting.mdx | 4 +- android-sdk/usage.mdx | 60 +++++++++++++--------- 10 files changed, 201 insertions(+), 83 deletions(-) diff --git a/android-sdk/about.mdx b/android-sdk/about.mdx index 824455f74..36e8a1b4d 100644 --- a/android-sdk/about.mdx +++ b/android-sdk/about.mdx @@ -2,13 +2,13 @@ id: about title: Overview slug: / -description: Overview of Tolgee Mobile SDK with Over‑the‑Air (OTA) localization updates for Android and Compose Multiplatform. +description: Overview of Tolgee Android SDK with Over‑the‑Air (OTA) localization updates for Android and Compose Multiplatform. --- import SystemCard from '@site/src/component/SystemCard'; import FeatureGrid from '@site/src/component/FeatureGrid'; -# Tolgee Mobile SDK +# Tolgee Android SDK :::info For managing static translations in your repository, consider using the [Tolgee CLI](/tolgee-cli/installation). @@ -16,7 +16,7 @@ For managing static translations in your repository, consider using the [Tolgee ## Overview -Tolgee Mobile SDK for **Android** and **Compose Multiplatform** lets you localize Kotlin-based applications with **dynamic content delivery**, adapting content to user behavior, preferences, and device data. +Tolgee Android SDK for **Android** and **Compose Multiplatform** lets you localize Kotlin-based applications with **dynamic content delivery**, adapting content to user behavior, preferences, and device data. **Supports Over‑the‑Air (OTA)** translation updates, providing translations dynamically **without needing to publish new app versions**. @@ -28,52 +28,61 @@ Tolgee gives you multiple hosting options: Cloud CDN (Cloud or self‑hosting) o ## Modules -Tolgee Mobile SDK is split into modules so you only add what you need. +Tolgee Android SDK is split into modules so you only add what you need. ### When to use which module + - **Core** + - Use with traditional Android Views or any non-Compose UI. - Provides content delivery (CDN), key lookup, formatting (Sprintf/ICU), caching. - Start here if you don't use Jetpack Compose. - - **Compose** - Use with Jetpack Compose or Compose Multiplatform. - Adds localized composables and helpers (e.g., stringResource, pluralStringResource). - Requires core transitively. ### Features + - **Core** + - **Over-the-air updates**: Update your translations without releasing a new app version. - **Multiple format support**: Sprintf (Android SDK) formatting, ICU (Tolgee Native Flat JSON) formatting. - **Kotlin Multiplatform**: Designed with multiplatform support in mind. - **Android integration**: Seamless integration with Android resources. - **Dynamic locale switching**: Change languages at runtime. - - **Compose** - - **Compose Integration**: Use Tolgee translations in your Compose UI with familiar APIs. - - **Android Resource Support**: Seamless integration with Android string resources. - - **Parameter Support**: Pass parameters to your translations. - - **Plural Support**: Handles plural forms. - - **Reactive Updates**: UI automatically updates when translations or locale change. +- **Compose** + - **Compose Integration**: Use Tolgee translations in your Compose UI with familiar APIs. + - **Android Resource Support**: Seamless integration with Android string resources. + - **Parameter Support**: Pass parameters to your translations. + - **Plural Support**: Handles plural forms. + - **Reactive Updates**: UI automatically updates when translations or locale change. ## Demo apps ### 📱 Android Views Demo + Complete example implementation using Android Views + - [https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid) ### 🚀 Jetpack Compose Demo + Complete example implementation using Jetpack Compose + - [https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack) ### 🌐 Compose Multiplatform Demo + Complete example implementation using Compose Multiplatform + - [https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplecomposemultiplatform](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplecomposemultiplatform) ## Get Started -Ready to integrate Tolgee into your Android project? +Ready to integrate Tolgee into your Android project?
diff --git a/android-sdk/get-started.mdx b/android-sdk/get-started.mdx index 4f3a86c9b..e94c151f2 100644 --- a/android-sdk/get-started.mdx +++ b/android-sdk/get-started.mdx @@ -2,12 +2,12 @@ id: get-started title: Get Started slug: /get-started -description: Quick start guide for integrating Tolgee Mobile SDK into your project +description: Quick start guide for integrating Tolgee Android SDK into your project --- import SystemCard from '@site/src/component/SystemCard'; -# Get Started with Tolgee Mobile SDK +# Get Started with Tolgee Android SDK Follow these steps to integrate Tolgee into your Android project and start localizing your app with **dynamic translations**. @@ -44,12 +44,13 @@ Follow these steps to integrate Tolgee into your Android project and start local ]} /> - +{' '} + 📱
-

Android API Level

-

Minimum API Level 21+ (Android 5.0 and above)

+

+ Android API Level +

+

+ Minimum{' '} + + API Level 21+ + {' '} + (Android 5.0 and above) +

@@ -58,7 +70,7 @@ dependencies { For **smaller projects** you can also add dependency directly (the old way). ```kotlin -// build.gradle.kts +// build.gradle.kts dependencies { implementation("io.tolgee.mobile-kotlin-sdk:compose:tolgee") } @@ -75,12 +87,14 @@ If you use **traditional Android Views**, see the Core variant: [Core Quickstart pluginManagement { repositories { gradlePluginPortal(); google(); mavenCentral() } } dependencyResolutionManagement { repositories { google(); mavenCentral() } } ``` + To use the library, **you need to have proper repositories configured** in your project. Otherwise an error like: ```text Could not find io.tolgee.mobile-kotlin-sdk:compose ``` + might pop up. Make sure **Maven Central** is set up properly so the dependency can be resolved. @@ -114,6 +128,8 @@ Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud C Initialize Tolgee in your `Application` class. +### Android (Jetpack Compose) + ```kotlin class MyApplication : Application() { override fun onCreate() { @@ -128,15 +144,29 @@ class MyApplication : Application() { } ``` +### Multiplatform + +```kotlin +fun initTolgee() { + Tolgee.init { + contentDelivery { + url = "https://cdn.tolg.ee/your-cdn-url-prefix" + // Create a custom storage provider for caching the latest translations from CDN if needed + } + } +} +``` + When your app boots up, Tolgee is globally initialized. The translations are downloaded from CDN and cached locally. Your Compose components can now use Tolgee without additional configuration. -***Make sure that your app knows where to download translations***: +**_Make sure that your app knows where to download translations_**: For your app to download translation files, you need to provide a CDN URL prefix specific to your project. This prefix points to the catalog that contains your app's translations. ### How to get your CDN URL prefix (Content Delivery): + 1. Open Tolgee Platform → your Project → Developer settings → Content Delivery. -2. Copy the full CDN URL prefix. +2. Copy the full CDN URL prefix. 3. You can use different prefixes per environment (dev/staging/prod). ### Optional: Verify connectivity locally: @@ -145,7 +175,7 @@ For your app to download translation files, you need to provide a CDN URL prefix curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" ``` -You should receive a 200 response. +You should receive a 200 response. If you get 403 (Forbidden) or 404 (Not found), double‑check the prefix. :::tip @@ -162,4 +192,4 @@ If you have a different integration setup (for example, using tolgee-cli and bun - Learn how to use translations in Compose: [`Usage`](./usage.mdx) - Not sure which module to use? See [`Modules overview`](../about.mdx) -- Having issues? Check [`Troubleshooting`](./troubleshooting.mdx) \ No newline at end of file +- Having issues? Check [`Troubleshooting`](./troubleshooting.mdx) diff --git a/android-sdk/jetpack/overview.mdx b/android-sdk/jetpack/overview.mdx index 66cd202a5..a96c147e0 100644 --- a/android-sdk/jetpack/overview.mdx +++ b/android-sdk/jetpack/overview.mdx @@ -2,14 +2,14 @@ id: overview title: Compose Module Overview slug: /jetpack -description: Overview of Tolgee Mobile SDK Compose module for Jetpack Compose and Compose Multiplatform +description: Overview of Tolgee Android SDK Compose module for Jetpack Compose and Compose Multiplatform --- import SystemCard from '@site/src/component/SystemCard'; # Compose Module -Tolgee Mobile SDK **Compose module** provides first-class support for Jetpack Compose and Compose Multiplatform, enabling dynamic translations in modern applications with reactive UI updates. +Tolgee Android SDK **Compose module** provides first-class support for Jetpack Compose and Compose Multiplatform, enabling dynamic translations in modern applications with reactive UI updates. ## Why Choose Tolgee for Compose? @@ -18,7 +18,7 @@ Transform your Jetpack Compose or Compose Multiplatform app with dynamic transla ### Key Benefits - ✅ **Reactive Updates**: Translations update automatically when language changes -- ✅ **Compose-Native**: Built specifically for Compose architecture patterns +- ✅ **Compose-Native**: Built specifically for Compose architecture patterns - ✅ **State Management**: Integrates seamlessly with Compose state systems - ✅ **Performance**: Optimized for Compose recomposition cycles - ✅ **Over-the-Air**: Push translation updates without app store releases @@ -32,25 +32,27 @@ Transform your Jetpack Compose or Compose Multiplatform app with dynamic transla emoji="📦" description="Set up Tolgee Compose dependencies and configuration" links={[ - { href: "/android-sdk/jetpack/installation", label: "Install Guide", color: "blue" } + { + href: '/android-sdk/jetpack/installation', + label: 'Install Guide', + color: 'blue', + }, ]} /> - + - + @@ -69,7 +71,7 @@ Transform your Jetpack Compose or Compose Multiplatform app with dynamic transla @Composable fun MyScreen() { val text by tolgeeStringResource("welcome_message") - + Text(text = text) // Automatically updates when language changes } ``` @@ -77,6 +79,7 @@ fun MyScreen() { ### State Integration Tolgee integrates with Compose's state system to ensure UI updates happen automatically when: + - Language is changed at runtime - New translations are downloaded - Fallback resources are loaded @@ -86,7 +89,9 @@ Tolgee integrates with Compose's state system to ensure UI updates happen automa Explore our complete Jetpack Compose demo to see all features in action: ### 🚀 Jetpack Compose Demo + Complete example implementation with all Compose features + - [https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack) ## Integration Path diff --git a/android-sdk/jetpack/troubleshooting.mdx b/android-sdk/jetpack/troubleshooting.mdx index 00b622e0b..9ee6f7de2 100644 --- a/android-sdk/jetpack/troubleshooting.mdx +++ b/android-sdk/jetpack/troubleshooting.mdx @@ -1,12 +1,12 @@ --- id: troubleshooting title: Troubleshooting (Compose Module) -description: Troubleshooting Tolgee Mobile SDK Compose module for Jetpack Compose and Compose Multiplatform +description: Troubleshooting Tolgee Android SDK Compose module for Jetpack Compose and Compose Multiplatform --- # Troubleshooting (Compose Module) -Common issues and solutions when using the Tolgee Mobile SDK **Compose module**. +Common issues and solutions when using the Tolgee Android SDK **Compose module**. ## Translations Not Updating @@ -45,4 +45,3 @@ curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" - Views troubleshooting: [/android-sdk/troubleshooting](/android-sdk/troubleshooting) - Installation (Compose): [Installation](./installation.mdx) - Usage (Compose): [Usage](./usage.mdx) - diff --git a/android-sdk/jetpack/usage.mdx b/android-sdk/jetpack/usage.mdx index 390882d62..963bd4e1c 100644 --- a/android-sdk/jetpack/usage.mdx +++ b/android-sdk/jetpack/usage.mdx @@ -1,12 +1,12 @@ --- id: usage title: Usage (Compose Module) -description: How to use Tolgee Mobile SDK Compose module in Jetpack Compose and Compose Multiplatform applications +description: How to use Tolgee Android SDK Compose module in Jetpack Compose and Compose Multiplatform applications --- # Usage (Compose Module) -This guide shows you how to use the Tolgee Mobile SDK **Compose module** in your Jetpack Compose or Compose Multiplatform application. +This guide shows you how to use the Tolgee Android SDK **Compose module** in your Jetpack Compose or Compose Multiplatform application. ## Prerequisites @@ -14,11 +14,11 @@ Make sure you've completed the quickstart setup and initialized Tolgee for Compo ## Basic Usage -Tolgee's Compose extensions let you fetch localized strings directly inside your composables. Below are the most common patterns you'll use: +Tolgee's Compose extensions let you fetch localized strings directly inside your composables. -### Simple Strings +### 1. Simple Strings -Use `stringResource` for simple strings - retrieve a translation by its resource ID. +- **Jetpack Compose** ```kotlin @Composable @@ -27,10 +27,27 @@ fun SimpleText() { } ``` -### With Parameters +- **Compose Multiplatform** + +```kotlin +@Composable +fun SimpleText() { + Text(text = stringResource(Res.string.welcome_message)) +} +``` + +:::info +In the Compose Multiplatform use `stringResource` extension function with `Res`. +::: + +Use `stringResource` for **simple strings** (e. g., error messages, titles) - retrieve a translation by its resource ID. + +### 2. With Parameters Pass parameters to translations - supply arguments for placeholders in your strings. +- **Jetpack Compose** + ```kotlin @Composable fun TextWithParameters(name: String) { @@ -38,10 +55,27 @@ fun TextWithParameters(name: String) { } ``` -### Plurals +- **Compose Multiplatform** + +```kotlin +@Composable +fun TextWithParameters(name: String) { + Text(text = stringResource(Res.string.welcome_user, name)) +} +``` + +Use for translation with **dynamic values**. Add data that changes during the app's runtime (e.g., dates, numbers, usernames). + +:::tip +Android-style strings, placeholders follow Sprintf order (e.g., %1$s, %2$d). +::: + +### 3. Plurals Handle plurals with `pluralStringResource` - provide the count and any formatting args. +- **Jetpack Compose** + ```kotlin @Composable fun PluralText(count: Int) { @@ -49,6 +83,18 @@ fun PluralText(count: Int) { } ``` +- **Compose Multiplatform** + +```kotlin +@Composable +fun PluralText(count: Int) { + // Handle plural forms + Text(text = pluralStringResource(Res.plurals.item_count, count, count)) +} +``` + +**Use for lists, counters, notifications** — any situation where the grammar changes with quantity. + ## Explicit Tolgee Instance If you need to use a specific Tolgee instance (not the singleton), you can pass it explicitly: @@ -62,6 +108,8 @@ fun ExplicitInstance() { } ``` +Handy when you need **more than one instance** (multiple projects/CDNs), when following **dependency injection** patterns (dependencies are “injected”, not created inside classes), and or **during testing/previews**. + ## Locale Switching You can create a locale switcher component: @@ -89,6 +137,9 @@ fun LocaleSwitcher() { } ``` +Handy for apps, where “**choose language**” option is available, you want to use **Over‑the‑Air (OTA) translation updates** (translations refresh automatically when locale or content changes), and during **testing/debugging**. +Most often used in **settings screens, onboarding flows, or debug menus** - anytime you want to allow **runtime language switching**. + ## Observing Locale Changes Collecting `Tolgee.changeFlow` as state ensures your composable recomposes whenever the locale changes, keeping the UI in sync with the active language. @@ -106,6 +157,8 @@ fun LocaleAwareComponent() { } ``` +Handy for **observing locale changes** in real time, **keeping track of current locale**, **showing chosen language** in app, **reactively updating translations** whenever user switches the language. + ## Next Steps - **Using traditional Views?** See [Core Module Usage](/android-sdk/usage) diff --git a/android-sdk/production.mdx b/android-sdk/production.mdx index d1a2755f7..2ec046ce4 100644 --- a/android-sdk/production.mdx +++ b/android-sdk/production.mdx @@ -4,7 +4,7 @@ title: Production guide description: OTA updates, caching, formatting, and deployment tips for shipping to production. --- -This guide summarizes recommendations for using Tolgee Mobile SDK in production. +This guide summarizes recommendations for using Tolgee Android SDK in production. ## Over‑the‑air (OTA) updates & caching diff --git a/android-sdk/quickstart.mdx b/android-sdk/quickstart.mdx index bf38efcc0..ee2d31b70 100644 --- a/android-sdk/quickstart.mdx +++ b/android-sdk/quickstart.mdx @@ -1,7 +1,7 @@ --- id: quickstart title: Quickstart (Core Module) -description: Quick start guide for Tolgee Mobile SDK with Core module (traditional Android Views) +description: Quick start guide for Tolgee Android SDK with Core module (traditional Android Views) --- :::info @@ -15,8 +15,19 @@ For managing static translations, we recommend using [Tolgee CLI](https://github
📱
-

Android API Level

-

Minimum API Level 21+ (Android 5.0 and above)

+

+ Android API Level +

+

+ Minimum{' '} + + API Level 21+ + {' '} + (Android 5.0 and above) +

@@ -24,7 +35,7 @@ For managing static translations, we recommend using [Tolgee CLI](https://github # Quickstart -This guide shows you how to integrate Tolgee Mobile SDK using the **Core module** for traditional Android Views. +This guide shows you how to integrate Tolgee Android SDK using the **Core module** for traditional Android Views. The **Core module** is a Kotlin Multiplatform library that provides runtime support for Tolgee translations in your app. With Tolgee, you can update your translations **over-the-air** without releasing a new app version. diff --git a/android-sdk/troubleshooting.mdx b/android-sdk/troubleshooting.mdx index 245b0a522..d1a55ae39 100644 --- a/android-sdk/troubleshooting.mdx +++ b/android-sdk/troubleshooting.mdx @@ -1,7 +1,7 @@ --- id: troubleshooting title: Troubleshooting -description: Troubleshooting Tolgee Mobile SDK +description: Troubleshooting Tolgee Android SDK --- ## Translations Not Loading @@ -41,6 +41,7 @@ Expect HTTP 200. For 403/404, re‑copy the prefix and check project permissions ### Common error messages and fixes - java.net.UnknownServiceException: CLEARTEXT communication to `` not permitted + - Cause: Required domain(s) are using plain http and are not allowed in network security config. - Fix: Add domains to res/xml/network_security.xml and reference it from AndroidManifest via android:networkSecurityConfig. @@ -60,4 +61,3 @@ Expect HTTP 200. For 403/404, re‑copy the prefix and check project permissions - Usage (Views): [Usage](./usage.mdx) - Jetpack Compose: [Installation](./jetpack/installation.mdx), [Usage](./jetpack/usage.mdx) - CLI for static strings: [Tolgee CLI](/tolgee-cli/installation) - diff --git a/android-sdk/usage.mdx b/android-sdk/usage.mdx index 6efcea50c..8098030e3 100644 --- a/android-sdk/usage.mdx +++ b/android-sdk/usage.mdx @@ -1,7 +1,7 @@ --- id: usage title: Usage (Core Module) -description: How to use Tolgee Mobile SDK Core module in traditional Android Views applications +description: How to use Tolgee Android SDK Core module in traditional Android Views applications --- # Usage (Core Module) @@ -11,16 +11,21 @@ description: How to use Tolgee Mobile SDK Core module in traditional Android Vie Ensure you have completed the quickstart setup and initialization in your Application class. See: [Quickstart](./quickstart.mdx) ## Basic Usage + ### Get the global Tolgee instance: + ```kotlin val tolgee = Tolgee.instance ``` + From now on you can use: + - translations: (`tolgee.t`("key"), `tolgee.tFlow`("key")), - change system: (`tolgee.changeFlow`), - locale changes:(`tolgee.setLanguage`("cs")). ## Getting Translations + ### 1. One time translations: ```kotlin @@ -33,7 +38,6 @@ Returns string when loaded. **Use for simple/static text** (e. g., error messages, titles). - ### Get a translation with fallback to Android resources ```kotlin @@ -50,15 +54,17 @@ Fallbacks provide a safety net in case of any problems with loading the translat val textWithParams: String? = tolgee.t("key_with_param", mapOf("param" to "value")) ``` -***Use for translation with dynamic values.*** Add data that changes during the app's runtime (e.g., dates, numbers, usernames). +**_Use for translation with dynamic values._** Add data that changes during the app's runtime (e.g., dates, numbers, usernames). -:::tip +:::tip Android-style strings, placeholders follow Sprintf order (e.g., %1$s, %2$d). ::: ### Get a translation with fallback to Android resources with parameters +```kotlin val textWithParams = tolgee.t(context, R.string.string_with_params, "param1", "param2") +``` ### Semi-dynamic updates for classic Views @@ -85,6 +91,7 @@ lifecycleScope.launch { } } ``` + Combining those two approaches gives **semi-dynamic behavior**: translations update after an Activity reload, not instantly. These methods can be used with ways mentioned above (**a one-time translation** and **translations with parameters**). ### 3. Get dynamic (reactive) translations. @@ -96,19 +103,33 @@ textFlow.collect { text -> } ``` -**Use for reactive UI.** Translations update **immediately and automatically** whenever the language or CDN data changes. +**Use for reactive UI.** Translations update **immediately and automatically** whenever the language or CDN data changes. ### Get a reactive translation with fallback to Android resources - val textFlow = tolgee.tFlow(context, R.string.string_key) :::tip In Compose, use `collectAsState()` function for a more idiomatic integration. See more in [**Jetpack Compose Usage**](./jetpack/usage.mdx). ::: +## Plurals + +:::info +Tolgee advantage: keeps plural rules and translations in sync across languages, without you needing to hardcode them. +::: + +```kotlin +Handle Android plurals via resources: +val itemsText = tolgee.tPlural(context, R.plurals.items_count, count, count) +textView.text = itemsText +``` + +**Use for lists, counters, notifications** — any situation where the grammar changes with quantity. + ## Locale Management -### 1. Set the locale manually. + +### 1. Set the locale manually. ```kotlin tolgee.setLocale("en") @@ -120,7 +141,6 @@ tolgee.setLocale("en") Combine this with `recreate()` after language changes. This reloads your Activity and ensures Views show updated translations. ::: - ### 2. Get the current locale ```kotlin @@ -139,35 +159,25 @@ lifecycleScope.launch { } } ``` -**Use for building dynamically updated UI.** -Enables you to create UI that stays in sync with locale changes and new translations. -## Plurals - -:::info -Tolgee advantage: keeps plural rules and translations in sync across languages, without you needing to hardcode them. -::: -```kotlin -Handle Android plurals via resources: -val itemsText = tolgee.tPlural(context, R.plurals.items_count, count, count) -textView.text = itemsText -``` - -***Use for lists, counters, notifications** — any situation where the grammar changes with quantity. +**Use for building dynamically updated UI.** +Enables you to create UI that stays in sync with locale changes and new translations. ## Advanced Configuration ### Formatter Configuration + **Choose how placeholders are parsed and rendered.** Use when you have translations with placeholders, SDK must know how to exchange the placeholders for wanted values. **Example**: "`Hello %s`" or"`You have {count} items`" 1. Sprintf (default – Android style) + ```kotlin Tolgee.init { contentDelivery { url = "https://cdn.tolg.ee/your-cdn-url-prefix" - format(Tolgee.Formatter.Sprintf) + format(Tolgee.Formatter.Sprintf) } } ``` @@ -175,11 +185,12 @@ Tolgee.init { **Use for easy scenarios**, when you are using classic formatters (`%s, %d, %1$s`). 2. ICU (advanced) + ```kotlin Tolgee.init { contentDelivery { url = "https://cdn.tolg.ee/your-cdn-url-prefix" - format(Tolgee.Formatter.ICU) + format(Tolgee.Formatter.ICU) } } ``` @@ -212,7 +223,6 @@ Improves perceived performance and avoids empty/late. - **Wrap context** in Activities → automatic updates in classic Views. - **Subscribe to `changeFlow`** → enables fully reactive UIs. - ## Next Steps - **Using Compose?** Continue with [Jetpack Compose Usage](./jetpack/usage.mdx) From 014eb1ef335f035facd9a006e2e8377bad5c5913 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Fri, 19 Sep 2025 12:20:46 +0200 Subject: [PATCH 08/41] docs: improve Maven Central configuration instructions and error handling guidance --- android-sdk/jetpack/installation.mdx | 22 +++++----------------- android-sdk/quickstart.mdx | 22 +++++----------------- android-sdk/usage.mdx | 2 +- 3 files changed, 11 insertions(+), 35 deletions(-) diff --git a/android-sdk/jetpack/installation.mdx b/android-sdk/jetpack/installation.mdx index 86769b38e..e64464635 100644 --- a/android-sdk/jetpack/installation.mdx +++ b/android-sdk/jetpack/installation.mdx @@ -20,19 +20,8 @@ For managing static translations, we recommend using [Tolgee CLI](https://github
📱
-

- Android API Level -

-

- Minimum{' '} - - API Level 21+ - {' '} - (Android 5.0 and above) -

+

Android API Level

+

Minimum API Level 21+ (Android 5.0 and above)

@@ -88,15 +77,14 @@ pluginManagement { repositories { gradlePluginPortal(); google(); mavenCentral() dependencyResolutionManagement { repositories { google(); mavenCentral() } } ``` -To use the library, **you need to have proper repositories configured** in your project. -Otherwise an error like: +Make sure your repositories are configured to include **Maven Central** for dependency resolution. +If you encounter an error like: ```text Could not find io.tolgee.mobile-kotlin-sdk:compose ``` -might pop up. -Make sure **Maven Central** is set up properly so the dependency can be resolved. +verify that Maven Central is included in your repository configuration. 3. Allow CDN networking (required when using Tolgee Cloud CDN): diff --git a/android-sdk/quickstart.mdx b/android-sdk/quickstart.mdx index ee2d31b70..be5b19624 100644 --- a/android-sdk/quickstart.mdx +++ b/android-sdk/quickstart.mdx @@ -15,19 +15,8 @@ For managing static translations, we recommend using [Tolgee CLI](https://github
📱
-

- Android API Level -

-

- Minimum{' '} - - API Level 21+ - {' '} - (Android 5.0 and above) -

+

Android API Level

+

Minimum API Level 21+ (Android 5.0 and above)

@@ -87,15 +76,14 @@ pluginManagement { repositories { gradlePluginPortal(); google(); mavenCentral() dependencyResolutionManagement { repositories { google(); mavenCentral() } } ``` -To use the library, **you need to have proper repositories configured** in your project. -Otherwise an error like: +Make sure your repositories are configured to include **Maven Central** for dependency resolution. +If you encounter an error like: ```text Could not find io.tolgee.mobile-kotlin-sdk:core ``` -might pop up. -Make sure **Maven Central** is set up properly so the dependency can be resolved. +verify that Maven Central is included in your repository configuration. 3. Allow CDN networking (required when using Tolgee Cloud CDN): diff --git a/android-sdk/usage.mdx b/android-sdk/usage.mdx index 8098030e3..61d371dd3 100644 --- a/android-sdk/usage.mdx +++ b/android-sdk/usage.mdx @@ -68,7 +68,7 @@ val textWithParams = tolgee.t(context, R.string.string_with_params, "param1", "p ### Semi-dynamic updates for classic Views -:::Info +:::info To receive fresh translations without needing to publish new app versions follow these steps: ::: From a2a4e66c26d1463b652ba59d394c77884503c3c1 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Fri, 19 Sep 2025 12:24:27 +0200 Subject: [PATCH 09/41] fix: correct syntax and method names in Android SDK usage documentation --- android-sdk/usage.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android-sdk/usage.mdx b/android-sdk/usage.mdx index 61d371dd3..362574314 100644 --- a/android-sdk/usage.mdx +++ b/android-sdk/usage.mdx @@ -20,9 +20,9 @@ val tolgee = Tolgee.instance From now on you can use: -- translations: (`tolgee.t`("key"), `tolgee.tFlow`("key")), +- translations: (`tolgee.t("key")`, `tolgee.tFlow("key")`), - change system: (`tolgee.changeFlow`), -- locale changes:(`tolgee.setLanguage`("cs")). +- locale changes: (`tolgee.setLocale("cs")`). ## Getting Translations From 210e7e7e742fd4bea8b4ba5e152731e70c247667 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Fri, 19 Sep 2025 12:24:49 +0200 Subject: [PATCH 10/41] docs: fix bullet point formatting in Android SDK usage examples --- android-sdk/usage.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/android-sdk/usage.mdx b/android-sdk/usage.mdx index 362574314..9a99d21d1 100644 --- a/android-sdk/usage.mdx +++ b/android-sdk/usage.mdx @@ -20,9 +20,9 @@ val tolgee = Tolgee.instance From now on you can use: -- translations: (`tolgee.t("key")`, `tolgee.tFlow("key")`), -- change system: (`tolgee.changeFlow`), -- locale changes: (`tolgee.setLocale("cs")`). +- translations: `tolgee.t("key")`, `tolgee.tFlow("key")`, +- change system: `tolgee.changeFlow`, +- locale changes: `tolgee.setLocale("cs")`. ## Getting Translations From 52a26aa636e444096cc30678dec4ad29eaf5e3c6 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Sun, 21 Sep 2025 13:42:04 +0200 Subject: [PATCH 11/41] docs: update instructions for adding CDN URL prefix in Quickstart and Troubleshooting guides --- android-sdk/jetpack/installation.mdx | 6 +- android-sdk/jetpack/troubleshooting.mdx | 83 ++++++++++++++++++------- android-sdk/quickstart.mdx | 2 +- 3 files changed, 64 insertions(+), 27 deletions(-) diff --git a/android-sdk/jetpack/installation.mdx b/android-sdk/jetpack/installation.mdx index e64464635..03e20c20f 100644 --- a/android-sdk/jetpack/installation.mdx +++ b/android-sdk/jetpack/installation.mdx @@ -39,7 +39,7 @@ To build configuration examples use Kotlin DSL (build.gradle.kts). Groovy DSL ma 1. Add dependency (Compose): -In `gradle/libs.versions.toml` add an alias for Tolgee Compose library. +In `gradle/libs.versions.toml` **add an alias for Tolgee Compose library**. ```toml # gradle/libs.versions.toml @@ -47,7 +47,7 @@ In `gradle/libs.versions.toml` add an alias for Tolgee Compose library. tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "compose", version.ref = "tolgee" } ``` -Then, in `build.gradle.kts`, use the created alias. +Then, in `build.gradle.kts`, **use the created alias**. ```kotlin // build.gradle.kts (module) @@ -153,7 +153,7 @@ For your app to download translation files, you need to provide a CDN URL prefix ### How to get your CDN URL prefix (Content Delivery): -1. Open Tolgee Platform → your Project → Developer settings → Content Delivery. +1. Open Tolgee Platform → your Project → Developer settings → Content Delivery(Add). 2. Copy the full CDN URL prefix. 3. You can use different prefixes per environment (dev/staging/prod). diff --git a/android-sdk/jetpack/troubleshooting.mdx b/android-sdk/jetpack/troubleshooting.mdx index 9ee6f7de2..f0589f679 100644 --- a/android-sdk/jetpack/troubleshooting.mdx +++ b/android-sdk/jetpack/troubleshooting.mdx @@ -6,42 +6,79 @@ description: Troubleshooting Tolgee Android SDK Compose module for Jetpack Compo # Troubleshooting (Compose Module) -Common issues and solutions when using the Tolgee Android SDK **Compose module**. +## Fast Checklist & Diagnostics -## Translations Not Updating +Before diving into troubleshooting, quickly review this list to steer clear of the most common erroes. -- Ensure you're using the `stringResource` and `pluralStringResource` functions from the Tolgee package -- Check that your Tolgee instance is properly initialized -- Verify that the translations are loaded correctly (preload or make sure you're using flow-based API - `tFlow` / `stringResource`) +### General Setup -## Android Resource Integration Issues +- **Check if Maven Central is in repositories** - `mavenCentral` in `settings.gradle.kts`. +- **Check if CDN URL is proper and accessible** - test connection locally: -- Check that your Android resources are properly structured - Tolgee is using `resources.getResourceEntryName` to find key for the resource -- Ensure that the Tolgee instance has access to the Android context +```bash +curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" +``` -## Compose Multiplatform Issues +- **Check if network security is configured** - (`network_security.xml` reference with `Android manifest`). +- **Check if cache clears after an app update** (use `TolgeeStorageProviderAndroid`). -- Verify that your resource files are correctly set up and all keys present in resources are present in a Tolgee platform too -- Ensure that you're using the correct resource references +### Code & Integration -## Best practices for Compose +- **Check if Same strings are used in both code/resources and Tolgee Platform.** +- **Check if Tolgee multiplatform helpers are shared among common code** (io.tolgee.compose.stringResource / pluralStringResource). +- **Check if you are subscribed to tolgee.changeFlow** for UI recomposition. +- **Check if single Tolgee instance is used per app.** +- **Check if Correct formatter is used** (Sprintf vs ICU). -- Hoist Tolgee instance at the application level; avoid creating it in composables. -- Use `collectAsState` on `changeFlow` to recompose on locale/translation updates. -- Prefer `stringResource`/`pluralStringResource` helpers for readability. +## Common Issues -## CDN/Network +**1. Dependency Issues** -- If using Tolgee Cloud, ensure `tolgee.io` and `tolg.ee` are allowed in `res/xml/network_security.xml` and referenced via `android:networkSecurityConfig`. -- For self‑hosting, replace the CDN URL with your domain and allow it in `network_security.xml`. -- Quick connectivity test: +- Make sure Maven Central is included in your repositories. +- Double-check the dependency in your build.gradle.kts. +- If you are using a Version Catalog, confirm that version.ref = "tolgee" points to the correct version. -```bash -curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" -``` +**2. Translations Issues** + +- Make sure you're using the stringResource and pluralStringResource functions from the Tolgee package. +- Check that your Tolgee instance is properly initialized. +- Verify that the translations are loaded correctly. +- Verify CDN URL prefix in Tolgee Platform. +- Use TolgeeStorageProviderAndroid so cache clears automatically on an app update. + +**3. Network Security Issues** + +- Add a `network_security.xml` in your `res/xml` folder (You can reference it in `AndroidManifest.xml`). + +**4. Locale Issues** + +- Make sure you are using `stringResource` / `pluralStringResource` functions from the Tolgee package. +- Call tolgee.preload(this) in onStart() for critical screens (e.g., login, onboarding). +- Use cached translations to show UI instantly while fetching updates in the background. +- Use an explicit instance for tests/previews. + +**5. Plurals Issues** + +- Make sure plural resources exist both in Android resources (`plurals.xml`) and in Tolgee Platform. +- Use `stringResource` / `pluralStringResource` functions. +- Use a correct formatter (Sprintf vs ICU). +- Make sure translations in Tolgee Platform match the expected format style. + +**6. Android Resource Integration Issues** + +- Check if your Android resources are properly structured - Tolgee is using `resources.getResourceEntryName` to find key for the resource. +- Make sure that the Tolgee instance has access to the Android context. + +**7. Compose Multiplatform Issues** + +- Verify that your resource files are correctly set up and all strings present in resources are also in a Tolgee platform. +- Make sure that you're using the correct resource references. ## Useful links - Views troubleshooting: [/android-sdk/troubleshooting](/android-sdk/troubleshooting) -- Installation (Compose): [Installation](./installation.mdx) +- Quickstart (Compose): [Installation](./installation.mdx) - Usage (Compose): [Usage](./usage.mdx) +- For complete examples of how to use the Tolgee Compose module, check out the demo projects: + - Jetpack Compose example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack + - Compose Multiplatform example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/multiplatform-compose diff --git a/android-sdk/quickstart.mdx b/android-sdk/quickstart.mdx index be5b19624..c5549ede3 100644 --- a/android-sdk/quickstart.mdx +++ b/android-sdk/quickstart.mdx @@ -137,7 +137,7 @@ For your app to download translation files, you need to provide a CDN URL prefix ### How to get your CDN URL prefix (Content Delivery): -1. Open Tolgee Platform → your Project → Developer settings → Content Delivery. +1. Open Tolgee Platform → your Project → Developer settings → Content Delivery(Add). 2. Copy the full CDN URL prefix. 3. You can use different prefixes per environment (dev/staging/prod). From 373e446e9a691fc464dfbb27b9aa8e2e07fdbf74 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Sun, 21 Sep 2025 22:16:58 +0200 Subject: [PATCH 12/41] docs: enhance troubleshooting and usage documentation, add recommendations guide --- android-sdk/jetpack/troubleshooting.mdx | 15 ++++- android-sdk/jetpack/usage.mdx | 3 + android-sdk/production.mdx | 66 ------------------ android-sdk/reccomendations.mdx | 53 +++++++++++++++ android-sdk/troubleshooting.mdx | 90 ++++++++++++++++--------- android-sdk/usage.mdx | 3 + sidebarAndroidSdk.js | 10 ++- 7 files changed, 138 insertions(+), 102 deletions(-) delete mode 100644 android-sdk/production.mdx create mode 100644 android-sdk/reccomendations.mdx diff --git a/android-sdk/jetpack/troubleshooting.mdx b/android-sdk/jetpack/troubleshooting.mdx index f0589f679..93e2e03b1 100644 --- a/android-sdk/jetpack/troubleshooting.mdx +++ b/android-sdk/jetpack/troubleshooting.mdx @@ -6,7 +6,7 @@ description: Troubleshooting Tolgee Android SDK Compose module for Jetpack Compo # Troubleshooting (Compose Module) -## Fast Checklist & Diagnostics +## Fast Checklist Before diving into troubleshooting, quickly review this list to steer clear of the most common erroes. @@ -30,6 +30,16 @@ curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" - **Check if single Tolgee instance is used per app.** - **Check if Correct formatter is used** (Sprintf vs ICU). +## Error handling + +- Log fetch failures and fall back to cache/static values. +- Consider retry/backoff for transient network errors. + +## Testing + +- Provide test doubles for content delivery to return deterministic values. +- For UI tests, inject a test Tolgee instance with preloaded data. + ## Common Issues **1. Dependency Issues** @@ -64,6 +74,9 @@ curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" - Use a correct formatter (Sprintf vs ICU). - Make sure translations in Tolgee Platform match the expected format style. +See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Universal ICU placeholders](/platform/translation_process/tolgee_universal_icu_placeholders) + + **6. Android Resource Integration Issues** - Check if your Android resources are properly structured - Tolgee is using `resources.getResourceEntryName` to find key for the resource. diff --git a/android-sdk/jetpack/usage.mdx b/android-sdk/jetpack/usage.mdx index 963bd4e1c..4e0d719e7 100644 --- a/android-sdk/jetpack/usage.mdx +++ b/android-sdk/jetpack/usage.mdx @@ -95,6 +95,9 @@ fun PluralText(count: Int) { **Use for lists, counters, notifications** — any situation where the grammar changes with quantity. +See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Universal ICU placeholders](/platform/translation_process/tolgee_universal_icu_placeholders) + + ## Explicit Tolgee Instance If you need to use a specific Tolgee instance (not the singleton), you can pass it explicitly: diff --git a/android-sdk/production.mdx b/android-sdk/production.mdx deleted file mode 100644 index 2ec046ce4..000000000 --- a/android-sdk/production.mdx +++ /dev/null @@ -1,66 +0,0 @@ ---- -id: production -title: Production guide -description: OTA updates, caching, formatting, and deployment tips for shipping to production. ---- - -This guide summarizes recommendations for using Tolgee Android SDK in production. - -## Over‑the‑air (OTA) updates & caching - -- **CDN**: Configure your CDN URL prefix and a stable path per project/environment. -- **Caching**: Use `TolgeeStorageProviderAndroid(context, BuildConfig.VERSION_CODE)` so cache invalidates on app updates. -- **Offline behavior**: SDK serves cached values when offline; provide static fallbacks where needed. - -```kotlin -Tolgee.init { - contentDelivery { - url = "https://cdn.tolg.ee/your-cdn-url-prefix" - storage = TolgeeStorageProviderAndroid(appContext, BuildConfig.VERSION_CODE) - } -} -``` - -## Formatting mode (Sprintf vs ICU) - -- **Sprintf**: Natural when your source data comes from Android XML (`%s`, `%d`, plurals). -- **ICU**: Use when your data uses Tolgee Universal ICU placeholders. - -```kotlin -Tolgee.init { - contentDelivery { - // Default is Sprintf for Android-style placeholders - format(Tolgee.Formatter.Sprintf) - // Or switch to ICU: - // format(Tolgee.Formatter.ICU) - } -} -``` - -See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Universal ICU placeholders](/platform/translation_process/tolgee_universal_icu_placeholders) - -## Preloading & startup - -- Preload critical namespaces/locales on splash or application init. -- Defer non-critical content until after first frame to keep startup fast. -- Show fallback strings while loading. - -## Environments - -- Use separate CDN prefixes for dev/staging/prod. -- Verify cache busting between releases (via `BuildConfig.VERSION_CODE`). - -## Error handling - -- Log fetch failures and fall back to cache/static values. -- Consider retry/backoff for transient network errors. - -## Security & networking - -- Add only required domains in your `network_security.xml`. -- For self-hosting, ensure TLS and set correct domain(s). See [Self‑hosting](/platform/self_hosting/getting_started). - -## Testing - -- Provide test doubles for content delivery to return deterministic values. -- For UI tests, inject a test Tolgee instance with preloaded data. diff --git a/android-sdk/reccomendations.mdx b/android-sdk/reccomendations.mdx new file mode 100644 index 000000000..6e3970b7c --- /dev/null +++ b/android-sdk/reccomendations.mdx @@ -0,0 +1,53 @@ +--- +id: reccomendations +title: Reccomendations +description: OTA updates, caching, formatting, and deployment tips for shipping to production. +--- + +# Reccomendations + +This guide summarizes recommendations for using Tolgee Android SDK in production. + +## Best Practices + +### Jetpack Compose + +- Use Tolgee’s helpers: `io.tolgee.compose.stringResource` and `pluralStringResource`. +- Subscribe to `tolgee.changeFlow` and collect with `collectAsState` to trigger automatic recomposition on locale change. +- Always tie `remember` with cached translations to the current locale (you may also call `stringResource` directly). +- Preload translations (`tolgee.preload()`) on critical screens to reduce flicker. +- Turn on `minifyEnabled true` + `shrinkResources true` early in development. Test your app with this configuration to catch issues early. + +### Android Views + +- Initialize Tolgee once in `Application` with `applicationContext`. +- Use `ViewModel` + `LiveData/Flow` to observe translation changes and update views reactively. +- Call `tolgee.setLocale("xx")` to switch language, and rely on observers—no activity restart needed. +- Do not hardcode translations in static fields or singletons—always fetch dynamically via Tolgee. +- Preload translations during onboarding/login to avoid showing empty or fallback texts. + +## General Production Hygiene + +**Single source of truth**: One Tolgee instance (DI/singleton) created, initialized in `Application` with `applicationContext`. + +**Release build checks**: Test early with `minifyEnabled true` + `shrinkResources true`; verify translations render as expected in `Release`. + +**R8/ProGuard rules**: Keep Tolgee classes when needed by reflection and keep dynamically referenced resources (e.g., using `tools:keep`). + +**Network security**: Use HTTPS; include `network_security.xml` and mention it in the manifest; allow `tolg.ee / tolgee.io` domains. + +**CDN health**: Monitor CDN prefix correctness; (optional test: curl -I https://cdn.tolg.ee/[prefix]/en.json). + +**String synchronization in CI**: Compare keys used in code/resources with Tolgee Platform. + +**Caching strategy**: Save with `BuildConfig.VERSION_CODE` so app updates make out-of-date translation caches obsolete. + +**Preload critical paths**: Preload on `splash/login` so first paint is from cache; load updates in background. + +**Observability**: Log missing strings clearly in debug. + +**Accessibility & i18n QA**: Test long strings (DE/RU), RTL (AR/HE), and narrow screens; content descriptions and talkback labels must be localized. + +**Formatting discipline**: Each project should have one formatter type (ICU for %s/%d or Sprintf for %s/%d) and consistent translations. + +**Offline behavior**: Design fallbacks when CDN is unavailable; ensure cached translations are used. diff --git a/android-sdk/troubleshooting.mdx b/android-sdk/troubleshooting.mdx index d1a55ae39..7c3641c28 100644 --- a/android-sdk/troubleshooting.mdx +++ b/android-sdk/troubleshooting.mdx @@ -3,61 +3,87 @@ id: troubleshooting title: Troubleshooting description: Troubleshooting Tolgee Android SDK --- +#Troubleshooting (Core Module) +## Fast Checklist -## Translations Not Loading +Before diving into troubleshooting, quickly review this list to steer clear of the most common erroes. -- Verify the CDN URL prefix (copy the full Content Delivery URL from Tolgee Platform → Developer settings → Content Delivery). -- Ensure `Tolgee.init` runs early (e.g., in `Application.onCreate`). -- Configure storage for caching: `TolgeeStorageProviderAndroid(context, BuildConfig.VERSION_CODE)`. -- Load data before reading: - - Views: call `tolgee.preload(activity)` in `onStart`, or use `tolgee.tFlow` for reactive updates. - - Compose: use `stringResource`/`pluralStringResource` which handle updates automatically. -- Test connectivity to your CDN URL prefix: +### General Setup + +- **Check if Maven Central is in repositories** - `mavenCentral` in `settings.gradle.kts`. +- **Check if CDN URL is proper and accessible** - test connection locally: ```bash curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" ``` -Expect HTTP 200. For 403/404, re‑copy the prefix and check project permissions. +- **Check if network security is configured** - (`network_security.xml` reference with `Android manifest`). +- **Check if cache clears after an app update** (use `TolgeeStorageProviderAndroid`). + +### Code & Integration + +- **Check if Same strings are used in both code/resources and Tolgee Platform.** +- **Check if Tolgee multiplatform helpers are shared among common code** (io.tolgee.compose.stringResource / pluralStringResource). +- **Check if you are subscribed to tolgee.changeFlow** for UI recomposition. +- **Check if single Tolgee instance is used per app.** +- **Check if Correct formatter is used** (Sprintf vs ICU). + +## Error handling + +- Log fetch failures and fall back to cache/static values. +- Consider retry/backoff for transient network errors. -### CDN/Network +## Testing -- If using Tolgee Cloud, verify your `network_security.xml` includes `tolgee.io` and `tolg.ee` domains and that the `AndroidManifest.xml` references it via `android:networkSecurityConfig`. -- If self-hosting, replace CDN URL with your domain and allow it in `network_security.xml`. -- Test connectivity to the CDN URL prefix in a browser/curl to ensure it returns JSON bundles. +- Provide test doubles for content delivery to return deterministic values. +- For UI tests, inject a test Tolgee instance with preloaded data. -## Locale Issues +## Common Issues +**1. Dependency Issues** +- Make sure Maven Central is included in your repositories - check the dependency in your build.gradle.kts. +- If using a Version Catalog, confirm that version.ref = "tolgee" points to the correct version. -- Verify that your project supports the locale code you're using -- Check that translations for the selected locale exist in your Tolgee project -- Use `tolgee.changeFlow` to monitor locale changes and update your UI accordingly +**2. Translation Issues** +- Check that your Tolgee instance is properly initialized (in Application with applicationContext). +- Verify CDN URL prefix in Tolgee Platform. +- Check that your storage provider is properly configured +- Make sure all keys used in code/resources are also present in Tolgee Platform. +- Make sure you're calling Tolgee.init before accessing translations. +- Use tolgee.preload or tolgee.tFlow before calling tolgee.t to ensure translations are loaded. -## Android Integration Issues +**3. Network Security Issues** +- Add a network_security.xml in your res/xml folder (You can reference it in AndroidManifest.xml). -- Ensure that the `TolgeeStorageProviderAndroid` is properly initialized with the context and version code which changes with each app update -- Check that your Android resources are properly structured - Tolgee is using `resources.getResourceEntryName` to find key for the resource -- Activity context isn't wrapped: Make sure Activities override `attachBaseContext` and call `TolgeeContextWrapper.wrap(newBase)` so `getString` uses Tolgee. +**4. Locale Issues** +- Use tolgee.changeFlow to monitor locale changes and update your UI accordingly. +- Call tolgee.preload(this) function for critical screens (e.g., login, onboarding). +- Verify that your project supports the locale code you're using. +- Check that translations for the selected locale exist in your Tolgee project. +- Use a mock or explicit instance for tests/previews. -### Common error messages and fixes +***5. Plurals & Formatting Issues** +- Make sure plural resources exist both in Android (plurals.xml) and Tolgee Platform. +- Use the correct formatter (Sprintf vs ICU). +- Ensure translations in Tolgee Platform match the expected format style. -- java.net.UnknownServiceException: CLEARTEXT communication to `` not permitted +See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Universal ICU placeholders](/platform/translation_process/tolgee_universal_icu_placeholders) - - Cause: Required domain(s) are using plain http and are not allowed in network security config. - - Fix: Add domains to res/xml/network_security.xml and reference it from AndroidManifest via android:networkSecurityConfig. -- HTTP 403/404 when fetching from CDN prefix - - Cause: Incorrect CDN URL prefix. - - Fix: Copy the exact CDN URL prefix from Tolgee Platform, verify the environment, and test in a browser/curl. - - Note: If using namespaces, include the namespace in the URL prefix; The SDK does not support namespaces natively yet. +**6. Android Resource Integration Issues** +- Check that your Android resources are properly structured - Tolgee is using resources.getResourceEntryName to find key for the resource. +- Make sure the Tolgee instance has access to the Android application context. +- Ensure that the TolgeeStorageProviderAndroid is properly initialized with the context and version code which changes with each app update. -## Version Mismatch +**7. Multiplatform (KMP) Issues** +- Verify that your resource files are correctly set up and all strings present in resources are also in Tolgee Platform. +- Make sure that you are using the correct resource references. -- Make sure your app uses a consistent `tolgeeVersion` across `core` and `compose` artifacts. -- If you migrated formats, confirm formatter configuration matches your data (e.g., `Sprintf` vs `ICU`). ## Useful links - Installation: [Quickstart](./quickstart.mdx) - Usage (Views): [Usage](./usage.mdx) +- For complete examples of how to use the Tolgee Core module, check out the demo projects: +Traditional Android Views example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid - Jetpack Compose: [Installation](./jetpack/installation.mdx), [Usage](./jetpack/usage.mdx) - CLI for static strings: [Tolgee CLI](/tolgee-cli/installation) diff --git a/android-sdk/usage.mdx b/android-sdk/usage.mdx index 9a99d21d1..0669c1946 100644 --- a/android-sdk/usage.mdx +++ b/android-sdk/usage.mdx @@ -127,6 +127,9 @@ textView.text = itemsText **Use for lists, counters, notifications** — any situation where the grammar changes with quantity. +See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Universal ICU placeholders](/platform/translation_process/tolgee_universal_icu_placeholders) + + ## Locale Management ### 1. Set the locale manually. diff --git a/sidebarAndroidSdk.js b/sidebarAndroidSdk.js index 5d72f9063..da351580d 100644 --- a/sidebarAndroidSdk.js +++ b/sidebarAndroidSdk.js @@ -11,9 +11,13 @@ module.exports = { type: 'doc', id: 'jetpack/overview', }, - items: ['jetpack/installation', 'jetpack/usage', 'jetpack/troubleshooting'], + items: [ + 'jetpack/installation', + 'jetpack/usage', + 'jetpack/troubleshooting', + ], }, - 'production', + 'reccomendations', 'troubleshooting', ], -}; \ No newline at end of file +}; From 2101cc07ca8fbdea27524e32cf5a78bc9559f300 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Sun, 21 Sep 2025 22:24:51 +0200 Subject: [PATCH 13/41] docs: add Quickstart, Usage, and Troubleshooting guides for Core Module --- android-sdk/{ => core-module}/quickstart.mdx | 0 .../{ => core-module}/troubleshooting.mdx | 18 +++++++++++++----- android-sdk/{ => core-module}/usage.mdx | 0 sidebarAndroidSdk.js | 17 ++++++++++------- 4 files changed, 23 insertions(+), 12 deletions(-) rename android-sdk/{ => core-module}/quickstart.mdx (100%) rename android-sdk/{ => core-module}/troubleshooting.mdx (95%) rename android-sdk/{ => core-module}/usage.mdx (100%) diff --git a/android-sdk/quickstart.mdx b/android-sdk/core-module/quickstart.mdx similarity index 100% rename from android-sdk/quickstart.mdx rename to android-sdk/core-module/quickstart.mdx diff --git a/android-sdk/troubleshooting.mdx b/android-sdk/core-module/troubleshooting.mdx similarity index 95% rename from android-sdk/troubleshooting.mdx rename to android-sdk/core-module/troubleshooting.mdx index 7c3641c28..937f4c204 100644 --- a/android-sdk/troubleshooting.mdx +++ b/android-sdk/core-module/troubleshooting.mdx @@ -1,9 +1,11 @@ --- id: troubleshooting -title: Troubleshooting +title: Troubleshooting (Core Module) description: Troubleshooting Tolgee Android SDK --- + #Troubleshooting (Core Module) + ## Fast Checklist Before diving into troubleshooting, quickly review this list to steer clear of the most common erroes. @@ -39,11 +41,14 @@ curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" - For UI tests, inject a test Tolgee instance with preloaded data. ## Common Issues + **1. Dependency Issues** + - Make sure Maven Central is included in your repositories - check the dependency in your build.gradle.kts. - If using a Version Catalog, confirm that version.ref = "tolgee" points to the correct version. **2. Translation Issues** + - Check that your Tolgee instance is properly initialized (in Application with applicationContext). - Verify CDN URL prefix in Tolgee Platform. - Check that your storage provider is properly configured @@ -52,38 +57,41 @@ curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" - Use tolgee.preload or tolgee.tFlow before calling tolgee.t to ensure translations are loaded. **3. Network Security Issues** + - Add a network_security.xml in your res/xml folder (You can reference it in AndroidManifest.xml). **4. Locale Issues** + - Use tolgee.changeFlow to monitor locale changes and update your UI accordingly. - Call tolgee.preload(this) function for critical screens (e.g., login, onboarding). - Verify that your project supports the locale code you're using. - Check that translations for the selected locale exist in your Tolgee project. - Use a mock or explicit instance for tests/previews. -***5. Plurals & Formatting Issues** +**\*5. Plurals & Formatting Issues** + - Make sure plural resources exist both in Android (plurals.xml) and Tolgee Platform. - Use the correct formatter (Sprintf vs ICU). - Ensure translations in Tolgee Platform match the expected format style. See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Universal ICU placeholders](/platform/translation_process/tolgee_universal_icu_placeholders) - **6. Android Resource Integration Issues** + - Check that your Android resources are properly structured - Tolgee is using resources.getResourceEntryName to find key for the resource. - Make sure the Tolgee instance has access to the Android application context. - Ensure that the TolgeeStorageProviderAndroid is properly initialized with the context and version code which changes with each app update. **7. Multiplatform (KMP) Issues** + - Verify that your resource files are correctly set up and all strings present in resources are also in Tolgee Platform. - Make sure that you are using the correct resource references. - ## Useful links - Installation: [Quickstart](./quickstart.mdx) - Usage (Views): [Usage](./usage.mdx) - For complete examples of how to use the Tolgee Core module, check out the demo projects: -Traditional Android Views example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid + Traditional Android Views example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid - Jetpack Compose: [Installation](./jetpack/installation.mdx), [Usage](./jetpack/usage.mdx) - CLI for static strings: [Tolgee CLI](/tolgee-cli/installation) diff --git a/android-sdk/usage.mdx b/android-sdk/core-module/usage.mdx similarity index 100% rename from android-sdk/usage.mdx rename to android-sdk/core-module/usage.mdx diff --git a/sidebarAndroidSdk.js b/sidebarAndroidSdk.js index da351580d..6fbc1cee9 100644 --- a/sidebarAndroidSdk.js +++ b/sidebarAndroidSdk.js @@ -2,15 +2,19 @@ module.exports = { someSidebar: [ 'about', 'get-started', - 'quickstart', - 'usage', + { + type: 'category', + label: 'Core Module', + items: [ + 'core-module/quickstart', + 'core-module/usage', + 'core-module/troubleshooting', + ], + }, + { type: 'category', label: 'Jetpack Compose', - link: { - type: 'doc', - id: 'jetpack/overview', - }, items: [ 'jetpack/installation', 'jetpack/usage', @@ -18,6 +22,5 @@ module.exports = { ], }, 'reccomendations', - 'troubleshooting', ], }; From f8692ca05f500f5aefafb8d9091dd3ba7535cbb9 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Wed, 24 Sep 2025 14:37:28 +0200 Subject: [PATCH 14/41] docs: simplify and reorganize Android SDK documentation --- android-sdk/about.mdx | 15 ++-- android-sdk/core-module/quickstart.mdx | 27 +++---- android-sdk/core-module/usage.mdx | 101 +++++++++++++++---------- android-sdk/get-started.mdx | 2 +- android-sdk/jetpack/installation.mdx | 16 ++-- android-sdk/reccomendations.mdx | 3 +- 6 files changed, 86 insertions(+), 78 deletions(-) diff --git a/android-sdk/about.mdx b/android-sdk/about.mdx index 36e8a1b4d..1fb5dd8f7 100644 --- a/android-sdk/about.mdx +++ b/android-sdk/about.mdx @@ -16,11 +16,11 @@ For managing static translations in your repository, consider using the [Tolgee ## Overview -Tolgee Android SDK for **Android** and **Compose Multiplatform** lets you localize Kotlin-based applications with **dynamic content delivery**, adapting content to user behavior, preferences, and device data. +Tolgee Android SDK for **Android** and **Compose Multiplatform** lets you you update strings, without needing to publish new app versions or fixes. **Supports Over‑the‑Air (OTA)** translation updates, providing translations dynamically **without needing to publish new app versions**. -The platform works offline with **caching**, **fallbacks**, **device-aware resource selection**, and **preloading** of critical namespaces for a smooth user experience. Tolgee **keeps UX consistent** by updating the UI automatically in response to locale changes, resulting in **fewer untranslated or mismatched strings**. +The platform works offline with **caching**, **fallbacks**, **device-aware resource selection**, and **preloading**. Tolgee **keeps UX consistent** by updating the UI automatically in response to locale changes, resulting in **fewer untranslated or mismatched strings**. :::info Tolgee gives you multiple hosting options: Cloud CDN (Cloud or self‑hosting) or your own CDN. @@ -48,17 +48,16 @@ Tolgee Android SDK is split into modules so you only add what you need. - **Core** - **Over-the-air updates**: Update your translations without releasing a new app version. - - **Multiple format support**: Sprintf (Android SDK) formatting, ICU (Tolgee Native Flat JSON) formatting. - **Kotlin Multiplatform**: Designed with multiplatform support in mind. - - **Android integration**: Seamless integration with Android resources. - - **Dynamic locale switching**: Change languages at runtime. + - **Android Resource Support**: Seamless integration with Android string resources. + - **Parameter** (ICU) **and Plural Support**. - **Compose** + - **Over-the-air updates**: Update your translations without releasing a new app version. - **Compose Integration**: Use Tolgee translations in your Compose UI with familiar APIs. - **Android Resource Support**: Seamless integration with Android string resources. - - **Parameter Support**: Pass parameters to your translations. - - **Plural Support**: Handles plural forms. - - **Reactive Updates**: UI automatically updates when translations or locale change. + - **Parameter** (ICU) **and Plural Support**. + - **Reactive Updates**: UI automatically updates when translations/locale change. ## Demo apps diff --git a/android-sdk/core-module/quickstart.mdx b/android-sdk/core-module/quickstart.mdx index c5549ede3..1641a28e2 100644 --- a/android-sdk/core-module/quickstart.mdx +++ b/android-sdk/core-module/quickstart.mdx @@ -24,32 +24,27 @@ For managing static translations, we recommend using [Tolgee CLI](https://github # Quickstart -This guide shows you how to integrate Tolgee Android SDK using the **Core module** for traditional Android Views. - -The **Core module** is a Kotlin Multiplatform library that provides runtime support for Tolgee translations in your app. With Tolgee, you can update your translations **over-the-air** without releasing a new app version. - +This guide shows you how to integrate Tolgee Android SDK using the **Core module** for traditional Android Views. The **Core module** is a library that provides runtime support for Tolgee translations in your app. :::info Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. This provides **readability, centralization, and consistency**. ::: :::note -To build configuration examples use Kotlin DSL (build.gradle.kts). Groovy DSL may work but is not officially supported/tested. +Configuration exaples below are written in Kotlin DSL. Groovy DSL should work but is not officially supported/tested. ::: 1. Add dependency (Core): -In `gradle/libs.versions.toml` add an alias for Tolgee library. +In `gradle/libs.versions.toml` **add an alias for Tolgee library**. ```toml -# gradle/libs.versions.toml [libraries] tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "core", version.ref = "tolgee" } ``` -Then, in `build.gradle.kts`, use the created alias. +Then, in `build.gradle.kts`, **use the created alias**. ```kotlin -// build.gradle.kts (module) dependencies { implementation(libs.tolgee) } @@ -58,7 +53,6 @@ dependencies { For **smaller projects** you can also add dependency directly (the old way). ```kotlin -// build.gradle.kts dependencies { implementation("io.tolgee.mobile-kotlin-sdk:core:tolgee") } @@ -68,10 +62,9 @@ dependencies { If you use **Jetpack Compose**, see the Compose variant: [Jetpack Compose -> Quickstart](/android-sdk/jetpack/installation) ::: -2. (If needed) Ensure repositories include Maven Central: +2. (If needed) Ensure repositories include Maven Central in `settings.gradle.kts` or `build.gradle.kts`: ```kotlin -// settings.gradle.kts or build.gradle.kts pluginManagement { repositories { gradlePluginPortal(); google(); mavenCentral() } } dependencyResolutionManagement { repositories { google(); mavenCentral() } } ``` @@ -85,7 +78,11 @@ Could not find io.tolgee.mobile-kotlin-sdk:core verify that Maven Central is included in your repository configuration. -3. Allow CDN networking (required when using Tolgee Cloud CDN): +3. Allow CDN networking: + +:::info +Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. If you access your own self-hosted CDN, here is where you should add the domain of your CDN. +::: Create a network security config file `network_security.xml` in your `res/xml` folder: @@ -107,10 +104,6 @@ Add network security config to your `AndroidManifest.xml`: ``` -:::info -Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. If you only access your own self-hosted CDN, include your domain(s) accordingly. -::: - ## Initialization and configuration Initialize Tolgee in your `Application` class. diff --git a/android-sdk/core-module/usage.mdx b/android-sdk/core-module/usage.mdx index 0669c1946..e56f20bef 100644 --- a/android-sdk/core-module/usage.mdx +++ b/android-sdk/core-module/usage.mdx @@ -18,61 +18,85 @@ Ensure you have completed the quickstart setup and initialization in your Applic val tolgee = Tolgee.instance ``` -From now on you can use: +From now on you can: -- translations: `tolgee.t("key")`, `tolgee.tFlow("key")`, -- change system: `tolgee.changeFlow`, -- locale changes: `tolgee.setLocale("cs")`. +- get translations: `tolgee.t("key")`, `tolgee.tFlow("key")`, +- change locales: `tolgee.setLocale("xx")`, +- listen for changes: `tolgee.changeFlow`; and respond to them: `tolgee.addChangeListener. ## Getting Translations -### 1. One time translations: +### One time translations: ```kotlin val text: String? = tolgee.t("key") ``` -Returns null if isn’t loaded yet (e.g.,SDK hasn't downloaded data) +Returns null if translations are not yet loaded (e.g., SDK hasn't downloaded data). -Returns string when loaded. +Returns a string when translations are loaded. **Use for simple/static text** (e. g., error messages, titles). -### Get a translation with fallback to Android resources +:::note +If you choose this function for your app, creating a **global corutine** with `Tolgee.preload()` is reccomended. See a tip under **A) Preload translations for the current locale from Activity** section. +::: + +### Translation with parameters: ```kotlin -val text = tolgee.t(context, R.string.string_key) +val textWithParams: String? = tolgee.t("key_with_param", mapOf("param" to "value")) ``` -:::info -Fallbacks provide a safety net in case of any problems with loading the translation or pulling from Android resources. +**_Use for translation with dynamic values._** Add data that changes during the app's runtime (e.g., dates, numbers, usernames). + +:::note +To use parameters with Android fallbacks and ensure that translations from CDN can be interpreted, follow ICU order. +::: + +:::note +If you choose this function for your app, creating a **global corutine** with `Tolgee.preload()` is reccomended. See a tip under **A) Preload translations for the current locale from Activity** section. ::: -### 2. Translation with parameters: +#### a) Preload translations for the current locale ```kotlin -val textWithParams: String? = tolgee.t("key_with_param", mapOf("param" to "value")) +override fun onStart() { + super.onStart() + tolgee.preload(this) +} ``` -**_Use for translation with dynamic values._** Add data that changes during the app's runtime (e.g., dates, numbers, usernames). +Improves perceived performance - ensures strings are ready sooner for the current locale. +**Use for UI’s where the translations are critical (e.g., login, onboarding).** :::tip -Android-style strings, placeholders follow Sprintf order (e.g., %1$s, %2$d). +**Create a global corutine by calling `Tolgee.preload()` function with both, mentioned, one-time translations and translations with parameters. ::: -### Get a translation with fallback to Android resources with parameters +#### b) Get a translation with fallback to Android resources + +Fallbacks provide a safety net in case of any problems with loading the translation or pulling from Android resources. + +**- One time translation with fallbacks:** + +```kotlin +val text = tolgee.t(context, R.string.string_key) +``` + +**- Translation with parameters & fallbacks:** ```kotlin val textWithParams = tolgee.t(context, R.string.string_with_params, "param1", "param2") ``` -### Semi-dynamic updates for classic Views +#### c) Semi-dynamic updates for classic Views :::info To receive fresh translations without needing to publish new app versions follow these steps: ::: -a) Wrap your Activity context so Android resource lookups use Tolgee: +**- Wrap your Activity context so Android resource lookups use Tolgee:** ```kotlin class MyActivity : Activity() { @@ -82,7 +106,7 @@ class MyActivity : Activity() { } ``` -b) Trigger a UI refresh when locale/translations change: +**- Trigger a UI refresh when locale/translations change:** ```kotlin lifecycleScope.launch { @@ -92,9 +116,9 @@ lifecycleScope.launch { } ``` -Combining those two approaches gives **semi-dynamic behavior**: translations update after an Activity reload, not instantly. These methods can be used with ways mentioned above (**a one-time translation** and **translations with parameters**). +Combining those two approaches gives you **semi-dynamic behavior**: translations update after an Activity reload, not instantly. This setup works with both one-time translations and translations with parameters. -### 3. Get dynamic (reactive) translations. +### Get dynamic (reactive) translations. ```kotlin val textFlow: Flow = tolgee.tFlow("key") @@ -105,11 +129,13 @@ textFlow.collect { text -> **Use for reactive UI.** Translations update **immediately and automatically** whenever the language or CDN data changes. -### Get a reactive translation with fallback to Android resources +#### **- Reactive translation with fallback to Android resources** +```kotlin val textFlow = tolgee.tFlow(context, R.string.string_key) +``` -:::tip +:::note In Compose, use `collectAsState()` function for a more idiomatic integration. See more in [**Jetpack Compose Usage**](./jetpack/usage.mdx). ::: @@ -129,7 +155,6 @@ textView.text = itemsText See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Universal ICU placeholders](/platform/translation_process/tolgee_universal_icu_placeholders) - ## Locale Management ### 1. Set the locale manually. @@ -185,9 +210,10 @@ Tolgee.init { } ``` -**Use for easy scenarios**, when you are using classic formatters (`%s, %d, %1$s`). +**Use for easy scenarios**, when you are using classic formatters (`%s, %d, %1$s`). +**These parameters won't work with fallbacks to Android Resources** - it's not functional for apps with any offline activity. -2. ICU (advanced) +2. ICU (Native Flat JSON) ```kotlin Tolgee.init { @@ -198,32 +224,23 @@ Tolgee.init { } ``` -**Use for more advanced translations**, when you need formatters like (**few, may, female, complex lingual principles**). - -## Preload translations for the current locale from Activity - -```kotlin -override fun onStart() { - super.onStart() - tolgee.preload(this) -} -``` - -Improves perceived performance and avoids empty/late. -**Use for UI’s where the translations are critical (e.g., login, onboarding).** +**Use for more advanced translations and ICU features**, when you need nested formats or formatters like e.g. few, may, female, complex lingual principles. +:::info +As mentioned in ## Example Projects **For complete examples of how to use the Tolgee Core module**, check out the demo projects: -**Example Android**- https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid . +**Example Android:** https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid ## Best Practices -- **Preload translations** in `onStart`/Fragment visibility → prevents blank UI. +- **Preload translations** in `onStart` → ensures strings for the current locale are ready sooner. - **Avoid main-thread blocking**; use Flows → keeps UI responsive. - **Keep keys in sync** between Android resources and Tolgee → avoids fallback issues. -- **Wrap context** in Activities → automatic updates in classic Views. +- **Wrap context** in Activities → ensures translations come from Tolgee. +- **Call `recreate()`** in Activities → automatic updates in classic Views. - **Subscribe to `changeFlow`** → enables fully reactive UIs. ## Next Steps diff --git a/android-sdk/get-started.mdx b/android-sdk/get-started.mdx index e94c151f2..22649e295 100644 --- a/android-sdk/get-started.mdx +++ b/android-sdk/get-started.mdx @@ -72,7 +72,7 @@ The Gradle compiler plugin is not released yet and is not part of the current in After completing the setup, your app will have: -- ✅ **Dynamic translations** delivered via CDN +- ✅ *Translations** delivered via CDN - ✅ **Offline support** with local caching - ✅ **Runtime language switching** without app restart - ✅ **Fallback support** to bundled Android resources diff --git a/android-sdk/jetpack/installation.mdx b/android-sdk/jetpack/installation.mdx index 03e20c20f..b4c863ef4 100644 --- a/android-sdk/jetpack/installation.mdx +++ b/android-sdk/jetpack/installation.mdx @@ -34,7 +34,7 @@ Using **Version Catalog** is recommended to keep your versions aligned, especial ::: :::note -To build configuration examples use Kotlin DSL (build.gradle.kts). Groovy DSL may work but is not officially supported/tested. +Configuration exaples below are written in Kotlin DSL. Groovy DSL should work but is not officially supported/tested. ::: 1. Add dependency (Compose): @@ -42,7 +42,6 @@ To build configuration examples use Kotlin DSL (build.gradle.kts). Groovy DSL ma In `gradle/libs.versions.toml` **add an alias for Tolgee Compose library**. ```toml -# gradle/libs.versions.toml [libraries] tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "compose", version.ref = "tolgee" } ``` @@ -50,7 +49,6 @@ tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "compose", version.ref Then, in `build.gradle.kts`, **use the created alias**. ```kotlin -// build.gradle.kts (module) dependencies { implementation(libs.tolgee) } @@ -59,7 +57,6 @@ dependencies { For **smaller projects** you can also add dependency directly (the old way). ```kotlin -// build.gradle.kts dependencies { implementation("io.tolgee.mobile-kotlin-sdk:compose:tolgee") } @@ -69,10 +66,9 @@ dependencies { If you use **traditional Android Views**, see the Core variant: [Core Quickstart](/android-sdk/quickstart) ::: -2. (If needed) Ensure repositories include Maven Central: +2. (If needed) Ensure repositories include Maven Central in `settings.gradle.kts` or `build.gradle.kts`: ```kotlin -// settings.gradle.kts or build.gradle.kts pluginManagement { repositories { gradlePluginPortal(); google(); mavenCentral() } } dependencyResolutionManagement { repositories { google(); mavenCentral() } } ``` @@ -86,9 +82,13 @@ Could not find io.tolgee.mobile-kotlin-sdk:compose verify that Maven Central is included in your repository configuration. -3. Allow CDN networking (required when using Tolgee Cloud CDN): +3. Allow CDN networking: - Create a network security config file `network_security.xml` in your `res/xml` folder: +:::info +Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. If you access your own self-hosted CDN, here is where you should add the domain of your CDN. +::: + +Create a network security config file `network_security.xml` in your `res/xml` folder: ```xml diff --git a/android-sdk/reccomendations.mdx b/android-sdk/reccomendations.mdx index 6e3970b7c..d95686d48 100644 --- a/android-sdk/reccomendations.mdx +++ b/android-sdk/reccomendations.mdx @@ -15,8 +15,7 @@ This guide summarizes recommendations for using Tolgee Android SDK in production - Use Tolgee’s helpers: `io.tolgee.compose.stringResource` and `pluralStringResource`. - Subscribe to `tolgee.changeFlow` and collect with `collectAsState` to trigger automatic recomposition on locale change. - Always tie `remember` with cached translations to the current locale (you may also call `stringResource` directly). -- Preload translations (`tolgee.preload()`) on critical screens to reduce flicker. -- Turn on `minifyEnabled true` + `shrinkResources true` early in development. Test your app with this configuration to catch issues early. +- Preload translations (`tolgee.preload()`) on critical screens so strings are ready sooner for current locale. ### Android Views From c0698b137464c389e61103c096d101342fe00f7a Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Thu, 25 Sep 2025 12:42:37 +0200 Subject: [PATCH 15/41] docs: fix broken relative links and rename recommendations to production guide --- android-sdk/core-module/quickstart.mdx | 4 +- android-sdk/core-module/troubleshooting.mdx | 2 +- android-sdk/core-module/usage.mdx | 6 +- android-sdk/get-started.mdx | 14 +-- android-sdk/jetpack/installation.mdx | 2 +- android-sdk/jetpack/overview.mdx | 108 ------------------ android-sdk/jetpack/troubleshooting.mdx | 2 +- android-sdk/jetpack/usage.mdx | 4 +- .../{reccomendations.mdx => production.mdx} | 6 +- platform/faq.mdx | 4 +- platform/formats/android_xml.mdx | 2 +- .../getting_started/translation_content.mdx | 6 +- sidebarAndroidSdk.js | 3 +- 13 files changed, 27 insertions(+), 136 deletions(-) delete mode 100644 android-sdk/jetpack/overview.mdx rename android-sdk/{reccomendations.mdx => production.mdx} (97%) diff --git a/android-sdk/core-module/quickstart.mdx b/android-sdk/core-module/quickstart.mdx index 1641a28e2..9f56cbf69 100644 --- a/android-sdk/core-module/quickstart.mdx +++ b/android-sdk/core-module/quickstart.mdx @@ -168,7 +168,7 @@ Dynamic updates without republishing. See the step-by-step guide in [**Usage**]( ## Next steps -- Not sure which artifact to use? See ['overview`](./about.mdx) +- Not sure which artifact to use? See [overview](../about.mdx) - Learn how to fetch and render translations in Views: [`Usage`](./usage.mdx) -- Using Compose? Start here: [`Jetpack Installation`](./jetpack/installation.mdx) +- Using Compose? Start here: [Jetpack Installation](../jetpack/installation.mdx) - Having issues? Check [`Troubleshooting`](./troubleshooting.mdx) diff --git a/android-sdk/core-module/troubleshooting.mdx b/android-sdk/core-module/troubleshooting.mdx index 937f4c204..35d0219f4 100644 --- a/android-sdk/core-module/troubleshooting.mdx +++ b/android-sdk/core-module/troubleshooting.mdx @@ -93,5 +93,5 @@ See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Univers - Usage (Views): [Usage](./usage.mdx) - For complete examples of how to use the Tolgee Core module, check out the demo projects: Traditional Android Views example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid -- Jetpack Compose: [Installation](./jetpack/installation.mdx), [Usage](./jetpack/usage.mdx) +- Jetpack Compose: [Installation](../jetpack/installation.mdx), [Usage](../jetpack/usage.mdx) - CLI for static strings: [Tolgee CLI](/tolgee-cli/installation) diff --git a/android-sdk/core-module/usage.mdx b/android-sdk/core-module/usage.mdx index e56f20bef..8865e2eef 100644 --- a/android-sdk/core-module/usage.mdx +++ b/android-sdk/core-module/usage.mdx @@ -136,7 +136,7 @@ val textFlow = tolgee.tFlow(context, R.string.string_key) ``` :::note -In Compose, use `collectAsState()` function for a more idiomatic integration. See more in [**Jetpack Compose Usage**](./jetpack/usage.mdx). +In Compose, use `collectAsState()` function for a more idiomatic integration. See more in [**Jetpack Compose Usage**](../jetpack/usage.mdx). ::: ## Plurals @@ -245,6 +245,6 @@ As mentioned in ## Next Steps -- **Using Compose?** Continue with [Jetpack Compose Usage](./jetpack/usage.mdx) -- **Production deployment?** See [Production Guide](./production.mdx) +- **Using Compose?** Continue with [Jetpack Compose Usage](../jetpack/usage.mdx) +- **Production deployment?** See [Production Guide](/android-sdk/production) - **Having issues?** Check [Troubleshooting](./troubleshooting.mdx) diff --git a/android-sdk/get-started.mdx b/android-sdk/get-started.mdx index 22649e295..5426f7ed6 100644 --- a/android-sdk/get-started.mdx +++ b/android-sdk/get-started.mdx @@ -18,13 +18,13 @@ Follow these steps to integrate Tolgee into your Android project and start local title="Quickstart" emoji="📦" description="Set up dependencies and network security configuration" - links={[{ href: './quickstart', label: 'Quickstart Guide', color: 'blue' }]} + links={[{ href: './core-module/quickstart', label: 'Quickstart Guide', color: 'blue' }]} /> ## Integration Path -### 1. **[Quickstart](./quickstart)** - Add Tolgee SDK to your project +### 1. **[Quickstart](./core-module/quickstart)** - Add Tolgee SDK to your project ### 2. **Choose your implementation** @@ -34,13 +34,13 @@ Follow these steps to integrate Tolgee into your Android project and start local emoji="🚀" description="Modern declarative UI with reactive translations" links={[ - { href: '/android-sdk/jetpack', label: 'Overview', color: 'blue' }, + { href: '/android-sdk/jetpack/usage', label: 'Usage', color: 'orange' }, { href: '/android-sdk/jetpack/installation', label: 'Installation', color: 'green', }, - { href: '/android-sdk/jetpack/usage', label: 'Usage', color: 'orange' }, + { href: '/android-sdk/jetpack/troubleshooting', label: 'Troubleshooting', color: 'blue' }, ]} /> @@ -49,7 +49,7 @@ Follow these steps to integrate Tolgee into your Android project and start local title="Android Views" emoji="📱" description="Traditional Android UI with dynamic translations" - links={[{ href: './usage', label: 'Usage Guide', color: 'purple' }]} + links={[{ href: './core-module/usage', label: 'Usage Guide', color: 'purple' }]} /> ## Need Help? - **Manage translations collaboratively**: Connect your app to the Tolgee Platform — [Platform docs](../platform/) -- **Troubleshooting**: Common issues and diagnostics — [Troubleshooting](./troubleshooting) +- **Troubleshooting**: Common issues and diagnostics — [Troubleshooting](./core-module/troubleshooting) - **Demo Apps**: Complete example implementations — [Demo Apps](/android-sdk#demo-apps) diff --git a/android-sdk/jetpack/installation.mdx b/android-sdk/jetpack/installation.mdx index b4c863ef4..fbd454ec2 100644 --- a/android-sdk/jetpack/installation.mdx +++ b/android-sdk/jetpack/installation.mdx @@ -63,7 +63,7 @@ dependencies { ``` :::note -If you use **traditional Android Views**, see the Core variant: [Core Quickstart](/android-sdk/quickstart) +If you use **traditional Android Views**, see the Core variant: [Core Quickstart](/android-sdk/core-module/quickstart) ::: 2. (If needed) Ensure repositories include Maven Central in `settings.gradle.kts` or `build.gradle.kts`: diff --git a/android-sdk/jetpack/overview.mdx b/android-sdk/jetpack/overview.mdx deleted file mode 100644 index a96c147e0..000000000 --- a/android-sdk/jetpack/overview.mdx +++ /dev/null @@ -1,108 +0,0 @@ ---- -id: overview -title: Compose Module Overview -slug: /jetpack -description: Overview of Tolgee Android SDK Compose module for Jetpack Compose and Compose Multiplatform ---- - -import SystemCard from '@site/src/component/SystemCard'; - -# Compose Module - -Tolgee Android SDK **Compose module** provides first-class support for Jetpack Compose and Compose Multiplatform, enabling dynamic translations in modern applications with reactive UI updates. - -## Why Choose Tolgee for Compose? - -Transform your Jetpack Compose or Compose Multiplatform app with dynamic translations that update seamlessly without rebuilding or republishing. - -### Key Benefits - -- ✅ **Reactive Updates**: Translations update automatically when language changes -- ✅ **Compose-Native**: Built specifically for Compose architecture patterns -- ✅ **State Management**: Integrates seamlessly with Compose state systems -- ✅ **Performance**: Optimized for Compose recomposition cycles -- ✅ **Over-the-Air**: Push translation updates without app store releases -- ✅ **Multiplatform**: Works with both Jetpack Compose and Compose Multiplatform - -## Getting Started - -
- - - - - -
- -## Key Features - -### Compose-Specific APIs - -- `tolgeeStringResource()` - Compose-optimized string retrieval -- `tolgeePluralStringResource()` - Plural handling for Compose -- `LocalTolgee` - CompositionLocal for dependency injection - -### Reactive Language Switching - -```kotlin -@Composable -fun MyScreen() { - val text by tolgeeStringResource("welcome_message") - - Text(text = text) // Automatically updates when language changes -} -``` - -### State Integration - -Tolgee integrates with Compose's state system to ensure UI updates happen automatically when: - -- Language is changed at runtime -- New translations are downloaded -- Fallback resources are loaded - -## Demo Application - -Explore our complete Jetpack Compose demo to see all features in action: - -### 🚀 Jetpack Compose Demo - -Complete example implementation with all Compose features - -- [https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack) - -## Integration Path - -1. **[Quickstart](/android-sdk/jetpack/installation)** - Add Compose-specific dependencies -2. **[Usage Patterns](./usage)** - Learn Compose integration patterns -3. **[Production Setup](/android-sdk/production)** - Configure for deployment -4. **[Troubleshooting](./troubleshooting)** - Resolve integration issues - -## Need Help? - -- Check our **[Troubleshooting Guide](./troubleshooting)** for Compose-specific issues -- Explore the **[Complete Demo](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack)** for implementation examples -- Review **[Production Guide](/android-sdk/production)** for deployment best practices diff --git a/android-sdk/jetpack/troubleshooting.mdx b/android-sdk/jetpack/troubleshooting.mdx index 93e2e03b1..cd4f8913c 100644 --- a/android-sdk/jetpack/troubleshooting.mdx +++ b/android-sdk/jetpack/troubleshooting.mdx @@ -89,7 +89,7 @@ See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Univers ## Useful links -- Views troubleshooting: [/android-sdk/troubleshooting](/android-sdk/troubleshooting) +- Views troubleshooting: [Core Module Troubleshooting](/android-sdk/core-module/troubleshooting) - Quickstart (Compose): [Installation](./installation.mdx) - Usage (Compose): [Usage](./usage.mdx) - For complete examples of how to use the Tolgee Compose module, check out the demo projects: diff --git a/android-sdk/jetpack/usage.mdx b/android-sdk/jetpack/usage.mdx index 4e0d719e7..cf2b473d8 100644 --- a/android-sdk/jetpack/usage.mdx +++ b/android-sdk/jetpack/usage.mdx @@ -164,6 +164,6 @@ Handy for **observing locale changes** in real time, **keeping track of current ## Next Steps -- **Using traditional Views?** See [Core Module Usage](/android-sdk/usage) -- **Production deployment?** Check [Production Guide](../production.mdx) +- **Using traditional Views?** See [Core Module Usage](/android-sdk/core-module/usage) +- **Production deployment?** Check [Production Guide](/android-sdk/production) - **Having issues?** See [Troubleshooting](./troubleshooting.mdx) diff --git a/android-sdk/reccomendations.mdx b/android-sdk/production.mdx similarity index 97% rename from android-sdk/reccomendations.mdx rename to android-sdk/production.mdx index d95686d48..d12ab63b1 100644 --- a/android-sdk/reccomendations.mdx +++ b/android-sdk/production.mdx @@ -1,10 +1,10 @@ --- -id: reccomendations -title: Reccomendations +id: production +title: Production description: OTA updates, caching, formatting, and deployment tips for shipping to production. --- -# Reccomendations +# Production This guide summarizes recommendations for using Tolgee Android SDK in production. diff --git a/platform/faq.mdx b/platform/faq.mdx index 8f2fa0de7..b6511a974 100644 --- a/platform/faq.mdx +++ b/platform/faq.mdx @@ -32,8 +32,8 @@ Yes. Tolgee provides a native [iOS SDK](/ios-sdk) that integrates with your app Yes. Tolgee provides a native [Android SDK](/android-sdk) that integrates with your app and supports Jetpack Compose. -- Get started: [Quickstart](/android-sdk/quickstart) -- Use translations: [Usage](/android-sdk/usage) +- Get started: [Quickstart](/android-sdk/core-module/quickstart) +- Use translations: [Usage](/android-sdk/core-module/usage) - Compose UI: [Jetpack Compose](/android-sdk/jetpack/installation) - File format details: [Android Resources XML](/platform/formats/android_xml) diff --git a/platform/formats/android_xml.mdx b/platform/formats/android_xml.mdx index 8a78c1d55..7460e6126 100644 --- a/platform/formats/android_xml.mdx +++ b/platform/formats/android_xml.mdx @@ -86,7 +86,7 @@ Tolgee.init { See also: -- Android SDK: [Quickstart](/android-sdk/quickstart) · [Usage](/android-sdk/usage) · [Jetpack Compose](/android-sdk/jetpack/installation) +- Android SDK: [Quickstart](/android-sdk/core-module/quickstart) · [Usage](/android-sdk/core-module/usage) · [Jetpack Compose](/android-sdk/jetpack/installation) ## Array support When importing data to Tolgee from the Android XML files, the array elements are converted into flat keys with diff --git a/platform/getting_started/translation_content.mdx b/platform/getting_started/translation_content.mdx index 1dbddc413..d6a46b3b2 100644 --- a/platform/getting_started/translation_content.mdx +++ b/platform/getting_started/translation_content.mdx @@ -38,8 +38,8 @@ Tolgee provides a native [iOS SDK](/ios-sdk) with a great support for SwiftUI th Tolgee also provides an [Android SDK](/android-sdk) for native Android apps, including Jetpack Compose support. Follow the Android docs to: -- Install and initialize the SDK: [Quickstart](/android-sdk/quickstart) -- Use translations in Views and handle plurals/parameters: [Usage](/android-sdk/usage) +- Install and initialize the SDK: [Quickstart](/android-sdk/core-module/quickstart) +- Use translations in Views and handle plurals/parameters: [Usage](/android-sdk/core-module/usage) - Use localized composables: [Jetpack Compose](/android-sdk/jetpack/installation) -In production, configure content delivery (CDN) using the Android [Quickstart](/android-sdk/quickstart) and [Production guide](/android-sdk/production), and preload data as needed. +In production, configure content delivery (CDN) using the Android [Quickstart](/android-sdk/core-module/quickstart) and [Production guide](/android-sdk/production), and preload data as needed. diff --git a/sidebarAndroidSdk.js b/sidebarAndroidSdk.js index 6fbc1cee9..6cfe7070e 100644 --- a/sidebarAndroidSdk.js +++ b/sidebarAndroidSdk.js @@ -11,7 +11,6 @@ module.exports = { 'core-module/troubleshooting', ], }, - { type: 'category', label: 'Jetpack Compose', @@ -21,6 +20,6 @@ module.exports = { 'jetpack/troubleshooting', ], }, - 'reccomendations', + 'production', ], }; From 9832ed844b46b148e7127e0ddf9da0a2c57c0265 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Wed, 1 Oct 2025 14:12:38 +0200 Subject: [PATCH 16/41] docs: update Android SDK overview and get started docs for clarity and structure --- android-sdk/about.mdx | 67 ++++++++-------- android-sdk/core-module/troubleshooting.mdx | 2 +- android-sdk/core-module/usage.mdx | 2 +- android-sdk/get-started.mdx | 89 ++++++++++++++------- android-sdk/jetpack/usage.mdx | 2 + 5 files changed, 99 insertions(+), 63 deletions(-) diff --git a/android-sdk/about.mdx b/android-sdk/about.mdx index 1fb5dd8f7..9ce67928f 100644 --- a/android-sdk/about.mdx +++ b/android-sdk/about.mdx @@ -8,56 +8,59 @@ description: Overview of Tolgee Android SDK with Over‑the‑Air (OTA) localiza import SystemCard from '@site/src/component/SystemCard'; import FeatureGrid from '@site/src/component/FeatureGrid'; -# Tolgee Android SDK +# Tolgee for Android SDK -:::info -For managing static translations in your repository, consider using the [Tolgee CLI](/tolgee-cli/installation). -::: +### Preconditions: + +Use with Android and Compose Multiplatform. ## Overview -Tolgee Android SDK for **Android** and **Compose Multiplatform** lets you you update strings, without needing to publish new app versions or fixes. +Tolgee is a **localization platform** that allows you to **translate your application into any language without code modifications**. +The SDK also enables you to **connect seamlessly to the Tolgee Platform**. +No more looking for keys in your source code, no more editing localization files, no more manually exporting data for translators, and no more publishing new app versions for translations. +Tolgee is **developer-focused**, making it **easy to integrate** with your app. +The platform provides **multiple hosting options**: Tolgee CDN or your own CDN. **Supports Over‑the‑Air (OTA)** translation updates, providing translations dynamically **without needing to publish new app versions**. +**Works offline** with **caching**, **fallbacks**, **device-aware resource selection**, and **preloading**. + +## Modules + +Tolgee Android SDK is split into modules, so you only add what you need. -The platform works offline with **caching**, **fallbacks**, **device-aware resource selection**, and **preloading**. Tolgee **keeps UX consistent** by updating the UI automatically in response to locale changes, resulting in **fewer untranslated or mismatched strings**. +### When to use which module: :::info -Tolgee gives you multiple hosting options: Cloud CDN (Cloud or self‑hosting) or your own CDN. +For managing static translations in your repository, consider using the [Tolgee CLI](/tolgee-cli/installation). ::: -## Modules - -Tolgee Android SDK is split into modules so you only add what you need. +### **Core** -### When to use which module +Core is a base library for fetching translations from CDN and querying them. +It's designed for use with **Android Views** or **any non Compose UI**. -- **Core** +**Features:** - - Use with traditional Android Views or any non-Compose UI. - - Provides content delivery (CDN), key lookup, formatting (Sprintf/ICU), caching. - - Start here if you don't use Jetpack Compose. +- **Over-the-air updates**: Update your translations without releasing a new app version. +- **Kotlin Multiplatform**: Designed with multiplatform support in mind. +- **Android Resource Support**: Seamless integration with Android string resources. +- **Parameter** **and Plural Support**. -- **Compose** - - Use with Jetpack Compose or Compose Multiplatform. - - Adds localized composables and helpers (e.g., stringResource, pluralStringResource). - - Requires core transitively. +### **Compose** -### Features +Compose is an extension for using the library with **Jetpack Compose** or **Compose Multiplatform**. +It **adds localized composables and helpers** (e.g., stringResource, pluralStringResource). -- **Core** +It requires core transitively. - - **Over-the-air updates**: Update your translations without releasing a new app version. - - **Kotlin Multiplatform**: Designed with multiplatform support in mind. - - **Android Resource Support**: Seamless integration with Android string resources. - - **Parameter** (ICU) **and Plural Support**. +**Features** -- **Compose** - - **Over-the-air updates**: Update your translations without releasing a new app version. - - **Compose Integration**: Use Tolgee translations in your Compose UI with familiar APIs. - - **Android Resource Support**: Seamless integration with Android string resources. - - **Parameter** (ICU) **and Plural Support**. - - **Reactive Updates**: UI automatically updates when translations/locale change. +- **Over-the-air updates**: Update your translations without releasing a new app version. +- **Compose Integration**: Use Tolgee translations in your Compose UI with familiar APIs. +- **Android Resource Support**: Seamless integration with Android string resources. +- **Parameter** (ICU) **and Plural Support**. +- **Reactive Updates**: UI automatically updates when translations/locale change. ## Demo apps @@ -87,7 +90,7 @@ Ready to integrate Tolgee into your Android project? -## Integration Path - -### 1. **[Quickstart](./core-module/quickstart)** - Add Tolgee SDK to your project +### Implementations: -### 2. **Choose your implementation** +
{' '} -
-### 3. **[Production guide](./production)** - Configure for production deployment +### 2. Add Tolgee SDK to your project + +
+ +
:::warning The Gradle compiler plugin is not released yet and is not part of the current installation options. ::: -## What You'll Achieve - -After completing the setup, your app will have: - -- ✅ *Translations** delivered via CDN -- ✅ **Offline support** with local caching -- ✅ **Runtime language switching** without app restart -- ✅ **Fallback support** to bundled Android resources -- ✅ **Over-the-Air updates** for translations without app republishing - -## Production Deployment +### 3. Optimize production performance
+### 4. Start using Tolgee + +
+ +
+ +
+ +
+ ## Need Help? - **Manage translations collaboratively**: Connect your app to the Tolgee Platform — [Platform docs](../platform/) diff --git a/android-sdk/jetpack/usage.mdx b/android-sdk/jetpack/usage.mdx index cf2b473d8..7a87cdea0 100644 --- a/android-sdk/jetpack/usage.mdx +++ b/android-sdk/jetpack/usage.mdx @@ -16,6 +16,8 @@ Make sure you've completed the quickstart setup and initialized Tolgee for Compo Tolgee's Compose extensions let you fetch localized strings directly inside your composables. +## Getting translations + ### 1. Simple Strings - **Jetpack Compose** From 35c69d66f1bdc52ff42773501e8bafe2cae43383 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Wed, 1 Oct 2025 14:25:21 +0200 Subject: [PATCH 17/41] refactor: extract Android API requirement into reusable component --- android-sdk/core-module/quickstart.mdx | 14 +++-------- android-sdk/jetpack/installation.mdx | 17 +++---------- src/component/AndroidApiRequirement.tsx | 33 +++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 24 deletions(-) create mode 100644 src/component/AndroidApiRequirement.tsx diff --git a/android-sdk/core-module/quickstart.mdx b/android-sdk/core-module/quickstart.mdx index 9f56cbf69..91436a2d2 100644 --- a/android-sdk/core-module/quickstart.mdx +++ b/android-sdk/core-module/quickstart.mdx @@ -4,23 +4,15 @@ title: Quickstart (Core Module) description: Quick start guide for Tolgee Android SDK with Core module (traditional Android Views) --- +import AndroidApiRequirement from '@site/src/component/AndroidApiRequirement'; + :::info For managing static translations, we recommend using [Tolgee CLI](https://github.com/tolgee/tolgee-cli). ::: ## Requirements -
-
-
- 📱 -
-

Android API Level

-

Minimum API Level 21+ (Android 5.0 and above)

-
-
-
-
+ # Quickstart diff --git a/android-sdk/jetpack/installation.mdx b/android-sdk/jetpack/installation.mdx index fbd454ec2..7a2825bc2 100644 --- a/android-sdk/jetpack/installation.mdx +++ b/android-sdk/jetpack/installation.mdx @@ -4,34 +4,25 @@ title: Quickstart (Compose Module) description: Quick start guide for Tolgee Android SDK Compose module with Jetpack Compose and Compose Multiplatform --- +import AndroidApiRequirement from '@site/src/component/AndroidApiRequirement'; + # Quickstart (Compose Module) This guide shows you how to integrate Tolgee Android SDK using the **Compose module** for Jetpack Compose and Compose Multiplatform. -The Compose module is Android’s modern **declarative UI toolkit**; it’s a **simpler** and **more reactive model** compared to Core module. It provides you with **instant access to Tolgee translations** directly in Composables/Compose Multiplatform projects, with **automatic updates**. +The Compose module is Android's modern **declarative UI toolkit**; it's a **simpler** and **more reactive model** compared to Core module. It provides you with **instant access to Tolgee translations** directly in Composables/Compose Multiplatform projects, with **automatic updates**. :::info For managing static translations, we recommend using [Tolgee CLI](https://github.com/tolgee/tolgee-cli). ::: ## Requirements -
-
-
- 📱 -
-

Android API Level

-

Minimum API Level 21+ (Android 5.0 and above)

-
-
-
-
+ ## Dependency Setup :::info Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. This provides **readability, centralization, and consistency**. -::: :::note Configuration exaples below are written in Kotlin DSL. Groovy DSL should work but is not officially supported/tested. diff --git a/src/component/AndroidApiRequirement.tsx b/src/component/AndroidApiRequirement.tsx new file mode 100644 index 000000000..0518f060e --- /dev/null +++ b/src/component/AndroidApiRequirement.tsx @@ -0,0 +1,33 @@ +import React from 'react'; +import Link from '@docusaurus/Link'; +import Heading from '@theme/Heading'; + +export default function AndroidApiRequirement() { + return ( +
+
+
+ 📱 +
+ + Android API Level + +

+ Minimum{' '} + + API Level 21+ + {' '} + (Android 5.0 and above) +

+
+
+
+
+ ); +} From 19b97aa555b8d6953575fe616337bc318ccf48a4 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Thu, 2 Oct 2025 11:19:31 +0200 Subject: [PATCH 18/41] docs: add Android and Jetpack Compose icons to SDK documentation --- android-sdk/about.mdx | 10 ++++++++++ android-sdk/core-module/usage.mdx | 4 +--- static/img/docs/sdk/android-studio.png | Bin 0 -> 800000 bytes static/img/docs/sdk/android.svg | 19 +++++++++++++++++++ static/img/docs/sdk/jetpack-compose.png | Bin 0 -> 43637 bytes 5 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 static/img/docs/sdk/android-studio.png create mode 100644 static/img/docs/sdk/android.svg create mode 100644 static/img/docs/sdk/jetpack-compose.png diff --git a/android-sdk/about.mdx b/android-sdk/about.mdx index 9ce67928f..c2018414b 100644 --- a/android-sdk/about.mdx +++ b/android-sdk/about.mdx @@ -7,6 +7,7 @@ description: Overview of Tolgee Android SDK with Over‑the‑Air (OTA) localiza import SystemCard from '@site/src/component/SystemCard'; import FeatureGrid from '@site/src/component/FeatureGrid'; +import { ScreenshotWrapper } from '../platform/shared/_ScreenshotWrapper'; # Tolgee for Android SDK @@ -37,6 +38,8 @@ For managing static translations in your repository, consider using the [Tolgee ### **Core** +Android + Core is a base library for fetching translations from CDN and querying them. It's designed for use with **Android Views** or **any non Compose UI**. @@ -49,6 +52,8 @@ It's designed for use with **Android Views** or **any non Compose UI**. ### **Compose** +Jetpack Compose + Compose is an extension for using the library with **Jetpack Compose** or **Compose Multiplatform**. It **adds localized composables and helpers** (e.g., stringResource, pluralStringResource). @@ -82,6 +87,11 @@ Complete example implementation using Compose Multiplatform - [https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplecomposemultiplatform](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplecomposemultiplatform) + + ## Get Started Ready to integrate Tolgee into your Android project? diff --git a/android-sdk/core-module/usage.mdx b/android-sdk/core-module/usage.mdx index be1cb8c8b..1765b12b2 100644 --- a/android-sdk/core-module/usage.mdx +++ b/android-sdk/core-module/usage.mdx @@ -224,9 +224,7 @@ Tolgee.init { } ``` -**Use for more advanced translations and ICU features**, when you need nested formats or formatters like e.g. few, may, female, complex lingual principles. -:::info -As mentioned in +**Use for more advanced translations and ICU features**, when you need nested formats or formatters like e.g. few, may, female, complex lingual principles. ## Example Projects diff --git a/static/img/docs/sdk/android-studio.png b/static/img/docs/sdk/android-studio.png new file mode 100644 index 0000000000000000000000000000000000000000..b68fe70d4dfa8253910a85095f74c52c16f91509 GIT binary patch literal 800000 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�*s{n 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 z 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

bjovjl$QuVP}wz}Z+J8M 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
X_>8+m;sByd7NM-OIjc>DAw@vG0Rt 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⇺W(C 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%0AS%5kR7O>+h~kaenTJgqxz>v3t2osj_e+F#qX8o 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 TFs-OV;LnpsiVw5z8@&EsY(q^7 literal 0 HcmV?d00001 diff --git a/static/img/docs/sdk/android.svg b/static/img/docs/sdk/android.svg new file mode 100644 index 000000000..f53491803 --- /dev/null +++ b/static/img/docs/sdk/android.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/img/docs/sdk/jetpack-compose.png b/static/img/docs/sdk/jetpack-compose.png new file mode 100644 index 0000000000000000000000000000000000000000..1db89ff7008aef8cecc6c9bfb40154da62492f33 GIT binary patch literal 43637 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 literal 0 HcmV?d00001 From 3e8c730037c0b37632c872d2be345bc9955adbce Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Thu, 2 Oct 2025 13:34:10 +0200 Subject: [PATCH 19/41] docs: rename about to overview and installation to quickstart for better navigation --- android-sdk/core-module/quickstart.mdx | 2 +- android-sdk/get-started.mdx | 54 +++++++++---------- .../{installation.mdx => quickstart.mdx} | 2 +- android-sdk/{about.mdx => overview.mdx} | 2 +- sidebarAndroidSdk.js | 4 +- 5 files changed, 31 insertions(+), 33 deletions(-) rename android-sdk/jetpack/{installation.mdx => quickstart.mdx} (99%) rename android-sdk/{about.mdx => overview.mdx} (99%) diff --git a/android-sdk/core-module/quickstart.mdx b/android-sdk/core-module/quickstart.mdx index 91436a2d2..75bdc8c4e 100644 --- a/android-sdk/core-module/quickstart.mdx +++ b/android-sdk/core-module/quickstart.mdx @@ -160,7 +160,7 @@ Dynamic updates without republishing. See the step-by-step guide in [**Usage**]( ## Next steps -- Not sure which artifact to use? See [overview](../about.mdx) +- Not sure which artifact to use? See [overview](../overview.mdx) - Learn how to fetch and render translations in Views: [`Usage`](./usage.mdx) - Using Compose? Start here: [Jetpack Installation](../jetpack/installation.mdx) - Having issues? Check [`Troubleshooting`](./troubleshooting.mdx) diff --git a/android-sdk/get-started.mdx b/android-sdk/get-started.mdx index 073aae848..234f4e1cf 100644 --- a/android-sdk/get-started.mdx +++ b/android-sdk/get-started.mdx @@ -33,56 +33,56 @@ Here you can see a **quick setup overview**. Follow these steps to **integrate T title="Overview" emoji="" description="General, modules overview and demo apps" - links={[{ href: './core-module/quickstart', label: 'Quickstart Guide', color: 'blue' }]} + links={[{ href: './', label: 'Overview', color: 'blue' }]} /> ### Implementations: - +
+ + -
- -{' '} - -
### 2. Add Tolgee SDK to your project
+ +
:::warning @@ -91,7 +91,7 @@ The Gradle compiler plugin is not released yet and is not part of the current in ### 3. Optimize production performance -
+
-
-
diff --git a/android-sdk/jetpack/installation.mdx b/android-sdk/jetpack/quickstart.mdx similarity index 99% rename from android-sdk/jetpack/installation.mdx rename to android-sdk/jetpack/quickstart.mdx index 7a2825bc2..55108930b 100644 --- a/android-sdk/jetpack/installation.mdx +++ b/android-sdk/jetpack/quickstart.mdx @@ -1,5 +1,5 @@ --- -id: installation +id: quickstart title: Quickstart (Compose Module) description: Quick start guide for Tolgee Android SDK Compose module with Jetpack Compose and Compose Multiplatform --- diff --git a/android-sdk/about.mdx b/android-sdk/overview.mdx similarity index 99% rename from android-sdk/about.mdx rename to android-sdk/overview.mdx index c2018414b..8dd352fa8 100644 --- a/android-sdk/about.mdx +++ b/android-sdk/overview.mdx @@ -1,5 +1,5 @@ --- -id: about +id: overview title: Overview slug: / description: Overview of Tolgee Android SDK with Over‑the‑Air (OTA) localization updates for Android and Compose Multiplatform. diff --git a/sidebarAndroidSdk.js b/sidebarAndroidSdk.js index 6cfe7070e..63ab5f55a 100644 --- a/sidebarAndroidSdk.js +++ b/sidebarAndroidSdk.js @@ -1,6 +1,6 @@ module.exports = { someSidebar: [ - 'about', + 'overview', 'get-started', { type: 'category', @@ -15,7 +15,7 @@ module.exports = { type: 'category', label: 'Jetpack Compose', items: [ - 'jetpack/installation', + 'jetpack/quickstart', 'jetpack/usage', 'jetpack/troubleshooting', ], From d02a21545b11f4ed592f2786699533d4d45026f3 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Thu, 2 Oct 2025 13:36:02 +0200 Subject: [PATCH 20/41] docs: update Android SDK requirements and compatibility information --- android-sdk/overview.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/android-sdk/overview.mdx b/android-sdk/overview.mdx index 8dd352fa8..4ccabfd1c 100644 --- a/android-sdk/overview.mdx +++ b/android-sdk/overview.mdx @@ -11,9 +11,10 @@ import { ScreenshotWrapper } from '../platform/shared/_ScreenshotWrapper'; # Tolgee for Android SDK -### Preconditions: +## Requirements -Use with Android and Compose Multiplatform. +- **Android SDK 21+** (Android 5.0 Lollipop or higher) +- Compatible with **Android Views**, **Jetpack Compose**, and **Compose Multiplatform** ## Overview From 3c2bac90f9b93c1ef5683676875c626afeac3b5b Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Thu, 2 Oct 2025 13:38:18 +0200 Subject: [PATCH 21/41] feat: add emoji icons to Android SDK usage cards --- android-sdk/get-started.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android-sdk/get-started.mdx b/android-sdk/get-started.mdx index 234f4e1cf..f55386a58 100644 --- a/android-sdk/get-started.mdx +++ b/android-sdk/get-started.mdx @@ -105,14 +105,14 @@ The Gradle compiler plugin is not released yet and is not part of the current in
From 1360b0826efe6d22f467682adab8686d499a4616 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Thu, 2 Oct 2025 13:40:04 +0200 Subject: [PATCH 22/41] docs: remove redundant overview section from Android SDK integration guide --- android-sdk/get-started.mdx | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/android-sdk/get-started.mdx b/android-sdk/get-started.mdx index f55386a58..77a4d6bed 100644 --- a/android-sdk/get-started.mdx +++ b/android-sdk/get-started.mdx @@ -26,18 +26,6 @@ Here you can see a **quick setup overview**. Follow these steps to **integrate T ## Integration Path ### 1. **Choose your implementation** -### See more about modules in: - -
- -
- -### Implementations:
From 114018f479a6ccbe1de662aa1207de6e6b5b6637 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Thu, 2 Oct 2025 13:47:46 +0200 Subject: [PATCH 23/41] docs: improve heading hierarchy and fix formatting in Android SDK docs --- android-sdk/core-module/quickstart.mdx | 10 +++++----- android-sdk/core-module/troubleshooting.mdx | 14 +++++++------- android-sdk/jetpack/quickstart.mdx | 1 + 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/android-sdk/core-module/quickstart.mdx b/android-sdk/core-module/quickstart.mdx index 75bdc8c4e..c37ad57ef 100644 --- a/android-sdk/core-module/quickstart.mdx +++ b/android-sdk/core-module/quickstart.mdx @@ -14,7 +14,7 @@ For managing static translations, we recommend using [Tolgee CLI](https://github -# Quickstart +## Quickstart This guide shows you how to integrate Tolgee Android SDK using the **Core module** for traditional Android Views. The **Core module** is a library that provides runtime support for Tolgee translations in your app. :::info @@ -25,7 +25,7 @@ Using **Version Catalog** is recommended to keep your versions aligned, especial Configuration exaples below are written in Kotlin DSL. Groovy DSL should work but is not officially supported/tested. ::: -1. Add dependency (Core): +### 1. Add dependency (Core): In `gradle/libs.versions.toml` **add an alias for Tolgee library**. @@ -54,7 +54,7 @@ dependencies { If you use **Jetpack Compose**, see the Compose variant: [Jetpack Compose -> Quickstart](/android-sdk/jetpack/installation) ::: -2. (If needed) Ensure repositories include Maven Central in `settings.gradle.kts` or `build.gradle.kts`: +### 2. (If needed) Ensure repositories include Maven Central in `settings.gradle.kts` or `build.gradle.kts`: ```kotlin pluginManagement { repositories { gradlePluginPortal(); google(); mavenCentral() } } @@ -70,7 +70,7 @@ Could not find io.tolgee.mobile-kotlin-sdk:core verify that Maven Central is included in your repository configuration. -3. Allow CDN networking: +### 3. Allow CDN networking: :::info Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. If you access your own self-hosted CDN, here is where you should add the domain of your CDN. @@ -98,7 +98,7 @@ Add network security config to your `AndroidManifest.xml`: ## Initialization and configuration -Initialize Tolgee in your `Application` class. +### Initialize Tolgee in your `Application` class. ```kotlin class MyApplication : Application() { diff --git a/android-sdk/core-module/troubleshooting.mdx b/android-sdk/core-module/troubleshooting.mdx index 67e29eca6..5ad0aa017 100644 --- a/android-sdk/core-module/troubleshooting.mdx +++ b/android-sdk/core-module/troubleshooting.mdx @@ -42,12 +42,12 @@ curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" ## Common Issues -**1. Dependency Issues** +### Dependency Issues - Make sure Maven Central is included in your repositories - check the dependency in your build.gradle.kts. - If using a Version Catalog, confirm that version.ref = "tolgee" points to the correct version. -**2. Translation Issues** +### Translation Issues - Check that your Tolgee instance is properly initialized (in Application with applicationContext). - Verify CDN URL prefix in Tolgee Platform. @@ -56,11 +56,11 @@ curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" - Make sure you're calling Tolgee.init before accessing translations. - Use tolgee.preload or tolgee.tFlow before calling tolgee.t to ensure translations are loaded. -**3. Network Security Issues** +### Network Security Issues - Add a network_security.xml in your res/xml folder (You can reference it in AndroidManifest.xml). -**4. Locale Issues** +### Locale Issues - Use tolgee.changeFlow to monitor locale changes and update your UI accordingly. - Call tolgee.preload(this) function for critical screens (e.g., login, onboarding). @@ -68,7 +68,7 @@ curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" - Check that translations for the selected locale exist in your Tolgee project. - Use a mock or explicit instance for tests/previews. -**5. Plurals & Formatting Issues** +### Plurals & Formatting Issues - Make sure plural resources exist both in Android (plurals.xml) and Tolgee Platform. - Use the correct formatter (Sprintf vs ICU). @@ -76,13 +76,13 @@ curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Universal ICU placeholders](/platform/translation_process/tolgee_universal_icu_placeholders) -**6. Android Resource Integration Issues** +### Android Resource Integration Issues - Check that your Android resources are properly structured - Tolgee is using resources.getResourceEntryName to find key for the resource. - Make sure the Tolgee instance has access to the Android application context. - Ensure that the TolgeeStorageProviderAndroid is properly initialized with the context and version code which changes with each app update. -**7. Multiplatform (KMP) Issues** +### Multiplatform (KMP) Issues - Verify that your resource files are correctly set up and all strings present in resources are also in Tolgee Platform. - Make sure that you are using the correct resource references. diff --git a/android-sdk/jetpack/quickstart.mdx b/android-sdk/jetpack/quickstart.mdx index 55108930b..a2b2d38e8 100644 --- a/android-sdk/jetpack/quickstart.mdx +++ b/android-sdk/jetpack/quickstart.mdx @@ -23,6 +23,7 @@ For managing static translations, we recommend using [Tolgee CLI](https://github :::info Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. This provides **readability, centralization, and consistency**. +::: :::note Configuration exaples below are written in Kotlin DSL. Groovy DSL should work but is not officially supported/tested. From d201ffe1016e4c699a066dd66d5f0b1949a2c8a1 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Thu, 2 Oct 2025 13:49:06 +0200 Subject: [PATCH 24/41] docs: update navigation links and rename installation to quickstart in Android SDK docs --- android-sdk/core-module/quickstart.mdx | 2 +- android-sdk/core-module/troubleshooting.mdx | 2 +- android-sdk/jetpack/quickstart.mdx | 2 +- android-sdk/jetpack/troubleshooting.mdx | 4 ++-- android-sdk/jetpack/usage.mdx | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android-sdk/core-module/quickstart.mdx b/android-sdk/core-module/quickstart.mdx index c37ad57ef..83e56b40a 100644 --- a/android-sdk/core-module/quickstart.mdx +++ b/android-sdk/core-module/quickstart.mdx @@ -162,5 +162,5 @@ Dynamic updates without republishing. See the step-by-step guide in [**Usage**]( - Not sure which artifact to use? See [overview](../overview.mdx) - Learn how to fetch and render translations in Views: [`Usage`](./usage.mdx) -- Using Compose? Start here: [Jetpack Installation](../jetpack/installation.mdx) +- Using Compose? Start here: [Jetpack Quickstart](../jetpack/quickstart.mdx) - Having issues? Check [`Troubleshooting`](./troubleshooting.mdx) diff --git a/android-sdk/core-module/troubleshooting.mdx b/android-sdk/core-module/troubleshooting.mdx index 5ad0aa017..dd3e9431d 100644 --- a/android-sdk/core-module/troubleshooting.mdx +++ b/android-sdk/core-module/troubleshooting.mdx @@ -93,5 +93,5 @@ See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Univers - Usage (Views): [Usage](./usage.mdx) - For complete examples of how to use the Tolgee Core module, check out the demo projects: Traditional Android Views example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid -- Jetpack Compose: [Installation](../jetpack/installation.mdx), [Usage](../jetpack/usage.mdx) +- Jetpack Compose: [Quickstart](../jetpack/quickstart.mdx), [Usage](../jetpack/usage.mdx) - CLI for static strings: [Tolgee CLI](/tolgee-cli/installation) diff --git a/android-sdk/jetpack/quickstart.mdx b/android-sdk/jetpack/quickstart.mdx index a2b2d38e8..9f3787312 100644 --- a/android-sdk/jetpack/quickstart.mdx +++ b/android-sdk/jetpack/quickstart.mdx @@ -171,5 +171,5 @@ If you have a different integration setup (for example, using tolgee-cli and bun ## Next steps - Learn how to use translations in Compose: [`Usage`](./usage.mdx) -- Not sure which module to use? See [`Modules overview`](../about.mdx) +- Not sure which module to use? See [`Modules overview`](../overview.mdx) - Having issues? Check [`Troubleshooting`](./troubleshooting.mdx) diff --git a/android-sdk/jetpack/troubleshooting.mdx b/android-sdk/jetpack/troubleshooting.mdx index cd4f8913c..28a9f93c9 100644 --- a/android-sdk/jetpack/troubleshooting.mdx +++ b/android-sdk/jetpack/troubleshooting.mdx @@ -90,8 +90,8 @@ See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Univers ## Useful links - Views troubleshooting: [Core Module Troubleshooting](/android-sdk/core-module/troubleshooting) -- Quickstart (Compose): [Installation](./installation.mdx) -- Usage (Compose): [Usage](./usage.mdx) +- Quickstart (Compose): [Installation](../jetpack/quickstart.mdx) +- Usage (Compose): [Usage](../jetpack/usage.mdx) - For complete examples of how to use the Tolgee Compose module, check out the demo projects: - Jetpack Compose example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack - Compose Multiplatform example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/multiplatform-compose diff --git a/android-sdk/jetpack/usage.mdx b/android-sdk/jetpack/usage.mdx index 7a87cdea0..53c8e2959 100644 --- a/android-sdk/jetpack/usage.mdx +++ b/android-sdk/jetpack/usage.mdx @@ -10,7 +10,7 @@ This guide shows you how to use the Tolgee Android SDK **Compose module** in you ## Prerequisites -Make sure you've completed the quickstart setup and initialized Tolgee for Compose. See: [Compose Quickstart](./installation.mdx) +Make sure you've completed the quickstart setup and initialized Tolgee for Compose. See: [Jetpack Quickstart](./quickstart.mdx) ## Basic Usage From d24b2625fb740ba18cd2bf2feb11915b63c60e9c Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Thu, 2 Oct 2025 13:58:27 +0200 Subject: [PATCH 25/41] docs: update Jetpack Compose documentation links from /installation to /quickstart --- android-sdk/core-module/quickstart.mdx | 2 +- platform/faq.mdx | 2 +- platform/formats/android_xml.mdx | 2 +- platform/getting_started/translation_content.mdx | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/android-sdk/core-module/quickstart.mdx b/android-sdk/core-module/quickstart.mdx index 83e56b40a..607c7c040 100644 --- a/android-sdk/core-module/quickstart.mdx +++ b/android-sdk/core-module/quickstart.mdx @@ -51,7 +51,7 @@ dependencies { ``` :::note -If you use **Jetpack Compose**, see the Compose variant: [Jetpack Compose -> Quickstart](/android-sdk/jetpack/installation) +If you use **Jetpack Compose**, see the Compose variant: [Jetpack Compose -> Quickstart](/android-sdk/jetpack/quickstart) ::: ### 2. (If needed) Ensure repositories include Maven Central in `settings.gradle.kts` or `build.gradle.kts`: diff --git a/platform/faq.mdx b/platform/faq.mdx index b6511a974..6790ad549 100644 --- a/platform/faq.mdx +++ b/platform/faq.mdx @@ -34,7 +34,7 @@ Yes. Tolgee provides a native [Android SDK](/android-sdk) that integrates with y - Get started: [Quickstart](/android-sdk/core-module/quickstart) - Use translations: [Usage](/android-sdk/core-module/usage) -- Compose UI: [Jetpack Compose](/android-sdk/jetpack/installation) +- Compose UI: [Jetpack Compose](/android-sdk/jetpack/quickstart) - File format details: [Android Resources XML](/platform/formats/android_xml) Glass -> eyeglasses or glass for a drink? diff --git a/platform/formats/android_xml.mdx b/platform/formats/android_xml.mdx index 7460e6126..80b9ec720 100644 --- a/platform/formats/android_xml.mdx +++ b/platform/formats/android_xml.mdx @@ -86,7 +86,7 @@ Tolgee.init { See also: -- Android SDK: [Quickstart](/android-sdk/core-module/quickstart) · [Usage](/android-sdk/core-module/usage) · [Jetpack Compose](/android-sdk/jetpack/installation) +- Android SDK: [Quickstart](/android-sdk/core-module/quickstart) · [Usage](/android-sdk/core-module/usage) · [Jetpack Compose](/android-sdk/jetpack/quickstart) ## Array support When importing data to Tolgee from the Android XML files, the array elements are converted into flat keys with diff --git a/platform/getting_started/translation_content.mdx b/platform/getting_started/translation_content.mdx index d6a46b3b2..bcb46f7a9 100644 --- a/platform/getting_started/translation_content.mdx +++ b/platform/getting_started/translation_content.mdx @@ -40,6 +40,6 @@ Tolgee also provides an [Android SDK](/android-sdk) for native Android apps, inc - Install and initialize the SDK: [Quickstart](/android-sdk/core-module/quickstart) - Use translations in Views and handle plurals/parameters: [Usage](/android-sdk/core-module/usage) -- Use localized composables: [Jetpack Compose](/android-sdk/jetpack/installation) +- Use localized composables: [Jetpack Compose](/android-sdk/jetpack/quickstart) In production, configure content delivery (CDN) using the Android [Quickstart](/android-sdk/core-module/quickstart) and [Production guide](/android-sdk/production), and preload data as needed. From 922ecb346e3f895f3e80da4091d756a6968674b2 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Thu, 2 Oct 2025 19:00:52 +0200 Subject: [PATCH 26/41] docs: enhance Quickstart (Core Module) with clearer steps and improved structure --- android-sdk/core-module/quickstart.mdx | 94 ++++++++++++++++++-------- 1 file changed, 67 insertions(+), 27 deletions(-) diff --git a/android-sdk/core-module/quickstart.mdx b/android-sdk/core-module/quickstart.mdx index 607c7c040..55d836a81 100644 --- a/android-sdk/core-module/quickstart.mdx +++ b/android-sdk/core-module/quickstart.mdx @@ -10,31 +10,52 @@ import AndroidApiRequirement from '@site/src/component/AndroidApiRequirement'; For managing static translations, we recommend using [Tolgee CLI](https://github.com/tolgee/tolgee-cli). ::: +## Quickstart + +The Tolgee **Core module** is a library that **simplifies the translation process and provides runtime support for translations in your app**. +This guide shows you how to **integrate Tolgee Android SDK** using the **Core module** for traditional **Android Views**. + +### To use Tolgee in your Android Views application, follow these steps: + +**1. Add dependency** + +*If needed. + +2*. Include Maven Central in repositories + +3*. Allow CDN networking + +**4. Initialize Tolgee** + +:::note +Configuration exaples below are written in Kotlin DSL. Groovy DSL should work but is not officially supported/tested. +::: + ## Requirements -## Quickstart +## Installing Tolgee Core -This guide shows you how to integrate Tolgee Android SDK using the **Core module** for traditional Android Views. The **Core module** is a library that provides runtime support for Tolgee translations in your app. :::info -Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. This provides **readability, centralization, and consistency**. +Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. +This **provides readability, centralization, and consistency**. ::: -:::note -Configuration exaples below are written in Kotlin DSL. Groovy DSL should work but is not officially supported/tested. -::: +**1. Add dependency (Core):** -### 1. Add dependency (Core): +**The translations in your code depend on the base Tolgee library**, which is responsible for fetching and querying them. +**To use the library, you need to add the dependency to your project.** -In `gradle/libs.versions.toml` **add an alias for Tolgee library**. + +**In `gradle/libs.versions.toml` add an alias for Tolgee library**: ```toml [libraries] tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "core", version.ref = "tolgee" } ``` -Then, in `build.gradle.kts`, **use the created alias**. +Then, **in `build.gradle.kts`, use the created alias**: ```kotlin dependencies { @@ -54,14 +75,19 @@ dependencies { If you use **Jetpack Compose**, see the Compose variant: [Jetpack Compose -> Quickstart](/android-sdk/jetpack/quickstart) ::: -### 2. (If needed) Ensure repositories include Maven Central in `settings.gradle.kts` or `build.gradle.kts`: +**2. (If needed) Ensure repositories include Maven Central** + +When you add a dependency, **your app needs to know where to download the library from**. +So sure your repositories are configured to **include Maven Central for dependency resolution**. + + +**In `settings.gradle.kts` or `build.gradle.kts`, add:** ```kotlin pluginManagement { repositories { gradlePluginPortal(); google(); mavenCentral() } } dependencyResolutionManagement { repositories { google(); mavenCentral() } } ``` -Make sure your repositories are configured to include **Maven Central** for dependency resolution. If you encounter an error like: ```text @@ -70,13 +96,16 @@ Could not find io.tolgee.mobile-kotlin-sdk:core verify that Maven Central is included in your repository configuration. -### 3. Allow CDN networking: +**3. Allow CDN networking:** + +**Enable Tolgee to fetch translations from the cloud at runtime**. To do that you need to **configure network access**. :::info -Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. If you access your own self-hosted CDN, here is where you should add the domain of your CDN. +Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. +If you access your own self-hosted CDN, here is where you should add the domain of your CDN. ::: - Create a network security config file `network_security.xml` in your `res/xml` folder: +**Create a network security config file `network_security.xml` in your `res/xml` folder:** ```xml @@ -88,7 +117,9 @@ Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud C ``` -Add network security config to your `AndroidManifest.xml`: +In Android, **the network security config must be explicitly linked in your `AndroidManifest.xml`**, so the system knows to apply it. + +**Add network security config to your `AndroidManifest.xml`:** ```xml ``` -## Initialization and configuration +## Initialization And Configuration -### Initialize Tolgee in your `Application` class. +When your app boots up, Tolgee is globally initialized. +The translations are downloaded from CDN and cached locally. +After initialization, other parts of your app (such as activities and fragments), can use Tolgee without additional configuration. + +**Initialize Tolgee in your `Application` class:** ```kotlin class MyApplication : Application() { @@ -114,17 +149,18 @@ class MyApplication : Application() { } ``` -When your app boots up, Tolgee is globally initialized. The translations are downloaded from CDN and cached locally. Other parts of your app (such as activities and fragments) can now use Tolgee without additional configuration. - **_Make sure that your app knows where to download translations_**: -For your app to download translation files, you need to provide a CDN URL prefix specific to your project. This prefix points to the catalog that contains your app’s translations. +**For your app to download translation files, you need to provide a CDN URL prefix specific to your project.** +This prefix points to the catalog that contains your app’s translations. ### How to get your CDN URL prefix (Content Delivery): -1. Open Tolgee Platform → your Project → Developer settings → Content Delivery(Add). -2. Copy the full CDN URL prefix. -3. You can use different prefixes per environment (dev/staging/prod). +**1. Open Tolgee Platform → your Project → Developer settings → Content Delivery(Add).** + +**2. Copy the full CDN URL prefix.** + +**3. You can use different prefixes per environment (dev/staging/prod).** :::info If you have a different integration setup (for example, using tolgee-cli and bundling JSON translation files in assets), the initialization may look different. @@ -132,7 +168,7 @@ If you have a different integration setup (for example, using tolgee-cli and bun ### Other Platforms -For non-Android platforms, initialization is similar but without the Android-specific storage provider: +**For non-Android platforms, initialization is similar** but no storage provider is implemented: ```kotlin fun initTolgee() { @@ -144,15 +180,19 @@ fun initTolgee() { } } ``` +:::note +If you want to implement your own storage provider, do it here. +::: -### **Optional**: Verify connectivity locally: +#### **Optional**: Verify connectivity locally: ```bash curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" ``` -You should receive a 200 response. -If you get 403 (Forbidden) or 404 (Not found), double‑check the prefix. +You should receive a **200** response. + +If you get **403** (Forbidden) or **404** (Not found), **double‑check the prefix**. :::tip Dynamic updates without republishing. See the step-by-step guide in [**Usage**](./usage.mdx). From 373a55e8fd1c50364607ddfaa9c815b1e73ad1e4 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Thu, 2 Oct 2025 19:15:37 +0200 Subject: [PATCH 27/41] docs: improve Android SDK quickstart guide structure and clarity --- android-sdk/core-module/quickstart.mdx | 57 ++++++++++++-------------- 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/android-sdk/core-module/quickstart.mdx b/android-sdk/core-module/quickstart.mdx index 55d836a81..bfeb91746 100644 --- a/android-sdk/core-module/quickstart.mdx +++ b/android-sdk/core-module/quickstart.mdx @@ -15,20 +15,17 @@ For managing static translations, we recommend using [Tolgee CLI](https://github The Tolgee **Core module** is a library that **simplifies the translation process and provides runtime support for translations in your app**. This guide shows you how to **integrate Tolgee Android SDK** using the **Core module** for traditional **Android Views**. -### To use Tolgee in your Android Views application, follow these steps: +### Integration Steps -**1. Add dependency** +To use Tolgee in your Android Views application, follow these steps: -*If needed. - -2*. Include Maven Central in repositories - -3*. Allow CDN networking - -**4. Initialize Tolgee** +1. **Add dependency** +2. **Include Maven Central in repositories** (if needed) +3. **Allow CDN networking** +4. **Initialize Tolgee** :::note -Configuration exaples below are written in Kotlin DSL. Groovy DSL should work but is not officially supported/tested. +Configuration examples below are written in Kotlin DSL. Groovy DSL should work but is not officially supported/tested. ::: ## Requirements @@ -63,7 +60,7 @@ dependencies { } ``` -For **smaller projects** you can also add dependency directly (the old way). +For **smaller projects**, you can also add the dependency directly: ```kotlin dependencies { @@ -77,8 +74,7 @@ If you use **Jetpack Compose**, see the Compose variant: [Jetpack Compose -> Qui **2. (If needed) Ensure repositories include Maven Central** -When you add a dependency, **your app needs to know where to download the library from**. -So sure your repositories are configured to **include Maven Central for dependency resolution**. +When you add a dependency, **your app needs to know where to download the library from**. So, make sure your repositories are configured to **include Maven Central for dependency resolution**. **In `settings.gradle.kts` or `build.gradle.kts`, add:** @@ -96,9 +92,9 @@ Could not find io.tolgee.mobile-kotlin-sdk:core verify that Maven Central is included in your repository configuration. -**3. Allow CDN networking:** +**3. Allow CDN networking** -**Enable Tolgee to fetch translations from the cloud at runtime**. To do that you need to **configure network access**. +**Enable Tolgee to fetch translations from the cloud at runtime**. To do this, you need to **configure network access**. :::info Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. @@ -131,7 +127,7 @@ In Android, **the network security config must be explicitly linked in your `And When your app boots up, Tolgee is globally initialized. The translations are downloaded from CDN and cached locally. -After initialization, other parts of your app (such as activities and fragments), can use Tolgee without additional configuration. +After initialization, other parts of your app (such as activities and fragments) can use Tolgee without additional configuration. **Initialize Tolgee in your `Application` class:** @@ -151,16 +147,14 @@ class MyApplication : Application() { **_Make sure that your app knows where to download translations_**: -**For your app to download translation files, you need to provide a CDN URL prefix specific to your project.** -This prefix points to the catalog that contains your app’s translations. - -### How to get your CDN URL prefix (Content Delivery): +For your app to download translation files, you need to provide a CDN URL prefix specific to your project. +This prefix points to the catalog that contains your app's translations. -**1. Open Tolgee Platform → your Project → Developer settings → Content Delivery(Add).** +**To get your CDN URL prefix:** -**2. Copy the full CDN URL prefix.** - -**3. You can use different prefixes per environment (dev/staging/prod).** +1. Open **Tolgee Platform → your Project → Developer settings → Content Delivery (Add)** +2. Copy the full CDN URL prefix +3. You can use different prefixes per environment (dev/staging/prod) :::info If you have a different integration setup (for example, using tolgee-cli and bundling JSON translation files in assets), the initialization may look different. @@ -168,7 +162,7 @@ If you have a different integration setup (for example, using tolgee-cli and bun ### Other Platforms -**For non-Android platforms, initialization is similar** but no storage provider is implemented: +For non-Android platforms, initialization is similar but no storage provider is implemented: ```kotlin fun initTolgee() { @@ -180,11 +174,14 @@ fun initTolgee() { } } ``` + :::note If you want to implement your own storage provider, do it here. ::: -#### **Optional**: Verify connectivity locally: +### Verify connectivity (optional) + +You can verify your CDN connection locally: ```bash curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" @@ -198,9 +195,9 @@ If you get **403** (Forbidden) or **404** (Not found), **double‑check the pref Dynamic updates without republishing. See the step-by-step guide in [**Usage**](./usage.mdx). ::: -## Next steps +## Next Steps -- Not sure which artifact to use? See [overview](../overview.mdx) -- Learn how to fetch and render translations in Views: [`Usage`](./usage.mdx) +- Not sure which artifact to use? See [Overview](../overview.mdx) +- Learn how to fetch and render translations in Views: [Usage](./usage.mdx) - Using Compose? Start here: [Jetpack Quickstart](../jetpack/quickstart.mdx) -- Having issues? Check [`Troubleshooting`](./troubleshooting.mdx) +- Having issues? Check [Troubleshooting](./troubleshooting.mdx) From 5c7646c2e5ce1634b809cf3f41b4f80b2c42aeac Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Fri, 3 Oct 2025 08:33:27 +0200 Subject: [PATCH 28/41] docs: enhance Quickstart and Usage guides for Android SDK with clearer steps and improved structure --- android-sdk/core-module/quickstart.mdx | 10 +- android-sdk/core-module/usage.mdx | 169 +++++++++++++++---------- android-sdk/jetpack/quickstart.mdx | 101 ++++++++++----- android-sdk/jetpack/usage.mdx | 84 +++++++++--- 4 files changed, 239 insertions(+), 125 deletions(-) diff --git a/android-sdk/core-module/quickstart.mdx b/android-sdk/core-module/quickstart.mdx index bfeb91746..70646181b 100644 --- a/android-sdk/core-module/quickstart.mdx +++ b/android-sdk/core-module/quickstart.mdx @@ -41,10 +41,9 @@ This **provides readability, centralization, and consistency**. **1. Add dependency (Core):** -**The translations in your code depend on the base Tolgee library**, which is responsible for fetching and querying them. +**The translations in your code depend on the base Tolgee library**, which is responsible for fetching and querying them. **To use the library, you need to add the dependency to your project.** - **In `gradle/libs.versions.toml` add an alias for Tolgee library**: ```toml @@ -76,7 +75,6 @@ If you use **Jetpack Compose**, see the Compose variant: [Jetpack Compose -> Qui When you add a dependency, **your app needs to know where to download the library from**. So, make sure your repositories are configured to **include Maven Central for dependency resolution**. - **In `settings.gradle.kts` or `build.gradle.kts`, add:** ```kotlin @@ -125,8 +123,8 @@ In Android, **the network security config must be explicitly linked in your `And ## Initialization And Configuration -When your app boots up, Tolgee is globally initialized. -The translations are downloaded from CDN and cached locally. +When your app boots up, Tolgee is globally initialized. +The translations are downloaded from CDN and cached locally. After initialization, other parts of your app (such as activities and fragments) can use Tolgee without additional configuration. **Initialize Tolgee in your `Application` class:** @@ -147,7 +145,7 @@ class MyApplication : Application() { **_Make sure that your app knows where to download translations_**: -For your app to download translation files, you need to provide a CDN URL prefix specific to your project. +**For your app to download translation files, you need to provide a CDN URL prefix specific to your project.** This prefix points to the catalog that contains your app's translations. **To get your CDN URL prefix:** diff --git a/android-sdk/core-module/usage.mdx b/android-sdk/core-module/usage.mdx index 1765b12b2..51afb71b1 100644 --- a/android-sdk/core-module/usage.mdx +++ b/android-sdk/core-module/usage.mdx @@ -6,13 +6,30 @@ description: How to use Tolgee Android SDK Core module in traditional Android Vi # Usage (Core Module) +**This guide shows you how to use the Tolgee Android SDK Core module in your Android Views application.** + +To use Tolgee in your application, you need to follow these steps: + +**1. Get the Tolgee instance** + +**2 Choose translation type** + +**3. Implement translation type** + +**4. Manage locales** + +You can also find **information about formatter configuration and plurals** here. + ## Prerequisites -Ensure you have completed the quickstart setup and initialization in your Application class. See: [Quickstart](./quickstart.mdx) +**Ensure you have completed the quickstart guide and initialized Tolgee in your Application class.** See: [Quickstart (Core Module)](./quickstart.mdx) + +# Basic Usage -## Basic Usage +## Get The Global Tolgee Instance -### Get the global Tolgee instance: +After you have initialized Tolgee in your app, following the quickstart guide. +Set up a singleton Tolgee global instance, this allows you to use Tolgee. ```kotlin val tolgee = Tolgee.instance @@ -22,10 +39,16 @@ From now on you can: - get translations: `tolgee.t("key")`, `tolgee.tFlow("key")`, - change locales: `tolgee.setLocale("xx")`, -- listen for changes: `tolgee.changeFlow`; and respond to them: `tolgee.addChangeListener. +- listen for changes: `tolgee.changeFlow`; and respond to them: `tolgee.addChangeListener`. ## Getting Translations +In this section, the translation types are demonstrated. Here you can see a quick overview: + +:::note +If you are unsure of which translation type to choose, notice a “Use for...” section under every explanation. +::: + ### One time translations: ```kotlin @@ -34,12 +57,13 @@ val text: String? = tolgee.t("key") Returns null if translations are not yet loaded (e.g., SDK hasn't downloaded data). -Returns a string when translations are loaded. +Returns a key when translations are loaded. **Use for simple/static text** (e. g., error messages, titles). -:::note -If you choose this function for your app, creating a **global corutine** with `Tolgee.preload()` is reccomended. See a tip under **A) Preload translations for the current locale from Activity** section. +:::warning +If you choose this function for your app, create a **global corutine** with `Tolgee.preload()`. +See a tip under **a) Preload translations for the current locale from Activity** section. ::: ### Translation with parameters: @@ -50,12 +74,10 @@ val textWithParams: String? = tolgee.t("key_with_param", mapOf("param" to "value **_Use for translation with dynamic values._** Add data that changes during the app's runtime (e.g., dates, numbers, usernames). -:::note -To use parameters with Android fallbacks and ensure that translations from CDN can be interpreted, follow ICU order. -::: -:::note -If you choose this function for your app, creating a **global corutine** with `Tolgee.preload()` is reccomended. See a tip under **A) Preload translations for the current locale from Activity** section. +:::warning +If you choose this function for your app, creating a **global corutine** with `Tolgee.preload()` is reccomended. +See a tip under **a) Preload translations for the current locale from Activity** section, below. ::: #### a) Preload translations for the current locale @@ -67,36 +89,38 @@ override fun onStart() { } ``` -Improves perceived performance - ensures strings are ready sooner for the current locale. +Improves perceived performance - ensures keys are ready sooner for the current locale. + **Use for UI’s where the translations are critical (e.g., login, onboarding).** :::tip -**Create a global corutine by calling `Tolgee.preload()` function with both, mentioned, one-time translations and translations with parameters. +Create a global corutine by calling `Tolgee.preload()` function with mentioned above one-time translations and translations with parameters. ::: #### b) Get a translation with fallback to Android resources -Fallbacks provide a safety net in case of any problems with loading the translation or pulling from Android resources. +**Fallbacks provide a safety net** in case of any problems with loading the translation or pulling from Android resources. -**- One time translation with fallbacks:** +- One time translation with fallbacks: ```kotlin val text = tolgee.t(context, R.string.string_key) ``` -**- Translation with parameters & fallbacks:** +- Translation with parameters & fallbacks: ```kotlin val textWithParams = tolgee.t(context, R.string.string_with_params, "param1", "param2") ``` +:::warning +To use parameters with Android fallbacks and ensure that translations from CDN can be interpreted, follow ICU order. +::: #### c) Semi-dynamic updates for classic Views -:::info -To receive fresh translations without needing to publish new app versions follow these steps: -::: +To receive **fresh translations without needing to publish new app versions** follow these steps: -**- Wrap your Activity context so Android resource lookups use Tolgee:** +- Wrap your Activity context, so Android resource lookups use Tolgee: ```kotlin class MyActivity : Activity() { @@ -106,7 +130,7 @@ class MyActivity : Activity() { } ``` -**- Trigger a UI refresh when locale/translations change:** +- Trigger a UI refresh when locale/translations change: ```kotlin lifecycleScope.launch { @@ -116,7 +140,8 @@ lifecycleScope.launch { } ``` -Combining those two approaches gives you **semi-dynamic behavior**: translations update after an Activity reload, not instantly. This setup works with both one-time translations and translations with parameters. +Combining those two approaches gives you **semi-dynamic behavior, translations update after an Activity reload, not instantly**. +This setup works with both one-time translations and translations with parameters. ### Get dynamic (reactive) translations. @@ -129,7 +154,7 @@ textFlow.collect { text -> **Use for reactive UI.** Translations update **immediately and automatically** whenever the language or CDN data changes. -#### **- Reactive translation with fallback to Android resources** +#### - Dynamic translation with fallback to Android resources ```kotlin val textFlow = tolgee.tFlow(context, R.string.string_key) @@ -139,14 +164,57 @@ val textFlow = tolgee.tFlow(context, R.string.string_key) In Compose, use `collectAsState()` function for a more idiomatic integration. See more in [**Jetpack Compose Usage**](../jetpack/usage.mdx). ::: +### Formatter Configuration + +**Choose how placeholders are parsed and rendered.** +Use when you have translations with placeholders, SDK must know how to exchange the placeholders for wanted values. +**Example**: "`Hello %s`" or"`You have {count} items`" + +See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Universal ICU placeholders](/platform/translation_process/tolgee_universal_icu_placeholders) + + +**1. Sprintf** + +```kotlin +Tolgee.init { + contentDelivery { + url = "https://cdn.tolg.ee/your-cdn-url-prefix" + format(Tolgee.Formatter.Sprintf) + } +} +``` + +**Use for easy scenarios**, when you are using formatters, like `%s, %d, %1$s`. + +:::warning +**This parameter type won't work with fallbacks to Android Resources** - it's not functional for apps with any offline activity. +::: + +**2. ICU** + +```kotlin +Tolgee.init { + contentDelivery { + url = "https://cdn.tolg.ee/your-cdn-url-prefix" + format(Tolgee.Formatter.ICU) + } +} +``` + +**Use for more advanced translations and ICU features**, when you need nested formats or formatters, + like e.g. few, may, female, and complex lingual principles. + ## Plurals +Plurals ensure your app displays grammatically correct text based on the count, so users always see localized phrases. + :::info Tolgee advantage: keeps plural rules and translations in sync across languages, without you needing to hardcode them. ::: +**Handle Android plurals via resources:** + ```kotlin -Handle Android plurals via resources: val itemsText = tolgee.tPlural(context, R.plurals.items_count, count, count) textView.text = itemsText ``` @@ -157,6 +225,8 @@ See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Univers ## Locale Management +This section addresses deciding and controlling what **language and region** your app uses. + ### 1. Set the locale manually. ```kotlin @@ -191,58 +261,17 @@ lifecycleScope.launch { **Use for building dynamically updated UI.** Enables you to create UI that stays in sync with locale changes and new translations. -## Advanced Configuration - -### Formatter Configuration - -**Choose how placeholders are parsed and rendered.** -Use when you have translations with placeholders, SDK must know how to exchange the placeholders for wanted values. -**Example**: "`Hello %s`" or"`You have {count} items`" - -1. Sprintf (default – Android style) - -```kotlin -Tolgee.init { - contentDelivery { - url = "https://cdn.tolg.ee/your-cdn-url-prefix" - format(Tolgee.Formatter.Sprintf) - } -} -``` - -**Use for easy scenarios**, when you are using classic formatters (`%s, %d, %1$s`). -**These parameters won't work with fallbacks to Android Resources** - it's not functional for apps with any offline activity. - -2. ICU (Native Flat JSON) - -```kotlin -Tolgee.init { - contentDelivery { - url = "https://cdn.tolg.ee/your-cdn-url-prefix" - format(Tolgee.Formatter.ICU) - } -} -``` - -**Use for more advanced translations and ICU features**, when you need nested formats or formatters like e.g. few, may, female, complex lingual principles. +:::info ## Example Projects **For complete examples of how to use the Tolgee Core module**, check out the demo projects: **Example Android:** https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid - -## Best Practices - -- **Preload translations** in `onStart` → ensures strings for the current locale are ready sooner. -- **Avoid main-thread blocking**; use Flows → keeps UI responsive. -- **Keep keys in sync** between Android resources and Tolgee → use Tolgee CLI. -- **Wrap context** in Activities → ensures translations come from Tolgee. -- **Call `recreate()`** in Activities → automatic updates in classic Views. -- **Subscribe to `changeFlow`** → enables fully reactive UIs. +::: ## Next Steps - **Using Compose?** Continue with [Jetpack Compose Usage](../jetpack/usage.mdx) -- **Production deployment?** See [Production Guide](/android-sdk/production) -- **Having issues?** Check [Troubleshooting](./troubleshooting.mdx) +- **Production deployment?** See [Production](/android-sdk/production) +- **Having issues?** Check [Troubleshooting (Core Module)](./troubleshooting.mdx) diff --git a/android-sdk/jetpack/quickstart.mdx b/android-sdk/jetpack/quickstart.mdx index 9f3787312..7f34a7f95 100644 --- a/android-sdk/jetpack/quickstart.mdx +++ b/android-sdk/jetpack/quickstart.mdx @@ -8,37 +8,55 @@ import AndroidApiRequirement from '@site/src/component/AndroidApiRequirement'; # Quickstart (Compose Module) -This guide shows you how to integrate Tolgee Android SDK using the **Compose module** for Jetpack Compose and Compose Multiplatform. - -The Compose module is Android's modern **declarative UI toolkit**; it's a **simpler** and **more reactive model** compared to Core module. It provides you with **instant access to Tolgee translations** directly in Composables/Compose Multiplatform projects, with **automatic updates**. :::info For managing static translations, we recommend using [Tolgee CLI](https://github.com/tolgee/tolgee-cli). ::: +## Quickstart + +This guide shows you how to integrate Tolgee Android SDK using the **Compose module** for Jetpack Compose and Compose Multiplatform. + +The Compose module is Android's modern **declarative UI toolkit**; it's a **simpler** and **more reactive model** compared to Core module. +It provides you with **instant access to Tolgee translations** directly in Composables/Compose Multiplatform projects, with **automatic updates**. + +### Integration Steps + +To use Tolgee in your Android Views application, follow these steps: + +**1. Add dependency** +**2. Include Maven Central in repositories** (If needed) +**3. Allow CDN networking** +**4. Initialize Tolgee** + +:::note +Configuration exaples below are written in Kotlin DSL. Groovy DSL should work but is not officially supported/tested. +::: + ## Requirements -## Dependency Setup +## Instaling Tolgee Compose :::info Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. This provides **readability, centralization, and consistency**. ::: -:::note -Configuration exaples below are written in Kotlin DSL. Groovy DSL should work but is not officially supported/tested. -::: -1. Add dependency (Compose): +**1. Add dependency (Compose):** + +**The translations in your code depend on the base Tolgee library**, which is responsible for fetching and querying them. +**To use the library, you need to add the dependency to your project.** -In `gradle/libs.versions.toml` **add an alias for Tolgee Compose library**. + +**In `gradle/libs.versions.toml` **add an alias for Tolgee Compose library**. ```toml [libraries] tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "compose", version.ref = "tolgee" } ``` -Then, in `build.gradle.kts`, **use the created alias**. +**Then, in `build.gradle.kts`, use the created alias**. ```kotlin dependencies { @@ -58,14 +76,19 @@ dependencies { If you use **traditional Android Views**, see the Core variant: [Core Quickstart](/android-sdk/core-module/quickstart) ::: -2. (If needed) Ensure repositories include Maven Central in `settings.gradle.kts` or `build.gradle.kts`: +**2. (If needed) Ensure repositories include Maven Central** + +When you add a dependency, **your app needs to know where to download the library from.** +So, make sure your repositories are configured to **include Maven Central for dependency resolution.** + + + **In `settings.gradle.kts` or `build.gradle.kts`:** ```kotlin pluginManagement { repositories { gradlePluginPortal(); google(); mavenCentral() } } dependencyResolutionManagement { repositories { google(); mavenCentral() } } ``` -Make sure your repositories are configured to include **Maven Central** for dependency resolution. If you encounter an error like: ```text @@ -74,13 +97,15 @@ Could not find io.tolgee.mobile-kotlin-sdk:compose verify that Maven Central is included in your repository configuration. -3. Allow CDN networking: +**3. Allow CDN networking:** + +**Enable Tolgee to fetch translations from the cloud at runtime.** To do this, you need to **configure network access**. :::info Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. If you access your own self-hosted CDN, here is where you should add the domain of your CDN. ::: -Create a network security config file `network_security.xml` in your `res/xml` folder: +**Create a network security config file `network_security.xml` in your `res/xml` folder:** ```xml @@ -92,7 +117,9 @@ Create a network security config file `network_security.xml` in your `res/xml` f ``` -Add network security config to your `AndroidManifest.xml`: +In Android, **the network security config must be explicitly linked in your `AndroidManifest.xml`**, so the system knows to apply it. + +**Add network security config to your `AndroidManifest.xml`:** ```xml Date: Fri, 3 Oct 2025 09:19:44 +0200 Subject: [PATCH 29/41] docs: add reusable Android API requirement component to overview page --- android-sdk/overview.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/android-sdk/overview.mdx b/android-sdk/overview.mdx index 4ccabfd1c..c3270d7e2 100644 --- a/android-sdk/overview.mdx +++ b/android-sdk/overview.mdx @@ -8,13 +8,15 @@ description: Overview of Tolgee Android SDK with Over‑the‑Air (OTA) localiza import SystemCard from '@site/src/component/SystemCard'; import FeatureGrid from '@site/src/component/FeatureGrid'; import { ScreenshotWrapper } from '../platform/shared/_ScreenshotWrapper'; +import AndroidApiRequirement from '@site/src/component/AndroidApiRequirement'; # Tolgee for Android SDK ## Requirements -- **Android SDK 21+** (Android 5.0 Lollipop or higher) -- Compatible with **Android Views**, **Jetpack Compose**, and **Compose Multiplatform** + + +Compatible with **Android Views**, **Jetpack Compose**, and **Compose Multiplatform** ## Overview From 15ee9673d57c45163c978bc53776341d358178d2 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Fri, 3 Oct 2025 09:24:24 +0200 Subject: [PATCH 30/41] docs: move CLI info section below feature list in Android SDK overview --- android-sdk/overview.mdx | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/android-sdk/overview.mdx b/android-sdk/overview.mdx index c3270d7e2..fb20f858c 100644 --- a/android-sdk/overview.mdx +++ b/android-sdk/overview.mdx @@ -33,12 +33,6 @@ The platform provides **multiple hosting options**: Tolgee CDN or your own CDN. Tolgee Android SDK is split into modules, so you only add what you need. -### When to use which module: - -:::info -For managing static translations in your repository, consider using the [Tolgee CLI](/tolgee-cli/installation). -::: - ### **Core** Android @@ -70,6 +64,10 @@ It requires core transitively. - **Parameter** (ICU) **and Plural Support**. - **Reactive Updates**: UI automatically updates when translations/locale change. +:::info +For managing static translations in your repository, consider using the [Tolgee CLI](/tolgee-cli/installation). +::: + ## Demo apps ### 📱 Android Views Demo From 79d9da6421abfb5b546f79aba6ac7d9e36a6a571 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Fri, 3 Oct 2025 09:27:15 +0200 Subject: [PATCH 31/41] docs: enhance Android SDK getting started guide with feature grid and clearer sections --- android-sdk/get-started.mdx | 57 +++++++++++++++++++++++++++---------- 1 file changed, 42 insertions(+), 15 deletions(-) diff --git a/android-sdk/get-started.mdx b/android-sdk/get-started.mdx index 77a4d6bed..88004613a 100644 --- a/android-sdk/get-started.mdx +++ b/android-sdk/get-started.mdx @@ -6,26 +6,53 @@ description: Quick start guide for integrating Tolgee Android SDK into your proj --- import SystemCard from '@site/src/component/SystemCard'; +import FeatureGrid from '@site/src/component/FeatureGrid'; -## What You'll Achieve - -After completing the setup, your app will have: - -- **Translations** delivered via CDN. -- **Offline support** with local caching. -- **Runtime language switching** without app restart. -- **Fallback support** to bundled Android resources. -- **Over-the-Air updates** for translations without app republishing. +Here you can see a **quick setup overview**. Follow these steps to **integrate Tolgee into your Android project**. -# Get Started with Tolgee Android SDK +## Features -Here you can see a **quick setup overview**. Follow these steps to **integrate Tolgee into your Android project**. +After completing the setup, your app will have: + ## Integration Path -### 1. **Choose your implementation** +### **Choose your implementation**
@@ -55,7 +82,7 @@ Here you can see a **quick setup overview**. Follow these steps to **integrate T />
-### 2. Add Tolgee SDK to your project +### **Add Tolgee SDK to your project**
-### 4. Start using Tolgee +### **Start using Tolgee**
Date: Fri, 3 Oct 2025 15:18:01 +0200 Subject: [PATCH 32/41] docs: add links to content delivery docs and improve formatting consistency --- android-sdk/core-module/quickstart.mdx | 2 +- android-sdk/core-module/usage.mdx | 17 +++++------ android-sdk/get-started.mdx | 40 -------------------------- android-sdk/jetpack/usage.mdx | 4 +-- android-sdk/overview.mdx | 21 +++++++------- 5 files changed, 21 insertions(+), 63 deletions(-) diff --git a/android-sdk/core-module/quickstart.mdx b/android-sdk/core-module/quickstart.mdx index 70646181b..e8124ea34 100644 --- a/android-sdk/core-module/quickstart.mdx +++ b/android-sdk/core-module/quickstart.mdx @@ -150,7 +150,7 @@ This prefix points to the catalog that contains your app's translations. **To get your CDN URL prefix:** -1. Open **Tolgee Platform → your Project → Developer settings → Content Delivery (Add)** +1. Open **Tolgee Platform → your Project → Developer settings → [Content Delivery](/platform/projects_and_organizations/content_delivery)** 2. Copy the full CDN URL prefix 3. You can use different prefixes per environment (dev/staging/prod) diff --git a/android-sdk/core-module/usage.mdx b/android-sdk/core-module/usage.mdx index 51afb71b1..599f3f28b 100644 --- a/android-sdk/core-module/usage.mdx +++ b/android-sdk/core-module/usage.mdx @@ -6,13 +6,13 @@ description: How to use Tolgee Android SDK Core module in traditional Android Vi # Usage (Core Module) -**This guide shows you how to use the Tolgee Android SDK Core module in your Android Views application.** +This guide shows you how to use the Tolgee Android SDK Core module in your Android Views application. To use Tolgee in your application, you need to follow these steps: **1. Get the Tolgee instance** -**2 Choose translation type** +**2. Choose translation type** **3. Implement translation type** @@ -22,9 +22,7 @@ You can also find **information about formatter configuration and plurals** here ## Prerequisites -**Ensure you have completed the quickstart guide and initialized Tolgee in your Application class.** See: [Quickstart (Core Module)](./quickstart.mdx) - -# Basic Usage +Ensure you have completed the quickstart guide and initialized Tolgee in your Application class. See: [Quickstart (Core Module)](./quickstart.mdx) ## Get The Global Tolgee Instance @@ -101,13 +99,13 @@ Create a global corutine by calling `Tolgee.preload()` function with mentioned a **Fallbacks provide a safety net** in case of any problems with loading the translation or pulling from Android resources. -- One time translation with fallbacks: +One time translation with fallbacks: ```kotlin val text = tolgee.t(context, R.string.string_key) ``` -- Translation with parameters & fallbacks: +Translation with parameters & fallbacks: ```kotlin val textWithParams = tolgee.t(context, R.string.string_with_params, "param1", "param2") @@ -120,7 +118,7 @@ To use parameters with Android fallbacks and ensure that translations from CDN c To receive **fresh translations without needing to publish new app versions** follow these steps: -- Wrap your Activity context, so Android resource lookups use Tolgee: +Wrap your Activity context, so Android resource lookups use Tolgee: ```kotlin class MyActivity : Activity() { @@ -130,7 +128,7 @@ class MyActivity : Activity() { } ``` -- Trigger a UI refresh when locale/translations change: +Trigger a UI refresh when locale/translations change: ```kotlin lifecycleScope.launch { @@ -172,7 +170,6 @@ Use when you have translations with placeholders, SDK must know how to exchange See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Universal ICU placeholders](/platform/translation_process/tolgee_universal_icu_placeholders) - **1. Sprintf** ```kotlin diff --git a/android-sdk/get-started.mdx b/android-sdk/get-started.mdx index 88004613a..cfd0495ad 100644 --- a/android-sdk/get-started.mdx +++ b/android-sdk/get-started.mdx @@ -10,46 +10,6 @@ import FeatureGrid from '@site/src/component/FeatureGrid'; Here you can see a **quick setup overview**. Follow these steps to **integrate Tolgee into your Android project**. - -## Features - -After completing the setup, your app will have: - - - ## Integration Path ### **Choose your implementation** diff --git a/android-sdk/jetpack/usage.mdx b/android-sdk/jetpack/usage.mdx index 2497b565f..466abd312 100644 --- a/android-sdk/jetpack/usage.mdx +++ b/android-sdk/jetpack/usage.mdx @@ -6,7 +6,7 @@ description: How to use Tolgee Android SDK Compose module in Jetpack Compose and # Usage (Compose Module) -**This guide shows you how to use the Tolgee Android SDK Compose module**. +This guide shows you how to use the Tolgee Android SDK Compose module**. To use Tolgee in your **Jetpack Compose or Compose Multiplatform application**, you need to follow these steps: @@ -64,7 +64,7 @@ Use `stringResource` for **simple strings** (e. g., error messages, titles), ret ### 2. With Parameters -Pass parameters to translations, supply arguments for placeholders in your strings. +Pass parameters to translations, supply arguments for placeholders in your keys. - **Jetpack Compose** diff --git a/android-sdk/overview.mdx b/android-sdk/overview.mdx index fb20f858c..f48de7d15 100644 --- a/android-sdk/overview.mdx +++ b/android-sdk/overview.mdx @@ -10,24 +10,25 @@ import FeatureGrid from '@site/src/component/FeatureGrid'; import { ScreenshotWrapper } from '../platform/shared/_ScreenshotWrapper'; import AndroidApiRequirement from '@site/src/component/AndroidApiRequirement'; -# Tolgee for Android SDK - -## Requirements - - - -Compatible with **Android Views**, **Jetpack Compose**, and **Compose Multiplatform** +# Tolgee Android SDK ## Overview Tolgee is a **localization platform** that allows you to **translate your application into any language without code modifications**. -The SDK also enables you to **connect seamlessly to the Tolgee Platform**. +The SDK also enables you to **connect seamlessly to the [Tolgee Platform](https://app.tolgee.io)**. No more looking for keys in your source code, no more editing localization files, no more manually exporting data for translators, and no more publishing new app versions for translations. Tolgee is **developer-focused**, making it **easy to integrate** with your app. -The platform provides **multiple hosting options**: Tolgee CDN or your own CDN. +And provides **multiple hosting options**: Tolgee CDN or your own CDN. **Supports Over‑the‑Air (OTA)** translation updates, providing translations dynamically **without needing to publish new app versions**. -**Works offline** with **caching**, **fallbacks**, **device-aware resource selection**, and **preloading**. +**Works offline** with **caching**, **fallbacks** and **preloading**. + +## Requirements + + + +Compatible with **Android Views**, **Jetpack Compose**, and **Compose Multiplatform** + ## Modules From 13c77907167ca069afdf70cbe77115bae1847746 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Mon, 6 Oct 2025 08:19:57 +0200 Subject: [PATCH 33/41] docs: update troubleshooting and overview documentation for clarity and structure --- android-sdk/core-module/troubleshooting.mdx | 74 +------------- android-sdk/get-started.mdx | 96 ++---------------- android-sdk/overview.mdx | 105 ++++++++++++++++---- 3 files changed, 99 insertions(+), 176 deletions(-) diff --git a/android-sdk/core-module/troubleshooting.mdx b/android-sdk/core-module/troubleshooting.mdx index dd3e9431d..03b7bfd04 100644 --- a/android-sdk/core-module/troubleshooting.mdx +++ b/android-sdk/core-module/troubleshooting.mdx @@ -8,7 +8,7 @@ description: Troubleshooting Tolgee Android SDK ## Fast Checklist -Before diving into troubleshooting, quickly review this list to steer clear of the most common erroes. + ### General Setup @@ -19,79 +19,13 @@ Before diving into troubleshooting, quickly review this list to steer clear of t curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" ``` -- **Check if network security is configured** - (`network_security.xml` reference with `Android manifest`). -- **Check if cache clears after an app update** (use `TolgeeStorageProviderAndroid`). - -### Code & Integration - -- **Check if Same strings are used in both code/resources and Tolgee Platform.** -- **Check if Tolgee multiplatform helpers are shared among common code** (io.tolgee.compose.stringResource / pluralStringResource). -- **Check if you are subscribed to tolgee.changeFlow** for UI recomposition. -- **Check if single Tolgee instance is used per app.** -- **Check if Correct formatter is used** (Sprintf vs ICU). - -## Error handling - -- Log fetch failures and fall back to cache/static values. -- Consider retry/backoff for transient network errors. - -## Testing - -- Provide test doubles for content delivery to return deterministic values. -- For UI tests, inject a test Tolgee instance with preloaded data. - -## Common Issues - -### Dependency Issues - -- Make sure Maven Central is included in your repositories - check the dependency in your build.gradle.kts. -- If using a Version Catalog, confirm that version.ref = "tolgee" points to the correct version. - -### Translation Issues - -- Check that your Tolgee instance is properly initialized (in Application with applicationContext). -- Verify CDN URL prefix in Tolgee Platform. -- Check that your storage provider is properly configured -- Make sure all keys used in code/resources are also present in Tolgee Platform. -- Make sure you're calling Tolgee.init before accessing translations. -- Use tolgee.preload or tolgee.tFlow before calling tolgee.t to ensure translations are loaded. - -### Network Security Issues - -- Add a network_security.xml in your res/xml folder (You can reference it in AndroidManifest.xml). - -### Locale Issues - -- Use tolgee.changeFlow to monitor locale changes and update your UI accordingly. -- Call tolgee.preload(this) function for critical screens (e.g., login, onboarding). -- Verify that your project supports the locale code you're using. -- Check that translations for the selected locale exist in your Tolgee project. -- Use a mock or explicit instance for tests/previews. - -### Plurals & Formatting Issues - -- Make sure plural resources exist both in Android (plurals.xml) and Tolgee Platform. -- Use the correct formatter (Sprintf vs ICU). -- Ensure translations in Tolgee Platform match the expected format style. - -See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Universal ICU placeholders](/platform/translation_process/tolgee_universal_icu_placeholders) - -### Android Resource Integration Issues - -- Check that your Android resources are properly structured - Tolgee is using resources.getResourceEntryName to find key for the resource. -- Make sure the Tolgee instance has access to the Android application context. -- Ensure that the TolgeeStorageProviderAndroid is properly initialized with the context and version code which changes with each app update. - -### Multiplatform (KMP) Issues -- Verify that your resource files are correctly set up and all strings present in resources are also in Tolgee Platform. -- Make sure that you are using the correct resource references. ## Useful links - Installation: [Quickstart](./quickstart.mdx) - Usage (Views): [Usage](./usage.mdx) - For complete examples of how to use the Tolgee Core module, check out the demo projects: - Traditional Android Views example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid -- Jetpack Compose: [Quickstart](../jetpack/quickstart.mdx), [Usage](../jetpack/usage.mdx) -- CLI for static strings: [Tolgee CLI](/tolgee-cli/installation) + - Traditional Android Views example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid + - Jetpack Compose: [Quickstart](../jetpack/quickstart.mdx), [Usage](../jetpack/usage.mdx) + - CLI for static strings: [Tolgee CLI](/tolgee-cli/installation) diff --git a/android-sdk/get-started.mdx b/android-sdk/get-started.mdx index cfd0495ad..21cea437e 100644 --- a/android-sdk/get-started.mdx +++ b/android-sdk/get-started.mdx @@ -6,95 +6,13 @@ description: Quick start guide for integrating Tolgee Android SDK into your proj --- import SystemCard from '@site/src/component/SystemCard'; -import FeatureGrid from '@site/src/component/FeatureGrid'; -Here you can see a **quick setup overview**. Follow these steps to **integrate Tolgee into your Android project**. +## What You'll Achieve -## Integration Path +After completing the setup, your app will have: -### **Choose your implementation** - -
- - - - -
- -### **Add Tolgee SDK to your project** - -
- - - -
- -:::warning -The Gradle compiler plugin is not released yet and is not part of the current installation options. -::: - -### **Optimize production performance** - -
- -
- -### **Start using Tolgee** - -
- - - -
- -## Need Help? - -- **Manage translations collaboratively**: Connect your app to the Tolgee Platform — [Platform docs](../platform/) -- **Troubleshooting**: Common issues and diagnostics — [Troubleshooting](./core-module/troubleshooting) -- **Demo Apps**: Complete example implementations — [Demo Apps](/android-sdk#demo-apps) +- **Translations** delivered via CDN. +- **Offline support** with local caching. +- **Runtime language switching** without app restart. +- **Fallback support** to bundled Android resources. +- **Over-the-Air updates** for translations without app republishing. diff --git a/android-sdk/overview.mdx b/android-sdk/overview.mdx index f48de7d15..77e643232 100644 --- a/android-sdk/overview.mdx +++ b/android-sdk/overview.mdx @@ -29,7 +29,6 @@ And provides **multiple hosting options**: Tolgee CDN or your own CDN. Compatible with **Android Views**, **Jetpack Compose**, and **Compose Multiplatform** - ## Modules Tolgee Android SDK is split into modules, so you only add what you need. @@ -50,7 +49,11 @@ It's designed for use with **Android Views** or **any non Compose UI**. ### **Compose** -Jetpack Compose +Jetpack Compose Compose is an extension for using the library with **Jetpack Compose** or **Compose Multiplatform**. It **adds localized composables and helpers** (e.g., stringResource, pluralStringResource). @@ -65,10 +68,88 @@ It requires core transitively. - **Parameter** (ICU) **and Plural Support**. - **Reactive Updates**: UI automatically updates when translations/locale change. -:::info -For managing static translations in your repository, consider using the [Tolgee CLI](/tolgee-cli/installation). +# Get Started + +Here you can see a **quick setup overview**. Follow these steps to **integrate Tolgee into your Android project**. + +## Integration Path + +### 1. **Choose your implementation** + +
+ +{' '} + + + +
+ +### 2. Add Tolgee SDK to your project + +
+ + + +
+ +:::warning +The Gradle compiler plugin is not released yet and is not part of the current installation options. ::: +### 3. Start using Tolgee + +
+ + + +
+ ## Demo apps ### 📱 Android Views Demo @@ -94,17 +175,7 @@ Complete example implementation using Compose Multiplatform alt="Android Studio" /> -## Get Started +## Need Help? -Ready to integrate Tolgee into your Android project? - -
- -
+- **Manage translations collaboratively**: Connect your app to the Tolgee Platform — [Platform docs](../platform/) +- **Troubleshooting**: Common issues and diagnostics — [Troubleshooting](./core-module/troubleshooting) From ba8e6c95cc2f678a0375f54cc9b3325eaaeaa66e Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Mon, 6 Oct 2025 19:40:26 +0200 Subject: [PATCH 34/41] docs: update Compose quickstart link text from Installation to Quickstart --- android-sdk/jetpack/troubleshooting.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android-sdk/jetpack/troubleshooting.mdx b/android-sdk/jetpack/troubleshooting.mdx index 28a9f93c9..be00ec6ee 100644 --- a/android-sdk/jetpack/troubleshooting.mdx +++ b/android-sdk/jetpack/troubleshooting.mdx @@ -90,7 +90,7 @@ See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Univers ## Useful links - Views troubleshooting: [Core Module Troubleshooting](/android-sdk/core-module/troubleshooting) -- Quickstart (Compose): [Installation](../jetpack/quickstart.mdx) +- Quickstart (Compose): [Quickstart](../jetpack/quickstart.mdx) - Usage (Compose): [Usage](../jetpack/usage.mdx) - For complete examples of how to use the Tolgee Compose module, check out the demo projects: - Jetpack Compose example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack From 62a5e7fe50349c71000e2e9a500fe3d8d95c6d1b Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Mon, 6 Oct 2025 20:01:12 +0200 Subject: [PATCH 35/41] docs: revise Android SDK overview with clearer structure and benefits --- android-sdk/overview.mdx | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/android-sdk/overview.mdx b/android-sdk/overview.mdx index 77e643232..ff56568ca 100644 --- a/android-sdk/overview.mdx +++ b/android-sdk/overview.mdx @@ -14,19 +14,17 @@ import AndroidApiRequirement from '@site/src/component/AndroidApiRequirement'; ## Overview -Tolgee is a **localization platform** that allows you to **translate your application into any language without code modifications**. -The SDK also enables you to **connect seamlessly to the [Tolgee Platform](https://app.tolgee.io)**. -No more looking for keys in your source code, no more editing localization files, no more manually exporting data for translators, and no more publishing new app versions for translations. +Tolgee Android SDK allows your app to receive updated translations directly from [Tolgee Platform](../platform/). After the initial setup, translations can be updated **without code changes or developer involvement**. -Tolgee is **developer-focused**, making it **easy to integrate** with your app. -And provides **multiple hosting options**: Tolgee CDN or your own CDN. -**Supports Over‑the‑Air (OTA)** translation updates, providing translations dynamically **without needing to publish new app versions**. -**Works offline** with **caching**, **fallbacks** and **preloading**. +Supports **Over‑the‑Air (OTA)** translation updates to deliver translations dynamically at runtime. No more searching for keys in your source code, editing localization files, rebuilding after every translation update, manually exporting data for translators, waiting for the next release to update, and publishing new app versions just for translations. +**Android SDK is easy to integrate** with your app and provides multiple hosting options: Tolgee Cloud or your own CDN. ## Requirements +## Supported UI frameworks + Compatible with **Android Views**, **Jetpack Compose**, and **Compose Multiplatform** ## Modules @@ -56,7 +54,7 @@ It's designed for use with **Android Views** or **any non Compose UI**. /> Compose is an extension for using the library with **Jetpack Compose** or **Compose Multiplatform**. -It **adds localized composables and helpers** (e.g., stringResource, pluralStringResource). +It adds localized composables and helpers (e.g., stringResource, pluralStringResource). It requires core transitively. @@ -70,7 +68,7 @@ It requires core transitively. # Get Started -Here you can see a **quick setup overview**. Follow these steps to **integrate Tolgee into your Android project**. +Here you can see a **quick setup overview**. Follow these steps to integrate Tolgee into your Android project. ## Integration Path From 2ddb624c9e92217ceeb9244aad0af9c1cfcb4f62 Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Tue, 7 Oct 2025 00:01:58 +0200 Subject: [PATCH 36/41] docs: reorganize Android SDK docs into installation, setup and example apps sections --- android-sdk/core-module/quickstart.mdx | 201 ------------------- android-sdk/core-module/troubleshooting.mdx | 31 --- android-sdk/example-apps.mdx | 88 +++++++++ android-sdk/get-started.mdx | 18 -- android-sdk/installation.mdx | 99 ++++++++++ android-sdk/jetpack/quickstart.mdx | 208 -------------------- android-sdk/jetpack/troubleshooting.mdx | 4 +- android-sdk/jetpack/usage.mdx | 81 +++++--- android-sdk/overview.mdx | 168 ++-------------- android-sdk/production.mdx | 52 ----- android-sdk/setup.mdx | 87 ++++++++ android-sdk/troubleshooting.mdx | 16 ++ android-sdk/{core-module => }/usage.mdx | 54 ++--- platform/formats/android_xml.mdx | 1 + platform/getting_started/about_tolgee.mdx | 2 + sidebarAndroidSdk.js | 17 +- src/component/AndroidApiRequirement.tsx | 7 +- 17 files changed, 396 insertions(+), 738 deletions(-) delete mode 100644 android-sdk/core-module/quickstart.mdx delete mode 100644 android-sdk/core-module/troubleshooting.mdx create mode 100644 android-sdk/example-apps.mdx delete mode 100644 android-sdk/get-started.mdx create mode 100644 android-sdk/installation.mdx delete mode 100644 android-sdk/jetpack/quickstart.mdx delete mode 100644 android-sdk/production.mdx create mode 100644 android-sdk/setup.mdx create mode 100644 android-sdk/troubleshooting.mdx rename android-sdk/{core-module => }/usage.mdx (79%) diff --git a/android-sdk/core-module/quickstart.mdx b/android-sdk/core-module/quickstart.mdx deleted file mode 100644 index e8124ea34..000000000 --- a/android-sdk/core-module/quickstart.mdx +++ /dev/null @@ -1,201 +0,0 @@ ---- -id: quickstart -title: Quickstart (Core Module) -description: Quick start guide for Tolgee Android SDK with Core module (traditional Android Views) ---- - -import AndroidApiRequirement from '@site/src/component/AndroidApiRequirement'; - -:::info -For managing static translations, we recommend using [Tolgee CLI](https://github.com/tolgee/tolgee-cli). -::: - -## Quickstart - -The Tolgee **Core module** is a library that **simplifies the translation process and provides runtime support for translations in your app**. -This guide shows you how to **integrate Tolgee Android SDK** using the **Core module** for traditional **Android Views**. - -### Integration Steps - -To use Tolgee in your Android Views application, follow these steps: - -1. **Add dependency** -2. **Include Maven Central in repositories** (if needed) -3. **Allow CDN networking** -4. **Initialize Tolgee** - -:::note -Configuration examples below are written in Kotlin DSL. Groovy DSL should work but is not officially supported/tested. -::: - -## Requirements - - - -## Installing Tolgee Core - -:::info -Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. -This **provides readability, centralization, and consistency**. -::: - -**1. Add dependency (Core):** - -**The translations in your code depend on the base Tolgee library**, which is responsible for fetching and querying them. -**To use the library, you need to add the dependency to your project.** - -**In `gradle/libs.versions.toml` add an alias for Tolgee library**: - -```toml -[libraries] -tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "core", version.ref = "tolgee" } -``` - -Then, **in `build.gradle.kts`, use the created alias**: - -```kotlin -dependencies { - implementation(libs.tolgee) -} -``` - -For **smaller projects**, you can also add the dependency directly: - -```kotlin -dependencies { - implementation("io.tolgee.mobile-kotlin-sdk:core:tolgee") -} -``` - -:::note -If you use **Jetpack Compose**, see the Compose variant: [Jetpack Compose -> Quickstart](/android-sdk/jetpack/quickstart) -::: - -**2. (If needed) Ensure repositories include Maven Central** - -When you add a dependency, **your app needs to know where to download the library from**. So, make sure your repositories are configured to **include Maven Central for dependency resolution**. - -**In `settings.gradle.kts` or `build.gradle.kts`, add:** - -```kotlin -pluginManagement { repositories { gradlePluginPortal(); google(); mavenCentral() } } -dependencyResolutionManagement { repositories { google(); mavenCentral() } } -``` - -If you encounter an error like: - -```text -Could not find io.tolgee.mobile-kotlin-sdk:core -``` - -verify that Maven Central is included in your repository configuration. - -**3. Allow CDN networking** - -**Enable Tolgee to fetch translations from the cloud at runtime**. To do this, you need to **configure network access**. - -:::info -Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. -If you access your own self-hosted CDN, here is where you should add the domain of your CDN. -::: - -**Create a network security config file `network_security.xml` in your `res/xml` folder:** - -```xml - - - - tolgee.io - tolg.ee - - -``` - -In Android, **the network security config must be explicitly linked in your `AndroidManifest.xml`**, so the system knows to apply it. - -**Add network security config to your `AndroidManifest.xml`:** - -```xml - - -``` - -## Initialization And Configuration - -When your app boots up, Tolgee is globally initialized. -The translations are downloaded from CDN and cached locally. -After initialization, other parts of your app (such as activities and fragments) can use Tolgee without additional configuration. - -**Initialize Tolgee in your `Application` class:** - -```kotlin -class MyApplication : Application() { - override fun onCreate() { - super.onCreate() - Tolgee.init { - contentDelivery { - url = "https://cdn.tolg.ee/your-cdn-url-prefix" // from Tolgee Platform → Content Delivery - storage = TolgeeStorageProviderAndroid(this@MyApplication, BuildConfig.VERSION_CODE) // cache invalidates on app update - } - } - } -} -``` - -**_Make sure that your app knows where to download translations_**: - -**For your app to download translation files, you need to provide a CDN URL prefix specific to your project.** -This prefix points to the catalog that contains your app's translations. - -**To get your CDN URL prefix:** - -1. Open **Tolgee Platform → your Project → Developer settings → [Content Delivery](/platform/projects_and_organizations/content_delivery)** -2. Copy the full CDN URL prefix -3. You can use different prefixes per environment (dev/staging/prod) - -:::info -If you have a different integration setup (for example, using tolgee-cli and bundling JSON translation files in assets), the initialization may look different. -::: - -### Other Platforms - -For non-Android platforms, initialization is similar but no storage provider is implemented: - -```kotlin -fun initTolgee() { - Tolgee.init { - contentDelivery { - url = "https://cdn.tolg.ee/your-cdn-url-prefix" - // Create a custom storage provider for caching the latest translations from CDN if needed - } - } -} -``` - -:::note -If you want to implement your own storage provider, do it here. -::: - -### Verify connectivity (optional) - -You can verify your CDN connection locally: - -```bash -curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" -``` - -You should receive a **200** response. - -If you get **403** (Forbidden) or **404** (Not found), **double‑check the prefix**. - -:::tip -Dynamic updates without republishing. See the step-by-step guide in [**Usage**](./usage.mdx). -::: - -## Next Steps - -- Not sure which artifact to use? See [Overview](../overview.mdx) -- Learn how to fetch and render translations in Views: [Usage](./usage.mdx) -- Using Compose? Start here: [Jetpack Quickstart](../jetpack/quickstart.mdx) -- Having issues? Check [Troubleshooting](./troubleshooting.mdx) diff --git a/android-sdk/core-module/troubleshooting.mdx b/android-sdk/core-module/troubleshooting.mdx deleted file mode 100644 index 03b7bfd04..000000000 --- a/android-sdk/core-module/troubleshooting.mdx +++ /dev/null @@ -1,31 +0,0 @@ ---- -id: troubleshooting -title: Troubleshooting (Core Module) -description: Troubleshooting Tolgee Android SDK ---- - -#Troubleshooting (Core Module) - -## Fast Checklist - - - -### General Setup - -- **Check if Maven Central is in repositories** - `mavenCentral` in `settings.gradle.kts`. -- **Check if CDN URL is proper and accessible** - test connection locally: - -```bash -curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" -``` - - - -## Useful links - -- Installation: [Quickstart](./quickstart.mdx) -- Usage (Views): [Usage](./usage.mdx) -- For complete examples of how to use the Tolgee Core module, check out the demo projects: - - Traditional Android Views example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid - - Jetpack Compose: [Quickstart](../jetpack/quickstart.mdx), [Usage](../jetpack/usage.mdx) - - CLI for static strings: [Tolgee CLI](/tolgee-cli/installation) diff --git a/android-sdk/example-apps.mdx b/android-sdk/example-apps.mdx new file mode 100644 index 000000000..c706968c4 --- /dev/null +++ b/android-sdk/example-apps.mdx @@ -0,0 +1,88 @@ +--- +id: example-apps +title: Example Apps +slug: /example-apps +description: Example apps for Tolgee Android SDK with Over‑the‑Air (OTA) localization updates for Android and Compose Multiplatform. +--- + +import { ScreenshotWrapper } from '../platform/shared/_ScreenshotWrapper'; + +# Example Apps + +Explore fully functional demo applications showcasing Tolgee Android SDK integration. Each example demonstrates best practices for implementing Over-the-Air translation updates in different Android development environments. + + + +## Android Views Demo + +**Perfect for traditional Android development** + +A complete reference implementation using classic Android Views and XML layouts. This example demonstrates: + +- ✅ One-time and dynamic translation methods +- ✅ Locale switching and change detection +- ✅ Integration with Android string resources +- ✅ Parameter support for dynamic content +- ✅ Proper Application-level initialization + +**[View Android Views Example →](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid)** + +--- + +## Jetpack Compose Demo + +**Modern declarative UI with reactive translations** + +A comprehensive example showcasing Tolgee integration with Jetpack Compose. Features include: + +- ✅ `stringResource()` composables for direct translation +- ✅ Parameter support for dynamic content +- ✅ Reactive UI updates when locale changes +- ✅ Formatter configuration options +- ✅ Integration with Compose state system + +**[View Jetpack Compose Example →](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack)** + +--- + +## Compose Multiplatform Demo + +**Cross-platform translations for Android, iOS, and Desktop** + +A full-featured multiplatform application demonstrating Tolgee's Kotlin Multiplatform capabilities: + +- ✅ Shared translation logic across platforms +- ✅ Compose Multiplatform UI integration +- ✅ Cross-platform resource handling +- ✅ Common API for all supported platforms +- ✅ Multiplatform development patterns + +**[View Compose Multiplatform Example →](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplecomposemultiplatform)** + +--- + +## Getting Started with Examples + +1. **Clone the repository**: + +```bash +git clone https://github.com/tolgee/tolgee-mobile-kotlin-sdk.git +``` +2. **Navigate to the demo folder**: Choose the example that matches your tech stack +3. **Open in Android Studio**: Import the project and sync Gradle +4. **Configure your CDN URL**: Add your Tolgee project's CDN URL in the initialization code +5. **Run and explore**: See live translation updates in action + +:::tip +These examples are actively maintained and updated with each SDK release. They're the best way to learn Tolgee integration patterns and troubleshoot issues. +::: + +## Next Steps + +- **New to Tolgee?** Start with [Installation](./installation) +- **Need help?** Check [Troubleshooting](./troubleshooting) +- **Ready for production?** See [Production Guide](./production) + diff --git a/android-sdk/get-started.mdx b/android-sdk/get-started.mdx deleted file mode 100644 index 21cea437e..000000000 --- a/android-sdk/get-started.mdx +++ /dev/null @@ -1,18 +0,0 @@ ---- -id: get-started -title: Get Started -slug: /get-started -description: Quick start guide for integrating Tolgee Android SDK into your project ---- - -import SystemCard from '@site/src/component/SystemCard'; - -## What You'll Achieve - -After completing the setup, your app will have: - -- **Translations** delivered via CDN. -- **Offline support** with local caching. -- **Runtime language switching** without app restart. -- **Fallback support** to bundled Android resources. -- **Over-the-Air updates** for translations without app republishing. diff --git a/android-sdk/installation.mdx b/android-sdk/installation.mdx new file mode 100644 index 000000000..0013f2d9e --- /dev/null +++ b/android-sdk/installation.mdx @@ -0,0 +1,99 @@ +--- +id: installation +title: Installation +description: Installation guide for Tolgee Android SDK +--- + +import AndroidApiRequirement from '@site/src/component/AndroidApiRequirement'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +:::note +Configuration examples below are written in Kotlin DSL. Groovy DSL should work but is not officially supported/tested. +::: + +## Requirements + + + +## Setup dependencies + +To use the library, you need to add the dependency to your project. + +In `gradle/libs.versions.toml` add an alias for Tolgee Core library: + +:::info +Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. +This **provides readability, centralization, and consistency**. +::: + + + +```toml +[libraries] +tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "core", version.ref = "tolgee" } +``` + + +```toml +[libraries] +tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "compose", version.ref = "tolgee" } +``` + + + + +Then, in `build.gradle.kts`, use the created alias: + + +```kotlin +dependencies { + implementation(libs.tolgee) +} +``` + +:::info +The Compose module includes Core transitively, so you don't need to add both. +::: + +## Network Configuration + +Enable Tolgee to fetch translations from the cloud at runtime. To do this, you need to configure network access. + +Create a network security config file `network_security.xml` in your `res/xml` folder: + +```xml + + + + tolgee.io + tolg.ee + + +``` + +In Android, the network security config must be explicitly linked in your `AndroidManifest.xml`, so the system knows to apply it. + +Add network security config to your `AndroidManifest.xml`: + +```xml + + +``` + +:::info +Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. +If you access your own self-hosted CDN, here is where you should add the domain of your CDN. +::: + +## Next Steps + +- Setup Tolgee Android SDK: [Setup](./setup.mdx) +- Learn how to fetch and render translations in Views: [Usage](./usage.mdx) +- Having issues? Check [Troubleshooting](./troubleshooting.mdx) diff --git a/android-sdk/jetpack/quickstart.mdx b/android-sdk/jetpack/quickstart.mdx deleted file mode 100644 index 7f34a7f95..000000000 --- a/android-sdk/jetpack/quickstart.mdx +++ /dev/null @@ -1,208 +0,0 @@ ---- -id: quickstart -title: Quickstart (Compose Module) -description: Quick start guide for Tolgee Android SDK Compose module with Jetpack Compose and Compose Multiplatform ---- - -import AndroidApiRequirement from '@site/src/component/AndroidApiRequirement'; - -# Quickstart (Compose Module) - -:::info -For managing static translations, we recommend using [Tolgee CLI](https://github.com/tolgee/tolgee-cli). -::: - -## Quickstart - -This guide shows you how to integrate Tolgee Android SDK using the **Compose module** for Jetpack Compose and Compose Multiplatform. - -The Compose module is Android's modern **declarative UI toolkit**; it's a **simpler** and **more reactive model** compared to Core module. -It provides you with **instant access to Tolgee translations** directly in Composables/Compose Multiplatform projects, with **automatic updates**. - -### Integration Steps - -To use Tolgee in your Android Views application, follow these steps: - -**1. Add dependency** -**2. Include Maven Central in repositories** (If needed) -**3. Allow CDN networking** -**4. Initialize Tolgee** - -:::note -Configuration exaples below are written in Kotlin DSL. Groovy DSL should work but is not officially supported/tested. -::: - -## Requirements - - - -## Instaling Tolgee Compose - -:::info -Using **Version Catalog** is recommended to keep your versions aligned, especially in bigger projects. This provides **readability, centralization, and consistency**. -::: - - -**1. Add dependency (Compose):** - -**The translations in your code depend on the base Tolgee library**, which is responsible for fetching and querying them. -**To use the library, you need to add the dependency to your project.** - - -**In `gradle/libs.versions.toml` **add an alias for Tolgee Compose library**. - -```toml -[libraries] -tolgee = { group = "io.tolgee.mobile-kotlin-sdk", name = "compose", version.ref = "tolgee" } -``` - -**Then, in `build.gradle.kts`, use the created alias**. - -```kotlin -dependencies { - implementation(libs.tolgee) -} -``` - -For **smaller projects** you can also add dependency directly (the old way). - -```kotlin -dependencies { - implementation("io.tolgee.mobile-kotlin-sdk:compose:tolgee") -} -``` - -:::note -If you use **traditional Android Views**, see the Core variant: [Core Quickstart](/android-sdk/core-module/quickstart) -::: - -**2. (If needed) Ensure repositories include Maven Central** - -When you add a dependency, **your app needs to know where to download the library from.** -So, make sure your repositories are configured to **include Maven Central for dependency resolution.** - - - **In `settings.gradle.kts` or `build.gradle.kts`:** - -```kotlin -pluginManagement { repositories { gradlePluginPortal(); google(); mavenCentral() } } -dependencyResolutionManagement { repositories { google(); mavenCentral() } } -``` - -If you encounter an error like: - -```text -Could not find io.tolgee.mobile-kotlin-sdk:compose -``` - -verify that Maven Central is included in your repository configuration. - -**3. Allow CDN networking:** - -**Enable Tolgee to fetch translations from the cloud at runtime.** To do this, you need to **configure network access**. - -:::info -Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. If you access your own self-hosted CDN, here is where you should add the domain of your CDN. -::: - -**Create a network security config file `network_security.xml` in your `res/xml` folder:** - -```xml - - - - tolgee.io - tolg.ee - - -``` - -In Android, **the network security config must be explicitly linked in your `AndroidManifest.xml`**, so the system knows to apply it. - -**Add network security config to your `AndroidManifest.xml`:** - -```xml - - -``` - -:::note -Allowing `tolgee.io` and `tolg.ee` domains is required when using Tolgee Cloud CDN. If you only access your own self-hosted CDN, include your domain(s) accordingly. -::: - -## Initialization And Configuration - -When your app boots up, Tolgee is globally initialized. -The translations are downloaded from CDN and cached locally. -After initialization, other parts of your app (such as activities and fragments) can use Tolgee without additional configuration. - - -**Initialize Tolgee in your `Application` class.** - -### Android (Jetpack Compose) - -```kotlin -class MyApplication : Application() { - override fun onCreate() { - super.onCreate() - Tolgee.init { - contentDelivery { - url = "https://cdn.tolg.ee/your-cdn-url-prefix" // from Tolgee Platform → Content Delivery - storage = TolgeeStorageProviderAndroid(this@MyApplication, BuildConfig.VERSION_CODE) // cache invalidates on app update - } - } - } -} -``` - -### Multiplatform - -```kotlin -fun initTolgee() { - Tolgee.init { - contentDelivery { - url = "https://cdn.tolg.ee/your-cdn-url-prefix" - // Create a custom storage provider for caching the latest translations from CDN if needed - } - } -} -``` - -**_Make sure that your app knows where to download translations_**: - -**For your app to download translation files, you need to provide a CDN URL prefix specific to your project.** -This prefix points to the catalog that contains your app's translations. - -#### How to get your CDN URL prefix (Content Delivery): - -1. Open **Tolgee Platform → your Project → Developer settings → Content Delivery (Add)** - -2. Copy the full CDN URL prefix - -3. You can use different prefixes per environment (dev/staging/prod). - -#### **Verify connectivity locally (optional):** - -```bash -curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" -``` - -You should receive a **200** response. - -If you get **403** (Forbidden) or **404** (Not found), double‑check the prefix. - - -Unlike traditional Android Views, Compose uses its own `stringResource`/`pluralStringResource` helpers, -so no `ContextWrapper` is needed for automatic translation updates. - -:::note -If you have a different integration setup (for example, using tolgee-cli and bundling JSON translation files in assets), -the initialization may look different. -::: - -## Next steps - -- Learn how to use translations in Compose: [Usage](./usage.mdx) -- Not sure which module to use? See [Modules overview](../overview.mdx) -- Having issues? Check [Troubleshooting](./troubleshooting.mdx) diff --git a/android-sdk/jetpack/troubleshooting.mdx b/android-sdk/jetpack/troubleshooting.mdx index be00ec6ee..6098dde02 100644 --- a/android-sdk/jetpack/troubleshooting.mdx +++ b/android-sdk/jetpack/troubleshooting.mdx @@ -90,8 +90,8 @@ See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Univers ## Useful links - Views troubleshooting: [Core Module Troubleshooting](/android-sdk/core-module/troubleshooting) -- Quickstart (Compose): [Quickstart](../jetpack/quickstart.mdx) -- Usage (Compose): [Usage](../jetpack/usage.mdx) +- Setup: [Setup](/android-sdk/setup.mdx) +- Usage: [Usage](/android-sdk/usage.mdx) - For complete examples of how to use the Tolgee Compose module, check out the demo projects: - Jetpack Compose example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack - Compose Multiplatform example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/multiplatform-compose diff --git a/android-sdk/jetpack/usage.mdx b/android-sdk/jetpack/usage.mdx index 466abd312..60761310e 100644 --- a/android-sdk/jetpack/usage.mdx +++ b/android-sdk/jetpack/usage.mdx @@ -6,28 +6,15 @@ description: How to use Tolgee Android SDK Compose module in Jetpack Compose and # Usage (Compose Module) -This guide shows you how to use the Tolgee Android SDK Compose module**. - - -To use Tolgee in your **Jetpack Compose or Compose Multiplatform application**, you need to follow these steps: - -**1. Choose your translation type** - -**2. Learn how to handle plurals with Tolgee** - -**3. Create an explicit Tolgee instance** (If needed) - -**4. Create a locale switcher** - -**5. Observe locale changes** +This guide shows you how to use the Tolgee Android SDK Compose module in Jetpack Compose and Compose Multiplatform applications. For traditional Android Views usage, see [Android Views Usage](../usage.mdx). ## Prerequisites -**Make sure you've completed the quickstart setup and initialized Tolgee for Compose.** See: [Quickstart (Compose Module)](./quickstart.mdx) +**Make sure you've completed the quickstart setup and initialized Tolgee for Compose.** See: [Installation (Compose Module)](/android-sdk/installation.mdx) ## Basic Usage -Tolgee's Compose extensions lets you fetch localized keys directly inside your composables. +Tolgee's Compose extensions let you fetch localized keys directly inside your composables. Unlike traditional Android Views which require manual UI updates or Activity recreation, Compose integration automatically recomposes UI elements when translations change. :::note If you are unsure of which translation type to choose, notice a “Use for...” section under every explanation. @@ -135,7 +122,9 @@ Handle plurals with `pluralStringResource` - provide the count and any formattin ```kotlin @Composable fun PluralText(count: Int) { - Text(text = pluralStringResource(R.plurals.item_count, count, count)) + // First 'count' parameter determines which plural form to use + // Second 'count' parameter is passed as a value to the translation + Text(text = pluralStringResource(R.plurals.items_count, count, count)) } ``` @@ -144,17 +133,28 @@ fun PluralText(count: Int) { ```kotlin @Composable fun PluralText(count: Int) { - // Handle plural forms - Text(text = pluralStringResource(Res.plurals.item_count, count, count)) + Text(text = pluralStringResource(Res.plurals.items_count, count, count)) } ``` -**Use for lists, counters, notifications**, any situation where the grammar changes with quantity. +**Example plural resource:** +```xml + + + %d item + %d items + +``` -## Explicit Tolgee Instance +The `pluralStringResource` function will: +1. Select the correct plural form based on the count value +2. Replace the placeholder with the provided value +3. Automatically update the UI if the count changes or if translations are updated + +**Use for lists, counters, notifications** — any situation where the grammar changes with quantity. -If you need to use a specific Tolgee instance (not the singleton), you can pass it explicitly: +## Explicit Tolgee Instance ```kotlin @Composable @@ -175,12 +175,12 @@ Handy when you need **more than one instance** (multiple projects/CDNs), when fo @Composable fun LocaleSwitcher() { val tolgee = Tolgee.instance - val locale by tolgee.changeFlow - .map { tolgee.getLocale() } - .collectAsState(initial = tolgee.getLocale()) + val currentLocale = tolgee.changeFlow.mapLatest { + tolgee.getLocale() + }.collectAsState(initial = tolgee.getLocale()) Row { - Text(text = stringResource(tolgee, R.string.selected_locale, locale.language)) + Text(text = stringResource(tolgee, R.string.selected_locale, currentLocale.language)) Button(onClick = { tolgee.setLocale("en") }) { Text("English") } @@ -193,11 +193,9 @@ fun LocaleSwitcher() { } } ``` - Handy for apps, where “**choose language**” option is available, you want to use **Over‑the‑Air (OTA) translation updates** (translations refresh automatically when locale or content changes), and during **testing/debugging**. Most often used in **settings screens, onboarding flows, or debug menus** - anytime you want to allow **runtime language switching**. - ## Observing Locale Changes **Collecting `Tolgee.changeFlow` as state ensures your composable recomposes whenever the locale changes**, @@ -218,8 +216,29 @@ fun LocaleAwareComponent() { Handy for **observing locale changes** in real time, **keeping track of current locale**, **showing chosen language** in app, **reactively updating translations** whenever user switches the language. +## How Compose Integration Differs from Android Views + +Tolgee's Compose integration offers several advantages over traditional Android Views: + +1. **Reactive by default** - Compose UI automatically updates when translations change, without manual intervention + +2. **No Activity recreation needed** - Unlike Android Views which require `recreate()` to refresh translations + +3. **Simplified API** - Familiar `stringResource()` and `pluralStringResource()` functions that match Compose's built-in functions + +4. **State-based** - Translations are part of the Compose state system, ensuring proper recomposition + +5. **Multiplatform support** - Works with both Jetpack Compose for Android and Compose Multiplatform + +## Example Projects + +For complete examples of how to use the Tolgee Compose module, check out the demo projects: + +- **[Example Jetpack](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack)** - Jetpack Compose example +- **[Multiplatform Compose](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplecomposemultiplatform)** - Compose Multiplatform example + ## Next Steps -- **Using traditional Views?** See [Core Module Usage](/android-sdk/core-module/usage) -- **Production deployment?** Check [Production](/android-sdk/production) -- **Having issues?** See [Troubleshooting](./troubleshooting.mdx) +- **Using traditional Views?** See [Android Views Usage](../usage.mdx) +- **Having issues?** Check [Troubleshooting](./troubleshooting.mdx) +- **Need example apps?** See [Example Apps](../example-apps.mdx) diff --git a/android-sdk/overview.mdx b/android-sdk/overview.mdx index ff56568ca..138db3110 100644 --- a/android-sdk/overview.mdx +++ b/android-sdk/overview.mdx @@ -14,166 +14,36 @@ import AndroidApiRequirement from '@site/src/component/AndroidApiRequirement'; ## Overview -Tolgee Android SDK allows your app to receive updated translations directly from [Tolgee Platform](../platform/). After the initial setup, translations can be updated **without code changes or developer involvement**. +Tolgee Android SDK provides localization support for Kotlin-based projects, with a primary focus on Android applications. It enables **Over-the-Air (OTA)** translation updates, allowing you to deliver new or updated translations at runtime **without rebuilding or publishing a new version of your app**. -Supports **Over‑the‑Air (OTA)** translation updates to deliver translations dynamically at runtime. No more searching for keys in your source code, editing localization files, rebuilding after every translation update, manually exporting data for translators, waiting for the next release to update, and publishing new app versions just for translations. -**Android SDK is easy to integrate** with your app and provides multiple hosting options: Tolgee Cloud or your own CDN. +Once integrated, the SDK handles fetching and applying translations dynamically, so developers no longer need to manually manage string resources, export localization files, or coordinate translation updates through app releases. -## Requirements +The SDK integrates seamlessly with both **Android Views** and **Jetpack Compose**, supports reactive locale changes, and is built with **Kotlin Multiplatform** compatibility in mind. - +## Features -## Supported UI frameworks +### Over-the-Air (OTA) Content Delivery -Compatible with **Android Views**, **Jetpack Compose**, and **Compose Multiplatform** +Update translations dynamically at runtime. Save a lot of time when releasing new or updated translations. No need to wait for them to be published via Google Play or App Store. -## Modules +### Multiple format support -Tolgee Android SDK is split into modules, so you only add what you need. +- **Android XML format** with [sprintf-style placeholders](/platform/formats/android_xml) (`%s`, `%d`, etc.) +- **ICU Message Format** with [Tolgee Universal ICU placeholders](/platform/translation_process/icu_message_format) (advanced formatting) -### **Core** +### Compose integration -Android +Full integration with Jetpack Compose and Compose Multiplatform -Core is a base library for fetching translations from CDN and querying them. -It's designed for use with **Android Views** or **any non Compose UI**. +### Kotlin Multiplatform support -**Features:** +Designed with multiplatform projects in mind. -- **Over-the-air updates**: Update your translations without releasing a new app version. -- **Kotlin Multiplatform**: Designed with multiplatform support in mind. -- **Android Resource Support**: Seamless integration with Android string resources. -- **Parameter** **and Plural Support**. +### Flexible hosting options -### **Compose** - -Jetpack Compose +Connect to [Tolgee Cloud](/platform/) or [self-hosted](/platform/self_hosting/getting_started) instances. -Compose is an extension for using the library with **Jetpack Compose** or **Compose Multiplatform**. -It adds localized composables and helpers (e.g., stringResource, pluralStringResource). - -It requires core transitively. - -**Features** - -- **Over-the-air updates**: Update your translations without releasing a new app version. -- **Compose Integration**: Use Tolgee translations in your Compose UI with familiar APIs. -- **Android Resource Support**: Seamless integration with Android string resources. -- **Parameter** (ICU) **and Plural Support**. -- **Reactive Updates**: UI automatically updates when translations/locale change. - -# Get Started - -Here you can see a **quick setup overview**. Follow these steps to integrate Tolgee into your Android project. - -## Integration Path - -### 1. **Choose your implementation** - -
- -{' '} - - - -
- -### 2. Add Tolgee SDK to your project - -
- - - -
- -:::warning -The Gradle compiler plugin is not released yet and is not part of the current installation options. -::: - -### 3. Start using Tolgee - -
- - - -
- -## Demo apps - -### 📱 Android Views Demo - -Complete example implementation using Android Views - -- [https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid) - -### 🚀 Jetpack Compose Demo - -Complete example implementation using Jetpack Compose - -- [https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack) - -### 🌐 Compose Multiplatform Demo - -Complete example implementation using Compose Multiplatform - -- [https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplecomposemultiplatform](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplecomposemultiplatform) - - - -## Need Help? - -- **Manage translations collaboratively**: Connect your app to the Tolgee Platform — [Platform docs](../platform/) -- **Troubleshooting**: Common issues and diagnostics — [Troubleshooting](./core-module/troubleshooting) +## Next steps +- Install and configure the SDK: [Installation](./installation) +- Connect your app to the Tolgee Platform and manage translations collaboratively: [Platform docs](../platform/) +- Generate or manage static strings with CLI: [Tolgee CLI](/tolgee-cli) \ No newline at end of file diff --git a/android-sdk/production.mdx b/android-sdk/production.mdx deleted file mode 100644 index d12ab63b1..000000000 --- a/android-sdk/production.mdx +++ /dev/null @@ -1,52 +0,0 @@ ---- -id: production -title: Production -description: OTA updates, caching, formatting, and deployment tips for shipping to production. ---- - -# Production - -This guide summarizes recommendations for using Tolgee Android SDK in production. - -## Best Practices - -### Jetpack Compose - -- Use Tolgee’s helpers: `io.tolgee.compose.stringResource` and `pluralStringResource`. -- Subscribe to `tolgee.changeFlow` and collect with `collectAsState` to trigger automatic recomposition on locale change. -- Always tie `remember` with cached translations to the current locale (you may also call `stringResource` directly). -- Preload translations (`tolgee.preload()`) on critical screens so strings are ready sooner for current locale. - -### Android Views - -- Initialize Tolgee once in `Application` with `applicationContext`. -- Use `ViewModel` + `LiveData/Flow` to observe translation changes and update views reactively. -- Call `tolgee.setLocale("xx")` to switch language, and rely on observers—no activity restart needed. -- Do not hardcode translations in static fields or singletons—always fetch dynamically via Tolgee. -- Preload translations during onboarding/login to avoid showing empty or fallback texts. - -## General Production Hygiene - -**Single source of truth**: One Tolgee instance (DI/singleton) created, initialized in `Application` with `applicationContext`. - -**Release build checks**: Test early with `minifyEnabled true` + `shrinkResources true`; verify translations render as expected in `Release`. - -**R8/ProGuard rules**: Keep Tolgee classes when needed by reflection and keep dynamically referenced resources (e.g., using `tools:keep`). - -**Network security**: Use HTTPS; include `network_security.xml` and mention it in the manifest; allow `tolg.ee / tolgee.io` domains. - -**CDN health**: Monitor CDN prefix correctness; (optional test: curl -I https://cdn.tolg.ee/[prefix]/en.json). - -**String synchronization in CI**: Compare keys used in code/resources with Tolgee Platform. - -**Caching strategy**: Save with `BuildConfig.VERSION_CODE` so app updates make out-of-date translation caches obsolete. - -**Preload critical paths**: Preload on `splash/login` so first paint is from cache; load updates in background. - -**Observability**: Log missing strings clearly in debug. - -**Accessibility & i18n QA**: Test long strings (DE/RU), RTL (AR/HE), and narrow screens; content descriptions and talkback labels must be localized. - -**Formatting discipline**: Each project should have one formatter type (ICU for %s/%d or Sprintf for %s/%d) and consistent translations. - -**Offline behavior**: Design fallbacks when CDN is unavailable; ensure cached translations are used. diff --git a/android-sdk/setup.mdx b/android-sdk/setup.mdx new file mode 100644 index 000000000..fe2e27690 --- /dev/null +++ b/android-sdk/setup.mdx @@ -0,0 +1,87 @@ +--- +id: setup +title: Setup +description: Learn how to initialize and configure Tolgee Android SDK in your application +--- + +# Setup + +After installing the Tolgee SDK, you need to initialize it in your application. This one-time setup process: + +- Configures the SDK to connect to your translation content delivery network (CDN) +- Sets up local caching for offline access and performance +- Establishes the global Tolgee instance that your entire app can access +- Enables over-the-air translation updates without releasing a new app version + +Once properly initialized, Tolgee will automatically handle translation fetching, caching, and updates throughout your application's lifecycle. + +## Initialization Configuration + +:::note Universal Setup +This initialization applies to **all Tolgee Android SDK variants** - Android Views (Core), Jetpack Compose, and Kotlin Multiplatform. +::: + +### Android + +Initialize Tolgee in your `Application` class: + +```kotlin +class MyApplication : Application() { + override fun onCreate() { + super.onCreate() + Tolgee.init { + contentDelivery { + url = "https://cdn.tolg.ee/your-cdn-url-prefix" // from Tolgee Platform → Content Delivery + storage = TolgeeStorageProviderAndroid(this@MyApplication, BuildConfig.VERSION_CODE) // cache invalidates on app update + } + } + } +} +``` + +Make sure that your app knows where to download translations + +**For your app to download translation files, you need to provide a CDN URL prefix specific to your project.** +This prefix points to the catalog that contains your app's translations. + +**To get your CDN URL prefix:** + +1. Open **Tolgee Platform → your Project → Developer settings → [Content Delivery](/platform/projects_and_organizations/content_delivery)** +2. Copy the full CDN URL prefix +3. You can use different prefixes per environment (dev/staging/prod) + +:::info +If you have a different integration setup (for example, using tolgee-cli and bundling JSON translation files in assets), the initialization may look different. +::: + +### Kotlin Multiplatform (Non-Android Targets) + +For non-Android targets in Kotlin Multiplatform projects, initialization is similar but requires a custom storage provider: + +```kotlin +fun initTolgee() { + Tolgee.init { + contentDelivery { + url = "https://cdn.tolg.ee/your-cdn-url-prefix" + // Create a custom storage provider for caching the latest translations from CDN if needed + } + } +} +``` + +:::note +You'll need to implement your own storage provider for non-Android platforms to enable caching of translations. +::: + +## Alternative Setup: Using Static Data + +If you prefer to bundle translations with your app or need offline-first capabilities, you can use [Tolgee CLI](/tolgee-cli/installation) to manage translations as static files. + + +:::tip +Using Tolgee CLI with static files is ideal for: +- Offline-first applications +- Apps with strict security requirements +- Development environments without internet access +- CI/CD pipelines that need deterministic builds +::: diff --git a/android-sdk/troubleshooting.mdx b/android-sdk/troubleshooting.mdx new file mode 100644 index 000000000..93004c27c --- /dev/null +++ b/android-sdk/troubleshooting.mdx @@ -0,0 +1,16 @@ +--- +id: troubleshooting +title: Troubleshooting +description: Troubleshooting Tolgee Android SDK +--- + +## Fast Checklist + +### General Setup + +- **Check if Maven Central is in repositories** - `mavenCentral` in `settings.gradle.kts`. +- **Check if CDN URL is proper and accessible** - test connection locally: + +```bash +curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" +``` \ No newline at end of file diff --git a/android-sdk/core-module/usage.mdx b/android-sdk/usage.mdx similarity index 79% rename from android-sdk/core-module/usage.mdx rename to android-sdk/usage.mdx index 599f3f28b..6ac00ddf9 100644 --- a/android-sdk/core-module/usage.mdx +++ b/android-sdk/usage.mdx @@ -1,28 +1,16 @@ --- id: usage -title: Usage (Core Module) -description: How to use Tolgee Android SDK Core module in traditional Android Views applications +title: Usage +description: How to use Tolgee Android SDK with traditional Android Views --- -# Usage (Core Module) +# Usage -This guide shows you how to use the Tolgee Android SDK Core module in your Android Views application. - -To use Tolgee in your application, you need to follow these steps: - -**1. Get the Tolgee instance** - -**2. Choose translation type** - -**3. Implement translation type** - -**4. Manage locales** - -You can also find **information about formatter configuration and plurals** here. +This guide shows you how to use the Tolgee Android SDK with traditional Android Views. For Jetpack Compose usage, see [Jetpack Compose Usage](./jetpack/usage.mdx). ## Prerequisites -Ensure you have completed the quickstart guide and initialized Tolgee in your Application class. See: [Quickstart (Core Module)](./quickstart.mdx) +Ensure you have completed the quickstart guide and initialized Tolgee in your Application class. See: [Installation](./installation.mdx) ## Get The Global Tolgee Instance @@ -37,7 +25,7 @@ From now on you can: - get translations: `tolgee.t("key")`, `tolgee.tFlow("key")`, - change locales: `tolgee.setLocale("xx")`, -- listen for changes: `tolgee.changeFlow`; and respond to them: `tolgee.addChangeListener`. +- listen for changes: `tolgee.changeFlow`; ## Getting Translations @@ -54,7 +42,6 @@ val text: String? = tolgee.t("key") ``` Returns null if translations are not yet loaded (e.g., SDK hasn't downloaded data). - Returns a key when translations are loaded. **Use for simple/static text** (e. g., error messages, titles). @@ -75,10 +62,10 @@ val textWithParams: String? = tolgee.t("key_with_param", mapOf("param" to "value :::warning If you choose this function for your app, creating a **global corutine** with `Tolgee.preload()` is reccomended. -See a tip under **a) Preload translations for the current locale from Activity** section, below. +See a tip under **a) [Preload translations for the current locale from Activity](#a-preload-translations-for-the-current-locale-from-activity)** section, below. ::: -#### a) Preload translations for the current locale +#### a) Preload translations for the current locale from Activity ```kotlin override fun onStart() { @@ -92,7 +79,7 @@ Improves perceived performance - ensures keys are ready sooner for the current l **Use for UI’s where the translations are critical (e.g., login, onboarding).** :::tip -Create a global corutine by calling `Tolgee.preload()` function with mentioned above one-time translations and translations with parameters. +Create a global corutine by calling `tolgee.preload()` function with mentioned above one-time translations and translations with parameters. ::: #### b) Get a translation with fallback to Android resources @@ -118,7 +105,7 @@ To use parameters with Android fallbacks and ensure that translations from CDN c To receive **fresh translations without needing to publish new app versions** follow these steps: -Wrap your Activity context, so Android resource lookups use Tolgee: +1. **Wrap your Activity context** so Android resource lookups use Tolgee: ```kotlin class MyActivity : Activity() { @@ -128,7 +115,9 @@ class MyActivity : Activity() { } ``` -Trigger a UI refresh when locale/translations change: +The `TolgeeContextWrapper` intercepts all calls to `getString()`, `getQuantityString()`, and other resource methods, replacing them with Tolgee translations when available. This allows your existing Android code to use Tolgee translations without any changes to the code that calls `getString()`. + +2. **Trigger a UI refresh** when locale or translations change: ```kotlin lifecycleScope.launch { @@ -138,7 +127,7 @@ lifecycleScope.launch { } ``` -Combining those two approaches gives you **semi-dynamic behavior, translations update after an Activity reload, not instantly**. +Combining these two approaches gives you **semi-dynamic behavior, translations update after an Activity reload, not instantly**. This setup works with both one-time translations and translations with parameters. ### Get dynamic (reactive) translations. @@ -159,7 +148,7 @@ val textFlow = tolgee.tFlow(context, R.string.string_key) ``` :::note -In Compose, use `collectAsState()` function for a more idiomatic integration. See more in [**Jetpack Compose Usage**](../jetpack/usage.mdx). +In Compose, use `collectAsState()` function for a more idiomatic integration. ::: ### Formatter Configuration @@ -258,17 +247,16 @@ lifecycleScope.launch { **Use for building dynamically updated UI.** Enables you to create UI that stays in sync with locale changes and new translations. -:::info + ## Example Projects -**For complete examples of how to use the Tolgee Core module**, check out the demo projects: +For a complete example of how to use the Tolgee Core module with Android Views, check out the demo project: -**Example Android:** https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid -::: +**[Example Android](https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/exampleandroid)** - Traditional Android Views example ## Next Steps -- **Using Compose?** Continue with [Jetpack Compose Usage](../jetpack/usage.mdx) -- **Production deployment?** See [Production](/android-sdk/production) -- **Having issues?** Check [Troubleshooting (Core Module)](./troubleshooting.mdx) +- **Using Jetpack Compose?** See [Jetpack Compose Usage](./jetpack/usage.mdx) +- **Having issues?** Check [Troubleshooting](./troubleshooting.mdx) +- **Need example apps?** See [Example Apps](./example-apps.mdx) diff --git a/platform/formats/android_xml.mdx b/platform/formats/android_xml.mdx index 80b9ec720..a1264b261 100644 --- a/platform/formats/android_xml.mdx +++ b/platform/formats/android_xml.mdx @@ -65,6 +65,7 @@ import JavaPlaceholders from './components/placeholderConversion/_java.mdx' ## Exporting When exporting the data back to the .xml file, the placeholders are converted back to the original format. +{/* edit here */} ## Using with Tolgee Android SDK When you integrate these XML resources with the [Tolgee Android SDK](/android-sdk): diff --git a/platform/getting_started/about_tolgee.mdx b/platform/getting_started/about_tolgee.mdx index 62c666652..83af9bf42 100644 --- a/platform/getting_started/about_tolgee.mdx +++ b/platform/getting_started/about_tolgee.mdx @@ -29,6 +29,8 @@ If you want to try Tolgee, you can [sign up](https://app.tolgee.io/sign_up) for ## Other Tolgee Docs - [JavaScript SDK](/js-sdk) +- [Android SDK](/android-sdk) +- [iOS SDK](/ios-sdk) - [Tolgee CLI](/tolgee-cli) - [REST API](/api) diff --git a/sidebarAndroidSdk.js b/sidebarAndroidSdk.js index 63ab5f55a..e2e1248c2 100644 --- a/sidebarAndroidSdk.js +++ b/sidebarAndroidSdk.js @@ -1,25 +1,18 @@ module.exports = { someSidebar: [ 'overview', - 'get-started', - { - type: 'category', - label: 'Core Module', - items: [ - 'core-module/quickstart', - 'core-module/usage', - 'core-module/troubleshooting', - ], - }, + 'installation', + 'setup', + 'usage', { type: 'category', label: 'Jetpack Compose', items: [ - 'jetpack/quickstart', 'jetpack/usage', 'jetpack/troubleshooting', ], }, - 'production', + 'example-apps', + 'troubleshooting', ], }; diff --git a/src/component/AndroidApiRequirement.tsx b/src/component/AndroidApiRequirement.tsx index 0518f060e..aff85b728 100644 --- a/src/component/AndroidApiRequirement.tsx +++ b/src/component/AndroidApiRequirement.tsx @@ -7,7 +7,12 @@ export default function AndroidApiRequirement() {
- 📱 + Android
Date: Tue, 7 Oct 2025 00:11:45 +0200 Subject: [PATCH 37/41] docs: consolidate troubleshooting guides and streamline Jetpack usage docs --- android-sdk/jetpack/troubleshooting.mdx | 97 ------------------------- android-sdk/jetpack/usage.mdx | 58 +++------------ sidebarAndroidSdk.js | 1 - 3 files changed, 9 insertions(+), 147 deletions(-) delete mode 100644 android-sdk/jetpack/troubleshooting.mdx diff --git a/android-sdk/jetpack/troubleshooting.mdx b/android-sdk/jetpack/troubleshooting.mdx deleted file mode 100644 index 6098dde02..000000000 --- a/android-sdk/jetpack/troubleshooting.mdx +++ /dev/null @@ -1,97 +0,0 @@ ---- -id: troubleshooting -title: Troubleshooting (Compose Module) -description: Troubleshooting Tolgee Android SDK Compose module for Jetpack Compose and Compose Multiplatform ---- - -# Troubleshooting (Compose Module) - -## Fast Checklist - -Before diving into troubleshooting, quickly review this list to steer clear of the most common erroes. - -### General Setup - -- **Check if Maven Central is in repositories** - `mavenCentral` in `settings.gradle.kts`. -- **Check if CDN URL is proper and accessible** - test connection locally: - -```bash -curl -I "https://cdn.tolg.ee/your-cdn-url-prefix/en.json" -``` - -- **Check if network security is configured** - (`network_security.xml` reference with `Android manifest`). -- **Check if cache clears after an app update** (use `TolgeeStorageProviderAndroid`). - -### Code & Integration - -- **Check if Same strings are used in both code/resources and Tolgee Platform.** -- **Check if Tolgee multiplatform helpers are shared among common code** (io.tolgee.compose.stringResource / pluralStringResource). -- **Check if you are subscribed to tolgee.changeFlow** for UI recomposition. -- **Check if single Tolgee instance is used per app.** -- **Check if Correct formatter is used** (Sprintf vs ICU). - -## Error handling - -- Log fetch failures and fall back to cache/static values. -- Consider retry/backoff for transient network errors. - -## Testing - -- Provide test doubles for content delivery to return deterministic values. -- For UI tests, inject a test Tolgee instance with preloaded data. - -## Common Issues - -**1. Dependency Issues** - -- Make sure Maven Central is included in your repositories. -- Double-check the dependency in your build.gradle.kts. -- If you are using a Version Catalog, confirm that version.ref = "tolgee" points to the correct version. - -**2. Translations Issues** - -- Make sure you're using the stringResource and pluralStringResource functions from the Tolgee package. -- Check that your Tolgee instance is properly initialized. -- Verify that the translations are loaded correctly. -- Verify CDN URL prefix in Tolgee Platform. -- Use TolgeeStorageProviderAndroid so cache clears automatically on an app update. - -**3. Network Security Issues** - -- Add a `network_security.xml` in your `res/xml` folder (You can reference it in `AndroidManifest.xml`). - -**4. Locale Issues** - -- Make sure you are using `stringResource` / `pluralStringResource` functions from the Tolgee package. -- Call tolgee.preload(this) in onStart() for critical screens (e.g., login, onboarding). -- Use cached translations to show UI instantly while fetching updates in the background. -- Use an explicit instance for tests/previews. - -**5. Plurals Issues** - -- Make sure plural resources exist both in Android resources (`plurals.xml`) and in Tolgee Platform. -- Use `stringResource` / `pluralStringResource` functions. -- Use a correct formatter (Sprintf vs ICU). -- Make sure translations in Tolgee Platform match the expected format style. - -See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Universal ICU placeholders](/platform/translation_process/tolgee_universal_icu_placeholders) - - -**6. Android Resource Integration Issues** - -- Check if your Android resources are properly structured - Tolgee is using `resources.getResourceEntryName` to find key for the resource. -- Make sure that the Tolgee instance has access to the Android context. - -**7. Compose Multiplatform Issues** - -- Verify that your resource files are correctly set up and all strings present in resources are also in a Tolgee platform. -- Make sure that you're using the correct resource references. - -## Useful links - -- Views troubleshooting: [Core Module Troubleshooting](/android-sdk/core-module/troubleshooting) -- Setup: [Setup](/android-sdk/setup.mdx) -- Usage: [Usage](/android-sdk/usage.mdx) -- For complete examples of how to use the Tolgee Compose module, check out the demo projects: - - Jetpack Compose example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/examplejetpack - - Compose Multiplatform example - https://github.com/tolgee/tolgee-mobile-kotlin-sdk/tree/master/demo/multiplatform-compose diff --git a/android-sdk/jetpack/usage.mdx b/android-sdk/jetpack/usage.mdx index 60761310e..073900a18 100644 --- a/android-sdk/jetpack/usage.mdx +++ b/android-sdk/jetpack/usage.mdx @@ -23,7 +23,7 @@ If you are unsure of which translation type to choose, notice a “Use for...” ## Getting translations -### 1. Simple Strings +### Simple Strings - **Jetpack Compose** @@ -49,7 +49,7 @@ In the Compose Multiplatform use `stringResource` function with `Res`. Use `stringResource` for **simple strings** (e. g., error messages, titles), retrieve a translation by its resource ID. -### 2. With Parameters +### With Parameters Pass parameters to translations, supply arguments for placeholders in your keys. @@ -73,47 +73,7 @@ fun TextWithParameters(name: String) { Use for translation with **dynamic values**. Add data that changes during the app's runtime (e.g., dates, numbers, usernames). -### Formatter Configuration - -**Choose how placeholders are parsed and rendered.** -Use when you have translations with placeholders, SDK must know how to exchange the placeholders for wanted values. -**Example**: "`Hello %s`" or"`You have {count} items`" - -See also: [Android XML format](/platform/formats/android_xml) · [Tolgee Universal ICU placeholders](/platform/translation_process/tolgee_universal_icu_placeholders) - - -**1. Sprintf** - -```kotlin -Tolgee.init { - contentDelivery { - url = "https://cdn.tolg.ee/your-cdn-url-prefix" - format(Tolgee.Formatter.Sprintf) - } -} -``` - -**Use for easy scenarios**, when you are using formatters, like `%s, %d, %1$s`. - -:::warning -**This parameter type won't work with fallbacks to Android Resources** - it's not functional for apps with any offline activity. -::: - -**2. ICU** - -```kotlin -Tolgee.init { - contentDelivery { - url = "https://cdn.tolg.ee/your-cdn-url-prefix" - format(Tolgee.Formatter.ICU) - } -} -``` - -**Use for more advanced translations and ICU features**, when you need nested formats or formatters, - like e.g. few, may, female, and complex lingual principles. - -### 3. Plurals +### Plurals Handle plurals with `pluralStringResource` - provide the count and any formatting arguments. @@ -220,15 +180,15 @@ Handy for **observing locale changes** in real time, **keeping track of current Tolgee's Compose integration offers several advantages over traditional Android Views: -1. **Reactive by default** - Compose UI automatically updates when translations change, without manual intervention +**Reactive by default** - Compose UI automatically updates when translations change, without manual intervention -2. **No Activity recreation needed** - Unlike Android Views which require `recreate()` to refresh translations +**No Activity recreation needed** - Unlike Android Views which require `recreate()` to refresh translations -3. **Simplified API** - Familiar `stringResource()` and `pluralStringResource()` functions that match Compose's built-in functions +**Simplified API** - Familiar `stringResource()` and `pluralStringResource()` functions that match Compose's built-in functions -4. **State-based** - Translations are part of the Compose state system, ensuring proper recomposition +**State-based** - Translations are part of the Compose state system, ensuring proper recomposition -5. **Multiplatform support** - Works with both Jetpack Compose for Android and Compose Multiplatform +**Multiplatform support** - Works with both Jetpack Compose for Android and Compose Multiplatform ## Example Projects @@ -240,5 +200,5 @@ For complete examples of how to use the Tolgee Compose module, check out the dem ## Next Steps - **Using traditional Views?** See [Android Views Usage](../usage.mdx) -- **Having issues?** Check [Troubleshooting](./troubleshooting.mdx) +- **Having issues?** Check [Troubleshooting](../troubleshooting.mdx) - **Need example apps?** See [Example Apps](../example-apps.mdx) diff --git a/sidebarAndroidSdk.js b/sidebarAndroidSdk.js index e2e1248c2..bc91ebeb2 100644 --- a/sidebarAndroidSdk.js +++ b/sidebarAndroidSdk.js @@ -9,7 +9,6 @@ module.exports = { label: 'Jetpack Compose', items: [ 'jetpack/usage', - 'jetpack/troubleshooting', ], }, 'example-apps', From d19c5f1cc398dba490cd4f443a58fd734267f90b Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Tue, 7 Oct 2025 08:55:17 +0200 Subject: [PATCH 38/41] docs: remove redundant warnings about preloading translations in Android SDK usage guide --- android-sdk/usage.mdx | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/android-sdk/usage.mdx b/android-sdk/usage.mdx index 6ac00ddf9..230210ecf 100644 --- a/android-sdk/usage.mdx +++ b/android-sdk/usage.mdx @@ -46,11 +46,6 @@ Returns a key when translations are loaded. **Use for simple/static text** (e. g., error messages, titles). -:::warning -If you choose this function for your app, create a **global corutine** with `Tolgee.preload()`. -See a tip under **a) Preload translations for the current locale from Activity** section. -::: - ### Translation with parameters: ```kotlin @@ -59,12 +54,6 @@ val textWithParams: String? = tolgee.t("key_with_param", mapOf("param" to "value **_Use for translation with dynamic values._** Add data that changes during the app's runtime (e.g., dates, numbers, usernames). - -:::warning -If you choose this function for your app, creating a **global corutine** with `Tolgee.preload()` is reccomended. -See a tip under **a) [Preload translations for the current locale from Activity](#a-preload-translations-for-the-current-locale-from-activity)** section, below. -::: - #### a) Preload translations for the current locale from Activity ```kotlin @@ -141,7 +130,7 @@ textFlow.collect { text -> **Use for reactive UI.** Translations update **immediately and automatically** whenever the language or CDN data changes. -#### - Dynamic translation with fallback to Android resources +#### Dynamic translation with fallback to Android resources ```kotlin val textFlow = tolgee.tFlow(context, R.string.string_key) From c2c4c3fb6e28fa9d277b750276087b52c8f0199b Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Tue, 7 Oct 2025 12:58:40 +0200 Subject: [PATCH 39/41] docs: update Android SDK documentation links to new structure --- platform/faq.mdx | 4 ++-- platform/formats/android_xml.mdx | 3 +-- platform/getting_started/translation_content.mdx | 6 +++--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/platform/faq.mdx b/platform/faq.mdx index 6790ad549..a6b104c31 100644 --- a/platform/faq.mdx +++ b/platform/faq.mdx @@ -32,8 +32,8 @@ Yes. Tolgee provides a native [iOS SDK](/ios-sdk) that integrates with your app Yes. Tolgee provides a native [Android SDK](/android-sdk) that integrates with your app and supports Jetpack Compose. -- Get started: [Quickstart](/android-sdk/core-module/quickstart) -- Use translations: [Usage](/android-sdk/core-module/usage) +- Get started: [Installation](/android-sdk/installation.mdx) +- Use translations: [Usage](/android-sdk/usage) - Compose UI: [Jetpack Compose](/android-sdk/jetpack/quickstart) - File format details: [Android Resources XML](/platform/formats/android_xml) diff --git a/platform/formats/android_xml.mdx b/platform/formats/android_xml.mdx index a1264b261..f86770c11 100644 --- a/platform/formats/android_xml.mdx +++ b/platform/formats/android_xml.mdx @@ -65,7 +65,6 @@ import JavaPlaceholders from './components/placeholderConversion/_java.mdx' ## Exporting When exporting the data back to the .xml file, the placeholders are converted back to the original format. -{/* edit here */} ## Using with Tolgee Android SDK When you integrate these XML resources with the [Tolgee Android SDK](/android-sdk): @@ -87,7 +86,7 @@ Tolgee.init { See also: -- Android SDK: [Quickstart](/android-sdk/core-module/quickstart) · [Usage](/android-sdk/core-module/usage) · [Jetpack Compose](/android-sdk/jetpack/quickstart) +- [Android SDK](/android-sdk) ## Array support When importing data to Tolgee from the Android XML files, the array elements are converted into flat keys with diff --git a/platform/getting_started/translation_content.mdx b/platform/getting_started/translation_content.mdx index bcb46f7a9..72f4a8cbe 100644 --- a/platform/getting_started/translation_content.mdx +++ b/platform/getting_started/translation_content.mdx @@ -38,8 +38,8 @@ Tolgee provides a native [iOS SDK](/ios-sdk) with a great support for SwiftUI th Tolgee also provides an [Android SDK](/android-sdk) for native Android apps, including Jetpack Compose support. Follow the Android docs to: -- Install and initialize the SDK: [Quickstart](/android-sdk/core-module/quickstart) -- Use translations in Views and handle plurals/parameters: [Usage](/android-sdk/core-module/usage) +- Install and initialize the SDK: [Installation](/android-sdk/installation.mdx) +- Use translations in Views and handle plurals/parameters: [Usage](/android-sdk/usage) - Use localized composables: [Jetpack Compose](/android-sdk/jetpack/quickstart) -In production, configure content delivery (CDN) using the Android [Quickstart](/android-sdk/core-module/quickstart) and [Production guide](/android-sdk/production), and preload data as needed. +In production, configure content delivery (CDN) using the Android [Production guide](/android-sdk/production), and preload data as needed. From 29033ce4de4efdfc5f43fd27f2100ccc6487253f Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Tue, 7 Oct 2025 18:44:17 +0200 Subject: [PATCH 40/41] docs: remove Android production guide and Jetpack Compose references --- android-sdk/example-apps.mdx | 1 - platform/faq.mdx | 3 +-- platform/getting_started/translation_content.mdx | 5 ++--- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/android-sdk/example-apps.mdx b/android-sdk/example-apps.mdx index c706968c4..191969b13 100644 --- a/android-sdk/example-apps.mdx +++ b/android-sdk/example-apps.mdx @@ -84,5 +84,4 @@ These examples are actively maintained and updated with each SDK release. They'r - **New to Tolgee?** Start with [Installation](./installation) - **Need help?** Check [Troubleshooting](./troubleshooting) -- **Ready for production?** See [Production Guide](./production) diff --git a/platform/faq.mdx b/platform/faq.mdx index a6b104c31..f6f6a8897 100644 --- a/platform/faq.mdx +++ b/platform/faq.mdx @@ -32,9 +32,8 @@ Yes. Tolgee provides a native [iOS SDK](/ios-sdk) that integrates with your app Yes. Tolgee provides a native [Android SDK](/android-sdk) that integrates with your app and supports Jetpack Compose. -- Get started: [Installation](/android-sdk/installation.mdx) +- Get started: [Installation](/android-sdk/installation) - Use translations: [Usage](/android-sdk/usage) -- Compose UI: [Jetpack Compose](/android-sdk/jetpack/quickstart) - File format details: [Android Resources XML](/platform/formats/android_xml) Glass -> eyeglasses or glass for a drink? diff --git a/platform/getting_started/translation_content.mdx b/platform/getting_started/translation_content.mdx index 72f4a8cbe..26aef9158 100644 --- a/platform/getting_started/translation_content.mdx +++ b/platform/getting_started/translation_content.mdx @@ -38,8 +38,7 @@ Tolgee provides a native [iOS SDK](/ios-sdk) with a great support for SwiftUI th Tolgee also provides an [Android SDK](/android-sdk) for native Android apps, including Jetpack Compose support. Follow the Android docs to: -- Install and initialize the SDK: [Installation](/android-sdk/installation.mdx) +- Install and initialize the SDK: [Installation](/android-sdk/installation) - Use translations in Views and handle plurals/parameters: [Usage](/android-sdk/usage) -- Use localized composables: [Jetpack Compose](/android-sdk/jetpack/quickstart) -In production, configure content delivery (CDN) using the Android [Production guide](/android-sdk/production), and preload data as needed. +In production, configure content delivery (CDN) using the Android, and preload data as needed. From 5b6bb9a203a2232c8ddfbb268111096db4d5257d Mon Sep 17 00:00:00 2001 From: Kamil Dzieniszewski Date: Wed, 8 Oct 2025 13:01:54 +0200 Subject: [PATCH 41/41] docs: fix broken installation link in Android SDK overview --- android-sdk/overview.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android-sdk/overview.mdx b/android-sdk/overview.mdx index 138db3110..7c807e6d8 100644 --- a/android-sdk/overview.mdx +++ b/android-sdk/overview.mdx @@ -44,6 +44,6 @@ Designed with multiplatform projects in mind. Connect to [Tolgee Cloud](/platform/) or [self-hosted](/platform/self_hosting/getting_started) instances. ## Next steps -- Install and configure the SDK: [Installation](./installation) +- Install and configure the SDK: [Installation](./installation.mdx) - Connect your app to the Tolgee Platform and manage translations collaboratively: [Platform docs](../platform/) - Generate or manage static strings with CLI: [Tolgee CLI](/tolgee-cli) \ No newline at end of file

N$C24c8V@_>4|ew|NFfe;t`qL%TF2Y7~l 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