This document lists all available translations of the RabbitStream documentation and provides guidelines for contributing new translations.
| Language | Code | Status | Maintainer |
|---|---|---|---|
| English | en |
Available (full documentation) | CrazyGoat Team |
The following languages are planned for future translation:
- Polish (
pl) - Spanish (
es) - French (
fr) - German (
de)
RabbitStream documentation uses a hybrid approach for internationalization:
Root-level index files use the file-suffix convention:
index.md- Default language (English)index.pl.md- Polish translationindex.es.md- Spanish translationindex.fr.md- French translation
Language-specific content is organized in subdirectories:
docs/
├── index.md # English (default)
├── index.pl.md # Polish translation
├── LANGUAGES.md # This file
├── en/ # English content
│ ├── getting-started/
│ ├── guide/
│ └── ...
└── pl/ # Polish content (future)
├── getting-started/
├── guide/
└── ...
We welcome contributions for new language translations! Here's how to add a new language:
Before starting work, create an issue on GitHub to:
- Announce your intention to translate
- Coordinate with other contributors
- Get guidance from maintainers
git checkout -b docs/translation-{language-code}Create the language directory and copy the English structure:
mkdir -p docs/{language-code}/getting-started
cp docs/en/getting-started/*.md docs/{language-code}/getting-started/
# Repeat for all subdirectories- Translate all
.mdfiles in your language directory - Keep the same file names (only content changes)
- Maintain the same structure and headers
- Update code examples if necessary for your language community
Create docs/index.{language-code}.md as a translation of docs/index.md.
Add your language to the "Currently Available Languages" table.
- Include "[i18n]" in the PR title
- Reference the issue you created
- Note the percentage of content translated
- Keep protocol-specific terms in English (e.g., "stream", "offset", "publisher", "consumer")
- Translate high-level concepts (e.g., "Getting Started" → "Primeros Pasos" in Spanish)
- Keep code examples in English (class names, method names, variables)
Code examples should generally remain in English since:
- PHP code uses English keywords
- Class and method names are in English
- This ensures code can be copied and used directly
However, you may add comments in your language to explain the code.
- Update internal links to point to your language directory
- Keep external links as-is (RabbitMQ docs, PHP.net, etc.)
Translations should be kept in sync with the English documentation:
- Watch the repository for changes
- When English docs are updated, update your translation
- Mark pages with a "Last Updated" date
- Note if a translation is outdated
To check the status of a translation:
# Count total English files
find docs/en -name "*.md" | wc -l
# Count translated files
find docs/{language-code} -name "*.md" | wc -lIf you have questions about translations:
- Check existing translations for examples
- Ask in the GitHub issue for your translation
- Contact the maintainers
Thank you for helping make RabbitStream documentation accessible to more developers!