Translations
ExApps translations work in the same way as for PHP apps with a few adjustments and differences.
In short, you just have to provide the l10n/<lang>.js
(for front-end) and l10n/<lang>.json
(for back-end) files for your app.
Front-end
For the front-end part, AppAPI will inject the current user’s locale l10n/<lang>.js
script, so that access to translated strings in kept the same as was before in PHP apps.
Note
ExApp l10n files are included only on the ExApp UI pages (Top Menu), Files (for FileAction) and Settings (for DeclarativeSettings).
Back-end
For the back-end part of ExApp, which can be written in different programming languages, it is up to the developer to decide how to handle and translations files. There is an example repository with translations: UI example with translations.
Manual install
For the manual-install
type, an administrator will have to manually extract to the server’s writable apps directory l10n
folder of the ExApp
(e.g. /path/to/apps-writable/<appid>/l10n/*.(js|json)
).
This will allow the server to access the ExApp’s strings with translations.
Note
Only the l10n
folder must be present on the server side; appinfo/info.xml
could lead to misdetection by the server as a PHP app folder.
Docker install
For the docker-install
type, AppAPI will extract the l10n
folder to the server automatically during installation from the ExApp release archive.
Translation tool
To add support for your language in Nextcloud translationtool,
feel free to create an issue in the nextcloud/docker-ci repository
or open a pull request with the changes made in the createPotFile
function to extract and convert translation strings.