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 0000000..74dbaf6 Binary files /dev/null and b/locale/ar/LC_MESSAGES/django.mo differ 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 0000000..71cbdf3 Binary files /dev/null and b/locale/en/LC_MESSAGES/django.mo differ 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 0000000..828ad3d Binary files /dev/null and b/locale/fa/LC_MESSAGES/django.mo differ 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 0000000..2c90dd0 Binary files /dev/null and b/locale/tr/LC_MESSAGES/django.mo differ 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 ""