|
| 1 | +# Translation Guide for Python Deadlines |
| 2 | + |
| 3 | +[](https://crowdin.com/project/python-deadlines) |
| 4 | + |
| 5 | +Thank you for your interest in helping translate the Python Deadlines website! This document explains how to contribute translations using Crowdin. |
| 6 | + |
| 7 | +## What is Crowdin? |
| 8 | + |
| 9 | +[Crowdin](https://crowdin.com) is a localization management platform that helps us manage translations for the Python Deadlines website. It provides a user-friendly interface for translators to contribute without needing to understand Git or the technical structure of the project. |
| 10 | + |
| 11 | +## How to Join as a Translator |
| 12 | + |
| 13 | +1. Visit our Crowdin project at [https://crowdin.com/project/python-deadlines](https://crowdin.com/project/python-deadlines) (Note: Update this URL with your actual project link) |
| 14 | +2. Create a Crowdin account or sign in if you already have one |
| 15 | +3. Select the language you want to translate to |
| 16 | +4. Start translating! |
| 17 | + |
| 18 | +## Project Structure |
| 19 | + |
| 20 | +The Python Deadlines website uses Jekyll's internationalization features. Here's how the translation files are structured: |
| 21 | + |
| 22 | +- `_i18n/en.yml`: Main language file containing UI strings |
| 23 | +- `_i18n/en/*.md`: Markdown files for specific sections |
| 24 | +- `_i18n/en/_posts/`: Blog post content |
| 25 | +- `_i18n/en/search`, `_i18n/en/footer`, etc.: Section-specific content |
| 26 | + |
| 27 | +## Translation Guidelines |
| 28 | + |
| 29 | +### General Tips |
| 30 | + |
| 31 | +1. **Maintain the same formatting**: Preserve Markdown formatting, HTML tags, and variables (like `{% t ... %}` or `{{ ... }}`) |
| 32 | +2. **Be consistent**: Use consistent terminology throughout your translations |
| 33 | +3. **Keep the same meaning**: Focus on conveying the same meaning rather than translating word-for-word |
| 34 | +4. **Respect context**: Pay attention to the context in which a string appears |
| 35 | +5. **Test your translations**: If possible, test how your translations look on the site |
| 36 | + |
| 37 | +### Variables and Special Syntax |
| 38 | + |
| 39 | +When translating, be careful with: |
| 40 | + |
| 41 | +- **Jekyll Liquid tags**: Tags like `{% t ... %}`, `{{ ... }}`, `{% include ... %}` should remain unchanged |
| 42 | +- **HTML tags**: Keep all HTML tags (e.g., `<div>`, `<span>`, `<a href="...">`) intact |
| 43 | +- **Pluralization**: Some languages have different forms based on count; Crowdin supports handling these cases |
| 44 | + |
| 45 | +### Date and Time Formats |
| 46 | + |
| 47 | +Pay attention to date and time formats that may be different in your language. The website uses Luxon for date/time formatting. |
| 48 | + |
| 49 | +## Translation Workflow |
| 50 | + |
| 51 | +1. **String Translation**: Translate strings in the Crowdin interface |
| 52 | +2. **Review**: Translations are reviewed by language moderators |
| 53 | +3. **Integration**: Approved translations are automatically synced to the GitHub repository |
| 54 | +4. **Deployment**: Once merged into the main branch, translations are deployed to the live site |
| 55 | + |
| 56 | +## Testing Your Translations |
| 57 | + |
| 58 | +If you would like to test your translations locally before submitting: |
| 59 | + |
| 60 | +1. Clone the repository: `git clone https://github.com/JesperDramsch/python-deadlines.git` |
| 61 | +2. Install Jekyll and dependencies: `bundle install` |
| 62 | +3. Run the site locally: `bundle exec jekyll serve` |
| 63 | +4. Visit `http://localhost:4000/{language-code}/` to see the site in your language |
| 64 | + |
| 65 | +## Supported Languages |
| 66 | + |
| 67 | +Currently, Python Deadlines is being translated into: |
| 68 | + |
| 69 | +- English (source language) |
| 70 | +- Spanish (es) |
| 71 | +- German (de) |
| 72 | +- French (fr) |
| 73 | +- Portuguese (Brazilian) (pt-br) |
| 74 | +- Chinese (Simplified) (zh-cn) |
| 75 | +- Russian (ru) |
| 76 | +- Indonesian (id) |
| 77 | +- Hindi (hi) |
| 78 | + |
| 79 | +If you would like to add a new language, please contact the project maintainers. |
| 80 | + |
| 81 | +## Contact |
| 82 | + |
| 83 | +If you have any questions or issues related to translation, please: |
| 84 | + |
| 85 | +- Open an issue on GitHub |
| 86 | + |
| 87 | +Thank you for helping make Python Deadlines accessible to a wider audience! |
0 commit comments