diff --git a/openspp_translations/README.md b/openspp_translations/README.md new file mode 100644 index 000000000..12920961c --- /dev/null +++ b/openspp_translations/README.md @@ -0,0 +1,9 @@ +# OpenSPP Translations (AI Assisted Translation Wizard) + +This module introduces a basic translation wizard that allows users to input +source text and generate translated output (stub implementation for now). +A follow-up iteration will integrate real translation providers. + +- Wizard model: `translation.wizard` +- View: Form and menu entry under "Translations" +- Status: Scaffolding ready, awaiting integration with external providers. diff --git a/openspp_translations/__init__.py b/openspp_translations/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/openspp_translations/__manifest__.py b/openspp_translations/__manifest__.py new file mode 100644 index 000000000..1e053664d --- /dev/null +++ b/openspp_translations/__manifest__.py @@ -0,0 +1,16 @@ +{ + 'name': 'OpenSPP Translations', + 'version': '1.0', + 'summary': 'AI-assisted translation tool for OpenSPP', + 'depends': ['base'], + 'data': [ + 'views/translation_wizard_view.xml', + ], + 'installable': True, + 'application': False, +} + + +'license': 'LGPL-3', +'author': 'Devendra Chauhan', +'website': 'https://github.com/devendra1973', diff --git a/openspp_translations/models/__init__.py b/openspp_translations/models/__init__.py new file mode 100644 index 000000000..e820c95a4 --- /dev/null +++ b/openspp_translations/models/__init__.py @@ -0,0 +1 @@ +from . import translation_wizard diff --git a/openspp_translations/models/translation_wizard.py b/openspp_translations/models/translation_wizard.py new file mode 100644 index 000000000..449842c8d --- /dev/null +++ b/openspp_translations/models/translation_wizard.py @@ -0,0 +1,13 @@ +from odoo import models, fields, api + +class TranslationWizard(models.TransientModel): + _name = 'translation.wizard' + _description = 'AI-Assisted Translation Wizard' + + source_text = fields.Text("Source Text", required=True) + translated_text = fields.Text("Translated Text") + + @api.model + def translate_text(self): + # Simple placeholder logic (we fake translation for now) + self.translated_text = f"TRANSLATED: {self.source_text}" diff --git a/openspp_translations/views/translation_wizard_view.xml b/openspp_translations/views/translation_wizard_view.xml new file mode 100644 index 000000000..4b51bc68c --- /dev/null +++ b/openspp_translations/views/translation_wizard_view.xml @@ -0,0 +1,30 @@ + + + translation.wizard.form + translation.wizard + +
+ + + + +
+
+
+
+
+ + + AI Translate + translation.wizard + form + new + + + + +
+o +