Skip to content

Preliminary design #44

@janishorsts

Description

@janishorsts

Introduction

The translate system provides a simple and frictionless translation flow for distributed systems and automates many tasks. Developers (or CI/CD tools) send extracted texts for translation to translate system which then can be translated by ML or real translators.

Translation source (origin)

Source code

Dynamic data

Compile time translation

CI/CD

sequenceDiagram
    actor Developer
    actor Translator

    Developer->>VCS: Create PR
    VCS->>CI: Trigger build
    CI->>+Translate: Send extracted messages
    CI->>Translate: Request translated messages
    Translate-->>-CI: Send translated messages
    Translate->>+Translator: Translate messages
    Translator--)-Translate: Publish messages
Loading

Local development workflow

sequenceDiagram
    actor Developer
    actor Translator

    Developer->>+Translate: Send extracted messages
    Developer->>Translate: Request translated messages
    Translate-->>-Developer: Send translated messages
    Translate->>+Translator: Translate messages
    Translator--)-Translate: Publish messages
Loading

Runtime translation

CI/CD

sequenceDiagram
    actor Developer
    actor Translator

    Developer->>VCS: Create PR
    VCS->>CI: Trigger build
    CI->>+Translate: Send extracted messages
    Translate->>+Translator: Translate messages
    Translator--)Translate: Publish messages
    CI->>+Deployment env: Deploy
    Deployment env->>+Translate: Request translated messages
    Translate-->>-Deployment env: Send translated messages
Loading

Local development workflow

sequenceDiagram
    actor Developer
    actor Translator

    Developer->>+Translate: Send extracted messages
    Translate->>+Translator: Translate messages
    Translator--)Translate: Publish messages
    Developer->>VCS: Create PR
    VCS->>CI: Trigger build
    CI->>+Deployment env: Deploy
    Deployment env->>+Translate: Request translated messages
    Translate-->>-Deployment env: Send translated messages
Loading

Project Structure

TBC

Backend (golang)

Frontend (Angular)

Translation Methods

Translation by translators

Translation by different APIs (ML)

Coding languages and libraries

In general, we build distributed systems with golang, Angular and Flutter. We aim to support these before adding support for other languages and libraries.

Website (Documentation)

TBC

Licence

TBC

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions