Binary is developed using GTK4, Libadwaita and Python3 using PyGObject. I recommend using GNOME Builder from Flathub for development, as it automatically manages building Binary, testing it in a Flatpak and contains the runtimes and build dependencies needed.
Every time a new string is added, it's recommended to run the update_translations.sh script. This automatically updates potfiles to accomodate for new strings, as well as for other ones moving on to different lines of code. Credit to Gregor Niehl and TheEvilSkeleton for this script.
Note: the version in the Builder runtime terminal does not properly detect the translate="no" property, you should use meson on your host system or using a container instead.
Binary uses Weblate for translations, which provides a graphical UI for translations without needing to manually edit code. If unsure, use that as it's generally easier for everyone. More experienced users who prefer to do so can also manually edit potfiles, but please be mindful of other people's work when doing this.
Remember to add your name as a translation to "translator-credits" in main.py for credit!
This project does not allow contributions generated by large languages models (LLMs) and chatbots. This ban includes, but is not limited to, tools like ChatGPT, Claude, Copilot, DeepSeek, and Devin AI. We are taking these steps as precaution due to the potential negative influence of AI generated content on quality, as well as likely copyright violations.
This ban of AI generated content applies to all parts of the projects, including, but not limited to, code, documentation, issues, and artworks. An exception applies for purely translating texts for issues and comments to English.
AI tools can be used to answer questions and find information. However, we encourage contributors to avoid them in favor of using existing documentation and our chats and forums. Since AI generated information is frequently misleading or false, we cannot supply support on anything referencing AI output.
Credit: Loupe