Thank you for your interest in contributing! Join the Plugin: Jitsi channel on the Mattermost community server for discussion about this plugin.
If you think you've found a bug, please use the GitHub issue tracker to open an issue. To help us troubleshoot the issue, please provide the required information in the issue template.
The Mattermost Jitsi plugin supports localization to various languages. We as maintainers rely on contributors to help with the translations.
The plugin uses go-i18n as library and tool to manage translation. The CLI tool goi18n
is required to manage translation. You can install it by running env GO111MODULE=off go get -u github.com/nicksnyder/go-i18n/v2/goi18n
.
The localization process is defined below:
- During development, new translation strings may be added or existing ones updated.
- When a new version is planned to release soon, a repository maintainer opens an issue informing about the new release and mentions all translation maintainers in the issue.
- Translation maintainers submit PRs with new translations, which may get reviewed by other translators.
- After all translation PRs are merged, the new version is released. If a translation PR is not submitted within a week, the release is cut without it.
Note: We use the German locale (de
) in this example. When translating to a new language, replace de
in the following commands with the locale you want to translate. See available locales.
-
Open your teminal window and create a translation file:
touch asserts/i18n/translate.de.json
-
Merge all current messages into your translation file:
make i18n-extract-server
-
Translate all messages in
asserts/i18n/translate.de.json
. -
Merge the translated messages into the active message files:
make i18n-merge-server
-
Add your language to the list of supported languages in
README.md
and add yourself to the list of translation maintainers inCONTRIBUTING.md
. -
Submit a PR with these files.
Once you've submitted a PR, your changes will be reviewed. Big thank you for your contribution!
-
Ensure all translation messages are correctly extracted:
make i18n-extract-server
-
Translate all messages in
asserts/i18n/translate.*.json
for the languages you are comfortable with. -
Merge the translated messages into the active message files:
make i18n-merge-server
-
Commit only the language files you edited and submit a PR.
If you're contributing a feature, please open a feature request first. This enables the feature to be discussed and fully specified before you start working on it. Small code changes can be submitted without opening an issue.
Note that this project uses Go modules. Be sure to locate the project outside of $GOPATH
, or allow the use of Go modules within your $GOPATH
with an export GO111MODULE=on
.
You can view open help wanted issues to get started with contributing to the plugin.
This plugin contains both a server and web app portion. Read our documentation about the Developer Workflow and Developer Setup for more information about developing and extending plugins.