October: Integrate with Crowdin for sourcing translations

Created on 21 Oct 2019  路  22Comments  路  Source: octobercms/october

Currently, there are no rules for PRs that add localization strings. Some PRs add the localization string only to the english files, while some use automated translation tools to generate a string for each available language.

Each approach has it's pros and cons.
Automated translations are "good enough" for some cases, but can lead to internal inconsistencies between manually-translated lines and machine-translated lines. It is also more difficult to identify machine-translated lines than to identify untranslated lines.
Missing translations can be jarring for end-users, but are easier to detect and avoid confusion from inconsistent translations.

As an example of an internal inconsistency, the word "user" can be translated to portuguese as either "usu谩rio" or "utilizador" (The former is more common in brazillian portuguese, the latter is more common in european portuguese). Either form is acceptable, but the same one should be used throughout the whole application.

I believe that omitting new strings from language files would be the best approach, as it would facilitate using tools to automatically detect missing translation keys. It's also one less thing for contributors to worry about.
Using tools to aid translation was briefly mentioned in #880 but, as far as I can tell, nothing ever came of it. Maybe there's more interest now?

I would certainly like to hear other people's opinions on this. Whatever is decided, a note in the contributing guidelines informing users of what to do about new translation strings and how to contribute to incomplete translations would be great.

Review Needed Conceptual Enhancement

Most helpful comment

Our usual policy is to only accept human-translated strings for new strings and merge new functionality in without full locale coverage rather than have machine translated coverage.

This allows users of locales that haven't been added yet to see the new functionality and provide their own human translations for the keys without the potential for confusion that can arise from the machine translated keys.

All 22 comments

Our usual policy is to only accept human-translated strings for new strings and merge new functionality in without full locale coverage rather than have machine translated coverage.

This allows users of locales that haven't been added yet to see the new functionality and provide their own human translations for the keys without the potential for confusion that can arise from the machine translated keys.

Hi, I recommend to add October to crowdin.com crowd translation portal. It's free for open-source projects and we at LOVATA use it for Shopaholic.

The main advantages for us:

  • integration with GitHub
  • overview of localization coverage for selected languages
  • group roles (translator, manager, etc.) with a flexible access rights system
  • ability to add screenshots for better translation in context
  • ability to make vocabularies to make localization more smooth
  • email notifications in case new strings has added
  • easy way to involve people in the localization process

Check these articles (one, two) for the experience of TYPO3 team with Crowdin service.

This issue will be closed and archived in 3 days, as there has been no activity in the last 30 days. If this issue is still relevant or you would like to see action on it, please respond and we will get the ball rolling.

@LukeTowers @alekseybobkov @daftspunk what do you think about my proposal regarding using Crowdin?

@lautsevich I'm not opposed to doing so, but not really sure what's involved with that. How does it take translations provided on their service and convert them into the code files? Is there a guide or something you can link me to take a look at?

@LukeTowers, all you need to do is to connect the Crowdin account to a specific repository.

image

Then you should choose the source branch with the lang files and specify the translations branch for Crowdin commits.

image

And finally, you should filter lang source files and translations files locations.

image

After all, you should add target languages for the translations and it just works. Crowdin will merge all translation updates to the translation branch.

@lautsevich thanks for the info! I'll bring this up with the core team and get their thoughts on it.

This issue will be closed and archived in 3 days, as there has been no activity in the last 30 days.

  • If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue. - If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

Up

This issue will be closed and archived in 3 days, as there has been no activity in the last 30 days.

  • If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue. - If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

@alekseybobkov, if I remember correctly, we've discussed with you this issue. What do you think about it?

This issue will be closed and archived in 3 days, as there has been no activity in the last 30 days.
If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue.
If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

UP

This issue will be closed and archived in 3 days, as there has been no activity in the last 30 days.
If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue.
If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

Is there any decision regarding the Crowdin service?

@lautsevich I'm not opposed to using it, I just need to find the time to set it up, and since I don't really use any multilingual features of October it's not high on my priority list right now. If you'd like to sponsor the integration then I could get it done this week for $100, otherwise it'll have to wait until higher priority things like getting the Laravel 6 upgrade out are done.

It is something that I'll setup eventually, just too busy right this moment to do so unless it was a sponsored use of time.

This issue will be closed and archived in 3 days, as there has been no activity in the last 60 days.
If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue.
If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

This issue will be closed and archived in 3 days, as there has been no activity in the last 60 days.
If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue.
If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

This issue will be closed and archived in 3 days, as there has been no activity in the last 60 days.
If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue.
If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

This issue will be closed and archived in 3 days, as there has been no activity in the last 60 days.
If this issue is still relevant or you would like to see it actioned, please respond and we will re-open this issue.
If this issue is critical to your business, consider joining the Premium Support Program where a Service Level Agreement is offered.

Was this page helpful?
0 / 5 - 0 ratings