Skip to content
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

Add submodule for document translation #133562

Closed
wants to merge 1 commit into from

Conversation

dalance
Copy link
Contributor

@dalance dalance commented Nov 28, 2024

This PR adds a submodule for document translation.

Motivation

Now translation DBs are placed at the each document repositories (e.g. rust-by-example).
This causes to increse merging cost of translation update by document maintainers.
Instead of it, the merging cost can be reduced by splitting the translation DBs to another submodule.

I tried to gather feedback about this idea through Internal Forum and Zulip, and I create this PR because there was no feedback.

https://internals.rust-lang.org/t/pre-rfc-translation-sub-repository-for-rust-docs/21666

Summary of this PR

This PR adds the following steps to bootstrap build of doc.

  • Copy css/js for language picker to the theme directory, if there is a translation DB for the processed doc,.
  • Set po-dir to specify the translation DB in the translation submodule.
  • Build translated docs (this is already added)
  • Cleanup the copied css/js files to keep the repository clean.

TODO

This PR is incomplete yet.
If this is acceptable, I think the following items should be done before merging this PR.

  • Move the submodule into rust-lang organization
  • Write README.md of the translation submodule
  • Follow other rules for submodule of rust-lang/rust
  • Remove modified index.hbs from rust-by-example ( because it conflicts with this PR )
  • Remove language entries directly written in src/bootstrap/src/core/build_steps/doc.rs and add a mechanism to refer the entries from the translation submodule

@rustbot
Copy link
Collaborator

rustbot commented Nov 28, 2024

r? @ehuss

rustbot has assigned @ehuss.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot
Copy link
Collaborator

rustbot commented Nov 28, 2024

⚠️ Warning ⚠️

  • These commits modify submodules.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Nov 28, 2024
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@dalance dalance force-pushed the translations branch 2 times, most recently from 5b172f4 to 38ab498 Compare November 28, 2024 03:57
@bors
Copy link
Contributor

bors commented Dec 6, 2024

☔ The latest upstream changes (presumably #133950) made this pull request unmergeable. Please resolve the merge conflicts.

@dalance
Copy link
Contributor Author

dalance commented Dec 11, 2024

@ehuss Hi, Could you give me any comment about this PR? Especially I want a comment whether the main idea of this PR ( adding translation submodule ) is acceptable. If it is acceptable, I'll work to improve techincal detail. If not, I'll consider another idea.

@ehuss
Copy link
Contributor

ehuss commented Dec 11, 2024

Hi @dalance! Sorry for the delay. Unfortunately I don't think this is something we can support at this time. I don't think the project currently has the capacity to manage something like this. I would like to see us get to that point at some time, though!

@dalance
Copy link
Contributor Author

dalance commented Dec 11, 2024

Thank you for your response!
Could you explain about "the capacity"?
Does it mean the maintainer of the translation submodule?

@dalance
Copy link
Contributor Author

dalance commented Dec 11, 2024

@ehuss
If the issue is absence of the maintainer, I can do it. If it is the number of maintainers, I can recruit maintainers in the Rust translation community.If confidence by Rust core member is required, more activity in Rust community may be required.
Anyhow, if the root cause to block this PR becomes clear, I want to work for it.

@dalance
Copy link
Contributor Author

dalance commented Jan 7, 2025

I found rust-lang/leadership-council#123.
By this organization change, I can find the appropriate place to discuss about document translation, maybe?

@traviscross traviscross added the T-lang-docs Relevant to the lang-docs team. label Jan 7, 2025
@traviscross
Copy link
Contributor

Thanks @dalance for your interest and enthusiasm here, and for being responsive to the feedback. In reading through this and the linked issues, here's how I'd break down the questions:

  • Do we have the ability to maintain up-to-date and high quality translations of some or all of our books on rust-lang.org?
  • Do we have the capacity to set up a translation team or otherwise manage permissions for translators on the related repositories? Or conversely, among existing team members, do we have the capacity to handle these PRs?
  • Is the submodule approach here the right technical and organizational approach to this problem?

People here have, I think, reservations about the first two of these. That is, it's just not clear that there's a sufficiently large and active community of people with the right skills and interest in the Rust project to make this maintainable, and this is an area where we've struggled in the past.

On the third item, this runs into trouble at a meta level, which is that it takes a lot of work to answer this question. This would require seeking and receiving input from many busy people, and for that work to make sense -- for it to be prioritized over other important work -- we'd need a lot of confidence about the first two points.

I know this is a dissatisfying answer and doesn't really leave a clear path forward for this. We all kind of feel bad about that, because obviously you're willing to put in work here and, all else being equal, we'd prefer to support that. And in an ideal world, we'd of course love to have comprehensive and continuously up-to-date translations of everything we produce.

So, anyway, we're going to close this as it doesn't have any path forward for being accepted at the moment, and it's better for us to be straightforward about that.

In discussion, we were curious though about the source of your interest in this work. Maybe you could tell us more about what has inspired and supported your interest in seeing these books translated. It's not going to change the outcome in this case, but it may help inform how we think about this in the future.

@traviscross traviscross closed this Jan 8, 2025
@dalance
Copy link
Contributor Author

dalance commented Jan 8, 2025

@traviscross
Thank you for your detailed response. I understood your concern.
I agree your recognition about translation quality and project priority.

In discussion, we were curious though about the source of your interest in this work. Maybe you could tell us more about what has inspired and supported your interest in seeing these books translated. It's not going to change the outcome in this case, but it may help inform how we think about this in the future.

I'm a maintainer of Rust By Example Japanese translation, and interersting in sustainability of translation.
In many cases, it is difficult to follow continuously update document like Rust books.
I created a support tools like mdbook-transcheck, but it is not complete.
After that, I found a new support tool mdbook-i18n-helpers which resolves many issues related to continuous translation.
I introduced it to RBE Japanese translation and worked to merge it into the official RBE repository.

In the process, I found some problems around document translation, for example, translation support of mdbook get stuck, there are many disjointed translation works of TRPL.
So I thought aggregated working space for translation is useful, even if it is not complete.
This is a reason that I created this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-lang-docs Relevant to the lang-docs team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants