Difference between revisions of "I18nTeam/Migration-to-weblate/migration-tools"
Damekyung98 (talk | contribs) (→2. Project Migration) |
Damekyung98 (talk | contribs) (→2. Project Migration Tools) |
||
| Line 80: | Line 80: | ||
==== 2. Project Migration Tools ==== | ==== 2. Project Migration Tools ==== | ||
| + | * The migration script patch was split to reduce its size. | ||
| + | ** https://review.opendev.org/c/openstack/i18n/+/961075 | ||
| + | * We track feature development using Launchpad blueprints. | ||
| + | ** https://blueprints.launchpad.net/openstack-i18n/+spec/weblate-migration | ||
=== Testing and Integration === | === Testing and Integration === | ||
Revision as of 13:10, 14 October 2025
Contents
- 1 Migration Tools for Weblate
- 1.1 Overview
- 1.2 Who's joining the migration tools project
- 1.3 Migration Plan
- 1.3.1 1. Language Migration
- 1.3.2 2. Project Migration
- 1.3.2.1 1. Set up the environment to migrate.
- 1.3.2.2 2. Generate POT files for project.
- 1.3.2.3 3. Extract Translation files(PO) in Zanata.
- 1.3.2.4 4. Create Weblate project
- 1.3.2.5 5. Create a global glossary
- 1.3.2.6 6. Create Weblate Category
- 1.3.2.7 7. Create Weblate components.
- 1.3.2.8 8. Create Weblate translation.
- 1.3.2.9 9. Push translation files into Weblate translation.
- 1.4 Migration Tools
- 1.5 Testing and Integration
- 1.6 Openinfra Forum in Korea
Migration Tools for Weblate
Overview
- This page documents the ongoing migration from Zanata to Weblate for the OpenStack I18n project.
- The migration involves language migration tools and project migration tools.
Who's joining the migration tools project
- Gwang-Il Kim
- DaGyeong Kim
Migration Plan
1. Language Migration
- Remove all existing languages from Weblate that are not needed.
- Use delete_languages.py
- Recreate languages in Weblate to match the plural-forms and settings defined in Zanata.
- Use create_languages_weblate.py
2. Project Migration
1. Set up the environment to migrate.
- Set up the environment by installing system and python dependencies.
- Configure the workspace folder as working directories.
2. Generate POT files for project.
- Extract strings for translation from project.
- Generate template files(POT) for migration.
3. Extract Translation files(PO) in Zanata.
- Pull all locale translation files from Zanata
4. Create Weblate project
- Create a project in Weblate using the OpenStack project name.
5. Create a global glossary
- Create a glossary component within the project for terminology consistency.
- There is only one glossary per project.
6. Create Weblate Category
- Categories are collections of related components.
- Create categories to organize and display different versions.
7. Create Weblate components.
- Component is a grouping of something for translation.
- Create component with pot files.
- There is component attributes to use:
| key | value |
|---|---|
| file format | po |
| filemask | locale/*/LC_MESSAGES/<component_name>.po |
| new_base | <component_name>.pot |
| source_language | en_US |
Note: The filemask depends on the project type.
8. Create Weblate translation.
- Translations represent language-specific versions of components.
- Create translations for all locales that exist in Zanata.
- Ensure locale names match the language codes used by the Weblate server.
9. Push translation files into Weblate translation.
- Upload the PO files extracted from Zanata to their corresponding translations in Weblate.
Migration Tools
1. Language Migration Tools
- delete_languages.py : Active ( https://review.opendev.org/c/openstack/i18n/+/961371/9 )
- Automatically creates or updates Weblate language configurations to match the existing Zanata language set.
- Uses Weblate REST API to sync language codes, names, plural forms, and text directions in bulk.
- create_languages_weblate.py: Active ( https://review.opendev.org/c/openstack/i18n/+/961371/9 )
- Provides a safe way to remove languages from Weblate.
- Supports dry-run mode for verification before actual deletion and generates a summary report.
2. Project Migration Tools
- The migration script patch was split to reduce its size.
- We track feature development using Launchpad blueprints.
Testing and Integration
- Testing for Weblate integration is currently in the planning stage.
Openinfra Forum in Korea
- Openstack Weblate Migration - Language Migration: ( https://forum.openinfra-kr.org/t/openstack-weblate-migration-language-migration/269 )