-
Notifications
You must be signed in to change notification settings - Fork 7.6k
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
reactjs.org Localization Forks #1605
Comments
Some notes from an email exchange with @gbezyuk:
These are both very good points IMO. |
Español would be cool 😎 |
To be clear: at this point we’re looking for comments from people who are actually interested in getting involved and maintaining the translations. We appreciate the enthusiasm but let’s keep the conversation focused on next steps rather than language requests. |
I am interested in maintaining documents in Japanese. |
I am interested in getting involved. I could contribute maintaining Spanish translations. |
I’m in the same boat as @carburo. Willing to help with spanish docs. 👍🏼 |
Willing to team up with @carburo and @alejandronanez to maintain spanish docs 😁 |
I basically prefer this approach, and I'm also interested in maintaining the Japanese fork.
By the way, I already have a markdown-based Japanese translation of the Hooks doc, hosted here: https://react-doc-jp-temp.netlify.com/ It's not a full fork because I was anticipating this would happen officially :) |
@smikitky thank you so much for replying! Yes, we should make the Crowdin translations downloadable, but I also have access to the compiled translations if that will unblock you. As for anchor names, that's a really good point! I'll put in a task to do that :) I think we'll definitely work off the vuejs-jp-bot to get it working and start off simple, but those are good suggestions for improvements. |
@smikitky also there is a markdown syntax for heading ids: https://www.markdownguide.org/extended-syntax/#heading-ids We just need to make sure they're supported :) |
Please feel free to ask, we want to cooperate you. :) |
@smikitky another approach I'm thinking: keep the auto-generated ids in the original english repo, and add a lint rule / test in the translations that raw titles need to have the original English ID (e.g. The advantage of the autogenerated ids is that they're consistent. If we enforce that every heading needs an ID it's possible for new English documentation writers to misspell or create inconsistent conventions. |
@tesseralis That means each translator would need to type something like |
Hi there, I am interested in maintaining documents in Traditional Chinese. |
@smikitky Haha, true! Though I do think most of the english headings are short (e.g. Either way, it doesn't seem like the manual ID syntax is supported right now, so I'll go and take a look at that so we can support it in both English and translations :) |
Great! I'm interested in maintaining the Portuguese translations. |
I've been translating stuff for a while in some projects (here on GH and with tools like MDN, Crowdin, Transifex, and others. Also maintain the YDKJS book series translation to PT-Br w/ other friends) and I'd go 100% with GitHub. Devs are much more motivated to work here with a tool that most use on a daily basis and the git familiarity helps a lot. I've tried motivating friends to help on other platforms and having to understand "how things work" have reduced their willingness to contribute most of the times. I also believe there is little interest from developers in other platforms due to the lack of recognition of their work. People are proud of their contributions and want to show them (such as in the GH contribution graph or commit history) so GitHub also takes advantage over other platforms here. So ya, the process described in #1605 (comment) to set up a "how-to" guide + graduating process sounds a great plan. I'm interested in setting up/helping the PT-Br (Portuguese from Brazil) translations. Also, cc @gmsecrieru @wesmelo @glaucia86 who hugely helped translating some projects I contribute and might want to jump in as well. Local React community is super friendly, hopefully others will join too. |
Sigh. I do not have such experience but was hoping to get some (native Russian speaker). |
@tesseralis Introducing a new heading with an explicit ID in the English repo is a one-time job, and testing the consistency within |
Awesome. I'm interested in maintaining the Korean translations. I've translated Node.js documentation for many years as a member of the official Node.js Korean localization team. |
I'm interested in writing and maintaining Serbian translation -- this would pretty much cover Croatian, Bosnian and Montenegrin as well since the languages are more of a dialect of each other and we can understand each other with no difficulty. I have experience in translation (eg. the Pro Git book), and I love doing it as it helps me really read the entire documentation and understand it instead of skipping around. However, I have no experience in the described setup, but I can't wait to try it out. Always love to experiment with automated utilities which take the boring and repetitive work off from developers' shoulders. |
Willing to help with Myanmar/Burmese docs. helped translating Laravel before. |
Awesome ! I'm interested in helping with the french translation. |
Willing to do the Romanian version. |
Count me in! 😄 Like @cezaraugusto mentioned we have been doing a good job in cezaraugusto/You-Dont-Know-JS for a few years with Github. |
I could help in translating the documentation into Russian. In fact, I have a repository with a partial translation, it's already very outdated, but in general it can be used as a starting point. |
For sure my friends. All of you can count on me. I really enjoy to make many contributions to open source projects! So yes! Please, I would love to help translating to PT-BR and another projects too. thanks @cezaraugusto for mention me here! :) |
I've been contributing in Nodejs.org translation to PT-br. So if you want to count on me I would love to help. Once I really enjoy to help open source projects. |
@Darking360 I'll check with @alejandronanez. We haven't discussed yet which criteria to use for adding a new maintainer. |
Hey @carburo, let’s talk about this tomorrow or Monday the latest. I got a pretty tight schedule today and maybe tomorrow too. Which channel should we use for this kind of conversations? Maybe Spectrum? Let me know! |
It's up to the current maintainers to choose whether they want to add folks. Are you fine handling things on your own or do you find yourselves being stretched thin? Do you have processes among your group that you would need to onboard people to? Has the person offering contributed to the translations or has any other experience? That said, it's not that much of a burden to add someone that ends up not participating much in the maintenance. |
Yes @alejandronanez, Spectrum is fine. I agree with @tesseralis, I am not super busy right now but sometimes I will, so an extra pair of hands is always welcome. It is just a decision we have to make as a team. |
What's the plan to connect the translated languages to Netlify and setup subdomains for them? |
@ericnakagawa is working on that right now |
I think I probably need to be involved (to setup the subdomains at least) which is why I was asking here 😄 |
I am interested in maintaining documents in Cambodian (Khmer) language. If you need my contribution, please let me know. Thanks! |
Have you considered using gatsby themes ? You could avoid having source code in all the forked repositories. I think you would end up with the translations files, a |
@abumalick It's certainly an improvement I've thought of, but we haven't had time to implement it. Would that be something you'd be interested in? |
@abumalick This sounds like a great thing to do but if this is implemented, firstly, translatable strings need to be extracted from the components. I think since @tesseralis this would be a cool thing to have because any changes to the theme itself will be just a package upgrade away. |
It seems to me that code samples actually get some translation (string literals, comments etc) so keeping them per-locale would be better.
…On Tue, Aug 20, 2019, at 02:35, Nat Alison wrote:
@abumalick <https://github.com/abumalick> It's certainly an improvement I've thought of, but we haven't had time to implement it. Would that be something you'd be interested in?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#1605>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AAAA5KHEWFT6N5X4RQZS2VTQFM35XANCNFSM4GTFGNKQ>.
--
Christophe Porteneuve
tdd@tddsworld.com
|
@GasimGasimzada it would be a fair amount of work. If we want to do this, we should probably do it in steps, for example extracting most of the strings in component to gatsby config. We also need to be able to support right-to-left natively, not to mention updating each translation as we go. The problem is, the React team is too busy to work on this stuff (since they're working on, you know... React), and I'm doing my own stuff as well. But if anyone wants to put in the effort to get it done, I'd be happy to review PRs and provide feedback. |
@tesseralis Great! I will try to first handle the configuration part, then see how to convert it into a gatsby theme. |
@GasimGasimzada Thanks for taking charge on this! ^_^ |
Could we move discussion of this to its own issue so it doesn't clutter up this (really long) thread? |
Yes, please do. |
I missed the notification, it seems the task has been taken quickly 👍 @GasimGasimzada Tell me if you want some help |
🌐🚨See here if you'd like to be a language fork maintainer! 🚨🌐
Hi everyone! My name is Nat and I'm picking up on the work Brian (@bvaughn) and Eric (@ericnakagawa) have been doing to internationalize the React documentation website (#873 and #82). To this end, Dan (@gaearon) and I were discussing alternate proposals to our current approach using Crowdin when we came across how the Vue team localizes their documentation (https://vuejs.org), and we think it may be a simpler and better approach for translating the React docs.
The Approach
For vuejs.org, each translation is managed in a separate fork of the main repo by a dedicated team (e.g. https://jp.vue.org) that is synced to keep in line with the main repo. In particular, the Japanese translation uses a bot (https://github.com/vuejs-jp-bot) that performs the following functions:
In effect, the bot will automatically update any pure code changes to the site, and create an issue anytime the text changes, indicating new translation needs to occur.
Dan and I like this approach and think it would be a good fit for React's translation efforts. It would unload a lot of the work from the React core team and put it into the hands of dedicated translators. In addition:
In addition, @potato4d, one of the maintainers of the Japanese Vue fork, mentioned that compared to SaaS solutions like Crowdin, people were more motivated to provide translations when they could contribute directly to the Github org, and that git's conflict resolution strategies were better than third party ones.
Below I will list the steps needed to make this happen, concerns we have, alternatives we have considered, and what we need help with from the international React community.
Steps
Open Questions and Concerns
Existing work on CrowdIn
Eric brought up that a lot of work has already been put in the CrowdIn translations, and there is a fear of letting that community work go to waste. However that work won't necessarily be thrown away -- translators can use the Crowdin translation as a base when building the new fork (though we have to be careful that we don't keep any stale content).
Frequently changed files
Brian brought up that sometimes files are heavily edited in a short period of time (e.g. the Hooks proposal). This would mean that lots of issues get created under a short period of time, especially if they are auto-generated by a bot. In cases like this, The React team can coordinate with translation groups to make sure they're prepared. Additionally, while the bot can create issues, it is ultimately up to the fork maintainers to decide how to handle this. For example, they could decide to only translate the initial Hooks proposal and wait until the API is finalized before making changes to avoid having to make copious edits.
Maintenance
Maintaining a fork means that language maintainers must know the internals of the react website. However, that might actually be an advantage of this approach: if you're maintaining a translation for the React documentation, you better know how to use React!
Additionally, requiring translations be under a subdomain makes it harder to start up a new translations in a new language. To mitigate this, we plan on setting up a How-to guide to ease people setting up their own repositories and translations. We can also start a process of "graduating" translations: once the translation moves past a certain benchmark (e.g. Home page + tutorial + main concepts + API), move ownership to the main ReactJS Github org to mark it as an "official" translation effort and add it to the official list of translations.
One open question is how licensing and hosting would work. Dan is reaching out to folks to figure that out.
Alternatives
Crowdin
The initial plan was to integrate and serve translated pages with Crowdin, as demonstrated by Brian's PR: #873. We have some issues with Crowdin:
Translations in one repository
An alternative approach taken by Nuxt.js is to put all translations in the same repo and use a traditional i18n library to switch between them. But, as Dan pointed out, reactjs.org already has hundreds of pull requests and PRs, and any copy change would bloat up the number of issues, especially if they are automatically generated.
What we need help with
If you have some experience maintaining open source translations and would like to maintain an official React docs translation into your language, submit a PR to this repo to add your language!
The text was updated successfully, but these errors were encountered: