Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Internationalization/Localization Working Groups #114

Closed
jasnell opened this issue Aug 23, 2017 · 85 comments
Closed

Internationalization/Localization Working Groups #114

jasnell opened this issue Aug 23, 2017 · 85 comments

Comments

@jasnell
Copy link
Member

jasnell commented Aug 23, 2017

One of the really great ideas emerging from the io.js fork days was the establishment of the various localization working groups (e.g. https://github.com/nodejs/nodejs-fr). These have found mixed levels of success but unfortunately do not get much attention from Core.

We've had some renewed interest (e.g. nodejs/node#14665) lately in contributions for localized documentation.

I'd like to propose that responsibility for the Localization working groups be taken over by the @nodejs/community-committee. I think there's a real opportunity to do some amazing things and would like to see this effort get the love and attention it deserves.

@RichardLitt
Copy link
Contributor

I think it makes sense for CommComm to be involved with the localization groups - it is our job to ensure that a global and multilingual community is maintained, and that no one is left out of work they'd like to do because of linguistic barriers.

I'm curious what exact responsibilities you're imagining, @jasnell. Are there recurring tasks that we should deal with, which aren't being dealt with, elsewhere? Who is currently responsible for organizing the localization groups? From what I remember hearing in Berlin, no one is currently doing this work. Am I right in that?

@jasnell
Copy link
Member Author

jasnell commented Aug 24, 2017

The tasks are largely fostering, mentoring and onboarding contributors. For instance, I had two people come up to me at NodeSummit specifically asking how to contribute translated docs. I didn't really know what to tell them or who to connect them with. These groups have never had adequate attention from core so I'm not even sure what else to suggest!

@RichardLitt
Copy link
Contributor

Thanks. In that case - completely, 100% agreed. Let's throw this to CommComm.

@watilde
Copy link
Member

watilde commented Aug 27, 2017

I'd love to support this.

@mhdawson
Copy link
Member

+1 from me as well. Getting the doc/info in place so more people canl promote/encourage participation in the translation groups would be great.

@vanessayuenn
Copy link

Would love to help on this as well! 😺

@RichardLitt
Copy link
Contributor

At the fortnightly CommComm meeting, we talked about this a bit more. See minutes. That action items out of this are that me and @rachelnicole have volunteered to meet with @hackygolucky and members currently working on translation efforts to start the transition. We need to set up a date for this meeting.

@fhemberger
Copy link

Linking this related issue: nodejs/nodejs.org#972
@sotayamashita (with GitLocalize) is working on establishing a translation workflow for editors.

@sotayamashita
Copy link

sotayamashita commented Sep 4, 2017

@fhemberger I appreciate that you mentioned me.

I am struggling to do it. It will take time to solve the problem between GitHub and GitLocalize. If we take too much time, I think I will give up integrating with Node.js at the moment but I will create an issue when we solve the problem.

Btw, I also can help localization.

@Tiriel
Copy link
Contributor

Tiriel commented Oct 19, 2017

Hey there,

I hope I'm not unearthing something too old.
As seen on the nodejs.org repo and on the nodejs-fr repo:
It seems that the French repo has been pretty dead for 2 years. We are actually 3, maybe 4 people willing to get back on track with the translation, but have currently no way of organizing ourselves.

We have started working on the translation a bit widly, but maybe it would be a good idea to get things done properly.

Cheers!

@rachelnicole
Copy link
Contributor

Hey @Tiriel we would love to have you help out! I'm going to add internationalization to this upcoming weeks agenda again so we can discuss going forward now that we have more members of the community committee maybe we'll have more organizing volunteers. :)

@Tiriel
Copy link
Contributor

Tiriel commented Oct 19, 2017

Hi!

That would be great. It seems some are wanting to get to work without really organizing things inside the french translation group, and that works because there is only three of us, but I'd be glad to help anyone getting things more organized so we can plan and have more of a long term vision.

@watilde
Copy link
Member

watilde commented Oct 23, 2017

Here are my feedbacks and topics I'd like to hear opinions from comm-comm meeting.

We've tried for several times, but translating all of the API docs was too hard to catch up the upstream so it'd be out of the scope for now even it's super important. We might need to integrate a system first, like GitLocalize or crowdin. If we'd like have translated docs in the core, docs update should have something like semver which will be:

  • patch update: no needs to update in the other language
  • minor update: fix typo stuff
  • major update: needs to translate

It'd make sense if the scope is only for LTS, but the initial translation is really tough.

For the community, or more like survey/event stuff, those kind of translation works were not much and that's what we should make more effort to reach to more people. I thought this Tracy's action is really good first step:

I'd love to translate the questions of the survey itself as well in the case. With it, we can deliver the survey to more people who don't use English on daily basis and the number of them is incredible.

@sotayamashita
Copy link

@watilde

We've tried for several times, but translating all of the API docs was too hard to catch up the upstream ~ We might need to integrate a system first, like GitLocalize or crowdin.

I think it is very hard to keep translation ones update as well so we create GitLocalize but I would like to list the issue for translation we have before integrating those system.

@Tiriel
Copy link
Contributor

Tiriel commented Oct 24, 2017

Another thing to consider IMHO (though it may be a bit of self advertising, kind of...) :

Translating the API docs is indeed a great idea and a super important thing to do, but some people come on the website searching informations on the basic concepts when trying Node. But the basic presentation site isn't translated fully (nor does it have a propre language selector that I've seen). Before perusing through docs, having a good presentation of key concepts seems priority to me.

IMHO, before considering semver systems and integrations for translating the Docs, perhaps we should try and get the nodejs.org site properly translated? It seems it evolves less quickly than the docs, the work would be easier, and there are too few of us doing that right now for it to be fully translated to various languages.

But I'm new to all this, so it may not be the point and I'm off topic...

@watilde
Copy link
Member

watilde commented Oct 24, 2017

@sotayamashita @Tiriel I'd agreed. That's what I meant about it'd be out of the scope for now. Putting them in the core can be too hard and we might need a different approach like gettext which can have the translation source in the out of the core, but again it'd be out of the initial scope.

The thing is there are many things volunteer translators are feeling to make the API translation so it would be great if we can focus on website translation first as @Tiriel mentioned :)

@refack
Copy link
Contributor

refack commented Oct 26, 2017

Happy to help as well

@rachelnicole
Copy link
Contributor

rachelnicole commented Oct 26, 2017

We're discussing it in today's meeting #155

Myself, @obensource @amiller-gh are going to take actionable steps (tbd) to help move this forward by Nov 9th.

@refack
Copy link
Contributor

refack commented Oct 26, 2017

/cc @amiller-gh

@refack
Copy link
Contributor

refack commented Oct 26, 2017

@Bablic might be willing to help as well

@obensource
Copy link
Member

i18n Update

The consensus seeking message for the proposal was reviewed by @bnb and I, and has now gone out to every Localization Group that @Tiriel listed above.

Next steps

  • We set a consensus seeking period of one week.
  • If by the 15th the motion is positive towards the proposal, we can move forward with setting up our Crowdin project, i18n module repo, and tackle other important tasks.

@sotayamashita
Copy link

@obensource

~ with setting up our Crowdin project

Is it a done deal?

@obensource
Copy link
Member

@sotayamashita not yet, I wasn't planning on setting up an official Crowdin project until we have consensus, meaning we should do that after the 14th if we get the green light. We'll probably need to create a Node.js-owned Crowdin account, and go from there then.

Something super rad about that is that @zeke connected us to an awesome person at Crowdin to help get us going! nodejs/i18n#5

@sotayamashita
Copy link

@obensource

~ setting up an official Crowdin project until we have consensus ~

I got it. Thank you for your quick response.

we should do that after the 14th

What will happen on 14th? Any meeting?

@obensource
Copy link
Member

@sotayamashita 🍻🎉

We won't have a meeting on the 14th, but that is the official end of our consensus seeking period for the proposal. We should go ahead and schedule a i18n WG meeting as close to after the 14th as we can though–good call!

Anyone from our WG can get a doodle going with some dates & times: Feb 15–28th, and we can pick a time that works! 😎 (Or I can set that up too, either way)

@sotayamashita
Copy link

sotayamashita commented Feb 13, 2018

@obensource

I would like to confirm a few questions related to Crowdin

  • Motivation
    • Would not be user contribution on GitHub. I think each translation will not be their commit on Crowdin. I am wondering whether user contribute to translation or not. I would like to hear @zake opinion.
  • Permission
  • Availability
    • Is it possible to export translation data from Crowdin any time?

cc:/ @Andrulko

@Andrulko
Copy link

Hey @sotayamashita and @obensource, thanks for mentioning me here! :)

  • Motivation

Translations in Crowdin are not saved as commits, but as suggestions. Many people can contribute at the same time and there will be automatic pull request with localized file sent back to GitHub. All translations made by collaborators together will be included.

  • Permission

This is mandatory, otherwise integration won't be able to push/pull content. Connect GitHub account that has read/write permissions with Crowdin (it can be a separate user like "NodeJS_Bot" in GitHub/Crowdin. Then all incoming PRs from Crowdin will go from "NodeJS_Bot" name, should work good and everyone will know that translations came from Crowdin.

  • Is it possible to export translation data from Crowdin any time?

Of course! It can be done via web interface / API / Console Client.

If you cannot connect GitHub account with Crowdin for some reasons, you can always use our CLI (https://support.crowdin.com/cli-tool/) to download content to your local machine and then push translated files to GitHub. Anyway, I think the direct integration with GitHub is better and worth to try!

Please let me know about any additional questions

@sotayamashita
Copy link

sotayamashita commented Feb 13, 2018

Motivation

All translations made by collaborators together will be included.

Does it means we cannot find who translated as an "Git" level?

Permission

This is mandatory ...

We have discussed about it before. nodejs/nodejs.org#1235 (comment) We cannot approved the read/write permission for private repositories at that point.

Connect GitHub account that has read/write permissions with Crowdin ...

I would appreciate if you could show us any example 🙇

Is it possible to export translation data from Crowdin any time?

Of course!

Great 💯

@zeke
Copy link

zeke commented Feb 13, 2018

Hey @sotayamashita, @Andrulko mostly answered for me above ☝️

Does it means we cannot find who translated as an "Git" level?

We were hoping to be able to associate Crowdin accounts with GitHub accounts, but it seems Crowdin does not expose an API for this, perhaps because it's personally identifying information and would be in violation of their terms? Not sure exactly. In any case, it would be great to be able to associate translation activity with GitHub users, but we don't yet have a good answer for that.

I would be happy to help work on ways to solve this. We could ask that all translators go through some kind of initiation process that ties their two accounts together. 🤔

Related: electron/i18n#108

@Andrulko
Copy link

Does it means we cannot find who translated as an "Git" level?

Commit with all translations will be done from the name of account that is linked with Crowdin. For example, if you setup integration as nodejs_bot, this name will be mentioned.

I assume the main idea is to mention all translators names/usernames who helped with translation? You can always generate & export Top Members report from Crowdin or automate this process with help of API:
https://support.crowdin.com/api/export-top-members-report/
https://support.crowdin.com/api/download-top-members-report/

Then you can publish this data in any place. Translators won't be forgotten 👍

We have discussed about it before. nodejs/nodejs.org#1235 (comment) We cannot approved the read/write permission for private repositories at that point.

Not a problem, you can start syncing files over CLI - I'll assist with setup

We were hoping to be able to associate Crowdin accounts with GitHub accounts, but it seems Crowdin does not expose an API for this, perhaps because it's personally identifying information and would be in violation of their terms?

Yes, it's because of privacy + not all users link their GitHub accounts with Crowdin + we push translated files to the repo, not strings and thus it's difficult to mention all contributors in the commit... The good news is that we already have possibility to push strings over API and it should give more freedom to integrate with various services.

Can't wait once we'll start testing something together soon!

@sotayamashita
Copy link

sotayamashita commented Feb 15, 2018

@Andrulko

Motivation

You can always generate & export Top Members report from Crowdin

I got it. Is it possible to get all translator with export-top-members-report or download-top-members-report API?

Permission

Not a problem, you can start syncing files over CLI

Awesome 💯

@obensource

I think when we use Crowdin, we need to configure a lot of things even if there is support. I just suggest you try to use GitLocalize. You just integrate with your repo.

However, I am an engineer for GitLocalize so my comment . It might be unbalanced suggestion so what about to try both of them for trial. I am looking forward to hearing from you

@Andrulko
Copy link

I got it. Is it possible to get all translator with export-top-members-report or download-top-members-report API?

Yes, all translators who did at least single contribution will be enlisted.

However, I am an engineer for GitLocalize so my comment . It might be unbalanced suggestion so what about to try both of them for trial. I am looking forward to hearing from you

Don't mind at all, it's good to try everything before making good decisions

@srl295
Copy link
Member

srl295 commented Feb 15, 2018

@obensource I didn't realize that this had i18n as it's scope (much less its name!) until just now. I think it would make more sense to just rename Intl to i18n so that redirects work… 

Ref: nodejs/TSC#353

@obensource
Copy link
Member

@sotayamashita thank you for trying to sort through some of the tough questions here with @Andrulko & @zeke! 🙌

I think at this point, given that the accepted proposal was for using the Crowdin service and the overwhelming support we've received by our l10n groups & proposal readers was in support of that: it would be best to move forward with Crowdin.

I do (of course) want to remain platform agnostic in the interest of doing whatever is best for Node.js i18n, and we should consider all our options thoroughly. I do also think that given some of the points that were presented in the proposal, like the fact that Crowdin doesn't require our translators to have to navigate a complex Github UI, some configuration pain up front (as we're discussing here) is going to be advantageous in the long run in order to maintain an effective cross-discipline endeavor like this. Also, we have some people in our WG who've done this before for Electron–and they should be a great resource for us to get through the initial configuration quickly.

I am truly glad that we're already beginning to discuss these issues up front here, and excited to tackle them more thoroughly in our upcoming WG meeting. 🎉

@obensource
Copy link
Member

@sotayamashita I do want to stress one more time that I really appreciate your perspective, and am thankful for you feedback on this. We need to keep our perspective open, and you're helping us do that. Many thanks! 🍻

@obensource
Copy link
Member

@srl295 thank you for taking care of the Intl dechartering, and everything regarding that. Appreciate
it, and you! 🍻

@Andrulko
Copy link

I do not have words at the moment... Talk to you on Monday! 🎉

@obensource
Copy link
Member

i18n Initiative Update 🌍 🌎 🌏

A lot of awesome things have been happening with our i18n initiative as we've continued to move forward. Here's a quick up-to-date for everyone! 🙌

Current Status

Thank you!

Thanks to everyone who's making this a reality, in every way! Excited to make it happen with y'all. 🍻

@obensource
Copy link
Member

obensource commented Feb 24, 2018

Upcoming i18n WG Meeting Date & Time

Our next meeting will be held on Tuesday, March 6th at 4pm (UTC).

If you'd like to join us, please follow the directions and activity in our team's discussion! 🙌

@obensource
Copy link
Member

WG Meeting Date Correction: Our meeting will be on the 6th, not the 16th as I announced by mistake.

See you there! 🍻

@add1sun
Copy link
Contributor

add1sun commented Jun 1, 2018

As a new contributor I came to this issue because it is tagged "good first issue" but it isn't clear what action is to be taken, especially by someone new to the project. :-) Could someone either summarize the action to be done or remove the label?

@Tiriel
Copy link
Contributor

Tiriel commented Jun 2, 2018

Hey! Thanks for bringing this issue up!

Actually, since the i18n repo has taken the work to be done on this side, I think this issue can be closed altogether.

The i18n initiative is now already launched and got some good steam, so if you want to give a hand on this side I think you'd better see directly in their repo. At any rate, we're always happy to have more people helping!

@Tiriel Tiriel closed this as completed Jun 2, 2018
@obensource
Copy link
Member

@Tiriel I'm so excited to see this closed! 🎉🎉🎉

@arunamuthyala
Copy link

With i18n how can we temporarily change the locale for printing some receipt?
I have seen I18n.t("recieptBalanceInquiry", {locale: "fr"});
But this doesnt force the "fr" locale, when we already have a different existing locale in i18n.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests