[FOLIO-821] Translation Management Tools Created: 04/Sep/17  Updated: 12/Nov/18  Resolved: 20/Mar/18

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Umbrella Priority: P2
Reporter: Cate Boerema (Inactive) Assignee: István Bender
Resolution: Done Votes: 0
Labels: sprint33
Remaining Estimate: Not Specified
Time Spent: 3 hours, 30 minutes
Original estimate: Not Specified

Issue links:
Relates
relates to UIIT-65 Wire and Translate Items App Into German Open
relates to UXPROD-779 Internationalization and Localization In Progress
relates to STRIPES-523 Wire and Translate Stripes Into German Closed
relates to UICIRC-13 Wire and Translate Circ Settings Into... Closed
relates to UIU-202 Wire and Translate Users App Into German Closed
relates to STRIPES-474 Space requirements of translations Closed
relates to STRIPES-475 React .po libraries Closed
relates to STRIPES-17 Internationalisation (i18n) Closed
relates to UIIN-181 Wire and Translate Inventory App into... Closed
relates to UICHKIN-2 Wire and Translate Check In App Into ... Closed
relates to UICHKOUT-14 Wire and Translate Check Out App Into... Closed
relates to UIORG-27 Wire and Translate Org Settings Into ... Closed
relates to UIREQ-14 Wire and Translate Requests App Into ... Closed
relates to STCOR-49 Gather modules' translations from sep... Closed
Sprint:

 Description   

Purpose: Discuss translation management needs and determine how we might address them.

Requirements:

  1. Ability to communicate what needs to be translated (or re-translated) to non-developers who are providing translations
  2. Ability for non-developers to enter their translations in an organized format/tool that can be imported by the system
  3. Other?


 Comments   
Comment by Cate Boerema (Inactive) [ 04/Sep/17 ]

Just wanted to get the ball rolling on this discussion. As far as I understand it, the current translation process is pretty manual and something only a developer can do. I'd imagine there are libraries or tools that exist for this kind of thing. Maybe you know of some?

Comment by Julian Ladisch [ 04/Sep/17 ]

There are two open source online tools that help translators:

Pootle: http://pootle.translatehouse.org/ Example user is Koho: http://translate.koha-community.org/

Weblate: https://weblate.org/ Example users are Debian Handbook and phpMyAdmin: https://hosted.weblate.org/projects/debian-handbook/ https://hosted.weblate.org/projects/phpmyadmin/

Both Pootle and Weblate recommend to use the .po file format because it is the most widely used format and has the best support:
https://docs.weblate.org/en/latest/formats.html
http://docs.translatehouse.org/projects/translate-toolkit/en/latest/formats/index.html

There are at least two tools for the conversion between react-intl and the gettool po/pot files:
https://github.com/rubencosta/react-intl-gettext
https://github.com/evenchange4/react-intl-po

Comment by Cate Boerema (Inactive) [ 05/Sep/17 ]

These tools look really cool - thanks, Julian! Thoughts on next steps for selecting one?

Comment by Charles Lowell [ 05/Sep/17 ]

One concern brought up during the sprint demo was how translations could affect layout. This could be a good use-case for a tool like Percy https://percy.io/ which does visual diffs.

The idea would be to take a snapshot for each translation and make sure that when changes happen, they don't break layout.

Comment by Charles Lowell [ 05/Sep/17 ]

Question: Have we evaluated React libraries that consume `.po` files directly so there's no need to have any intermediate format? like `react-i18n-gettext` or `react-translations`?

Comment by Julian Ladisch [ 14/Sep/17 ]

Charles Lowell: I've split off your suggestions into separate issues: STRIPES-474 Closed , STRIPES-475 Closed

Comment by Julian Ladisch [ 14/Sep/17 ]

In addition to Weblate and Pootle there is a third notable open source translation management platform: Zanata - http://zanata.org/
Zanata has only a few projects that use it.

There are two commercial translation management platforms:

Transifex is free for open source software, but FOLIO allows proprietary modules and should allow croudsource translating of non-open-source modules. Elementary OS changed from Transifex to Weblate: https://medium.com/elementaryos/adios-transifex-weve-gone-to-weblate-59870dea06b2

2014 I run Pootle and hbz/GBV did some initial proof-of-concept German translation of the Kuali OLE software; I've also used Weblate. Pootle had some deficiencies regarding Glossary and import/export, Weblate is better.

What do others say?

https://gitlab.com/gitlab-org/gitlab-ce/issues/33521
Gabriel Mazetto: "1. Pontoon 2. Zanata 3. Weblate 4. Pootle"

https://github.com/wallabag/wallabag/issues/2511
Jibec: "Pootle, Zanata, Weblate. As seen from my translator experience and what I saw from other projects, Weblate is the simplest one".

https://help.nextcloud.com/t/translations-transifex/149/17
hook: "Having used all three before Transifex, Pootle and Weblate […] My vote in this order – higher up on the list is better: 1. Weblate 2. Pootle 3. Transifex"

My suggestion is that FOLIO hosts an own instance of Weblate.

Comment by Julian Ladisch [ 18/Sep/17 ]

React-intl is based von FormatJS which uses ICU Message syntax.

Most translation tools does not support ICU Message format. Conversion is needed, for example to .po format. This needs more some investigation.

Comment by Cate Boerema (Inactive) [ 22/Sep/17 ]

Thanks, Julian Ladisch. Can you please file a story for investigating how we can do this conversion? Please make it P2 and tag with for-next-sprint.

Comment by Mike Taylor [ 25/Sep/17 ]

From Zak, by email:

During the i18n breakout yesterday morning I mentioned that Jenkins used to have an automated system for capturing user-provided translations. You can see the vestiges of that system here: https://plugins.jenkins.io/translation.

The server that accepted the translations is no longer functional but, oddly, the “Help us localize this page” links still show up at the bottom-left corner of all our own Jenkins pages so you can see how the system used to work. e.g. https://jenkins-aws.indexdata.com/job/folio-org/job/stripes-core/view/change-requests/job/PR-40/3/console.

Comment by Mike Taylor [ 25/Sep/17 ]

That is odd. Do you have any idea, Zak Burke, why they shut down something that seems like such a good idea?

Comment by Michal Kuklis [ 25/Sep/17 ]

I just wanted to add one more commercial platform POEditor https://poeditor.com/ which supports multiple file formats (https://poeditor.com/help/#SupportedFormats so we wouldn't need to worry about the conversion.

Charles Lowell I may be wrong here, but I think `react-i18n-gettext` or `react-translations` don't support PO so the conversion would be also required.

Comment by Michal Kuklis [ 25/Sep/17 ]

It looks like POEditor is free for OS projects.

Comment by Mike Taylor [ 25/Sep/17 ]

But I am jumpy about non-free stuff that's free for OS projects. Being dependent on the good graces of a commercial vendor with all the power puts us in a vulnerable position – just like Linus, when he was depending on the kindnes of BitKeeper. I'd prefer an all-free (as in freedom) toolchain.

Comment by Michal Kuklis [ 25/Sep/17 ]

And one more commercial option from the creators of i18next: https://locize.com

They provide support for formatjs / react-intl:

https://docs.locize.com/instrumenting-your-code.html#other-options

Comment by Michal Kuklis [ 25/Sep/17 ]

Mike Taylor sorry I didn't realize the open source / free is a requirement.

Comment by Michal Kuklis [ 25/Sep/17 ]

It looks like one of the OS projects Julian Ladisch proposed (Weblate) supports multiple formats: https://docs.weblate.org/en/latest/formats.html

Comment by Peter Murray [ 07/Nov/17 ]

When this gets set up, we have a volunteer to work on the Spanish language strings: [Spanish interface | FOLIO Discussions](https://discuss.folio.org/t/spanish-interface/1336)

Comment by Peter Murray [ 21/Nov/17 ]

Also noting here interest in helping with translation to Brazilian Portuguese and interest in Chinese.

Comment by Rui Francisco [ 26/Feb/18 ]

Hello,

i've added one idea, that it could be useful to Folio :
https://discuss.folio.org/t/multilingual-micro-webservice/1626

In terms of formats to implement, my experience goes to .po files(https://poeditor.com/), which has a good support in open source community or json files

Thank you
Rui

Comment by Peter Murray [ 19/Mar/18 ]

Michael Winkler and Peter Murray talked through options on this today. We think that the Weblate might make sense as an OLF-hosted service. It seems to natively handle the JSON files described in STCOR-49 Closed (and it seems like POeditor does not), so we wouldn't have to do a translation from JSON to PO and back again. BitNami offers a preconfigured installation for AWS, which will make maintenance easier.

Proposal

Peter Murray will stand up an instance of Weblate on OLF's AWS account and set up integration with two or three GitHub repositories. Findings on that would be passed to the DevOps SIG for ongoing support considerations, and the web interface can be tested by a couple of subject matter experts to provide translations. We can then make a more informed decision on whether we want to follow this option or look at other options.

István Bender: I see this issue is assigned to you with an "In Progress" status. Are you working on this now? If so, could you give us a report on where you are? If not, would you mind if I assigned the issue to me and worked on the proposal described above?

Comment by István Bender [ 20/Mar/18 ]

Peter Murray: Yes, I'm working on this. We will meet today and talk about who does what and what is the status of this issue.

Comment by István Bender [ 20/Mar/18 ]

We did the comparision and finally POEditor and Localise.co left. We discussed about both, you can watch recording here: https://drive.google.com/file/d/1yO0DyxpwLYZ90nYHJKpMJmYQifL5a36O/view?usp=sharing

Quick notes:

we summarized the requirements
talked about GitHub integration -> needs to be confirmed by Jakub (resp.: István)
we saw a quick demo about
POEditor
Lokalise
we made a decision: let's get started with Localise and get experiences with it
leed to check Likalise licensing and get free enterprise access to FOLIO (resp.: Mike, Suzanne will provide contact for him)

Generated at Thu Feb 08 23:08:34 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.