nodejs.org icon indicating copy to clipboard operation
nodejs.org copied to clipboard

Add translation workflow to website repository

Open fhemberger opened this issue 8 years ago • 24 comments

To help translators to stay up-to-date with website changes and additions, it would be great to set up a semi automatic translation workflow:

  1. Use github-webhook-handler to setup a webhook for the repository
  2. Listen to 'push' events
  3. If any commit add/remove/change files in 'locale/en/', use the Node.js GitHub bot account, create one issue in each of the localization team repositories (currently available translations: de (PR), es, it, ja, ko, uk, zh-cn).

Issue title:

  • Filename and status (added/deleted/changed), use a general message for multiple files

Issue contents:

  • Commit message, URL and timestamp
  • Compare link
  • Author/committer

After that, each localization team can decide on their own, how to deal with the changes (if they apply to them at all).

fhemberger avatar Oct 17 '16 10:10 fhemberger

What a great idea 👍

Thinking we also could deploy such a webhook receiver on the same server we're currently running @nodejs-github-bot. I would be willing to arrange and create an ansible playbook for it.

phillipj avatar Oct 17 '16 10:10 phillipj

To help translators to stay up-to-date with website changes and additions, it would be great to set up a semi automatic translation workflow:

Great idea :bulb: These problems are discussed in global open source projects.

Listen to 'push' events

We need filter 'push' events because we do not need to follow small fix commit. I am not sure whether github-webhook-handler can be hooked if PR has a specific tag like 'breaking change', or not. is it possible ?

sotayamashita avatar Oct 23 '16 05:10 sotayamashita

We need filter 'push' events because we do not need to follow small fix commit. I am not sure whether github-webhook-handler can be hooked if PR has a specific tag like 'breaking change', or not. is it possible ?

What about just checking to see if the locale has a copy of the file? Many locales only share a few pages with /en/, so this would cut down on the PR's being opened.

I'd be interested in tackling this once we decide on an approach.

ryanmurakami avatar Nov 03 '16 00:11 ryanmurakami

@fhemberger

A lot of time passed since the issue opened and problem is still here :cry: but we are creating localization tool to help translated ones updated as well. :100: It's name is GitLocalize.

It have been used in "GitHub - vuejs/vue-ssr-docs, GitLocalize - vuejs/vue-ssr-docs" which is one of the Vue.js project and they are very happy with it. So I think it is a time to try our service in Node.js community. We provide these features below:

  • Have a split view to make people translate
  • When original one is updated, we will notify translators
  • Translation flow looks like a GitHub flow:
    1. Sync GitHub and GitLocalize
    2. Translate
    3. Create a review request such as Pull Request of GitHub
    4. GitLocalize will create pull request to GitHub repository
    5. And merge. That's it :sparkles:

Looking forward to hearing your thoughts :smile:

sotayamashita avatar May 22 '17 20:05 sotayamashita

@sotayamashita Wow, this looks really cool. But as always, we need to discuss the access rights to the organization:

untitled-1

/cc @mikeal

fhemberger avatar May 23 '17 06:05 fhemberger

@fhemberger Why do they give up using snyk? You can choose public or public and private. (I know each option has a write permission for code.)

sotayamashita avatar Jun 16 '17 08:06 sotayamashita

@fhemberger We have launched the new way to integrate with repositories. :sparkles:

After login, we will request users to choose which repo you want to integrate with "public" or "public and private". We will also add the sentence like "We do not write source code directory" on Term of Service. I have discussed with @mikeal about it and he agreed with the way.

Looking forward to hearing your thoughts :bow:

-- @mikeal Please correct me if I'm wrong.

sotayamashita avatar Jun 21 '17 14:06 sotayamashita

Awesome! If it doesn't request access to private repos then we should be able to integrate it :)

mikeal avatar Jun 21 '17 19:06 mikeal

@mikeal Thanks. If node.js integrate with our service, can we use your logo on our website?

sotayamashita avatar Jun 22 '17 02:06 sotayamashita

@sotayamashita @mikeal Great to see everything seems to work out fine! :tada:

fhemberger avatar Jun 22 '17 04:06 fhemberger

@fhemberger Could you integrate the nodejs/nodejs.org to GitLocalize? if you can.

sotayamashita avatar Jun 25 '17 01:06 sotayamashita

@sotayamashita I could only access my own repos, but I requested access for the nodejs org. But the message said both public and private repos …

fhemberger avatar Jun 25 '17 11:06 fhemberger

@fhemberger I checked your scope and it is user:email,public_repo. Could you share the screen shot of the message?

sotayamashita avatar Jun 25 '17 12:06 sotayamashita

@fhemberger @rvagg

I understand you are so busy but you can only change the permission.

~### 1. Please sigh up on GitLocalize with GitHub~ ~### 2. Please open the page to add repository~ ~### 3. Please grant permission on GitLocalize~

4. Please grant the permission on GitHub

After opening the page, you will see the page below. please grant the permission because someone has declined before.

screen shot 2017-06-26 at 10 21 35 pm

5. Please check the permission on GitHub

After granting the permission, please open the page and then check whether permission is correct or not.

screen shot 2017-06-26 at 10 27 48 pm

If you have any question, please feel free to ask me. Thanks in advance :bow:

sotayamashita avatar Jun 26 '17 13:06 sotayamashita

@sotayamashita Sorry, I tried that before. I only see my own repos in the dropdown, but no repos from the nodejs org. Looks like I don't have enough rights to do that.

fhemberger avatar Jun 28 '17 03:06 fhemberger

@MylesBorins @Fishrock123 @rvagg @Trott

Please grant our app on the page because someone had declined before so we cannnot integrate with normal way. @mikeal has approved the our app.

screen shot 2017-06-26 at 10 21 35 pm

Thanks in advance. :bow:

sotayamashita avatar Jun 29 '17 01:06 sotayamashita

@sotayamashita The "granting access will give this application the ability to access private data" part is giving me pause. If that doesn't refer to private repos, do you know what it does refer to?

(Thanks for your patience with all of this.)

Trott avatar Jun 29 '17 02:06 Trott

@Trott I am careful not to mistake the meaning so I'll ask about it to GitHuber and share it.

sotayamashita avatar Jun 29 '17 05:06 sotayamashita

Updated - We are still talking about "Private data" with GitHub :cry:

sotayamashita avatar Aug 01 '17 01:08 sotayamashita

If this grants access to private repos it cannot be enabled.

Fishrock123 avatar Aug 02 '17 15:08 Fishrock123

Might I recommend a start-up I'm involved with: https://www.bablic.com/ It is a completely non invasive way of tracking changes and performing i10n.

It could also be relevant for the i10n of the "meta" docs like the README and CONTRIBUTING guides. RE: https://github.com/nodejs/node/pull/14665

refack avatar Aug 07 '17 15:08 refack

@Fishrock123 We understand it. Private permission is not always necessary for our service. GitHub will answer the question @trott asked

sotayamashita avatar Aug 08 '17 01:08 sotayamashita

Updated - We will have a conference call with GitHub.

sotayamashita avatar Aug 08 '17 02:08 sotayamashita

@fhemberger and @Trott

Updated

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.

https://github.com/nodejs/community-committee/issues/114#issuecomment-326848556

sotayamashita avatar Sep 04 '17 05:09 sotayamashita

Closing as all translation efforts are now on Crowdin and discussions should be done there.

ovflowd avatar Mar 12 '23 14:03 ovflowd