Skip to content

Simplify Translation Workflow #810

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

Closed
ericholscher opened this issue Apr 30, 2014 · 7 comments
Closed

Simplify Translation Workflow #810

ericholscher opened this issue Apr 30, 2014 · 7 comments
Labels
Accepted Accepted issue on our roadmap Feature New feature

Comments

@ericholscher
Copy link
Member

Currently people have to create a new project for each language of a project. This approach doesn't scale in any reasonable way. Especially now that Sphinx lets users add all of their translation material into the main repo, we should support this abstraction too.

Goals

A user should be able to go to Admin > Translations and then simply select the languages that they want built from their project. This would then build Sphinx with the command to use that language.

Front end changes

We need to add the ability to select languages to the Translations Admin panel. This should be as easy as putting a new field on the Project model, that links to our set of language constants in projects/constants.py

Backend changes

The doc builders will need to be upgraded to know what language they are building in. We need to pass the language through all the phases of the builders, which should be pretty simple. We also need to figure out the sanest directory structure for storing the output of the translation builds into. It would be great if this structure matches the URL's we expose to users more closely, so that we don't have to do as much munging of the filesystem to make nginx happy.

Issues

This might also wreck havoc on our locking and rate limiting situations. When a new commit of the project is pushed, do we trigger a rebuild of every translation? Potentially adding 10-20x load to the build servers for every project doc build.

@sebgoa
Copy link

sebgoa commented Apr 30, 2014

Couple comments:

  • In our case the git push should only trigger a build of english (the main language), since the other ones are more manual and only built when new strings are pulled from transifex. So no need for an automatic rebuild of each translation IMHO.
  • We need to make sure that the canonical URL will also be handle nicely in the case where we have a parent project and translations in each subproject.

@sebgoa
Copy link

sebgoa commented Jun 29, 2014

@ericholscher any luck with this ?

@e9t
Copy link

e9t commented Sep 19, 2014

+1 for this issue.

@guokan-shang
Copy link

#1280

@agjohnson agjohnson added this to the I18n improvements milestone Sep 17, 2018
@agjohnson agjohnson added the Accepted Accepted issue on our roadmap label Sep 17, 2018
@73VW
Copy link

73VW commented Oct 25, 2018

Hello everyone, do you need help on this?

@neoctobers
Copy link

+1

@humitos
Copy link
Member

humitos commented Sep 15, 2023

I don't think we can realistically support this at a core level.

As a workaround, users could remove the "language" part from the URL (via #10307) and build all the translations in the same build process outputting each of them under $READTHEDOCS_OUTPUT/html/<language>/ making the final URL being docs.example.com/<version>/<language>/

I think that's enough for this use case, and I'd say we can close this issue. Feel free to re-open, tho.

@humitos humitos closed this as completed Sep 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted Accepted issue on our roadmap Feature New feature
Projects
None yet
Development

No branches or pull requests

8 participants