Working efficiently with PhraseApp -
An introduction.

So you have set up localization via PhraseApp for your technology stack - What’s next? Of course you want to know how to work efficiently with your localization files via PhraseApp:

  • Where should the team enter new translations?
  • How can we add PhraseApp into a continuous workflow?
  • How does PhraseApp handle translation merge conflicts?
  • and many more.

Please note: Sample code shown on this page uses the PhraseApp Client.


Adding new source translations and keys

Typically new source translations or keys are introduced by developers. There are three recommended ways to add new keys to your PhraseApp localization project:

Adding keys manually via Translation Center

Use the Key Management section in PhraseApp Translation Center to add new keys to your project, along with a default translation.

Adding keys via file upload

Adding lots of new keys manually can be tedious, so you can always upload new keys and translations via file upload. When uploading files we only add new content to your PhraseApp project, unless specified otherwise. Uploading files can be done easily with the PhraseApp Command Line Client:

$ phraseapp push

Adding keys via API

You can also create keys direcly via the API. Learn more about the available options when creating keys in the API documentation.

Adding keys and translations via In-Context Editor

If you’re building a web application, using the In-Context Editor to add new source translations to your project might be the most efficient solution.

Developers can simply introduce new keys in the templates and enter default translations via In-Context-Editor in their local environment. It’s easy and gives you a great idea how text will actually look on the site.


Translating

Once new source translations or keys are added to your PhraseApp project, translators typically start working in order to translate the content into the languages you want to support.

With your own team

If you have your own translation team, you might want to invite them into your account and grant them access to the project.

With professional translations from our partners

If your team cannot handle all languages you want to support in your software, you can order professional translations from our partners, too.

This lets you support dozens of languages with just a few clicks.


Downloading translations

After translating you most likely want to download the completed translations in order to ship or deploy them with your software.

Download files via Translation Center

You can always download your most recent localization files in the language overview of your PhraseApp project in Translation Center. Choose any format you like and click the Download button.

Download files via API/command line

As a developer or more experienced user, you might want to use the PhraseApp Client to download files with a single command, e.g.:

$ phraseapp pull

You can also run this command from your CI server and pull translations regularly, e.g. once per hour.

For a complete list of all available options execute:

$ phraseapp

Merge conflicts

PhraseApp does not attempt to resolve any merge conflicts but always downloads the most recent versions of your translations from your PhraseApp project.

We recommend to avoid translating keys locally but instead always use the PhraseApp platform. This avoids (merge) conflicts and lets everybody in your team access all recent translations at all times.


Deploying translations

As a final step, you most likely want to release the new translations with your application. There is no need to have a connection to PhraseApp in your production environment whatsoever. We strongly advise against calling our API in production to retrieve localization data.

Instead, treat the localization files you received from PhraseApp like any other file in your code repository/project. You should:

  1. Check them into version control
  2. Run tests against your application (if available)
  3. Deploy and release your software as you would do normally

Further reading