Skip to content

Implement AI-Assisted Translation Management Tool for OpenSPP #767

@jeremi

Description

@jeremi

Description

OpenSPP currently uses PO/POT files for translations across multiple languages. As the platform grows, maintaining consistent translations becomes challenging. We need a tool to help identify missing translations and leverage AI to suggest translations based on existing similar strings.

Objective

Create a translation management utility that:

  1. Identifies missing translations across PO files
  2. Uses AI to suggest translations for missing strings
  3. Leverages existing translations to improve accuracy
  4. Outputs updated PO files for review through the PR process

Technical Requirements

  • Parse and analyze POT/PO files across OpenSPP modules
  • Identify missing translations in each target language
  • Use an AI translation service (like OpenAI or similar) to generate suggestions
  • Implement similarity matching to find already translated strings that are similar to pending ones
  • Update PO files with suggested translations
  • Ensure output PO files are compatible with Odoo's translation system

Implementation Suggestions

  • Could be implemented as a standalone Python tool
  • May use embeddings to find similar strings across the translation corpus
  • Should support batch processing of multiple modules/languages
  • Output format should facilitate easy review in GitHub PRs

Expected Outputs

  • A functional command-line tool
  • Documentation on how to use the tool
  • Tests to ensure proper functioning
  • Sample workflow for incorporating the tool into the development process

Good First Tasks

For contributors who want to work on this during the sprint:

  • Setup the project structure
  • Implement PO/POT file parsing
  • Create a function to identify missing translations
  • Research and implement similarity matching for strings
  • Implement the AI integration component
  • Add tests

Resources

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requestgood first issueGood for newcomersno staleUse this label to prevent the automated stale action from closing this PR/Issue.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions