Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 12 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Flask-Admin is now part of Pallets-Eco, an open source organization managed by t
Pallets team to facilitate community maintenance of Flask extensions. Please update
your references to `https://github.com/pallets-eco/flask-admin.git`.

[![image](https://d322cqt584bo4o.cloudfront.net/flask-admin/localized.svg)](https://crowdin.com/project/flask-admin) [![image](https://github.com/pallets-eco/flask-admin/actions/workflows/tests.yaml/badge.svg?branch=master)](https://github.com/pallets-eco/flask-admin/actions/workflows/test.yaml)
[![image](https://github.com/pallets-eco/flask-admin/actions/workflows/tests.yaml/badge.svg?branch=master)](https://github.com/pallets-eco/flask-admin/actions/workflows/test.yaml)

## Pallets Community Ecosystem

Expand Down Expand Up @@ -181,5 +181,14 @@ Flask-Admin is built with the help of
If you want to localize your application, install the
[Flask-Babel](https://pypi.python.org/pypi/Flask-Babel) package.

You can help improve Flask-Admin\'s translations through Crowdin:
<https://crowdin.com/project/flask-admin>
You can help improve Flask-Admin\'s translations by opening a PR.
## As a developer who's changed some text in Flask-Admin
```bash
uv sync --group docs
cd babel
./babel.sh --update
```

## As a translator who's updated some `.po`/`.mo` files
Run `cd babel`
Run `./babel.sh`
7 changes: 6 additions & 1 deletion babel/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
# Working with Babel translations

```bash
uv sync --group docs
```
## As a developer who's changed some text in Flask-Admin

Run `./babel.sh --update`

## As a translator who wants to find missing translations
Run `awk '/^msgid / {msgid=substr($0, 8, length($0)-8)} /^msgstr ""$/ {print msgid}' file.po`

## As a translator who's updated some `.po`/`.mo` files

Run `./babel.sh`
2 changes: 1 addition & 1 deletion babel/admin.pot
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Flask-Admin VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-06-29 17:49+0100\n"
"POT-Creation-Date: 2025-07-21 20:04+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
30 changes: 0 additions & 30 deletions babel/crowdin_pull.sh

This file was deleted.

3 changes: 0 additions & 3 deletions babel/crowdin_push.sh

This file was deleted.

3 changes: 1 addition & 2 deletions flask_admin/translations/README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
Translations are ONLY handled through Crowdin!
https://crowdin.com/project/flask-admin
Translations were moved from crowdin to PR requests only!
Binary file modified flask_admin/translations/af/LC_MESSAGES/admin.mo
Binary file not shown.
34 changes: 17 additions & 17 deletions flask_admin/translations/af/LC_MESSAGES/admin.po
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ msgstr ""
"Project-Id-Version: flask-admin\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-06-03 07:06+0100\n"
"PO-Revision-Date: 2017-02-07 01:19-0500\n"
"Last-Translator: mrjoes <serge.koval@gmail.com>\n"
"PO-Revision-Date: 2025-07-07 20:12-0500\n"
"Last-Translator: ElLorans <lorenzo.cerreta@gmail.com>\n"
"Language: af_ZA\n"
"Language-Team: Afrikaans\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
Expand Down Expand Up @@ -209,7 +209,7 @@ msgstr "Wysig"

#: ../flask_admin/contrib/fileadmin/s3.py:233
msgid "Cannot operate on non empty directories"
msgstr ""
msgstr "Kan nie op nie-leë gidse werk nie"

#: ../flask_admin/contrib/peewee/filters.py:47
#: ../flask_admin/contrib/pymongo/filters.py:49
Expand Down Expand Up @@ -324,11 +324,11 @@ msgstr "Nie 'n geldige keuse"

#: ../flask_admin/contrib/sqla/fields.py:245
msgid "Key"
msgstr ""
msgstr "Sleutel"

#: ../flask_admin/contrib/sqla/fields.py:246
msgid "Value"
msgstr ""
msgstr "Waarde"

#: ../flask_admin/contrib/sqla/validators.py:43
msgid "Already exists."
Expand All @@ -343,11 +343,11 @@ msgstr[1] "Ten minste %(num)d items vereis"

#: ../flask_admin/contrib/sqla/validators.py:98
msgid "Not a valid ISO currency code (e.g. USD, EUR, CNY)."
msgstr ""
msgstr "Nie 'n geldige ISO-geldeenheidkode nie (bv. USD, EUR, CNY)."

#: ../flask_admin/contrib/sqla/validators.py:109
msgid "Not a valid color (e.g. \"red\", \"#f00\", \"#ff0000\")."
msgstr ""
msgstr "Nie 'n geldige kleur nie (bv. \"red\", \"#f00\", \"#ff0000\")."

#: ../flask_admin/contrib/sqla/view.py:1317
#, python-format
Expand All @@ -372,7 +372,7 @@ msgstr "Ongeldig lêer uitbreiding"

#: ../flask_admin/form/validators.py:18
msgid "This field requires at least one item."
msgstr ""
msgstr "Hierdie veld vereis ten minste een item."

#: ../flask_admin/model/base.py:1924
msgid "There are no items in the table."
Expand All @@ -399,7 +399,7 @@ msgstr "Rekord suksesvol gestoor."
#: ../flask_admin/model/base.py:2656
#, python-format
msgid "Export type \"%(type)s\" not supported."
msgstr ""
msgstr "Uitvoertipe \"%(type)s\" word nie ondersteun nie."

#: ../flask_admin/model/filters.py:121 ../flask_admin/model/widgets.py:128
msgid "Yes"
Expand Down Expand Up @@ -427,11 +427,11 @@ msgstr "Rekord Wysig"
#: ../flask_admin/model/template.py:114
#: ../flask_admin/templates/bootstrap4/admin/model/row_actions.html:34
msgid "Delete Record"
msgstr ""
msgstr "Vee Rekord uit"

#: ../flask_admin/model/widgets.py:71
msgid "Please select model"
msgstr ""
msgstr "Kies asseblief model"

#: ../flask_admin/templates/bootstrap4/admin/actions.html:5
msgid "With selected"
Expand All @@ -449,11 +449,11 @@ msgstr "Kanselleer"

#: ../flask_admin/templates/bootstrap4/admin/lib.html:290
msgid "Save and Add Another"
msgstr ""
msgstr "Stoor en voeg nog een by"

#: ../flask_admin/templates/bootstrap4/admin/lib.html:293
msgid "Save and Continue Editing"
msgstr ""
msgstr "Stoor en gaan voort met redigering"

#: ../flask_admin/templates/bootstrap4/admin/file/list.html:10
msgid "Root"
Expand Down Expand Up @@ -504,7 +504,7 @@ msgstr "Skep"
#: ../flask_admin/templates/bootstrap4/admin/model/details.html:21
#: ../flask_admin/templates/bootstrap4/admin/model/edit.html:26
msgid "Details"
msgstr ""
msgstr "Besonderhede"

#: ../flask_admin/templates/bootstrap4/admin/model/details.html:28
#: ../flask_admin/templates/bootstrap4/admin/model/modals/details.html:15
Expand All @@ -523,7 +523,7 @@ msgstr "Is jy seker jy wil hierdie rekord verwyder?"

#: ../flask_admin/templates/bootstrap4/admin/model/inline_list_base.html:33
msgid "New"
msgstr ""
msgstr "Nuut"

#: ../flask_admin/templates/bootstrap4/admin/model/inline_list_base.html:43
msgid "Add"
Expand All @@ -537,7 +537,7 @@ msgstr "Filter Voeg"
#: ../flask_admin/templates/bootstrap4/admin/model/layout.html:19
#: ../flask_admin/templates/bootstrap4/admin/model/layout.html:26
msgid "Export"
msgstr ""
msgstr "Uitvoer"

#: ../flask_admin/templates/bootstrap4/admin/model/layout.html:49
msgid "Apply"
Expand All @@ -560,7 +560,7 @@ msgstr "Soek"

#: ../flask_admin/templates/bootstrap4/admin/model/layout.html:102
msgid "items"
msgstr ""
msgstr "items"

#: ../flask_admin/templates/bootstrap4/admin/model/list.html:23
#: ../flask_admin/templates/bootstrap4/admin/model/list.html:25
Expand Down
Binary file modified flask_admin/translations/ar/LC_MESSAGES/admin.mo
Binary file not shown.
46 changes: 23 additions & 23 deletions flask_admin/translations/ar/LC_MESSAGES/admin.po
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ msgstr ""
"Project-Id-Version: flask-admin\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-06-03 07:06+0100\n"
"PO-Revision-Date: 2017-02-07 01:19-0500\n"
"Last-Translator: mrjoes <serge.koval@gmail.com>\n"
"PO-Revision-Date: 2025-07-07 20:12-0500\n"
"Last-Translator: ElLorans <lorenzo.cerreta@gmail.com>\n"
"Language: ar_SA\n"
"Language-Team: Arabic\n"
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : "
Expand Down Expand Up @@ -210,7 +210,7 @@ msgstr "عدل"

#: ../flask_admin/contrib/fileadmin/s3.py:233
msgid "Cannot operate on non empty directories"
msgstr ""
msgstr "لا يمكن العمل على الدلائل غير الفارغة"

#: ../flask_admin/contrib/peewee/filters.py:47
#: ../flask_admin/contrib/pymongo/filters.py:49
Expand Down Expand Up @@ -329,11 +329,11 @@ msgstr "ليس خياراً صالحاً"

#: ../flask_admin/contrib/sqla/fields.py:245
msgid "Key"
msgstr ""
msgstr "مفتاح"

#: ../flask_admin/contrib/sqla/fields.py:246
msgid "Value"
msgstr ""
msgstr "قيمة"

#: ../flask_admin/contrib/sqla/validators.py:43
msgid "Already exists."
Expand All @@ -343,20 +343,20 @@ msgstr "موجود بالفعل."
#, python-format
msgid "At least %(num)d item is required"
msgid_plural "At least %(num)d items are required"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
msgstr[0] "مطلوب عنصر واحد على الأقل"
msgstr[1] "مطلوب عنصران على الأقل"
msgstr[2] "مطلوب %(num)d عناصر على الأقل"
msgstr[3] "مطلوب %(num)d عنصرًا على الأقل"
msgstr[4] "مطلوب %(num)d عنصرًا على الأقل"
msgstr[5] "مطلوب %(num)d عنصر على الأقل"

#: ../flask_admin/contrib/sqla/validators.py:98
msgid "Not a valid ISO currency code (e.g. USD, EUR, CNY)."
msgstr ""
msgstr "ليس رمز عملة ISO صالحًا (على سبيل المثال USD، EUR، CNY)."

#: ../flask_admin/contrib/sqla/validators.py:109
msgid "Not a valid color (e.g. \"red\", \"#f00\", \"#ff0000\")."
msgstr ""
msgstr "ليس لونًا صالحًا (على سبيل المثال \"red\"، \"#f00\"، \"#ff0000\")."

#: ../flask_admin/contrib/sqla/view.py:1317
#, python-format
Expand All @@ -381,7 +381,7 @@ msgstr "ملحق الملف غير صالح"

#: ../flask_admin/form/validators.py:18
msgid "This field requires at least one item."
msgstr ""
msgstr "يتطلب هذا الحقل عنصرًا واحدًا على الأقل."

#: ../flask_admin/model/base.py:1924
msgid "There are no items in the table."
Expand All @@ -408,7 +408,7 @@ msgstr "تم حفظ السجل بنجاح."
#: ../flask_admin/model/base.py:2656
#, python-format
msgid "Export type \"%(type)s\" not supported."
msgstr ""
msgstr "لا يتم دعم نوع التصدير \"%(type)s\"."

#: ../flask_admin/model/filters.py:121 ../flask_admin/model/widgets.py:128
msgid "Yes"
Expand Down Expand Up @@ -436,11 +436,11 @@ msgstr "تحرير سجل"
#: ../flask_admin/model/template.py:114
#: ../flask_admin/templates/bootstrap4/admin/model/row_actions.html:34
msgid "Delete Record"
msgstr ""
msgstr "حذف السجل"

#: ../flask_admin/model/widgets.py:71
msgid "Please select model"
msgstr ""
msgstr "الرجاء تحديد النموذج"

#: ../flask_admin/templates/bootstrap4/admin/actions.html:5
msgid "With selected"
Expand All @@ -458,11 +458,11 @@ msgstr "إالغاء"

#: ../flask_admin/templates/bootstrap4/admin/lib.html:290
msgid "Save and Add Another"
msgstr ""
msgstr "حفظ وإضافة آخر"

#: ../flask_admin/templates/bootstrap4/admin/lib.html:293
msgid "Save and Continue Editing"
msgstr ""
msgstr "حفظ ومتابعة التحرير"

#: ../flask_admin/templates/bootstrap4/admin/file/list.html:10
msgid "Root"
Expand Down Expand Up @@ -513,7 +513,7 @@ msgstr "إنشاء"
#: ../flask_admin/templates/bootstrap4/admin/model/details.html:21
#: ../flask_admin/templates/bootstrap4/admin/model/edit.html:26
msgid "Details"
msgstr ""
msgstr "تفاصيل"

#: ../flask_admin/templates/bootstrap4/admin/model/details.html:28
#: ../flask_admin/templates/bootstrap4/admin/model/modals/details.html:15
Expand All @@ -532,7 +532,7 @@ msgstr "هل أنت متأكد من أنك تريد حذف هذا السجل؟"

#: ../flask_admin/templates/bootstrap4/admin/model/inline_list_base.html:33
msgid "New"
msgstr ""
msgstr "جديد"

#: ../flask_admin/templates/bootstrap4/admin/model/inline_list_base.html:43
msgid "Add"
Expand All @@ -546,7 +546,7 @@ msgstr "إضافة عامل تصفية"
#: ../flask_admin/templates/bootstrap4/admin/model/layout.html:19
#: ../flask_admin/templates/bootstrap4/admin/model/layout.html:26
msgid "Export"
msgstr ""
msgstr "يصدّر"

#: ../flask_admin/templates/bootstrap4/admin/model/layout.html:49
msgid "Apply"
Expand All @@ -569,7 +569,7 @@ msgstr "البحث"

#: ../flask_admin/templates/bootstrap4/admin/model/layout.html:102
msgid "items"
msgstr ""
msgstr "أغراض"

#: ../flask_admin/templates/bootstrap4/admin/model/list.html:23
#: ../flask_admin/templates/bootstrap4/admin/model/list.html:25
Expand Down
Binary file modified flask_admin/translations/be/LC_MESSAGES/admin.mo
Binary file not shown.
8 changes: 4 additions & 4 deletions flask_admin/translations/be/LC_MESSAGES/admin.po
Original file line number Diff line number Diff line change
Expand Up @@ -346,11 +346,11 @@ msgstr[2] "Патрабуецца як найменш %(num)d аб'ектаў"

#: ../flask_admin/contrib/sqla/validators.py:98
msgid "Not a valid ISO currency code (e.g. USD, EUR, CNY)."
msgstr ""
msgstr "Недапушчальны код валюты ISO (напрыклад, USD, EUR, CNY)."

#: ../flask_admin/contrib/sqla/validators.py:109
msgid "Not a valid color (e.g. \"red\", \"#f00\", \"#ff0000\")."
msgstr ""
msgstr "Недапушчальны колер (напрыклад, \"red\", \"#f00\", \"#ff0000\")."

#: ../flask_admin/contrib/sqla/view.py:1317
#, python-format
Expand All @@ -375,7 +375,7 @@ msgstr "Хібнае пашырэнне файла"

#: ../flask_admin/form/validators.py:18
msgid "This field requires at least one item."
msgstr ""
msgstr "Гэта поле патрабуе хаця б аднаго элемента."

#: ../flask_admin/model/base.py:1924
msgid "There are no items in the table."
Expand Down Expand Up @@ -430,7 +430,7 @@ msgstr "Рэдагаваць запіс"
#: ../flask_admin/model/template.py:114
#: ../flask_admin/templates/bootstrap4/admin/model/row_actions.html:34
msgid "Delete Record"
msgstr ""
msgstr "Выдаліць запіс"

#: ../flask_admin/model/widgets.py:71
msgid "Please select model"
Expand Down
Binary file modified flask_admin/translations/ca_ES/LC_MESSAGES/admin.mo
Binary file not shown.
Loading