Recovering translations with the History module

The History module is one of the features that makes translating software strings with the POEditor localization management platform a safe and easy process. What the History module does is store translations that are one hour old in a database, so that they can later be recovered individually (with the History link), or in bulk, for a particular language (using the Recover from history feature). Below we will describe how the History module works.

Consulting previous translation versions for individual termsHistory link (Language page) - POEditor localization management platform

In any Languge page, you can find History links next to each previously translated string (remember – the translations must’ve been one hour old to be recorded). If you click on one of these links, you will see all the translations that have been made in that language for the corresponding term, as well as who made the translation and when.
Continue reading

Updating translations in labels-based software localization projects

If you want to translate an app that uses language files such as .strings, .xliff, .resx, .xml or .properties with the software localization management platform POEditor, it’s very likely your localization process will be a little different than if you were using any of the other supported language files. This is because these language files contain labels.

As a developer/localization manager/someone else handling a labels-based project with POEditor, you will start your software localization process by importing strings from a language file and setting a Default Reference Language.
Continue reading

How to translate WordPress themes and plugins: localization management with the POEditor plugin

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.

After you sent the terms from your local WordPress .po or .pot file to the POEditor localization platform, the translation process can begin. From the POEditor interface, you can assign contributors to each language to collaboratively translate the terms. Or you can make the translation project public on POEditor, so people can volunteer to translate the languages in your WordPress localization project.

If you want to add more languages to the translation project, repeat step 3. Don’t have a corresponding language file in your WordPress account to assign to the language you’ve added? You can use the POEditor plugin to create a new .po (and a matching .mo) file in the desired location.

If you use the POEditor localization platform instead of the plugin to add languages (or projects), just click on Refresh online projects list and they will appear in the POEditor WP plugin.

  • Step 5: Bring back to WordPress the localized languages from the POEditor localization platform. You can do this at any time, regardless of the translation’s progress. Just click in the POEditor plugin on Import (for individual languages) or Import all (to fetch all the linked languages in the translation project).

Following these simple steps, you can translate WordPress themes or plugins more efficiently.

What each button in the POEditor WP translation plugin does

To make everything crystal clear, below is a list of the buttons in the POEditor plugin. Each has a short descriptions of the actions it performs.

Change API Key: lets you change the API Key in the POEditor plugin, POEditor WordPress translation plugin - Main pagein case it was changed in the connected POEditor account.

Reset plugin: deletes all the local file assignments and detaches the WordPress installation from the POEditor accont.

Refresh online projects list: updates in the plugin the list of all the projects and languages in the connected POEditor account, along with their progress.

Assign file: links a language in a POEditor translation project to a local WordPress language file.

Import: brings to WordPress the .po and .mo files (containing both terms and translations) from the POEditor localization platform.

Export: sends the terms from the assigned WordPress language file to the corresponding POEditor localization project. Doesn’t touch the translations in the project.

Sync: sends the terms and the translations from the assigned WordPress language file to the corresponding language in the POEditor localization project. Also  overwrites the existing translations and deletes the obsolete terms.

Import all: brings the .po and .mo files for all the languages to WordPress, from the POEditor localization platform.

Add language to: creates a new language in the translation project on the POEditor localization platform.

Create project: creates a project in the connected POEditor account.

Rescan for language files: searches WordPress for .po and .pot language files.

Congratulations! You now know everything about POEditor’s translation plugin for WordPress. You should be able to effortlessly integrate the POEditor localization management platform into your workflow. Is anything you’d like to further discuss about the plugin? Just drop us a line in the comments or use the contact form.

 

Complete localization projects faster using POEditor’s Translation Memory System

To make a localization process faster, there are aspects of it that can be automated. Translation is one of these aspects and even though it has been proven in numerous instances that machine translation cannot compare to human translation, there exists what is called Translation Memory, which combines the human touch with machine power to simplify the translator’s work.

How the POEditor Translation Memory works

Each time a user translates a term, the translation gets stored immediately in the TM database. The TM database stores one translation per user for each term, which gets updated each time the user edits it in the interface. In case different users add different translations for the same term, they all get stored in the Translation Memory database. If there is more than one translation variant for a term in the Translation Memory, the TM will generate a list of suggestion, so the users can select the most appropriate one. The TM will always list the translations according to how many times they were used.

How to use the Translation Memory with the POEditor localization platform

There are two ways in which translators can use the Translation Memory System: either in the language page, using the TM Suggestions, or by going to the Translation Memory page (look for the Translation Memory button in the side menu of the language page), where you can bulk load translations from the TM database.

Using Translation Memory Suggestions

For TM Suggestion to be displayed in the language pages of a POEditor localization project, they need to be activated in Account Settings by the project owner.

After switching on the TM suggestions, all the contributors will be able to see them under the empty translation fields, if any appropriate results are found in the database. Clicking the “Use” button next to a suggestion will copy it to the translation field.

Translation Memory Suggestions - POEditor Localization Platform

If the contributor has a Reference Language set, the Translation Memory will also search through the database for translations done in that language to propose TM suggestions.

Bulk loading translations from the Translation Memory database

Pressing the Translation Memory button in the side menu of the language page, you will be taken to the Translation Memory page. Press “Start searching”, and the system will start looking in the database for translations relevant to the untranslated terms. When it’s done, you will get a list with all the terms and the translations found in the TM database. You will be able to choose the variant that you find appropriate, if there are more than one, or to choose to completely ignore the translation(s) found for a particular term. By default, all the translations the TM finds are pre-selected, so you can easily load them in bulk in the language page by pressing “Use translations”.

POEditor localization platform - Translation Memory

Translation Memory Privacy

Each paid account has its own Translation Memory database. Because we take privacy seriously, you have to expressly grant your contributors or admins access to the Translation Memory, by going to Account Settings and switching Translation Memory Access to YES. Also, if you want people working on your software localization project to see the suggestions from the Translation Memory database, you will have to switch TM Suggestions to ON.

All the translations made for a localization project by a contributor belong both to the contributor and to the project owner, and are stored in both their Translation Memory databases, if they both have paid accounts.

Manage the payment of your localization project effortlessly with POEditor’s alternative payer system

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.

How the Alternative Payer System Works

Our payment system was built with a simple premise in mind: the owner of a project managed with the localization platform POEditor may not be the same with the person handling the credit card that should be charged for that project. This is why a POEditor account owner can assign someone else to pay for his/her subscription. That person will have to be a POEditor user, and to explicitly accept this role. The alternative payer’s Billing section will have to be filled with the right billing details, and all the payments that will be made using them will have corresponding invoices sent to the alternative payer’s account.

How to Invite an Alternative Payer

To add an alternative payer to your POEditor account, just go to your Billing section and click on the link above My Billing Info that says “Invite Alternative Payer”.

An email will be sent to the specified email address to notify about the invitation. To accept it, the person will have to go to the Billing section in his/her POEditor account and confirm the role from there. A POEditor user can (simultaneously) become an alternative payer for as many POEditor accounts as desired,  and has the freedom to quit the alternative payer role at any time.

Localization managers, account managers, translation leads and so forth, rest assured! We never stop thinking about you and we’ve got your back on this. If you have suggestions about how we could make the translation interface more flexible for your specific needs, don’t be shy to send us your thoughts by using the contact form or by commenting below.

Collaborative localization is easy with POEditor’s Realtime Translation System

At POEditor, we are dedicated to bringing you the best interface where you can manage your collaborative translation work. We know it is essential for any localization project manager or translator to stay updated with their team’s whereabouts and actions, in order to maintain a smooth and natural workflow. So, to avoid stepping on each other’s toes, we’ve built POEditor with a Realtime Translation System.

The POEditor Realtime Translation System is good for all POEditor users, regardless of their role in a project. First of all, it is useful for contributors, because they can see who is active on the same language as they are, at the same moment. It also shows them in real time if a translation is added, edited or deleted for a term in that language. If there is more than one person translating on the same page, the system will mark the translation fields that are being worked on by coloring their borders. If two or more contributors are on a translation field at the same time, a bubble will inform them who else is translating that term.

POEditor localization tool - Realtime Translation System

 

On an owner and administrator level, there are some extra benefits. At the bottom of the Project Page, a Live Activity box will appear, if at least one person is connected to the project. If they perform any actions (add/delete translation), those will also be streamed. Here’s what it looks like:

POEditor Localization Tool - Live Activity

The POEditor Realtime Translation System has been well improved to give even more useful information to localization teams in their efforts to provide quality software translations. Unwanted events, like translating a string twice, for example, can easily be avoided with it.

In case you have feedback that you would like to share with us, don’t hesitate to drop us a comment or to use our contact form to get in touch.

Happy localization!

 

Webhooks: a Solution to Automate the Sync Between the POEditor Collaborative Translation Platform and GitHub or Bitbucket Repos

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.

 

POEditor autumn harvest

The month of October is nearing its end, and by looking and the amount of updates we have gathered during it, we can proudly say that our dev team’s hard work has been quite fruitful.

Because we don’t want to bore you with very technical stuff, we will limit this communication to presenting the most obvious changes to improve your localization workflow.

Control exports to GitHub

You will notice that in the Github projects page, you now have the following options to filter your exports: all, translated/untranslated, fuzzy/not fuzzy, automatic/not automatic, proofread/not proofread. Once one of these settings is chosen, it is saved and applied for all the Github projects. In the case of multiple files, you will also notice that you are now able to tell where you are with the export, because a progress bar will be visible while the export to Github takes place.

Mass toggle of fuzzy or proofread translations

For an easier time managing translations, the mass toggle option was a must. You can now perform the action of mass toggling fuzzy translations or mass toggling proofread translations by accessing the dropwdown list at the bottom of any language page and clicking “Go”.

Recover translations from History

We have to give a big hand to those of you who suggested this feature, because it will be a blessing to many of your fellow users. Basically, what this feature does is detect if there are translations in the History of an untranslated term. In case there are, you can tell POEditor to recover from History the last one recorded. Please note that a translation gets saved in History only after one hour has gone by from when it was edited.

There are a lot of nice enhancements that we have on our roadmap, so make sure you keep an eye on us so you don’t miss out on any of the good news.

New Translation Memory Engine for Localization Platform POEditor

esp_03Here at POEditor, we’re always trying to optimize and improve performance. For this reason, in the past few weeks, we’ve been really busy reconstructing our Translation Memory engine.

Given the growth rate of POEditor and the number of strings in large accounts, we began noticing some delay in the TM for suggested translations, especially when the system searched for translations of small strings (such as “Account” or “Cancel”). Some tests and debugging quickly pointed us to the database queries, which had become slower as the database increased.

We then took a radical decision, to move all the TM related searches to a dedicated search engine. After lots of research and tests, we choose Elasticsearch, which is based on the powerful Apache Lucene project. Elasticsearch is a flexible and powerful open source, distributed, real-time search and analytics engine, running on Java.

To cut the technical stuff short, the performance improved by a factor of more than 10 times in some cases and it’s expected that the future growth won’t affect the system performance as it did before this.

We would like to see you test the limits of the Translation Memory engine, with countless translations from old and new localization projects. You will surely be compelled by how this powerful piece of software enhances the automated part of the POEditor experience!

Happy 2 year anniversary to us!

We are proud to let you know that on the 2nd of August, two years ago, the project that came to be the POEditor you know today first saw the light of the Internet. Although we couldn’t imagine how far we’d get back then, we believe now that our localization platform has grown into a beautiful piece of software that is valuable to many people all over the globe. Along the way, we’ve added new & useful features and updates, always taking into account your opinions for improvement and other requests, making it our assumed duty to deliver to you in the shortest amount of time possible. This is the kind of relationship we will continue cultivating with our users.

A big thank you to everybody for supporting us and for using our product. We hope to keep on growing together while you enjoy POEditor for years and years to come.

Keep the #l10n roaring!