Skip to content

Commit 0c8df2e

Browse files
committed
docs(i18n): add translation guide and crowdin project
1 parent 75753c1 commit 0c8df2e

File tree

2 files changed

+112
-1
lines changed

2 files changed

+112
-1
lines changed

README.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Python Deadlines
22

3-
[![pages-build-deployment](https://github.com/JesperDramsch/python-deadlines/actions/workflows/pages/pages-build-deployment/badge.svg?branch=gh-pages)](https://github.com/JesperDramsch/python-deadlines/actions/workflows/pages/pages-build-deployment) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/jesperdramsch/python-deadlines) [![All Contributors](https://img.shields.io/github/all-contributors/jesperdramsch/python-deadlines?color=ee8449)](#contributors) ![GitHub Repo stars](https://img.shields.io/github/stars/jesperdramsch/python-deadlines)
3+
[![pages-build-deployment](https://github.com/JesperDramsch/python-deadlines/actions/workflows/pages/pages-build-deployment/badge.svg?branch=gh-pages)](https://github.com/JesperDramsch/python-deadlines/actions/workflows/pages/pages-build-deployment) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/jesperdramsch/python-deadlines) [![All Contributors](https://img.shields.io/github/all-contributors/jesperdramsch/python-deadlines?color=ee8449)](#contributors) ![GitHub Repo stars](https://img.shields.io/github/stars/jesperdramsch/python-deadlines) [![Crowdin](https://badges.crowdin.net/python-deadlines/localized.svg)](https://crowdin.com/project/python-deadlines)
44

55
Countdown timers to keep track of a bunch of Python conference deadlines.
66

@@ -130,6 +130,30 @@ I mainly run the `main.py` and `sort_yaml.py` to get new entries and move old en
130130
- [se-deadlines.github.io (Software engineering conferences)][20] by @sivanahamer and @imranur-rahman
131131
- [awesome-mlss (Machine Learning Summer Schools)][21] by @sshkhr and @gmberton
132132

133+
## Translations
134+
135+
Python Deadlines is available in multiple languages to make Python conference information accessible to a global audience. We use [Crowdin](https://crowdin.com) to manage our translations.
136+
137+
### Currently Supported Languages
138+
139+
- English (en)
140+
- Spanish (es)
141+
- German (de)
142+
- French (fr)
143+
- Portuguese (Brazilian) (pt-br)
144+
- Chinese (Simplified) (zh-cn)
145+
- Russian (ru)
146+
- Indonesian (id)
147+
- Hindi (hi)
148+
149+
### Contributing to Translations
150+
151+
We welcome contributions to translate Python Deadlines into more languages! You don't need to be a developer or understand Git to help with translations.
152+
153+
For detailed instructions on how to contribute translations, please see our [Translation Guide (TRANSLATION.md)](TRANSLATION.md).
154+
155+
If you'd like to add support for a new language, please open an issue.
156+
133157
## Contributors
134158

135159
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->

TRANSLATION.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Translation Guide for Python Deadlines
2+
3+
[![Crowdin](https://badges.crowdin.net/python-deadlines/localized.svg)](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

Comments
 (0)