Skip to content

Translations to other languages #1398

@niallthomson

Description

@niallthomson

What would you like to be added?

The workshop content should be offered in other languages, but has historically represented complexity that would hinder our ability to maintain the workshop at the velocity that we do. Generative AI now offers the opportunity to automate content translation at scale in a repeatable manner.

The first language to be targeted will be Japanese. With these languages considered as follow-ups:

  • French
  • Spanish
  • Portugues
  • Korean

Requirements:

  • The process must be repeatable, either in response to merge events or as part of the release process
  • It should be possible to provide per-language instructions to the LLM to account for language-specific details
  • Consistency is desired so the translations don't potentially change drastically between each release

Implementation:

The plan is to use toolkit-md to perform the translation of the Markdown content itself as it has mechanism to help with on-going maintenance of the translated content.

There are perceived to be two phases of implementation:

1. Onboarding

Adding a new language involves some "one-time" setup, as documented in the Docusaurus docs:

https://docusaurus.io/docs/i18n/git

This includes:

  1. Add the locale to docusaurus.config.js
  2. Initialize the i18n directory for the locale with yarn write-translations --locale [...]
  3. Translate various static parts of the site like the homepage, menu, footer etc.
  4. Establish a language-specific style guide for translations in the i18n directory
  5. Perform an initial translation of the Markdown content

2. Translation updates

As content written in English is added or updated the translated content will need to be updated. The plan is to handle this with a GitHub Actions workflow that runs on merge events to the main branch. The workflow will run toolkit-md for a matrix of languages in order to ensure the 60 minute time limit of IAM credentials is not breached. Once all the language steps are completed the workflow can consolidate the various files in to a step that will commit changes to a branch and create/update a PR. Subsequent runs will rebase the same branch and re-translate.

The PR can then be merged before the monthly release process.

Why is this needed?

We have had sporadic requests to translate the workshop to other languages.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions