All Collections
Localization Guides & Tips
Localization tips & workflows
Transitioning From File-Based Localization to Transifex Native
Transitioning From File-Based Localization to Transifex Native

Transition from file-based methods to Transifex Native for enhanced efficiency and agility.

Christos Balafoutis avatar
Written by Christos Balafoutis
Updated over a week ago

Introduction

Efficient collaboration between developers and localization teams is paramount for successful app localization. Transifex suggests using Transifex Native, a comprehensive solution that seamlessly integrates with popular development frameworks. This article delves into the recommended workflow for implementing Transifex Native, emphasizing key features and strategies to optimize the app localization process while migrating from a file-based workflow.

2239


The Premise

In the ever-evolving landscape of app development, striking the right balance between efficiency and tradition is crucial. While file-based localization methods have long been the norm, they come with their own set of challenges. In this article, we explore the complexities of traditional approaches and introduce an innovative solution, Transifex Native, that seeks to harmonize efficiency with established practices.

The Challenge

Picture a scenario where an app undergoes frequent updates to keep pace with user demands and market trends. Each update brings about changes to the app's interface and content, necessitating updates to localized versions as well. In a file-based localization setup, managing these changes becomes cumbersome.

The development team constantly introduces new features and improvements to enhance user experience. Consequently, this iterative process involves the addition of new strings, updates to existing ones, and the removal of obsolete ones. However, despite the diligent efforts of the engineering team to minimize the occurrence of bloated source files containing redundant strings, the inevitable reality is that there will always be more strings requiring removal to maintain file cleanliness. Consequently, these inflated files are downloaded onto the app, burdening it with unnecessary data.

Additionally, the deployment of translations adds another layer of complexity. If translation fixes are required post-deployment, another round of deployment is necessary, further delaying the process and creating inefficiencies in the development lifecycle and potential headaches for the development team.

With traditional localization methods, the process of updating localized versions lags behind, hampering the app's global reach and user satisfaction.

Hence, there's a real need to streamline source strings management to maintain file cleanliness and optimize the efficiency of the localization process. Moreover, simplifying and automating this process is crucial to reduce manual effort. And here comes the Transifex Native approach, which empowers developers and translators to collaborate in parallel, facilitating better coordination and faster localization.

The Transifex Native Solution

Transifex Native offers a paradigm shift in localization efficiency. With its real-time updating capabilities, Transifex Native eliminates the need for manual file updates, ensuring that source strings are always up-to-date. Its automated string management features detect and remove redundant strings, optimize file sizes and reduce clutter.

Migrating from file-based to Transifex Native is a strategic move towards enhanced localization efficiency. With Transifex Native, developers and translators can work in parallel, accelerating the localization cycle and reducing time-to-market.
โ€‹

To embrace the enhanced workflow, the initial step involves creating a dedicated Transifex Native project for each application. This can be accomplished by following the steps below.

This migration is relevant to anyone with a file-based project, whether it's for a web app, Android, or iOS platform, seeking to transition to a Transifex Native approach.

Migrating From File-based to Native

  1. Set Up a Native Project in Transifex

    The first step is to set up a Native project in your organization. Navigate to your organization's Transifex Dashboard and click the "Create new project" button. From there, complete the form below to create your new project.

    Fill out all information about your new project and pick Transifex Native as the project type. More information about creating a new project in Transifex can be found here.

    ๐Ÿ“Note: Make sure you choose the same source and target languages as the ones used in your file-based project. That way, any previous work done (TM, Glossary) can easily be shared with your Native project.

    After creating your project, Transifex navigates you to the resource page containing some instructions to share with a developer. At the bottom of that screen, you will see an option to generate Native credentials.

  2. Generate Native Credentials

    Native credentials refer to API TOKEN and SECRET used in all the Native SDK implementations that exchange data between Transifex and your code. If you have just created your Native project, you will see the option to Generate Native credentials right after creating your project.

  3. Set Up Native Credentials and Internationalize Your Code Using Transifex Native

    Internationalization of code happens through the use of the t function. Transifex Native localization framework uses the ICU syntax to describe localization rules. Additionally, you can define certain metadata parameters per string, such as context, tags, or character limits.

  4. Send Your Source Content To Your Transifex Native Project

    Use the Transifex library to collect all translatable strings and push them to Transifex for localization.

  5. Migrate Translations

    There are two methods to migrate your translations to the new project. You can utilize the Translation Memory (TM) or the existing translation files from your file-based project.

    • Migrate Your Translations Using TM

      • Option #1: Export TM data from the file-based project and import the translation memory suggestions to the Native project if you plan to delete the file-based project from your organization once the migration process is completed.

      • Option #2: Share your TM via shared memory groups or TM priorities if you don't plan to delete your file-based project but rather archive it after completing the migration process. Don't forget to enable TM fill-ups for your Native project, allowing the system to translate any identified matches between the two projects automatically.

    • Migrate Your Translations Using Translation File Upload Method

      You may download your translation files via UI or API as XLIFF files and then upload them to the Native project. For a more automated way, we suggest using the API endpoints.

      To download the translation files, use these two endpoints.

      To upload the translation files to the new native project, use these two endpoints.

๐Ÿ“ Note: If you decide to delete your file-based project from your organization, creating backups of all files is highly recommended before proceeding.

  • Launch Your Translations with Transifex Native

    Transifex Native retrieves translated content via an intermediate service called the Content Delivery Service (CDS). It works similarly to a CDN and serves all translations from a cache so that the retrieval is fast. This service works as the final place where the latest translations are stored. It is responsible for fetching the latest global content from Transifex and making it available to your application once requested.

    This Content Delivery Service is currently hosted by Transifex as part of the solution. You can also install and self-host CDS on your infrastructure to further optimize translations delivery.


Conclusion

The integration of Transifex Native into the app localization workflow provides substantial improvements in collaboration, efficiency, and flexibility for developers and localization teams. By diligently following the recommended workflow and harnessing the power of Transifex Native SDKs, organizations can streamline their app localization process, deliver high-quality localized applications, and effectively engage a global audience, overcoming the challenges of traditional localization methods and unlock new levels of efficiency and agility.

Did this answer your question?