Drupal translation with PO and POT files

To easily manage the translation of a Drupal site, download the source strings in PO or POT format from your Drupal instance and bring them to the localization management platform POEditor. Here, you can manage the string translation process in multiple ways, into any language.

Find below the steps you need to take to quickly set up your Drupal translation project.

Set up your Drupal translation project

If you don’t have a POEditor account, take a second to register one. You’ll be able to manage for free up to 1000 Drupal interface strings.

Once you’re logged in, create a project in your Dashboard and add the languages you’ll be working with. You’ll want to add your Drupal site’s default language and the target languages (the languages you want to translate your Drupal site into).

After adding the languages to the translation project, import your Drupal source strings to POEditor using the import functionality in the project page. You can import them either from .pot or from .po.

Import terms and translation (Project page) - POEditor translation platform

POEditor fully supports Gettext PO and POT files, so after importing the file with the source strings, all the term attributes (such as context, comments and plurals) should be reflected in the translation project.

PRO TIP: To automate the import process, you can use the API or an integration with a code hosting platform. POEditor is currently integrated with GitHub, Bitbucket, GitLab and Azure Repos.

Choose how you want to translate the Drupal interface strings

After setting up the Drupal translation project, you can begin the string translation process. The translation options you can choose from are:

  • Assigning translators to specific languages in your translation project, by adding them as contributors. These people will be able to use POEditor’s online editor to add translations to your project.
Add contirbutor (Project page) - POEditor translation management platform
  • Crowdsourcing translations from your community for specific languages, using public projects. You can also allow others to add new languages to your public translation project. Just enable the option Contributors Can Add New Languages in the project’s settings.
  • Using the Automatic Translation feature. This works with the machine translation engine of your choice, from the options available. MT options include DeepL Translate, Google Translate and Microsoft Translator.
  • Ordering translation services from one of our partner language service providers*.

You can of course mix these translation options to your convenience to achieve your Drupal site localization. Note that if you have a paid account, you and your contributors can also reuse translations from the Translation Memory.

*To order human translation services from the integrated providers, you’ll need to add your source strings as translations in your source language. If you imported your source strings from .pot and your source language is at 0% completion rate in the project, to take it to 100% you can use the Copy Terms to Translation feature in the upper right corner of the source language page. This will copy the source strings from the terms to the translation boxes of the source language.

Export the translated PO files and add them to your Drupal site

Anytime during the string translation process, you can export the localized languages from POEditor and import them to your Drupal site. To export a language, access its translation page in the project, then use the Export functionality to download it in PO format to your computer. Note that exporting to the POT format is not a good idea, because POT files only contain the msgids and not the translations too.

Export PO file (Export page) - POEditor translation management system

With the API or with a code hosting service integration, you can also export all the localized languages at once. In case a translation is not specified in a particular language, your Drupal site will use the source text instead.


Angular 2 Localization: How to Translate App Strings

Angular 2 localization

Translating Angular 2 apps can be simple. All you need is an .xmb file with your source language from your Angular 2 app and a POEditor account. The rest is just a matter of choosing the localization strategy which best suit your needs, from the ones our localization management platform has to offer.

How to set up an Angular 2 translation project

Setting up the translation project for your Angular 2 app is as simple as 1, 2, 3:

Step 1. Create the project in your account and add the source language and the languages desired for localization.

Step 2. Import terms to the project and translations in the source language from the .xmb file. Do this using the Import Terms button in the project page (don’t forget to choose to ‘Also import translations in…’ your source language).

Step 3. Set a Default Reference Language in Project Settings.

Angular 2 xmb import

After going through these simple steps, your project is set and you can proceed to choosing which way you want to translate your Angular 2 strings.

Continue reading

Automating your localization workflow with POEditor API – Quick Guide

Whenever you get the chance to automate something to avoid repetitive manual work, go for it, because it will save you a lot of time and boost your productivity. That being said, let’s cut to the chase: the purpose of this article is to show you how to automate your localization workflow with the POEditor API. For this, we’ll go through a simple step by step guide. You’ll learn how to send your language data to POEditor and how to pull the translated work back into your software.

Knowledge of a programming language is required (any will do), but we’ll focus on the requests you need to make to the API.

All the information about the API is in the API Reference.

Before starting the actual work, get an API token from your POEditor account. You can find it in Account Settings > API Access.

Project setup

The first step is to create a project. Note that you need to do this only once and that you can also use the interface. It’s probably faster anyway.

Create a project:

curl -X POST https://api.poeditor.com/v2/projects/add \
-d api_token="e9eccebeccfr9wed638eb35f5e2d5600" \
-d name="Quick Guide"

Continue reading

How to manage a crowdsourced localization project

So there’s a software  you want to localize into some languages, and you decided on crowdsourcing translation to achieve this.

If you’re working with any of these localization files, you can easily set up a crowdsourcing project at POEditor. Just create an account, and you’ll have access immediately to awesome localization management features that will automate your workflow.

This article is an overview of the steps you need to take to create a crowdsourced translation project and of the essential features to manage it.

Public page to join translation project
Continue reading

Translator’s guide to software localization

If you want to help with the localization of a software product using the POEditor translation platform, but you’re not quite sure what you should do, you can browse this article to gain insights into how our collaborative interface works.

How to join a localization project

Joining depends on the project type. If the project is private, the project owner or an administrator must add you, and you’ll be informed by email of this. If it is a crowdsourced localization project, you’ll have to go to the public join page and select the language(s) you want to contribute to.

Join public localization project - POEditor translation management platform
Continue reading

How to get localization alerts on Slack or HipChat

Connectivity is essential to a flexibile and efficient localization workflow. Being connected to your team at all times and also being connected to the constant flow of events during the localization process, you can react on the spot whenever something needs attention, increasing productivity and saving a lot of resources on the way. With this in mind, and somehow as a logical step to offering you a better solution for collaborative localization, we’ve decided to add two more options to the list of integrations available with the POEditor localization management platform- Slack and HipChat.

The walkthroughs below will help you connect your POEditor account to Slack or to HipChat. Make sure you log in both to the POEditor localization platform and to your preferred communication service before you begin.
Continue reading

How to order translation services in POEditor

The POEditor localization management platform is mainly designed as a productivity tool for localization teams that want to use their own translators in the process of localizing software strings.

Despite this, we know that not everyone who reaches our localization platform has translators to assign to their l10n projects, or a community to crowdsource translation. For them, we provide quick access to professional translation services. Following the steps described below, you can easily order translations for your software localization project, directly from your POEditor account.

Step 1: Go to the Translation Orders page, choose your values and get a quote

In the Project page, click on the Translation Orders button to reach the New Order page. Here, select your desired values, then press Get Quote to find out what the translation price is.
Continue reading

How to use the POEditor plugin for WordPress

With POEditor’s localization plugin for WordPress, you can manage your WordPress language files between POEditor and WP, from within your WP dashboard. Download and install the POEditor WordPress translation plugin according to the instructions in the Installation tab. Then follow this step by step guide to set up your localization workflow.

How to manage the WordPress localization workflow

Assign local language file to translation project - POEditor localization management platform

  • Step 1: Go to your POEditor account, click on your username in the navigation bar and then go to Account Settings > API Access. Generate an API token and copy it to the POEditor plugin in your WordPress account, where it says POEditor API KEY. A page will be generated, with all the software localization projects in your POEditor account (if you have any) and your local WordPress language files.
  • Step 2: Click on Create project in the POEditor plugin to start a new translation project. A corresponding project will be created in your account on the POEditor localization platform.
  • Step 3: Add a language in the POEditor plugin to the newly created project, and then link a WordPress language file to it by clicking on Assign file. 
  • Step 4: Press Export to send the terms from your local WordPress language file (.po or .pot) to your project on the POEditor software localization platform.
Continue reading

How to set a payer for your POEditor account

Most of the time, the roles in a software localization workflow are very specialized, divided according to specific activities and tasks. Our experience with the localization industry has revealed that it’s not rare for companies to contact an agency to manage their software localization process. So they outsource it, but does the same apply for the payment for the localization services? Sometimes, even if a company does use an in-house localization team, the payment for the localization tools used in the translation process will still be managed by an Accounting Department. As you can see, the person with strings may not also be the one with the money.

So, to make sure the translation workflow suffers no disruption, we’ve come up with a payment management system that makes life easy for the person in charge of the financial aspect of the localization process.

Continue reading

How to use Webhooks to automate the sync with GitHub/Bitbucket

Lately, some users have been asking for a way to automate the synchronization between the POEditor localization platform and GitHub/Bitbucket repositories. Because we want to make them happy, we found a way to do this – webhooks. These “user-defined HTTP callbacks” can be used to trigger a certain sync in your repos. They can be called from anywhere, and can be maintained, modified and managed by any third-party users.

Preparing the webhook

To make use of a webhook, you first need to create a webhook URL. Find an example for GitHub here, and one for Bitbucket here.

After creating the webhook, you can add it to a GitHub or Bitbucket account so that events in the repos trigger terms (and translations) updates in a POEditor project.

Using webhooks with Bitbucket

To add a webhook to a Bitbucket account, just log on to it, go to Settings → Hooks, and select “POST” from the “Select a hook” dropdown menu. Then click on “Add hook” and introduce the webhook URL in the empty field. Whenever the repository changes, the webhook will be triggered to sync between the assigned language/project on POEditor and the file in the repo.

Using webhooks with Github

Adding a webhook to GitHub is also easy. Go to the account, click on Settings → Webhooks & Services → Add webhook, and add the webhook URL to the “Payload URL” field. Unlike in the case of Bitbucket webhooks, you can pick what kind of event(s) you want to trigger the webhook. It can be just the push event, individual events, or everything (any change in the repo).

So that’s that. The POEditor GitHub integration and Bitbucket integration are now faster than ever, because you have the choice to automatically send the updates in the repos to your localization projects managed on POEditor.

Update July 2015: It is now possible to use webhooks to export terms and translations from your POEditor localization project to your connected GitHub account. Please note that the export option can be triggered from anywhere, except GitHub.