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.
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.
Here 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!
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!
When it comes to the translation part of a localization process, one of the most important aspects is proofreading the translations. Before exporting the localized strings back to your website, app or game, you will want to make sure they’ve been well adapted to their context and are, indeed, good to go. What’s the best way to achieve this? Assigning some proofreaders to your software localization project, of course.
In this post we will show you how our most recently implemented feature works. As usual, the POEditor translation interface makes things really simple.
We recently made a list of all the formats we support for localization projects, and gave a few explanations for each of them, linked to POEditor’s expectations. We take the chance to clarify a question that keeps popping up in our mailbox: why do we not support certain formats?
The short answer is because of the perspective from which we’ve built the entire translation platform: we preferred to treat every localization job from a project point of view, and not as a mere file translation. For this reason, we need to be able to import every localization file format to the same list of terms and translations, so we can provide back to our users the same content, in the same format, flawlessly.
Taking this into consideration, and the fact that we don’t like to “partially support” language files, we’ve arrived at this list of main formats.
The current list of formats is not final, of course, and new additions will be adapted to this vision, so our users won’t get the feeling of getting too technical.
Have a look at our supported formats:
Gettext .po and .pot files, Excel .xls and .xlsx files, Android .xml files, Apple .strings, Microsoft .resx and .resw files, Java .properties files, .json text files.
Ever since we added the GitHub integration to POEditor, people have started requesting a Bitbucket integration. We’re not going to get into the GitHub vs. Bitbucket discussion, we’re just going to say they’re both pretty popular among software developers and both deserve the same attention. Today is the day Bitbucket fans get their version of this useful feature.
You can now set up the integration either via Project Import or directly from your Project Settings page. You’ll have to grant the POEditor APP access to your repositories and match your language files with the languages within your POEditor project.
Unfortunately though, Bitbucket users only get half of the pie. You can only import terms & translations from your repository, you can’t export them back from POEditor. This limitation comes from the Bitbucket API, which does not allow us to write anything in your repositories. The guys from Bitbucket promised at some point they’ll fix this, but it doesn’t seem very high on their priorities’ lists. You can change that by upvoting this enhancement on their issue tracker here. Pointing fingers done.
We hope you will enjoy this update and maybe one day we’ll be able to complete the feature with an export, if the guys there decide to offer us the possibility to do that via API. Questions and comments welcomed.
App localization can get tricky at times, and one frequent reason for this is labels. Labels are alphanumeric identifiers and, as useful as they may be inside software, they are impossible to read by translators. They can be found in various file types, among which POEditor supports Windows .resx & .resw, iOS .strings, Java .properties and Gettext .po files. In a language page, terms consisting in labels look like this:
As a “decrypting” solution for this comes the almighty Reference Language feature. A Reference Language helps contributors with their translation work by letting them see, above each original term (which is a label), a term in another language existing in the project.
How to set a (Default) Reference Language for a Localization Project
First of all, after creating the project, a project owner (or an administrator) needs to create a language that corresponds to one that’s already in the user’s software. Then it’s time to import into the project both the terms (labels) and the translations in the created language. The project owner or the administrator can set a Default Reference Language for everyone from Project Settings > Edit Project Details, or they can grant contributors with Read Access to All Languages so they can choose their own Reference Language (which will override de Default Reference Language, if one is set).
As previously mentioned, contributors can set their own Reference Language. Once they have Read Access to All Languages, all they need to do is to click in the language page on the Set Reference Language button in the right-hand Options Menu and pick their preferred language from the project.
In the end, after choosing a Reference Language or a Default Reference Language, language pages will show the terms something like in this picture on the right.
As a final observation, note that you should be careful with the Automatic Translation feature while working on projects containing labels. You will want to make sure that you select as source language anything but the project terms. There you have it! Now that you know about Reference Language, translating apps with POEditor should be as easy as pie!
Today we will show you how easy it is to use POEditor’s tagging system among your localization projects. Tags are a simple solution for organizing terms, and they come in handy both during translation and on export. Some situations in which you would care to make use of tags would be:
- When you want to manage localization projects with similar translations in the same POEditor translation project.
- When translating terms from several platforms within the same project. With tags, you can keep track of each platform’s set of terms so you can export them accordingly when the translations are ready.
- When having different versions of the same terms within a project. Tags will help you follow each version, to translate them selectively and export them as such.
How to set tags in POEditor
There are two ways in which you can tag terms in a localization project:
- On import
While on a project page, go to Import Terms > Advanced Options. After selecting a language file, you can add tags for the terms to be imported. You can add tags to all the terms in the file, to the new terms (which are in the file to be imported and not in the project), or to the obsolete ones (which are in the project but not in the file to be imported).
- During translation
While on a project page, go to View or Add terms and select the terms you want to tag by checking the boxes on their left. In the dropdown menu at the bottom of the page, choose Add Tags to Selection and write the name of the tag in the box next to the menu. You can use an already existing tag or add a new one.
Filtering by tags
Again, two situations:
- During translation
To clearly view all the terms in a certain category on a language page, just select the desired tag from the top left drop-down menu and have your set of terms exclusively displayed.
- On export
While on a language page, click on Export > Advanced Options and select the filters you want to apply for export. The result will be a file containing only the pairs of terms and translations which have been tagged with the selected tag(s).
We have seen tags used in many creative ways by our users, so by no means should you limit yourselves to the examples given in this article. Whether you want to sort your terms by date, platform or anything else, using tags will help you neatly organize your sets of terms for a smooth localization process.
Update February 2015: On import, if you choose to overwrite the translations, you now have available the option of tagging the terms which have had their translations modified.
Academic discounts and other goodies
Today we’re going to tell you all about our special academic discount program. We know that professionals entering the localization industry come from many different fields (marketing, international studies, language studies and so on) and that their number, as their need for technical accommodation, is growing by the day. Thus, for educational purposes, POEditor developed the academic program. It consists in a 50% discount on all subscription plans for academic institutions and individuals, and it is aimed at encouraging hands-on practice for those in the academia hoping to achieve a better understanding of what the process of software localization entails, and how the commercial translation environment looks like.
Students and professors can get familiar with cloud localization by using the POEditor platform, benefiting from unrestrained access to all of its features, at a privileged half price.
Are you eligible?
All that is necessary to qualify for our special academic discount program is to be a part of the academia, as a student, teacher, or researcher. Verification is done by email address, so you will need an educational email address matching the school’s domain name with which to register (for free) on POEditor.
How do you purchase?
To benefit from our special academic discount program, you will need to contact us by e-mail, specifying which address you used to register. After checking that the requirements are met, we will provide a unique link that will get you 50% off on your chosen subscription plan.