Integration translating platforms like Weblate or Crowdin?

223 views
Skip to first unread message

Kevin Chiu

unread,
Mar 2, 2022, 1:02:08 PM3/2/22
to Jenkins Developers

Hello everyone,
Is it possible that we can have official integration with translating platforms like Weblate or Crowdin?


I think it's more easier for translators, reviewers working with translating platforms, especially those who aren't familiar with JAVA dev environment.


Pros:

  • Easy to proofread (ISO-8859-1...)

  • Glossary hint

  • Reset translation when source string changed

  • New strings notify

Cons:

  • Crowdin treat MIT license comments as part of key for first string, remove comments will lost some translator's info

  • Translator's contribution will not show in git history


I'm testing on Crowdin and here are my steps. I think they will be helpful to other translators.(I tested on Crowdin but I think it will be similar to any  platforms)

  • Prepare source string

    1. java's properties

    2. jelly/groovy's properties
      some jelly file don't have English properties file,English string stay in jelly file.

      • Fill missing strings by
        perl .\translation-tool.pl --lang=zh_TW --add

      • merge English, zh_TW to a new en_US properties file.(If key from zh_TW not show up in English then use the key as key and value )

    3. HTML:
      Crowdin will split HTML to entries, there are some translated strings missing because of different HTML markup structures.
      I think it is better to treat HTML as plain text, but it looks like that's a Pro feature on Crowdin.

  • Using Crowdin CLI upload source and translated string

    1. crowdin upload source

    2. crowdin upload translations -l zh-TW

  • Translate, proofread on Crowdin

  • Using Crowdin CLI download translated string

    1. crowdin download -l zh-TW

  • Convert properties to ISO-8859-1

    1. I didn't find an option to convert them when downloading from Crowdin. So I convert manually with the native2ascii plugin in VSCode.


Gavin Mogan

unread,
Mar 2, 2022, 1:25:05 PM3/2/22
to Jenkins Developers
That sounds like a great idea. I don't know anything about this space,
nor the current state of jenkins translations.

Are you thinking this would just be for core or plugins as well?

> Translator's contribution will not show in git history

is this because it should be pulling down data as an automated step?

Gavin
> --
> You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/b8bb4cf3-e23c-4834-846a-2e470db5e8b3n%40googlegroups.com.

Alex

unread,
Mar 2, 2022, 4:23:15 PM3/2/22
to Jenkins Developers
I'm using Crowdin Enterprise in a bunch of open source projects for almost 2 years now and am still amazed by what it is capable of. My main motivation was to provide an environment you can work on translations, even without knowledge about git or GitHub, to simply get started if you want to contribute. It looks like it turned out somewhat of well, now I have projects providing translations with ~17k words per project in 20+ languages. > Are you thinking this would just be for core or plugins as well? Enterprise for open source allows up to infinite projects and members, so I guess that could be something every plugin author can opt-in, if they want to manage their translations that way? >> Translator's contribution will not show in git history > is this because it should be pulling down data as an automated step? The attribution of the translator would not be tracked in the git history, if you setup your project with your account GitHub account or a PAT, the committer uses that. Though I didn't find that being a major concern yet, considering Crowdin keeps track of every modification of a string you edit, allowing you to have your history here. ~Alex

Mark Waite

unread,
Mar 3, 2022, 1:57:22 PM3/3/22
to Jenkins Developers
On Wednesday, March 2, 2022 at 2:23:15 PM UTC-7 Alex wrote:
I'm using Crowdin Enterprise in a bunch of open source projects for almost 2 years now and am still amazed by what it is capable of. My main motivation was to provide an environment you can work on translations, even without knowledge about git or GitHub, to simply get started if you want to contribute. It looks like it turned out somewhat of well, now I have projects providing translations with ~17k words per project in 20+ languages. > Are you thinking this would just be for core or plugins as well? Enterprise for open source allows up to infinite projects and members, so I guess that could be something every plugin author can opt-in, if they want to manage their translations that way?

That sounds very interesting to me.  Would you be willing to join a Docs office hours session for a question and answer session on Crowdin Enterprise and how you are using it with open source projects?

Docs office hours are each Thursday at 16:00 UTC (Europe and US East) and each Friday at 02:00 UTC (Asia and US West).  I attend both those sessions and would love to hear your experiences and understand how we could improve the translation process for the Jenkins project.

Mark Waite

Alex

unread,
Mar 3, 2022, 2:39:11 PM3/3/22
to Jenkins Developers
I would look forward to attend next week Thursday to share a bit of my story.

~Alex

Kevin Chiu

unread,
Mar 5, 2022, 4:04:02 AM3/5/22
to Jenkins Developers
> Are you thinking this would just be for core or plugins as well?

I think plugins maintainers can choose to join or not.

> is this because it should be pulling down data as an automated step?

Yes, after start using translating platform,
new translations should only come from platform by bot
Except edit English string

Gavin Mogan

unread,
Mar 5, 2022, 4:09:39 AM3/5/22
to Jenkins Developers
> new translations should only come from platform by bot

Cool that makes sense. I think that is an okay limitation for
something that is way easier to contribute with, but thats me as a
naive outsider saying that :)

I don't think it would be an easy change to make to jenkins, but
probably would be straight forward.

A demo at future docs office hours (Which alex volunteered to do)
would be a great start, they get recorded and published to
community.jenkins.io, and then we can know more and see who might want
to champion any changes needed to core/build process.
> --
> You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/eccec27d-6793-40aa-a93a-ece97a130c90n%40googlegroups.com.

Gavin McDonald

unread,
Mar 5, 2022, 1:53:32 PM3/5/22
to jenkin...@googlegroups.com
On Sat, Mar 5, 2022 at 10:04 AM Kevin Chiu <kevin...@gmail.com> wrote:
> Are you thinking this would just be for core or plugins as well?

I think plugins maintainers can choose to join or not.

I would be interested as a guinea pig for the plugins I maintain.

HTH

Gav...
 

> is this because it should be pulling down data as an automated step?

Yes, after start using translating platform,
new translations should only come from platform by bot
Except edit English string

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.

Gavin Mogan

unread,
Mar 5, 2022, 4:35:42 PM3/5/22
to Jenkins Developers
Plugins are probably easier to setup and demo with, plugin authors can
do almost whatever they want (within limits of github). I would say
that's a better starting point personally, but less contributors :D
> To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAN0Gg1dWHbwUr0ybsj%3DpDbBN1DmS7L81%3DQSXsY%2B5GizC0wCCfg%40mail.gmail.com.

Kevin Chiu

unread,
Mar 20, 2022, 6:44:47 AM3/20/22
to Jenkins Developers
Hi Alex,

About the HTML, Crowdin will split them into several entries, that's good for a new project.
But when I upload existing translated files, Crowdin can't map them correctly,
so maybe treat HTML as plain text will be better

The HTML files in Jenkins project are some description embedded in the web instead of a complete page, so I think treating them as plain text is acceptable for translators.

Here is a pair of files shows incorrect mapping:

The second line in name_zh_TW.html will missing
I'm asking a Crowdin staff about this issue

mc.ca...@gmail.com 在 2022年3月4日 星期五上午3:39:11 [UTC+8] 的信中寫道:
Reply all
Reply to author
Forward
0 new messages