From f38f98068e693d4924e0011b6cb6774ecf1b7cf1 Mon Sep 17 00:00:00 2001 From: Sayyid Hamid Mahdavi Date: Tue, 3 Feb 2026 13:36:28 +0330 Subject: [PATCH] i18n --- accounts/settings.py | 13 +- apps/users/models.py | 2 +- locale/ar/LC_MESSAGES/django.mo | Bin 0 -> 463 bytes locale/ar/LC_MESSAGES/django.po | 329 ++++++++++++++++++++++++++++++++ locale/en/LC_MESSAGES/django.mo | Bin 0 -> 380 bytes locale/en/LC_MESSAGES/django.po | 328 +++++++++++++++++++++++++++++++ locale/fa/LC_MESSAGES/django.mo | Bin 0 -> 496 bytes locale/fa/LC_MESSAGES/django.po | 328 +++++++++++++++++++++++++++++++ locale/tr/LC_MESSAGES/django.mo | Bin 0 -> 379 bytes locale/tr/LC_MESSAGES/django.po | 328 +++++++++++++++++++++++++++++++ 10 files changed, 1325 insertions(+), 3 deletions(-) create mode 100644 locale/ar/LC_MESSAGES/django.mo create mode 100644 locale/ar/LC_MESSAGES/django.po create mode 100644 locale/en/LC_MESSAGES/django.mo create mode 100644 locale/en/LC_MESSAGES/django.po create mode 100644 locale/fa/LC_MESSAGES/django.mo create mode 100644 locale/fa/LC_MESSAGES/django.po create mode 100644 locale/tr/LC_MESSAGES/django.mo create mode 100644 locale/tr/LC_MESSAGES/django.po diff --git a/accounts/settings.py b/accounts/settings.py index 912d6cf..1f59904 100644 --- a/accounts/settings.py +++ b/accounts/settings.py @@ -12,6 +12,7 @@ https://docs.djangoproject.com/en/5.0/ref/settings/ from pathlib import Path from decouple import config +from django.utils.translation import gettext_lazy as _ # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent @@ -62,7 +63,7 @@ MIDDLEWARE = [ 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.locale.LocaleMiddleware', - 'utils.i18n.ForceAdminLanguageMiddleware', + # 'utils.i18n.ForceAdminLanguageMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', @@ -207,7 +208,7 @@ AUTH_PASSWORD_VALIDATORS = [ # Internationalization # https://docs.djangoproject.com/en/5.0/topics/i18n/ -LANGUAGE_CODE = 'en' +LANGUAGE_CODE = 'fa' TIME_ZONE = 'UTC' @@ -217,6 +218,14 @@ USE_L10N = True USE_TZ = True +LANGUAGES = [ + ('en', _('English')), + ('fa', _('Persian')), + ('ar', _('Arabic')), + ('tr', _('Turkish')), +] + + LOCALE_PATHS = [ BASE_DIR / 'locale', ] diff --git a/apps/users/models.py b/apps/users/models.py index 3477749..ec4686e 100644 --- a/apps/users/models.py +++ b/apps/users/models.py @@ -153,7 +153,7 @@ class User(AbstractUser): def set_otp(self): if self.otp_expire and (self.otp_expire + timedelta(seconds=MAX_OTP_VALID_DURATION)) > timezone.now(): - raise Exception('otp expire time not reached.') + raise Exception(_('otp expire time not reached.')) # self._otp = ''.join(random.choice('0123456789') for _ in range(5)) self._otp = '77501' self.otp = make_password(self._otp) diff --git a/locale/ar/LC_MESSAGES/django.mo b/locale/ar/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..74dbaf67ca1b1ef110318ec24bc2175e757fa49b GIT binary patch literal 463 zcmYk0%}&BV6ooaq>e97~yHGYd*n%1;3{qjh#{Q-JB)S`6tTknZOb4S6!t41g-by0g zJn8=3$;bFjc=9tn?$R3u`tA6lDW`juA~czH+b~M z4CXAI_;F;VVy(0xVVUJia=*z+GF2{ENla4lkykrp$c=E}iFqjrV>0yMA$CLm;yI3( z74XuKsphgQxKY}L(JTlc@pJ zb)~a?1{;Ka$o93Jx@`@VG(zIJuQm2D;?rEM3!cjkEZ(>-g`u(s@AK}gvo_k z<}!1k^^zMaDK?rHWTf<}bV06vza_oxzz(UT)P_5-0bNQRL}!N$#72eZj&1j76Kb^` Xcd1itH20q4{4?8aG_TRT=~xFpfMj~p literal 0 HcmV?d00001 diff --git a/locale/ar/LC_MESSAGES/django.po b/locale/ar/LC_MESSAGES/django.po new file mode 100644 index 0000000..3a2e583 --- /dev/null +++ b/locale/ar/LC_MESSAGES/django.po @@ -0,0 +1,329 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-03 10:04+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +#: accounts/settings.py:222 +msgid "English" +msgstr "" + +#: accounts/settings.py:223 +msgid "Persian" +msgstr "" + +#: accounts/settings.py:224 +msgid "Arabic" +msgstr "" + +#: accounts/settings.py:225 +msgid "Turkish" +msgstr "" + +#: apps/users/constans.py:9 +msgid "male" +msgstr "" + +#: apps/users/constans.py:10 +msgid "female" +msgstr "" + +#: apps/users/constans.py:14 +msgid "Primary school" +msgstr "" + +#: apps/users/constans.py:15 +msgid "Middle school" +msgstr "" + +#: apps/users/constans.py:16 +msgid "High school" +msgstr "" + +#: apps/users/constans.py:17 +msgid "Associate degree" +msgstr "" + +#: apps/users/constans.py:18 +msgid "Bachelors degree" +msgstr "" + +#: apps/users/constans.py:19 +msgid "Masters degree" +msgstr "" + +#: apps/users/constans.py:20 +msgid "Doctorate" +msgstr "" + +#: apps/users/forms.py:16 apps/users/models.py:117 +msgid "otp" +msgstr "" + +#: apps/users/forms.py:23 +#, python-format +msgid "" +"Please enter a correct %(phone_number)s and otp. Note that both fields may " +"be case-sensitive." +msgstr "" + +#: apps/users/forms.py:26 +msgid "This account is inactive." +msgstr "" + +#: apps/users/models.py:72 +msgid "name" +msgstr "" + +#: apps/users/models.py:73 +msgid "first name" +msgstr "" + +#: apps/users/models.py:74 +msgid "last name" +msgstr "" + +#: apps/users/models.py:75 +msgid "email address" +msgstr "" + +#: apps/users/models.py:84 +msgid "Province" +msgstr "" + +#: apps/users/models.py:85 +msgid "City" +msgstr "" + +#: apps/users/models.py:86 +msgid "postal_code" +msgstr "" + +#: apps/users/models.py:87 +msgid "address" +msgstr "" + +#: apps/users/models.py:90 +msgid "staff status" +msgstr "" + +#: apps/users/models.py:92 +msgid "Designates whether the user can log into this admin site." +msgstr "" + +#: apps/users/models.py:95 +msgid "active" +msgstr "" + +#: apps/users/models.py:98 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" + +#: apps/users/models.py:102 +msgid "password" +msgstr "" + +#: apps/users/models.py:105 +msgid "username" +msgstr "" + +#: apps/users/models.py:108 +msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" + +#: apps/users/models.py:111 +msgid "A user with that username already exists." +msgstr "" + +#: apps/users/models.py:116 +msgid "phone number" +msgstr "" + +#: apps/users/models.py:118 apps/users/models.py:122 apps/users/models.py:124 +msgid "otp expire" +msgstr "" + +#: apps/users/models.py:119 +msgid "otp try" +msgstr "" + +#: apps/users/models.py:121 +msgid "one time token" +msgstr "" + +#: apps/users/models.py:125 +msgid "balance" +msgstr "" + +#: apps/users/models.py:131 +msgid "gender" +msgstr "" + +#: apps/users/models.py:132 +msgid "education degree" +msgstr "" + +#: apps/users/models.py:134 +msgid "education field" +msgstr "" + +#: apps/users/models.py:135 +msgid "birthdate" +msgstr "" + +#: apps/users/models.py:137 +msgid "last update" +msgstr "" + +#: apps/users/models.py:138 +msgid "last login" +msgstr "" + +#: apps/users/models.py:139 +msgid "date joined" +msgstr "" + +#: apps/users/models.py:156 +msgid "otp expire time not reached." +msgstr "" + +#: apps/users/models.py:250 +msgid "no name" +msgstr "" + +#: apps/users/serializers.py:11 +msgid "Phone number must be entered in the format: '+989999999999'." +msgstr "" + +#: templates/oauth2_provider/application_confirm_delete.html:6 +msgid "Are you sure to delete the application" +msgstr "" + +#: templates/oauth2_provider/application_confirm_delete.html:12 +#: templates/oauth2_provider/authorize.html:29 +msgid "Cancel" +msgstr "" + +#: templates/oauth2_provider/application_confirm_delete.html:13 +#: templates/oauth2_provider/application_detail.html:53 +#: templates/oauth2_provider/authorized-token-delete.html:7 +msgid "Delete" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:10 +msgid "Client id" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:15 +msgid "Client secret" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:20 +msgid "Hash client secret" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:21 +msgid "yes,no" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:25 +msgid "Client type" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:30 +msgid "Authorization Grant Type" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:35 +msgid "Redirect Uris" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:40 +msgid "Post Logout Redirect Uris" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:45 +msgid "Allowed Origins" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:51 +#: templates/oauth2_provider/application_form.html:35 +msgid "Go Back" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:52 +msgid "Edit" +msgstr "" + +#: templates/oauth2_provider/application_form.html:9 +msgid "Edit application" +msgstr "" + +#: templates/oauth2_provider/application_form.html:37 +msgid "Save" +msgstr "" + +#: templates/oauth2_provider/application_list.html:6 +msgid "Your applications" +msgstr "" + +#: templates/oauth2_provider/application_list.html:14 +msgid "New Application" +msgstr "" + +#: templates/oauth2_provider/application_list.html:17 +msgid "No applications defined" +msgstr "" + +#: templates/oauth2_provider/application_list.html:17 +msgid "Click here" +msgstr "" + +#: templates/oauth2_provider/application_list.html:17 +msgid "if you want to register a new one" +msgstr "" + +#: templates/oauth2_provider/application_registration_form.html:5 +msgid "Register a new application" +msgstr "" + +#: templates/oauth2_provider/authorize.html:8 +#: templates/oauth2_provider/authorize.html:30 +msgid "Authorize" +msgstr "" + +#: templates/oauth2_provider/authorize.html:17 +msgid "Application requires the following permissions" +msgstr "" + +#: templates/oauth2_provider/authorized-token-delete.html:6 +msgid "Are you sure you want to delete this token?" +msgstr "" + +#: templates/oauth2_provider/authorized-tokens.html:6 +msgid "Tokens" +msgstr "" + +#: templates/oauth2_provider/authorized-tokens.html:11 +msgid "revoke" +msgstr "" + +#: templates/oauth2_provider/authorized-tokens.html:19 +msgid "There are no authorized tokens yet." +msgstr "" diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..71cbdf3e9d8d54be31066ec4ad8628bc2c1f2845 GIT binary patch literal 380 zcmYL@K~KUk7=|%=+R?Lz&%}d9i{c3jGZa>EvE7z2Nc2{r&Y96JZ6W$Y{CoZuJ5A(G zp7i_Dx9RhJeDu}vIq;l#&OC>nD^HugXY4QU{MmN?lNtRkR}RH%w3NnHT4Bh@vF%H^(V-=Ii1iQ$Qo9Pt!I1Rhe%oml#`f^NEGFCKEL->Rc=KoQ6a?!10%_7(V7ey8`V`;n{war z20Z3;uifk31QV^CRQ|iq#``$=;jWunRB8aLH({)F;i8zL{=V00y-I_qTIqGAN(}v% i$^}`yHKImSZ8jEzYJOK6-VWez49^vuhS0kh1f3tbb!oc* literal 0 HcmV?d00001 diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po new file mode 100644 index 0000000..d40b257 --- /dev/null +++ b/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,328 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-03 10:03+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"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" +#: accounts/settings.py:222 +msgid "English" +msgstr "" + +#: accounts/settings.py:223 +msgid "Persian" +msgstr "" + +#: accounts/settings.py:224 +msgid "Arabic" +msgstr "" + +#: accounts/settings.py:225 +msgid "Turkish" +msgstr "" + +#: apps/users/constans.py:9 +msgid "male" +msgstr "" + +#: apps/users/constans.py:10 +msgid "female" +msgstr "" + +#: apps/users/constans.py:14 +msgid "Primary school" +msgstr "" + +#: apps/users/constans.py:15 +msgid "Middle school" +msgstr "" + +#: apps/users/constans.py:16 +msgid "High school" +msgstr "" + +#: apps/users/constans.py:17 +msgid "Associate degree" +msgstr "" + +#: apps/users/constans.py:18 +msgid "Bachelors degree" +msgstr "" + +#: apps/users/constans.py:19 +msgid "Masters degree" +msgstr "" + +#: apps/users/constans.py:20 +msgid "Doctorate" +msgstr "" + +#: apps/users/forms.py:16 apps/users/models.py:117 +msgid "otp" +msgstr "" + +#: apps/users/forms.py:23 +#, python-format +msgid "" +"Please enter a correct %(phone_number)s and otp. Note that both fields may " +"be case-sensitive." +msgstr "" + +#: apps/users/forms.py:26 +msgid "This account is inactive." +msgstr "" + +#: apps/users/models.py:72 +msgid "name" +msgstr "" + +#: apps/users/models.py:73 +msgid "first name" +msgstr "" + +#: apps/users/models.py:74 +msgid "last name" +msgstr "" + +#: apps/users/models.py:75 +msgid "email address" +msgstr "" + +#: apps/users/models.py:84 +msgid "Province" +msgstr "" + +#: apps/users/models.py:85 +msgid "City" +msgstr "" + +#: apps/users/models.py:86 +msgid "postal_code" +msgstr "" + +#: apps/users/models.py:87 +msgid "address" +msgstr "" + +#: apps/users/models.py:90 +msgid "staff status" +msgstr "" + +#: apps/users/models.py:92 +msgid "Designates whether the user can log into this admin site." +msgstr "" + +#: apps/users/models.py:95 +msgid "active" +msgstr "" + +#: apps/users/models.py:98 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" + +#: apps/users/models.py:102 +msgid "password" +msgstr "" + +#: apps/users/models.py:105 +msgid "username" +msgstr "" + +#: apps/users/models.py:108 +msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" + +#: apps/users/models.py:111 +msgid "A user with that username already exists." +msgstr "" + +#: apps/users/models.py:116 +msgid "phone number" +msgstr "" + +#: apps/users/models.py:118 apps/users/models.py:122 apps/users/models.py:124 +msgid "otp expire" +msgstr "" + +#: apps/users/models.py:119 +msgid "otp try" +msgstr "" + +#: apps/users/models.py:121 +msgid "one time token" +msgstr "" + +#: apps/users/models.py:125 +msgid "balance" +msgstr "" + +#: apps/users/models.py:131 +msgid "gender" +msgstr "" + +#: apps/users/models.py:132 +msgid "education degree" +msgstr "" + +#: apps/users/models.py:134 +msgid "education field" +msgstr "" + +#: apps/users/models.py:135 +msgid "birthdate" +msgstr "" + +#: apps/users/models.py:137 +msgid "last update" +msgstr "" + +#: apps/users/models.py:138 +msgid "last login" +msgstr "" + +#: apps/users/models.py:139 +msgid "date joined" +msgstr "" + +#: apps/users/models.py:156 +msgid "otp expire time not reached." +msgstr "" + +#: apps/users/models.py:250 +msgid "no name" +msgstr "" + +#: apps/users/serializers.py:11 +msgid "Phone number must be entered in the format: '+989999999999'." +msgstr "" + +#: templates/oauth2_provider/application_confirm_delete.html:6 +msgid "Are you sure to delete the application" +msgstr "" + +#: templates/oauth2_provider/application_confirm_delete.html:12 +#: templates/oauth2_provider/authorize.html:29 +msgid "Cancel" +msgstr "" + +#: templates/oauth2_provider/application_confirm_delete.html:13 +#: templates/oauth2_provider/application_detail.html:53 +#: templates/oauth2_provider/authorized-token-delete.html:7 +msgid "Delete" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:10 +msgid "Client id" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:15 +msgid "Client secret" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:20 +msgid "Hash client secret" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:21 +msgid "yes,no" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:25 +msgid "Client type" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:30 +msgid "Authorization Grant Type" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:35 +msgid "Redirect Uris" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:40 +msgid "Post Logout Redirect Uris" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:45 +msgid "Allowed Origins" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:51 +#: templates/oauth2_provider/application_form.html:35 +msgid "Go Back" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:52 +msgid "Edit" +msgstr "" + +#: templates/oauth2_provider/application_form.html:9 +msgid "Edit application" +msgstr "" + +#: templates/oauth2_provider/application_form.html:37 +msgid "Save" +msgstr "" + +#: templates/oauth2_provider/application_list.html:6 +msgid "Your applications" +msgstr "" + +#: templates/oauth2_provider/application_list.html:14 +msgid "New Application" +msgstr "" + +#: templates/oauth2_provider/application_list.html:17 +msgid "No applications defined" +msgstr "" + +#: templates/oauth2_provider/application_list.html:17 +msgid "Click here" +msgstr "" + +#: templates/oauth2_provider/application_list.html:17 +msgid "if you want to register a new one" +msgstr "" + +#: templates/oauth2_provider/application_registration_form.html:5 +msgid "Register a new application" +msgstr "" + +#: templates/oauth2_provider/authorize.html:8 +#: templates/oauth2_provider/authorize.html:30 +msgid "Authorize" +msgstr "" + +#: templates/oauth2_provider/authorize.html:17 +msgid "Application requires the following permissions" +msgstr "" + +#: templates/oauth2_provider/authorized-token-delete.html:6 +msgid "Are you sure you want to delete this token?" +msgstr "" + +#: templates/oauth2_provider/authorized-tokens.html:6 +msgid "Tokens" +msgstr "" + +#: templates/oauth2_provider/authorized-tokens.html:11 +msgid "revoke" +msgstr "" + +#: templates/oauth2_provider/authorized-tokens.html:19 +msgid "There are no authorized tokens yet." +msgstr "" diff --git a/locale/fa/LC_MESSAGES/django.mo b/locale/fa/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..828ad3d5614c565637cfd0b43c5e113a67400408 GIT binary patch literal 496 zcmYL@%}(1u6opMyHePnk;x3Emgr60163UcJz^Wa)PJ-0#hGc4{a%QaY1i=zSfd$(> z13#;#RTsR84HD1NYbrHI^J(tAbFSt*zj^(`LA^qjkax%;(n4y*NIn0A&;`d)c)v$} zVvXm&>irjKn}aycr4eA|M1ay3jNqd~F>W}q(ci?#5`Rqgg(;*~9>jF#Bi&`N&yv0$ z_1r|{+E@}6sT`9J)3hK1?SUIdBoRll-XR@sg$JJ*O-LA#4u!qQ3;mTZQIEL+FDw}t zu8NFXZ9M1>g8+IoWYA(E^@DBN=_IV*-$JWOr#uy8Ao#?CfcAEWb&^&PY-h5eO*;2r zg3u4yJob8H&E3(;3WeXDTJ^RH+A> z2hzH6HZ?pWU2P_X2P%JQi}pqn{*~>w3btTFPtomO5f~V`pyYjZYDQAHFADo^- gbynV1=TFyAT~-&>6}s^0p}a@m4AA@~ literal 0 HcmV?d00001 diff --git a/locale/fa/LC_MESSAGES/django.po b/locale/fa/LC_MESSAGES/django.po new file mode 100644 index 0000000..4ac5bd3 --- /dev/null +++ b/locale/fa/LC_MESSAGES/django.po @@ -0,0 +1,328 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-03 10:03+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"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" +#: accounts/settings.py:222 +msgid "English" +msgstr "" + +#: accounts/settings.py:223 +msgid "Persian" +msgstr "" + +#: accounts/settings.py:224 +msgid "Arabic" +msgstr "" + +#: accounts/settings.py:225 +msgid "Turkish" +msgstr "" + +#: apps/users/constans.py:9 +msgid "male" +msgstr "" + +#: apps/users/constans.py:10 +msgid "female" +msgstr "" + +#: apps/users/constans.py:14 +msgid "Primary school" +msgstr "" + +#: apps/users/constans.py:15 +msgid "Middle school" +msgstr "" + +#: apps/users/constans.py:16 +msgid "High school" +msgstr "" + +#: apps/users/constans.py:17 +msgid "Associate degree" +msgstr "" + +#: apps/users/constans.py:18 +msgid "Bachelors degree" +msgstr "" + +#: apps/users/constans.py:19 +msgid "Masters degree" +msgstr "" + +#: apps/users/constans.py:20 +msgid "Doctorate" +msgstr "" + +#: apps/users/forms.py:16 apps/users/models.py:117 +msgid "otp" +msgstr "" + +#: apps/users/forms.py:23 +#, python-format +msgid "" +"Please enter a correct %(phone_number)s and otp. Note that both fields may " +"be case-sensitive." +msgstr "" + +#: apps/users/forms.py:26 +msgid "This account is inactive." +msgstr "" + +#: apps/users/models.py:72 +msgid "name" +msgstr "" + +#: apps/users/models.py:73 +msgid "first name" +msgstr "" + +#: apps/users/models.py:74 +msgid "last name" +msgstr "" + +#: apps/users/models.py:75 +msgid "email address" +msgstr "" + +#: apps/users/models.py:84 +msgid "Province" +msgstr "" + +#: apps/users/models.py:85 +msgid "City" +msgstr "" + +#: apps/users/models.py:86 +msgid "postal_code" +msgstr "" + +#: apps/users/models.py:87 +msgid "address" +msgstr "" + +#: apps/users/models.py:90 +msgid "staff status" +msgstr "" + +#: apps/users/models.py:92 +msgid "Designates whether the user can log into this admin site." +msgstr "" + +#: apps/users/models.py:95 +msgid "active" +msgstr "" + +#: apps/users/models.py:98 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" + +#: apps/users/models.py:102 +msgid "password" +msgstr "" + +#: apps/users/models.py:105 +msgid "username" +msgstr "" + +#: apps/users/models.py:108 +msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" + +#: apps/users/models.py:111 +msgid "A user with that username already exists." +msgstr "" + +#: apps/users/models.py:116 +msgid "phone number" +msgstr "" + +#: apps/users/models.py:118 apps/users/models.py:122 apps/users/models.py:124 +msgid "otp expire" +msgstr "" + +#: apps/users/models.py:119 +msgid "otp try" +msgstr "" + +#: apps/users/models.py:121 +msgid "one time token" +msgstr "" + +#: apps/users/models.py:125 +msgid "balance" +msgstr "" + +#: apps/users/models.py:131 +msgid "gender" +msgstr "" + +#: apps/users/models.py:132 +msgid "education degree" +msgstr "" + +#: apps/users/models.py:134 +msgid "education field" +msgstr "" + +#: apps/users/models.py:135 +msgid "birthdate" +msgstr "" + +#: apps/users/models.py:137 +msgid "last update" +msgstr "" + +#: apps/users/models.py:138 +msgid "last login" +msgstr "" + +#: apps/users/models.py:139 +msgid "date joined" +msgstr "" + +#: apps/users/models.py:156 +msgid "otp expire time not reached." +msgstr "رمز یکبار مصرف قبلی هنوز معتبر است." + +#: apps/users/models.py:250 +msgid "no name" +msgstr "" + +#: apps/users/serializers.py:11 +msgid "Phone number must be entered in the format: '+989999999999'." +msgstr "" + +#: templates/oauth2_provider/application_confirm_delete.html:6 +msgid "Are you sure to delete the application" +msgstr "" + +#: templates/oauth2_provider/application_confirm_delete.html:12 +#: templates/oauth2_provider/authorize.html:29 +msgid "Cancel" +msgstr "" + +#: templates/oauth2_provider/application_confirm_delete.html:13 +#: templates/oauth2_provider/application_detail.html:53 +#: templates/oauth2_provider/authorized-token-delete.html:7 +msgid "Delete" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:10 +msgid "Client id" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:15 +msgid "Client secret" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:20 +msgid "Hash client secret" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:21 +msgid "yes,no" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:25 +msgid "Client type" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:30 +msgid "Authorization Grant Type" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:35 +msgid "Redirect Uris" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:40 +msgid "Post Logout Redirect Uris" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:45 +msgid "Allowed Origins" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:51 +#: templates/oauth2_provider/application_form.html:35 +msgid "Go Back" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:52 +msgid "Edit" +msgstr "" + +#: templates/oauth2_provider/application_form.html:9 +msgid "Edit application" +msgstr "" + +#: templates/oauth2_provider/application_form.html:37 +msgid "Save" +msgstr "" + +#: templates/oauth2_provider/application_list.html:6 +msgid "Your applications" +msgstr "" + +#: templates/oauth2_provider/application_list.html:14 +msgid "New Application" +msgstr "" + +#: templates/oauth2_provider/application_list.html:17 +msgid "No applications defined" +msgstr "" + +#: templates/oauth2_provider/application_list.html:17 +msgid "Click here" +msgstr "" + +#: templates/oauth2_provider/application_list.html:17 +msgid "if you want to register a new one" +msgstr "" + +#: templates/oauth2_provider/application_registration_form.html:5 +msgid "Register a new application" +msgstr "" + +#: templates/oauth2_provider/authorize.html:8 +#: templates/oauth2_provider/authorize.html:30 +msgid "Authorize" +msgstr "" + +#: templates/oauth2_provider/authorize.html:17 +msgid "Application requires the following permissions" +msgstr "" + +#: templates/oauth2_provider/authorized-token-delete.html:6 +msgid "Are you sure you want to delete this token?" +msgstr "" + +#: templates/oauth2_provider/authorized-tokens.html:6 +msgid "Tokens" +msgstr "" + +#: templates/oauth2_provider/authorized-tokens.html:11 +msgid "revoke" +msgstr "" + +#: templates/oauth2_provider/authorized-tokens.html:19 +msgid "There are no authorized tokens yet." +msgstr "" diff --git a/locale/tr/LC_MESSAGES/django.mo b/locale/tr/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..2c90dd0c81aca562856271a6885816b565885734 GIT binary patch literal 379 zcmYL@y-ve06h@0+%E-)c2L=$hP^RMksHSmCgq=ibS_wAOnqZXLk?kUQ5MGaG!2yYW z(vk0#Kg;L)_~@$>au7HPoCXd9mw`6@01213;cPqq$*p;lYmbr*T1o4a(HL?veIRoR zD_Sg)ER71;80!&tmD-@YUFA?|FhqHV3i+e|LVdy_A hALaGViW<#~-8u}q`CZ-UW&nTV=uE>Hdgp_v^8-$QX_^24 literal 0 HcmV?d00001 diff --git a/locale/tr/LC_MESSAGES/django.po b/locale/tr/LC_MESSAGES/django.po new file mode 100644 index 0000000..e1cc5d9 --- /dev/null +++ b/locale/tr/LC_MESSAGES/django.po @@ -0,0 +1,328 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-03 10:04+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"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" +#: accounts/settings.py:222 +msgid "English" +msgstr "" + +#: accounts/settings.py:223 +msgid "Persian" +msgstr "" + +#: accounts/settings.py:224 +msgid "Arabic" +msgstr "" + +#: accounts/settings.py:225 +msgid "Turkish" +msgstr "" + +#: apps/users/constans.py:9 +msgid "male" +msgstr "" + +#: apps/users/constans.py:10 +msgid "female" +msgstr "" + +#: apps/users/constans.py:14 +msgid "Primary school" +msgstr "" + +#: apps/users/constans.py:15 +msgid "Middle school" +msgstr "" + +#: apps/users/constans.py:16 +msgid "High school" +msgstr "" + +#: apps/users/constans.py:17 +msgid "Associate degree" +msgstr "" + +#: apps/users/constans.py:18 +msgid "Bachelors degree" +msgstr "" + +#: apps/users/constans.py:19 +msgid "Masters degree" +msgstr "" + +#: apps/users/constans.py:20 +msgid "Doctorate" +msgstr "" + +#: apps/users/forms.py:16 apps/users/models.py:117 +msgid "otp" +msgstr "" + +#: apps/users/forms.py:23 +#, python-format +msgid "" +"Please enter a correct %(phone_number)s and otp. Note that both fields may " +"be case-sensitive." +msgstr "" + +#: apps/users/forms.py:26 +msgid "This account is inactive." +msgstr "" + +#: apps/users/models.py:72 +msgid "name" +msgstr "" + +#: apps/users/models.py:73 +msgid "first name" +msgstr "" + +#: apps/users/models.py:74 +msgid "last name" +msgstr "" + +#: apps/users/models.py:75 +msgid "email address" +msgstr "" + +#: apps/users/models.py:84 +msgid "Province" +msgstr "" + +#: apps/users/models.py:85 +msgid "City" +msgstr "" + +#: apps/users/models.py:86 +msgid "postal_code" +msgstr "" + +#: apps/users/models.py:87 +msgid "address" +msgstr "" + +#: apps/users/models.py:90 +msgid "staff status" +msgstr "" + +#: apps/users/models.py:92 +msgid "Designates whether the user can log into this admin site." +msgstr "" + +#: apps/users/models.py:95 +msgid "active" +msgstr "" + +#: apps/users/models.py:98 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" + +#: apps/users/models.py:102 +msgid "password" +msgstr "" + +#: apps/users/models.py:105 +msgid "username" +msgstr "" + +#: apps/users/models.py:108 +msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only." +msgstr "" + +#: apps/users/models.py:111 +msgid "A user with that username already exists." +msgstr "" + +#: apps/users/models.py:116 +msgid "phone number" +msgstr "" + +#: apps/users/models.py:118 apps/users/models.py:122 apps/users/models.py:124 +msgid "otp expire" +msgstr "" + +#: apps/users/models.py:119 +msgid "otp try" +msgstr "" + +#: apps/users/models.py:121 +msgid "one time token" +msgstr "" + +#: apps/users/models.py:125 +msgid "balance" +msgstr "" + +#: apps/users/models.py:131 +msgid "gender" +msgstr "" + +#: apps/users/models.py:132 +msgid "education degree" +msgstr "" + +#: apps/users/models.py:134 +msgid "education field" +msgstr "" + +#: apps/users/models.py:135 +msgid "birthdate" +msgstr "" + +#: apps/users/models.py:137 +msgid "last update" +msgstr "" + +#: apps/users/models.py:138 +msgid "last login" +msgstr "" + +#: apps/users/models.py:139 +msgid "date joined" +msgstr "" + +#: apps/users/models.py:156 +msgid "otp expire time not reached." +msgstr "" + +#: apps/users/models.py:250 +msgid "no name" +msgstr "" + +#: apps/users/serializers.py:11 +msgid "Phone number must be entered in the format: '+989999999999'." +msgstr "" + +#: templates/oauth2_provider/application_confirm_delete.html:6 +msgid "Are you sure to delete the application" +msgstr "" + +#: templates/oauth2_provider/application_confirm_delete.html:12 +#: templates/oauth2_provider/authorize.html:29 +msgid "Cancel" +msgstr "" + +#: templates/oauth2_provider/application_confirm_delete.html:13 +#: templates/oauth2_provider/application_detail.html:53 +#: templates/oauth2_provider/authorized-token-delete.html:7 +msgid "Delete" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:10 +msgid "Client id" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:15 +msgid "Client secret" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:20 +msgid "Hash client secret" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:21 +msgid "yes,no" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:25 +msgid "Client type" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:30 +msgid "Authorization Grant Type" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:35 +msgid "Redirect Uris" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:40 +msgid "Post Logout Redirect Uris" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:45 +msgid "Allowed Origins" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:51 +#: templates/oauth2_provider/application_form.html:35 +msgid "Go Back" +msgstr "" + +#: templates/oauth2_provider/application_detail.html:52 +msgid "Edit" +msgstr "" + +#: templates/oauth2_provider/application_form.html:9 +msgid "Edit application" +msgstr "" + +#: templates/oauth2_provider/application_form.html:37 +msgid "Save" +msgstr "" + +#: templates/oauth2_provider/application_list.html:6 +msgid "Your applications" +msgstr "" + +#: templates/oauth2_provider/application_list.html:14 +msgid "New Application" +msgstr "" + +#: templates/oauth2_provider/application_list.html:17 +msgid "No applications defined" +msgstr "" + +#: templates/oauth2_provider/application_list.html:17 +msgid "Click here" +msgstr "" + +#: templates/oauth2_provider/application_list.html:17 +msgid "if you want to register a new one" +msgstr "" + +#: templates/oauth2_provider/application_registration_form.html:5 +msgid "Register a new application" +msgstr "" + +#: templates/oauth2_provider/authorize.html:8 +#: templates/oauth2_provider/authorize.html:30 +msgid "Authorize" +msgstr "" + +#: templates/oauth2_provider/authorize.html:17 +msgid "Application requires the following permissions" +msgstr "" + +#: templates/oauth2_provider/authorized-token-delete.html:6 +msgid "Are you sure you want to delete this token?" +msgstr "" + +#: templates/oauth2_provider/authorized-tokens.html:6 +msgid "Tokens" +msgstr "" + +#: templates/oauth2_provider/authorized-tokens.html:11 +msgid "revoke" +msgstr "" + +#: templates/oauth2_provider/authorized-tokens.html:19 +msgid "There are no authorized tokens yet." +msgstr ""