Add Turkish translation for Django messages#991
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request adds Turkish translation support for Django messages in the django-celery-beat package. The translation includes both the human-readable .po file and the compiled binary .mo file.
Changes:
- Added Turkish translation file (
django.po) with 543 lines containing translations for all Django messages in the application - Added compiled message catalog (
django.mo) for runtime use
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| django_celery_beat/locale/tr/LC_MESSAGES/django.po | Turkish translation file containing translations for all user-facing strings including task management, scheduling, and administrative messages |
| django_celery_beat/locale/tr/LC_MESSAGES/django.mo | Compiled binary message catalog generated from the .po file for runtime message lookups |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| msgid "" | ||
| "Datetime that the schedule last triggered the task to run. Reset to None if " | ||
| "enabled is set to False." | ||
| msgstr "" | ||
| "Zamanlamanın görevi çalıştırmak için son tetiklediği tarih saat. Etkin False ayarlanırsa None'a sıfırlayın." |
There was a problem hiding this comment.
In the translation "Zamanlamanın görevi çalıştırmak için son tetiklediği tarih saat. Etkin False ayarlanırsa None'a sıfırlayın.", the phrase "Etkin False ayarlanırsa" mixes Turkish with the English word "False". It would be more consistent to either keep "False" as a technical term in quotes or use a Turkish equivalent. Consider: "Etkinleştirilme durumu False olarak ayarlanırsa None'a sıfırlanır." for better clarity.
There was a problem hiding this comment.
can you please cross check this?
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #991 +/- ##
=======================================
Coverage 88.18% 88.18%
=======================================
Files 32 32
Lines 1007 1007
Branches 105 105
=======================================
Hits 888 888
Misses 101 101
Partials 18 18 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| #: django_celery_beat/admin.py:82 | ||
| msgid "Need name of task" | ||
| msgstr "Görev adı gerekli" | ||
|
|
||
| #: django_celery_beat/admin.py:88 django_celery_beat/models.py:638 | ||
| msgid "Only one can be set, in expires and expire_seconds" | ||
| msgstr "expires ve expire_seconds'ten sadece biri ayarlanabilir" | ||
|
|
||
| #: django_celery_beat/admin.py:98 | ||
| #, python-format | ||
| msgid "Unable to parse JSON: %s" | ||
| msgstr "JSON ayrıştırılamıyor: %s" | ||
|
|
||
| #: django_celery_beat/admin.py:127 | ||
| msgid "Schedule" | ||
| msgstr "Zamanlama" | ||
|
|
||
| #: django_celery_beat/admin.py:132 | ||
| msgid "Arguments" | ||
| msgstr "Argümanlar" | ||
|
|
||
| #: django_celery_beat/admin.py:136 | ||
| msgid "Execution Options" | ||
| msgstr "Çalıştırma Seçenekleri" | ||
|
|
||
| #: django_celery_beat/admin.py:174 | ||
| msgid "Enable selected tasks" | ||
| msgstr "Seçili görevleri etkinleştir" | ||
|
|
||
| #: django_celery_beat/admin.py:182 | ||
| #, python-brace-format | ||
| msgid "{0} task was successfully enabled" | ||
| msgid_plural "{0} tasks were successfully enabled" | ||
| msgstr[0] "{0} görev başarıyla etkinleştirildi" | ||
| msgstr[1] "{0} görev başarıyla etkinleştirildi" | ||
|
|
||
| #: django_celery_beat/admin.py:189 | ||
| msgid "Disable selected tasks" | ||
| msgstr "Seçili görevleri devre dışı bırak" | ||
|
|
||
| #: django_celery_beat/admin.py:197 | ||
| #, python-brace-format | ||
| msgid "{0} task was successfully disabled" | ||
| msgid_plural "{0} tasks were successfully disabled" | ||
| msgstr[0] "{0} görev başarıyla devre dışı bırakıldı" | ||
| msgstr[1] "{0} görev başarıyla devre dışı bırakıldı" | ||
|
|
||
| #: django_celery_beat/admin.py:210 | ||
| msgid "Toggle activity of selected tasks" | ||
| msgstr "Seçili görevlerin etkinliğini değiştir" | ||
|
|
||
| #: django_celery_beat/admin.py:218 | ||
| #, python-brace-format | ||
| msgid "{0} task was successfully toggled" | ||
| msgid_plural "{0} tasks were successfully toggled" | ||
| msgstr[0] "{0} görev başarıyla değiştirildi" | ||
| msgstr[1] "{0} görev başarıyla değiştirildi" | ||
|
|
||
| #: django_celery_beat/admin.py:225 | ||
| msgid "Run selected tasks" | ||
| msgstr "Seçili görevleri çalıştır" | ||
|
|
||
| #: django_celery_beat/admin.py:246 | ||
| #, python-brace-format | ||
| msgid "task \"{not_found_task_name}\" not found" | ||
| msgstr "\"{not_found_task_name}\" görevi bulunamadı" | ||
|
|
||
| #: django_celery_beat/admin.py:269 | ||
| #, python-brace-format | ||
| msgid "{0} task{1} {2} successfully run" | ||
| msgstr "{0} görev{1} {2} başarıyla çalıştırıldı" | ||
|
|
||
| #: django_celery_beat/admin.py:272 | ||
| msgid "was,were" | ||
| msgstr "çalıştırıldı,çalıştırıldı" | ||
|
|
||
| #: django_celery_beat/admin.py:284 | ||
| msgid "Periodic Tasks Using This Schedule" | ||
| msgstr "Bu Zamanlamayı Kullanan Periyodik Görevler" | ||
|
|
||
| #: django_celery_beat/apps.py:13 | ||
| msgid "Periodic Tasks" | ||
| msgstr "Periyodik Görevler" | ||
|
|
||
| #: django_celery_beat/models.py:31 | ||
| msgid "Days" | ||
| msgstr "Gün" | ||
|
|
||
| #: django_celery_beat/models.py:32 | ||
| msgid "Hours" | ||
| msgstr "Saat" | ||
|
|
||
| #: django_celery_beat/models.py:33 | ||
| msgid "Minutes" | ||
| msgstr "Dakika" | ||
|
|
||
| #: django_celery_beat/models.py:34 | ||
| msgid "Seconds" | ||
| msgstr "Saniye" | ||
| #: django_celery_beat/models.py:35 | ||
| msgid "Microseconds" | ||
| msgstr "Mikrosaniye" | ||
|
|
||
| #: django_celery_beat/models.py:39 | ||
| msgid "Day" | ||
| msgstr "Gün" | ||
|
|
||
| #: django_celery_beat/models.py:40 | ||
| msgid "Hour" | ||
| msgstr "Saat" | ||
|
|
||
| #: django_celery_beat/models.py:41 | ||
| msgid "Minute" | ||
| msgstr "Dakika" | ||
|
|
||
| #: django_celery_beat/models.py:42 | ||
| msgid "Second" | ||
| msgstr "Saniye" | ||
| #: django_celery_beat/models.py:43 | ||
| msgid "Microsecond" | ||
| msgstr "Mikrosaniye" | ||
|
|
||
| #: django_celery_beat/models.py:47 | ||
| msgid "Astronomical dawn" | ||
| msgstr "Astronomik şafak" | ||
|
|
||
| #: django_celery_beat/models.py:48 | ||
| msgid "Civil dawn" | ||
| msgstr "Sivil şafak" | ||
|
|
||
| #: django_celery_beat/models.py:49 | ||
| msgid "Nautical dawn" | ||
| msgstr "Denizcilik şafağı" | ||
|
|
||
| #: django_celery_beat/models.py:50 | ||
| msgid "Astronomical dusk" | ||
| msgstr "Astronomik alacakaranlık" | ||
|
|
||
| #: django_celery_beat/models.py:51 | ||
| msgid "Civil dusk" | ||
| msgstr "Sivil alacakaranlık" | ||
|
|
||
| #: django_celery_beat/models.py:52 | ||
| msgid "Nautical dusk" | ||
| msgstr "Denizcilik alacakaranlığı" | ||
|
|
||
| #: django_celery_beat/models.py:53 | ||
| msgid "Solar noon" | ||
| msgstr "Öğle vakti" | ||
|
|
||
| #: django_celery_beat/models.py:54 | ||
| msgid "Sunrise" | ||
| msgstr "Gündoğumu" | ||
| #: django_celery_beat/models.py:55 | ||
| msgid "Sunset" | ||
| msgstr "Günbatımı" | ||
|
|
||
| #: django_celery_beat/models.py:89 | ||
| msgid "Solar Event" | ||
| msgstr "Güneş Olayı" | ||
| #: django_celery_beat/models.py:90 |
There was a problem hiding this comment.
Multiple translation entries are missing blank lines between them (e.g., lines 27, 126, 145, 180, 187). PO file format conventions require blank lines between consecutive msgid/msgstr blocks for better readability and standard compliance. Consider running the file through msgcat or a similar PO file formatter to fix these formatting issues.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
No description provided.