From 13b1d9f15f8cb74299d937591f29560dec88efdb Mon Sep 17 00:00:00 2001 From: Amir Ajorloo Date: Wed, 14 Oct 2020 11:30:45 +0330 Subject: [PATCH] Add persian language (#98) * add fa language translations * add rtl css file. fix side-nav issue in rtl mode Co-authored-by: Amir Ajorloo Co-authored-by: Fabio Caccamo --- .gitignore | 58 ----- .../locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 2994 bytes .../locale/fa/LC_MESSAGES/django.po | 205 ++++++++++++++++++ .../templates/admin/base_site.html | 7 + .../templates/admin_interface/css/rtl.css | 35 +++ 5 files changed, 247 insertions(+), 58 deletions(-) delete mode 100644 .gitignore create mode 100644 admin_interface/locale/fa/LC_MESSAGES/django.mo create mode 100644 admin_interface/locale/fa/LC_MESSAGES/django.po create mode 100644 admin_interface/templates/admin_interface/css/rtl.css diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 9132201..0000000 --- a/.gitignore +++ /dev/null @@ -1,58 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] - -# C extensions -*.so - -# Distribution / packaging -.Python -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -*.egg-info/ -.installed.cfg -*.egg - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*,cover - -# Translations -*.pot - -# Django stuff: -*.log - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ -screenshots -TODO.txt diff --git a/admin_interface/locale/fa/LC_MESSAGES/django.mo b/admin_interface/locale/fa/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..eea320d252d862e31adc926dfb00181bc4657130 GIT binary patch literal 2994 zcmbW1U1%It6vwYxtzExr>u0rkwN|rDX4@pCX*X@@CfRKx8QiWoCYR z@0@$i|D1Doe%iL_EW@b9{UmPpHpZI4uW!c#K17K`ZdEZI! ze#|Y9?B4CW=|Eg<>b0n+|3crVxl z;$m%hkiQp$`N?4ZDoFm{0v`b-xD70T4}s@EiZc)5VvBf?&gFoggCWen0?E(!Ald&K z@OO~%{}Uv;e?VL;1Tmy_&}6u>L8GsIEVNZ-O_#?cnLV8G8`y z2Ok4RK&tCm5EuId4~oA8Qs2G+;gbCflHG6MaqwpFKCz{|F9lM)P4Fr318@g;1tdS; zft2STAob&K(9aKqD;C0p^lS(Bf^{I}_XhX^I0VxEk3iD%F^G#@z=QN&4frMaJmx=w z_L~uubleY8ziUCfVu!%pU>ivF?FXrDXF$?(4n$e~LH(v)P#wsI&d=kxsqYkn z2IWlsph5mfI~{qrVUOaj4C*}%%5kUvi?L_H8r-CtMlEjAxCb}oPJN?6`O!e>{G3SV z`a$RMIox5~R2%9$r+#+SpphrL9{TK??_(;tdUT zd{~&KJcETqee3>xi8`LKg|IMhh_|*j)z|SJGf(!7`wty#YYDShI%`JtbI+ zE%bEC&S!fZzL$5%blw!a4{O49Ser0~D|k!Zb)|)AKY~lHlMBOfZQV7b#p2eWVM{A3 zESDwpK_q0cW|i8gSSN-yKV0cV5p3p6Zj*5jIN-eNaH4ZVhl(^1LIs+b4Kh z^y+!jRwfdOuu~!h1w57_Q4Xf2?us;Jq?_zz z3RFp>yH8{V^PdjurdBW=y9Nd8(NhB%Tjs4aPf1hS>lgaups+VC%bcDv++jvakc(d_ zK4>^b58S3?njYjSZ8$koA7;Hlg-lc?@aF$q@7~YY(jn56$VuDPI-HD=)>`rzN9&eR9_s4UP6?7BEv*fGi1OFsu~S+{r`8tZ zCpx1Y?X|CWz7!87b;s4Zai$$~OWIK$%NjP1^-J57k{{MF)60`%nXGP@k(A6H#jf%} z(z=D7jq-#Jjr?#jdCW8-(#}*3f_EM59r0==^^tv{R*4KOgdWa88&!2Lx?@<)IGgY$ z+#|1aC$xiAJCfKdY%Ok~r#Nv@ez3=ILtSRx)=e!T?W_~!R?eR~M;e-W`R9=uiy!6n z;pPzIYR;Qfi|XqC`wV#RsggIY7U-`Zd<(pSn#N*5U09u><=~5;7F0D4K&E~-o3D47rT-l0G(ac|6MxkH~{!3L2WQa=5L0;J*^R8q2b*|3S1EMHh_=7jH^Cq}jLbVF?@j-=_ z%dym4)g=PX!)eJckT+I+0r4d&1r=vwQ7@HuQN`!HasLr)Woj9jPa+cf6NF@R1XhYj zUM<2*EtLC5yKnJgeKKemDn1RLsQD6nPE&2DjWa8=C>qL*Mikd%R+2C9wHCmDR;Q^N zY-N^={lIL^Vrjz>s7MP=!kW}zek+C5*5K%)G}L#fUVkFzDSfo1n*KPdh@(@j9HdhJ lkSp2InP2b&!lmD6RD, 2020. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: django-admin-interface\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-10-12 19:23+0330\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Amir Ajorloo \n" +"Language-Team: Farsi \n" +"Language: Farsi" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: admin_interface/admin.py:21 +msgid "Environment" +msgstr "محیط" + +#: admin_interface/admin.py:30 +msgid "Language chooser" +msgstr "انتخاب زبان" + +#: admin_interface/admin.py:37 +msgid "Logo" +msgstr "لوگو" + +#: admin_interface/admin.py:45 +msgid "Favicon" +msgstr "آیکون تب" + +#: admin_interface/admin.py:49 +msgid "Title" +msgstr "عنوان" + +#: admin_interface/admin.py:57 +msgid "Header" +msgstr "هدر" + +#: admin_interface/admin.py:66 +msgid "Breadcrumbs / Module headers" +msgstr "مسیر صفحه" + +#: admin_interface/admin.py:76 +msgid "Generic Links" +msgstr "لینک‌های عمومی" + +#: admin_interface/admin.py:83 +msgid "Save Buttons" +msgstr "دکمه‌های ذخیره" + +#: admin_interface/admin.py:91 +msgid "Delete Buttons" +msgstr "دکمه‌های حذف" + +#: admin_interface/admin.py:99 +msgid "Related Modal" +msgstr "مدل‌های مرتبط" + +#: admin_interface/admin.py:109 +msgid "List Filter" +msgstr "فیلتر‌های لیست" + +#: admin_interface/admin.py:113 +msgid "Recent Actions" +msgstr "فعالیت‌های اخیر" + +#: admin_interface/apps.py:11 +msgid "Admin Interface" +msgstr "ظاهر ادمین" + +#: admin_interface/models.py:72 admin_interface/models.py:116 +#: admin_interface/models.py:135 +msgid "name" +msgstr "نام" + +#: admin_interface/models.py:75 admin_interface/models.py:132 +#: admin_interface/models.py:253 +msgid "active" +msgstr "فعال" + +#: admin_interface/models.py:79 +#: admin_interface/templates/admin/base_site.html:6 +#: admin_interface/templates/admin/base_site.html:60 +msgid "Django administration" +msgstr "مدیریت جنگو" + +#: admin_interface/models.py:81 +msgid "title" +msgstr "عنوان" + +#: admin_interface/models.py:87 admin_interface/models.py:102 +#: admin_interface/models.py:122 +msgid "color" +msgstr "رنگ" + +#: admin_interface/models.py:90 admin_interface/models.py:105 +#: admin_interface/models.py:289 +msgid "visible" +msgstr "نمایان" + +#: admin_interface/models.py:95 +msgid "Leave blank to use the default Django logo" +msgstr "برای نمایش لوگوی پیش فرض، خالی بگذارید." + +#: admin_interface/models.py:96 +msgid "logo" +msgstr "لوگو" + +#: admin_interface/models.py:110 +msgid "(.ico|.png|.gif - 16x16|32x32 px)" +msgstr "(.ico|.png|.gif - 16x16|32x32 px)" + +#: admin_interface/models.py:111 +msgid "favicon" +msgstr "آیکون تب" + +#: admin_interface/models.py:120 +msgid "" +"(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: " +"#3498DB)" +msgstr "" +"(قرمز: #E74C3C, نارنجی: #E67E22, زرد: #F1C40F, سبز: #2ECC71, آبی: " +"#3498DB)" + +#: admin_interface/models.py:125 +msgid "visible in header (marker and name)" +msgstr "نمایان در هدر" + +#: admin_interface/models.py:128 +msgid "visible in favicon (marker)" +msgstr "نمایان در آیکون تب" + +#: admin_interface/models.py:134 +msgid "code" +msgstr "کد" + +#: admin_interface/models.py:141 +msgid "display" +msgstr "نمایش" + +#: admin_interface/models.py:148 admin_interface/models.py:173 +#: admin_interface/models.py:214 admin_interface/models.py:233 +#: admin_interface/models.py:259 +msgid "background color" +msgstr "رنگ پس‌زمینه" + +#: admin_interface/models.py:154 admin_interface/models.py:179 +#: admin_interface/models.py:226 admin_interface/models.py:245 +#: admin_interface/models.py:249 +msgid "text color" +msgstr "رنگ متن" + +#: admin_interface/models.py:160 admin_interface/models.py:185 +#: admin_interface/models.py:201 +msgid "link color" +msgstr "رنگ لینک" + +#: admin_interface/models.py:166 admin_interface/models.py:191 +#: admin_interface/models.py:207 +msgid "link hover color" +msgstr "رنگ لینک در حالت هاور" + +#: admin_interface/models.py:194 admin_interface/models.py:279 +msgid "rounded corners" +msgstr "گوشه‌های خمیده" + +#: admin_interface/models.py:220 admin_interface/models.py:239 +msgid "background hover color" +msgstr "رنگ پس‌زمینه در حالت هاور" + +#: admin_interface/models.py:276 +msgid "background opacity" +msgstr "شفافیت بکگراند" + +#: admin_interface/models.py:282 +msgid "close button visible" +msgstr "دکمه بستن نمایان باشد" + +#: admin_interface/models.py:286 +msgid "use dropdown" +msgstr "استفاده از دراپ داون" + +#: admin_interface/models.py:298 +msgid "Theme" +msgstr "تم" + +#: admin_interface/models.py:299 +msgid "Themes" +msgstr "تم‌ها" + +#: admin_interface/templates/admin/filter.html:13 +#: admin_interface/templates/admin_interface/dropdown_filter.html:4 +#, python-format +msgid " By %(filter_title)s " +msgstr " توسط %(filter_title)s " + +#: admin_interface/templates/admin/popup_response.html:3 +msgid "Popup closing..." +msgstr "پاپ آپ در حال بسته شدن..." diff --git a/admin_interface/templates/admin/base_site.html b/admin_interface/templates/admin/base_site.html index 3fddf9e..7035c7f 100644 --- a/admin_interface/templates/admin/base_site.html +++ b/admin_interface/templates/admin/base_site.html @@ -9,6 +9,7 @@ {% block extrastyle %} {% get_admin_interface_theme as theme %} {% get_admin_interface_version as version %} +{% get_current_language as current_lang %} + +{% if current_lang == 'fa' %} + +{% endif %} + {% endblock %} {% block blockbots %} diff --git a/admin_interface/templates/admin_interface/css/rtl.css b/admin_interface/templates/admin_interface/css/rtl.css new file mode 100644 index 0000000..4a58c47 --- /dev/null +++ b/admin_interface/templates/admin_interface/css/rtl.css @@ -0,0 +1,35 @@ +[dir="rtl"] * { + font-family: 'Vazir', sans-serif !important; +} + + +[dir="rtl"] .main .toggle-nav-sidebar.sticky { + left: auto !important; + right: 0px !important; + margin-right: 0px !important; + margin-left: 10px; + border: 1px solid #eaeaea !important; + border-right: none !important; + border-top-right-radius: 0px !important; + border-bottom-right-radius: 0px !important; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + box-shadow: -4px 2px 8px -2px #DBDBDB !important; +} + + +[dir="rtl"] .admin-interface #main.shifted>#toggle-nav-sidebar { + right: 359px !important; +} + +[dir="rtl"] .admin-interface #main>#nav-sidebar { + margin-right: -360px !important; + margin-left: 0px !important; + right: -320px !important; +} + +[dir="rtl"] .admin-interface #main.shifted>#nav-sidebar { + border-left: 1px solid #eaeaea; + margin-right: 0px !important; + padding: 40px 0px 40px 40px !important; +} \ No newline at end of file