diff --git a/Contributing.md b/Contributing.md index 3028c3d..d62fad6 100644 --- a/Contributing.md +++ b/Contributing.md @@ -49,7 +49,15 @@ Help improve documentation by: - Fixing typos or unclear explanations - Adding examples - Updating outdated information -- Translating to other languages + +## Translations + +Help make Roster available in your language! See [[Translation]] for a simple guide on how to: +- Download the translation template +- Translate using Poedit or another editor +- Submit your translation via pull request + +No programming or building required - just translate and submit! ## Questions diff --git a/Home.md b/Home.md index 1a469d2..55b1f69 100644 --- a/Home.md +++ b/Home.md @@ -33,6 +33,7 @@ Roster is a native GNOME application for testing and debugging HTTP APIs with su ### Development - [[Contributing]] - How to contribute to Roster +- [[Translation]] - Help translate Roster to your language - [[Development]] - Developer documentation - [[Architecture]] - Technical overview diff --git a/Translation.md b/Translation.md index 55d57c5..b11ea4a 100644 --- a/Translation.md +++ b/Translation.md @@ -1,87 +1,55 @@ # Translation Guide -Roster uses standard GNOME gettext infrastructure for internationalization (i18n). +Help translate Roster to your language! The process is simple. -## Quick Start for Translators +## For Translators -### 1. Generate the Translation Template +### 1. Download the Translation Template -From the project root, after setting up the build: +Get the latest template file from the repository: +- File location: `po/roster.pot` +- Direct link: https://git.bugsy.cz/beval/roster/-/raw/master/po/roster.pot -```bash -meson setup builddir -ninja -C builddir roster-pot -``` +### 2. Create Your Translation -This creates `po/roster.pot` with all translatable strings. - -### 2. Create Your Language Translation - -```bash -cd po -msginit -l LANG_CODE -o LANG_CODE.po -i roster.pot -``` - -Replace `LANG_CODE` with your language code (e.g., `cs_CZ` for Czech, `de` for German, `fr` for French). - -### 3. Translate the Strings - -Edit the `.po` file with a translation editor: -- **GNOME Translation Editor** (gtranslator) - recommended -- **Poedit** +Open the `.pot` file with any translation editor: +- **Poedit** (recommended for beginners) - https://poedit.net +- **GNOME Translation Editor** (gtranslator) - **Lokalize** (KDE) -- Any text editor -### 4. Register Your Translation +The editor will ask for your language - choose it and start translating! -Add your language code to `po/LINGUAS` (keep alphabetically sorted): +### 3. Submit Your Translation -``` -cs_CZ -de -fr -``` +Once finished, submit your `.po` file: -### 5. Test Your Translation +**Option A: Pull Request** (preferred) +1. Fork the repository +2. Add your `LANGUAGE.po` file to the `po/` folder +3. Add your language code to `po/LINGUAS` (one per line, alphabetically sorted) +4. Create a pull request -```bash -ninja -C builddir -ninja -C builddir install -LANG=your_LANG_CODE.UTF-8 roster -``` +**Option B: Issue Attachment** +- Create an issue at https://git.bugsy.cz/beval/roster/issues +- Attach your `.po` file +- Mention your language code (e.g., `cs`, `de`, `fr`) -## What Gets Translated - -The translation system covers: - -- Application UI (window.ui, dialogs) -- Menu items and labels -- Desktop file (application name, description, keywords) -- AppStream metadata (for software centers) -- GSettings schema (settings descriptions) -- Python source strings (error messages, notifications) - -## Updating Translations - -When the application changes: - -```bash -ninja -C builddir roster-update-po -``` - -This updates all `.po` files with new/changed strings. +That's it! No need to build or test - the maintainer will handle the rest. ## Language Codes -Use standard locale codes: -- Two-letter: `de`, `fr`, `es`, `it` -- With country: `pt_BR`, `zh_CN`, `en_GB` +Use standard codes: +- Two letters: `cs`, `de`, `fr`, `es`, `it`, `pl` +- With region: `pt_BR`, `zh_CN`, `en_GB` -## Contributing +## What Gets Translated -Submit translations via: -1. Pull request to the repository -2. Issue on GitHub/GitLab with attached `.po` file -3. Email to maintainer +Your translation covers: +- Application interface and menus +- Button labels and tooltips +- Error messages +- Application name and description (in app stores) -See [Contributing](Contributing.md) for more details. +## Questions? + +See [[Contributing]] or open an issue if you need help!