-
Notifications
You must be signed in to change notification settings - Fork 447
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace bespoke translation toolset with more standards-based options #4779
Comments
@hsluoyz, we have been hoping to replace our own translation tools with something else for some time, but unfortunately have not been able to make much progress on it. I was not aware of Crowdin, which does appear to have a free open source/academic plan:
We're hesitant to use freemium services for necessary elements of the software, but some of the other translation options we've been considering are freemium as well. |
As you know I'm not a fan of a privative software, so my vote will be always no... and less when we have free alternatives (free as in freedom. I'm ok if it's a paid service) that covers all the requirements (github/lab integration, import/export, translation memories, glossaries, multiple formats...). If somebody is interested, we made a comparative of the requirements. So Heildelberg we started a weblate instance, that it's still up and running. IMHO, it's a huge task at the beginning, but will make the translation task a piece of cake and facilitate the integration of non tech profiles in the translation team. If we are not going to host our own tools (that IMHO is an error ;-)), SaaS could be an option, but... Weblate SaaS accomplish with those 2 conditions while crowdin doesn't. You all know what happens when we trust in proprietary tools that start as "free of charge" to get enough people, and then move to a restrictive business model. |
Hi @asmecher ,
In fact, I'm using Crowdin in the docs site of my own project: https://crowdin.com/project/xxx, the site is here: https://xxx.org/. You can see there's a "English" button in the top to switch the translation. Of course there are many popular projects using it (see here) including Minecraft, Khan Academy, GitLab. I'm also recommended by other people about it, and currently it seems to be the No.1 popular online translation platform (correct me if I'm wrong). HI @marcbria ,
I think Crowdin has covered these requirements (GitLab integration not checked, as I'm using GitHub only).
Using self-hosted translation tool indeed gives ourselves more control. But it also brings many more efforts. The main task of this project is academic journal manuscript software, not a translation software. We don't need to build or host all services on our own. GitHub is actually a non-free software but we are still using it for free and open-source projects, right? GitLab is still not as popular as GitHub. We can let professional people do their professional job. Currently, this project (ojs) is already short in person as many translations are not complete (at least in Chinese as I checked). We don't have the efforts to build/host a translation system.
I understand your concern, but as I said above, much larger and popular projects like Minecraft, Khan Academy, GitLab are already using Crowdin. We are not the one to be hit first when the sky falls. Even if one day, Crowdin broke up, We still get the all translation files (which will be stored in our repository). It's no worse than current. We have nothing to lose. |
Sounds like a good idea to me.
Not necessarily. Weblate offers free hosting for free software projectes.
Thanks for sharing your thoughts about the goal of OJS and PKP, but I think you are missing the whole picture.
Of course we don't, but we can if we like.
And I think is an error, but don't get me started... ;-) |
I'm also OK with weblate. It didn't know it before and found it to be very excellent after some googling. Hope this platform would be ready soon so we can get started to translate now.. |
Great. 👍
Me too, but there is a lack of hands. :-( Never mind what platform we use... in all cases, we need to translate our native XML to something standard (XLIFF sounds like a good plan), then setup the tool to define translation units and set the git-whatever exportation, and after this, change OJS (or every OxS tool) to read XLIFF instead of our native XML... and right now I have my hands full. If somebody is interested in doing the job, I'm pretty sure he/she will make Marco be very happy. ;-) Till then, I'm sorry but editing the xmls or using the native translation tool are the only ways the community has to contrib with translations. @mtub, sorry to annoye you with this, but... you are the boss? ;-P |
Here are two draft PRs that alter OJS and pkp-lib to use XLIFF sources instead of the current PKP-specific XML files:
To use them...
(This is equivalent to running
This is a work in progress, but should allow experimentation with XLIFF-based translation tools to see how well they work with this toolset. |
@asmecher that looks great. If I read well, with your changes we have now OJS ready to read XLIFF and, by the same price, also a php helper script to convert local XMLs to XLIFF, isn't it? You are a really fast coder!! ;-) Thanks a lot!! BTW, Travis is claiming something here: pkp/ojs#2413 @mtub , with Alec changes, now we only need somebody to configure weblate correctly and make some testing to see if we can integrate weblate with gitlab. I won't have time for this, at least, till the end of the next month. :-( Cheers, |
Hi @marcbria,
No, don't worry -- I didn't include the converted I think the next step would be to get confirmation from someone who has worked with |
I forwarded your question to our CAT expert, and I hope he will answer in a couple of days. |
@marcbria, a few questions I'd want them to consider:
We use symbolic locale keys in the code (e.g. As a result, the XLIFF will have translations like this (for French):
...instead of...
Will this work e.g. with Weblate?
The translations are split between a number of Git repositories:
Within the Application and pkp-lib repositories, there are several locale files (example: Tools like Pootle and Weblate appear to support Projects and Components. Will that mapping match well against our use of multiple repositories and sometimes multiple locale files within them? |
Hi @asmecher I have been out of the office a couple of days and I missed your last comment. He need more time but at first sight he said he is very much agree with you about this point:
And he extends with: "Of course, if the XLIFF file does not contain the original segments, the translation programs will not correctly recognize the file structure and the translators will not be able to translate. I understand that the problem stems from the conversion process to XLIFF. If I do not remember badly, when creating XLIFF you should ask the converter to leave the targets blank. If you want, pass me the original file (which is behind submission.xliff) and try to take a look." I send him this one: https://github.com/pkp/pkp-lib/blob/master/locale/es_ES/submission.xml I planned to meet him next week and look together weblate to see if we can make PKP a proposal that I think you won't be able to refuse. (Right now, I can't say more) ;-) Cheers, |
Thanks, @marcbria, sounds very intriguing! The XLIFF conversion tool was put together fairly quickly and there are surely a lot of ways of adjusting it. The |
Hi, any update on this? |
Not yet. Sorry. Let us one or two more weeks. |
Hey guys, any progress on this issue? |
Nop. Thanks for your interest, and sorry again. |
We arranged a meeting with some CAT experts for tomorrow night. |
Any update? |
Sorry again for the silence. I'm overwhelmed and sometimes is difficult to find time to write down what happened. Long story short:
@asmecher and @mtub what do you think about talking about this the next technical meeting? |
Converting email templates to the PO format! PRs:
This preserves the old XML format (
Then the translations themselves come from a new PO file, e.g. There's a new conversion tool to help with this in @marcbria, could you take a quick look? Does this seem like a workable approach? If so, I can merge and set up a new "Emails" component in Weblate. |
@asmecher I'm missing something important here. Does it means that we will need to convert xml to po (1), then load inside weblate (2), after this do the translation (3), then export outside weblate (4) and finally convert from po to xml (5) and push back to github (6)? Why not moving from xml to po and work with a single format? Sorry in advance for the Mr.Obvius comment... |
@marcbria, not to worry, it's complicated :) No, the translations can be managed inside Weblate as with everything else. There's no need to round-trip the files manually. The only reason we're keeping the old-style The reason for the conversion tool is so that we can easily migrate the translation files when we upgrade translations to 3.2. |
Thanks Alec. Clear now. BTW, I'm kind of worried about how are we going to work with weblate. I mean, is somebody testing translation memories features or translation workflows or glossaries or CAT tools or CLA agreement...? I think is important to review it before we open the platform to translators... and maybe write some documentation. Are you planning to do this? do you need help? Cheers, |
For the moment we can't do anything with Weblate because it is still not able to deliver emails, thus register users. I'm working to get that resolved. I don't have experience with the translation memory features but I know those exist -- some expert feedback/testing on those would be welcome. As for documentation, I have some provisional documentation but it needs to be co-developed with some of our translators. I plan to manage merges of translations manually, at least for now, and intend to manage CLA agreements manually for the first while (when granting translator accounts translation privileges during the registration process). I'd like to automate this later, but baby steps :) |
#4779 Move email templates to PO structure
pkp/pkp-lib#4779 Move email templates to PO structure
Committed the email text to PO format PRs and adapted and committed the same changes for OMP. @ajnyga, this will require a conversion to the PPS email files too -- would you like me to create a PR for that? |
Thanks, go ahead. There are only a couple of templates there now and could be that even those are not all in use right now. But go ahead with the conversion. |
@ajnyga, I opened a PR for that: ajnyga/ojs#7 |
pkp/pkp-lib#4779 Convert emails to PO format
Done and dusted! https://translate.pkp.sfu.ca/ |
@asmecher Thanks for the amazing work! So what's the process to translate? I thought it would be:
Then what to do next? How to make my translated words on Weblate sync to my instance? |
Hi @hsluoyz! I periodically merge the latest translations that have been provided via weblate into the official repos. We'll sometimes get translation contributions via other means and will merge them there as well. You can also download the latest files directly from Weblate: Weblate itself pushes translations up to these repos: https://github.com/pkp-translations/ |
Thanks ! I saw translation commits in: https://github.com/pkp-translations. So I think I can use the following steps:
Is this correct? BTW is https://github.com/pkp-translations a mirror to latest master branch or a stable release? |
The |
Currently, all translations are done in XML files, like mentioned in: #4029 (comment), which is very inefficient for translators to translate, or sync a few of items between dozens of XML files.
Is there any chance to use a more advanced online translation platform like: https://crowdin.com/ ? In crowdin, all translators only need to do the translation in web browser, and no need to track which words have not been translated yet. The translation will be deployed automatically with a new git commit. Can we consider it?
The text was updated successfully, but these errors were encountered: