nextcloud / nextcloud/collectives
Multi language (translation) support
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 195
- Forks
- 51
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 48
Description
Is your feature request related to a problem? Please describe.
Collectives is not so good for maintaining documentation in multiple languages at the moment.
Describe the solution you'd like
I imagine an optional feature (to be toggled on/off per collective) that allows to provide translations of pages in different languages. On a page that has translations available, it should be possible to switch between the translations. When opening a page without language parameter, the translation should be selected from the browsers locale, with a fallback.
Ideally a default language could be selected and pages in this language regarded as "source of origin". Translations could be marked as "up-to-date" and would be marked outdated once the source page got changed.
Describe alternatives you've considered
- Maintain separate collectives for each language with a similar page structure.
- Maintain one collective with different languages as first level pages and similar page structure below.
- Maintain one collective with one global page structure and translated pages next to each other.
All of these solutions bring different maintainability issues.
Additional context
I don't have a good idea how to map page translation files yet. One option would be the convention to use Title.<language-code>.md as filenames. But that would bring the problem how to translate page titles, as currently the page title is hardcoded in the markdown filename.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points; start by locating how collective settings, Markdown filenames, page titles, and browser locale handling currently work. Define the translation mapping, language selection and fallback, source-page updates, and outdated status before implementation. Done means an optional per-collective translation feature supports switching languages and documented fallback behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, markdown
- Domain
- documentation, internationalization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100