Fix handling of translations in the manual builds #105036

Closed
opened 2024-11-26 12:47:02 +01:00 by Bastien Montagne · 6 comments

Current Issue

Currently there is only one branch for manual translations, which is used for all non-English locales of all currently generated manuals.

Since translations for the manual are currently always updated from the main branch, all older manuals will see their translations degrade over time, as the main branch diverge more and more from the release ones.

Proposed Solution

Add 'release' branches to blender-manual-translations.

  • Add blender-vx.y-release branches to the blender-manual-translations, when the release branches are created for the main Blender code one.
    • Will require adding these branches for 4.3 and current LTS releases too.
  • Update related release process documentation.
  • Use 'categories' in weblate to have main, Blender 4.3, etc sets of components. See mock-up in the staging server.
  • Update buildbot/worker/doc_manual.py buildbot code update() function to pass in the branch for the locale repo update. Something like that should work (code not tested yet):
def update(builder: ManualBuilder) -> None:
    builder.update_source()
    if builder.needs_all_locales:
        worker.utils.update_source(
            "blender", "blender-manual-translations", builder.code_path / "locale",
            branch_id=builder.branch_id
        )
## Current Issue Currently there is only [one branch](https://projects.blender.org/blender/blender-manual-translations) for manual translations, which is used for all non-English locales of all currently generated manuals. Since translations for the manual are currently always updated from the main branch, all older manuals will see their translations degrade over time, as the main branch diverge more and more from the release ones. ## Proposed Solution Add 'release' branches to `blender-manual-translations`. * [x] Add `blender-vx.y-release` branches to the `blender-manual-translations`, when the release branches are created for the main Blender code one. - Will require adding these branches for 4.3 and current LTS releases too. * [x] Update related [release process documentation](https://projects.blender.org/blender/blender-developer-docs/src/branch/main/docs/handbook/release_process/release_checklist/index.md#blender). * [x] Use 'categories' in weblate to have `main`, `Blender 4.3`, etc sets of components. See mock-up in the [staging server](https://translate.staging.blender.org/projects/blender-manual/). * [x] Update `buildbot/worker/doc_manual.py` buildbot code `update()` function to pass in the branch for the `locale` repo update. Something like that should work (code not tested yet): ```python def update(builder: ManualBuilder) -> None: builder.update_source() if builder.needs_all_locales: worker.utils.update_source( "blender", "blender-manual-translations", builder.code_path / "locale", branch_id=builder.branch_id ) ```
Bastien Montagne added the
Type
To Do
Status
Confirmed
labels 2024-11-26 12:47:03 +01:00
Author
Owner
@bartvdbraak @Sergey @Blendify FYI.

@mont29 I am not sure if there is anything actionable from the CI/CD perspective. We already have tracks for the different releases, so the changes are limited to the organization of the translation repos, the update script, and the Weblate?

@mont29 I am not sure if there is anything actionable from the CI/CD perspective. We already have tracks for the different releases, so the changes are limited to the organization of the translation repos, the update script, and the Weblate?
Author
Owner

@Sergey unless am mistaken buildbot/worker/doc_manual.py is buildbot area (the bdr-devops-core repo on our gitlab), so changing this file does involve CI/CD?

@Sergey unless am mistaken `buildbot/worker/doc_manual.py` is buildbot area (the bdr-devops-core repo on our gitlab), so changing this file does involve CI/CD?

@mont29 Ah, indeed. Somehow I thought it is all tackled by manual's make update.
Anyway, seems an easy change to do.

@mont29 Ah, indeed. Somehow I thought it is all tackled by manual's `make update`. Anyway, seems an easy change to do.
Member

@mont29 I have been meaning to bring this up. I think you described the issue perfectly and I have no problems with the proposed solution.

@mont29 I have been meaning to bring this up. I think you described the issue perfectly and I have no problems with the proposed solution.
Aaron Carlisle added the
Priority
High
label 2024-11-28 04:45:56 +01:00
Author
Owner

Proposed changes have been implemented, there are still a bit of resync process on-going.

Proposed changes have been implemented, there are still a bit of resync process on-going.
Blender Bot added
Status
Archived
and removed
Status
Confirmed
labels 2024-11-29 11:49:12 +01:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-manual#105036
No description provided.