Get involved

Do you want to make Zettlr an even better app? That's great! Whether you are a user, want to provide a new translation, or get into development of the application, you've come to the right place!

General Resources

Zettlr has a vibrant community helping each other all around the net. The following list contains the common places to start for any issue you might have.

  • Zettlr Discord — The Zettlr Discord is a place for the Discordians (there doesn’t appear to be an official term).
  • Zettlr subreddit — The Zettlr subreddit is meant for the Redditors in the community.
  • The official Mastodon account – Here you can follow the updates to the app in real time. It's the only place where we regularly announce everythnig we do. Additionally, we engage in most discussions, so if you have questions, you can drop them here.
  • The official Twitter account — Same as our Mastodon account.
  • Our YouTube channel — If you are more the visual type, you can find some introductory videos here. Note that we do not regularly maintain the channel, so the videos may be outdated.
  • GitHub Discussions — a slightly more modern version of classic internet forums.
  • The GitHub issue tracker — This is the core of our endeavours to make the app better. If you spot a bug, have a suggestion or want to propose a feature, here's the right place. Nevertheless, especially when it comes to questions regarding the user workflow or new features, it's best to discuss your ideas on the GitHub Discussions section or on Discord first.

User Contributions

As a user who wants a good looking, well-working writing app, just keep your eyes open for any error the app might produce and, more importantly, tell us how to make the workflow more efficient! We can only judge for our own workflow, so to make the app better for you as well, we need to know how. Always remember: We cannot build a workflow as-is into the design but have to make concessions to other workflows, but we'll try to make features more accessible or working smoother as long as the trade-offs for the existing workflows and the new suggestion are not too hard.

Please report bugs by opening up issues on the GitHub repository. This way we are able to to quickly respond to the report and directly get to handle the problem.

Translating the App

We welcome any help in translating the app in all languages of this planet. Zettlr utilizes the gettext system for translating content.

Translations are maintained alongside the source code of this app in our repository. To translate, you will need a GitHub account, but it does not require technical knowledge.

Note

If you do possess technical knowledge, you can also skip the explanations below and clone the repository directly.

To improve a translation, head over to the static/lang-folder and download the *.po-file that corresponds to the language code you want to improve (e.g., pt-BR.po for Brazilian Portuguese).

After you have downloaded the file, you'll need a program to modify the translations. We recommend the application POedit. It also offers a "pro" version, but you will not need that to translate.

Once you have modified the translation to your liking, it is time to add the translations to the application. To do so, follow the steps in this excellent guide on how to propose changes on GitHub.

Creating a new translation

If you wish to create a translation for a language that does not yet exist, the process is a little bit more involved.

Note

If you do not trust your own skills in creating a new translation, please get in contact with us. We will happily create the corresponding file for you so that you can then follow the simpler steps above.

  1. To create a new translation file, ensure the gettext system is installed on your computer
  2. Clone the repository: git clone https://github.com/Zettlr/Zettlr.git
  3. Move into the directory: cd Zettlr
  4. Run the initialization command, replacing <lang> with the corresponding language code, e.g., "pt-BR" or "de-DE": msginit --input=static/i18n.pot --locale=<lang> --output=static/lang/<lang>.po
  5. A new file called <lang>.po should have appeared in the translation directory. Proceed to translate and then open a PR.

Developing

To start developing, fork the repository, work on your features, bug fixes, etc. and then open pull-requests. Please remember to only open PRs against the develop branch! The master-branch is only pushed to once a new release is being drafted. So if you are developing a new feature and a new version of Zettlr is released, you can simply pull the upstream master to be up to date again and continue writing your feature.

If you are beginning to work on something, remember to announce this on the issue tracker so that we know what is being worked on.

Note

The development guide can be found in our README, including setup instructions and a documentation of available commands.