nodejs.org
nodejs.org copied to clipboard
Add translation workflow to website repository
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:
- Use github-webhook-handler to setup a webhook for the repository
- Listen to 'push' events
- 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).
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.
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 ?
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.
@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:
- Sync GitHub and GitLocalize
- Translate
- Create a review request such as Pull Request of GitHub
- GitLocalize will create pull request to GitHub repository
- And merge. That's it :sparkles:
Looking forward to hearing your thoughts :smile:
@sotayamashita Wow, this looks really cool. But as always, we need to discuss the access rights to the organization:
/cc @mikeal
@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.)
@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.
Awesome! If it doesn't request access to private repos then we should be able to integrate it :)
@mikeal Thanks. If node.js integrate with our service, can we use your logo on our website?
@sotayamashita @mikeal Great to see everything seems to work out fine! :tada:
@fhemberger Could you integrate the nodejs/nodejs.org to GitLocalize? if you can.
@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
I checked your scope and it is user:email,public_repo
. Could you share the screen shot of the message?
@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.
5. Please check the permission on GitHub
After granting the permission, please open the page and then check whether permission is correct or not.
If you have any question, please feel free to ask me. Thanks in advance :bow:
@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.
@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.
Thanks in advance. :bow:
@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 I am careful not to mistake the meaning so I'll ask about it to GitHuber and share it.
Updated - We are still talking about "Private data" with GitHub :cry:
If this grants access to private repos it cannot be enabled.
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
@Fishrock123 We understand it. Private permission is not always necessary for our service. GitHub will answer the question @trott asked
Updated - We will have a conference call with GitHub.
@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
Closing as all translation efforts are now on Crowdin and discussions should be done there.