Localization & Languages
The app is fully prepared for internationalization. To understand how translations work, it is important to distinguish between the three main data sources: Product Data (PIM), Editorial Content (CMS), and UI Labels (Phrase).
1. Dynamic Content (PIM & CMS)
All dynamic content is fetched from your backend systems in the language selected by the user.
Product Data & Navigation (from PIM)
Core e-commerce data is typically managed in your Product Information Management (PIM) system.
- What it includes: Product titles, descriptions, attributes, and the Navigation Tree (Category Names).
- Fallback Logic: The app displays whatever the backend delivers. If a specific translation is missing in the PIM, the backend usually serves a fallback language (e.g., English or the main shop language). The app itself does not control this fallback logic.
Editorial Content (from Drupal)
Marketing content is managed in your Headless CMS (Drupal).
- What it includes: Storefront teasers, Landing Pages, Promotion Banners, and text blocks.
- Your Responsibility: You maintain these translations within Drupal.
2. UI Label Languages (via Phrase Strings)
For all undynamic, hardcoded text labels within the native app interface, we use a professional localization platform called Phrase Strings.
- What it includes:
- Button labels (e.g., “Add to Cart”).
- Menu items (e.g., “My Account”).
- Native pop-ups like the App Tracking Transparency (ATT) Consent Banner.
- Error messages.
- What it does NOT include: Product names, category names, or promo texts.
The Translation Workflow
- UX Copy & Key Creation: When we develop new features, we add the required text labels (keys) to Phrase. We provide default text suggestions based on UX best practices for clarity and accessibility.
- Translation Job: We create keys on an ongoing basis, but we trigger a formal translation job once a week. This job is an explicit request for the responsible people in your team to review and translate the new texts.
- Pre-translation (Optional): We can configure machine translation (e.g., via DeepL) to speed up the process. You decide if suggestions are used directly or flagged for review.
- Review & Publish: You review, edit, and approve the translations directly in the Phrase web interface. While we strongly recommend following the UX-tested suggestions, you as the brand have the final say on all wording.
Initial Setup for New Apps
Over-the-Air (OTA) Updates: The Key Feature
The biggest advantage of using Phrase is the ability to update translations without a new app release.
- Instant Changes: Correct typos or rephrase a button text in Phrase, and the changes can be published to your live app almost instantly.
- Safe Rollout: OTA releases are first published to the Nightly Build for verification before you push them to the live app.
3. Webview Content
4. Language Selection & Onboarding
The app is designed to make language selection seamless.
Initial Selection (Onboarding)
When a user opens the app for the very first time, they are guided through an onboarding flow.
- Manual Choice: If the app supports multiple languages (e.g., a Swiss app offering German and French), the user can explicitly confirm or change their preferred language during this setup.
Changing Language Later
Users can change the app language at any time via the System Settings of their device. The app provides a direct link in its own “Settings” menu to the relevant OS menu.