Jump to: navigation, search

Difference between revisions of "I18nTeam/Migration-to-weblate/migration-tools"

(2. Project Migration Tools)
(2. Project Migration Tools)
 
(3 intermediate revisions by the same user not shown)
Line 19: Line 19:
 
==== 2. Project Migration ====
 
==== 2. Project Migration ====
  
=====1. Set up the environment to migrate.=====
+
=====Set up the environment to migrate.=====
 
* Set up the environment by installing system and python dependencies.
 
* Set up the environment by installing system and python dependencies.
 
* Configure the workspace folder as working directories.
 
* Configure the workspace folder as working directories.
  
=====2. Generate POT files for project.=====
+
=====Generate POT files for project.=====
 
* Extract strings for translation from project.
 
* Extract strings for translation from project.
 
* Generate template files(POT) for migration.
 
* Generate template files(POT) for migration.
  
=====3. Extract Translation files(PO) in Zanata.=====
+
=====Extract Translation files=====
* Pull all locale translation files from Zanata
+
* Pull all locale translation files(PO) from Zanata
  
=====4. Create Weblate project=====
+
=====Create Weblate project=====
 
* Create a project in Weblate using the OpenStack project name.
 
* Create a project in Weblate using the OpenStack project name.
  
=====5. Create a global glossary=====
+
=====Create a global glossary=====
 
* Create a glossary component within the project for terminology consistency.
 
* Create a glossary component within the project for terminology consistency.
 
* There is only one glossary per project.
 
* There is only one glossary per project.
  
=====6. Create Weblate Category =====
+
=====Create Weblate Category =====
 
* Categories are collections of related components.
 
* Categories are collections of related components.
 
* Create categories to organize and display different versions.
 
* Create categories to organize and display different versions.
  
=====7. Create Weblate components.=====
+
=====Create Weblate components.=====
 
* Component is a grouping of something for translation.
 
* Component is a grouping of something for translation.
 
* Create component with pot files.
 
* Create component with pot files.
Line 61: Line 61:
 
Note: The filemask depends on the project type.
 
Note: The filemask depends on the project type.
  
=====8. Create Weblate translation.=====
+
=====Create Weblate translation.=====
 
* Translations represent language-specific versions of components.
 
* Translations represent language-specific versions of components.
 
* Create translations for all locales that exist in Zanata.
 
* Create translations for all locales that exist in Zanata.
 
* Ensure locale names match the language codes used by the Weblate server.
 
* Ensure locale names match the language codes used by the Weblate server.
  
=====9. Push translation files into Weblate translation.=====
+
=====Push translation files into Weblate translation.=====
 
* Upload the PO files extracted from Zanata to their corresponding translations in Weblate.
 
* Upload the PO files extracted from Zanata to their corresponding translations in Weblate.
  
Line 82: Line 82:
 
* The migration script patch was split to reduce its size.
 
* The migration script patch was split to reduce its size.
 
** https://review.opendev.org/c/openstack/i18n/+/961075
 
** https://review.opendev.org/c/openstack/i18n/+/961075
* We track feature development using Launchpad blueprints.  
+
* We track feature development using Launchpad blueprints.
 
** https://blueprints.launchpad.net/openstack-i18n/+spec/weblate-migration
 
** https://blueprints.launchpad.net/openstack-i18n/+spec/weblate-migration
  
Line 90: Line 90:
 
=== Openinfra Forum in Korea ===
 
=== Openinfra Forum in Korea ===
 
* Openstack Weblate Migration - Language Migration: ( https://forum.openinfra-kr.org/t/openstack-weblate-migration-language-migration/269 )
 
* Openstack Weblate Migration - Language Migration: ( https://forum.openinfra-kr.org/t/openstack-weblate-migration-language-migration/269 )
 +
* OpenStack Weblate Migration - Migration Preparation: ( https://forum.openinfra-kr.org/t/openstack-weblate-migration-1-migration/277 )
 +
* OpenStack Weblaet Migration - Project Migration: ( https://forum.openinfra-kr.org/t/openstack-weblate-migration-2-weblate-migration/278 )

Latest revision as of 13:21, 14 October 2025

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

Set up the environment to migrate.
  • Set up the environment by installing system and python dependencies.
  • Configure the workspace folder as working directories.
Generate POT files for project.
  • Extract strings for translation from project.
  • Generate template files(POT) for migration.
Extract Translation files
  • Pull all locale translation files(PO) from Zanata
Create Weblate project
  • Create a project in Weblate using the OpenStack project name.
Create a global glossary
  • Create a glossary component within the project for terminology consistency.
  • There is only one glossary per project.
Create Weblate Category
  • Categories are collections of related components.
  • Create categories to organize and display different versions.
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.

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.
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

2. Project Migration Tools

Testing and Integration

  • Testing for Weblate integration is currently in the planning stage.

Openinfra Forum in Korea