assemblee-virtuelle / assemblee-virtuelle/semapps
TranslatorService
- Dominant language
- TypeScript
- Stars
- 103
- Forks
- 14
- Avg merge
- 1m
- Merged PRs (30d)
- 2
Description
Service which looks for new string-type literals which are added to the triple store (listening to Moleculer events), and automatically translate them to chosen languages, using [DeepL API](https://www.deepl.com/pro-api) or [Google Cloud Translation](https://cloud.google.com/translate/)
Settings:
- `baseLocale`: locale to translate from
- `translatedLocale`: locales to translate to
- `exclude`: predicates or classes to exclude from translation
Actions:
- `addBaseLocale`: Add the baseLocale to all string-type literals
- `translateAll`: Look for all string-type literals and translate them
## Other tasks
- Adapt whole SemApps code to adapt to locale (:warning: big task ?!)
- Adapt data provider to filter by locale (could be passed as a `meta`, supported since React-Admin 4)
- Adapt Archipelago to display data by language (don't activate edit function in non-base locale ?)
- If a translation is incorrect, it could be fixed. But if the string in the base locale is updated, changes will be overwritten.
## Idea
In the futur, we could provide a tool which could be notified, through ActivityPub, when an automatic translation has been added, and allow to correct it. Ideally, we should use RDF-star in order to mark if a translation has been approved or not... but this is another task altogether.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by narrowing the proposed TranslatorService scope around Moleculer events, string-type literals, locale settings, exclusions, and the addBaseLocale and translateAll actions. Review how the project represents triple-store literals and services, then determine whether DeepL API or Google Cloud Translation is the initial provider. Done should include an agreed service boundary and acceptance criteria for translation behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, typescript
- Domain
- backend, internationalization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100