Features: 1) Add new email content translations for ru_RU, zh_Hans, and ro_RO locales; 2) Update "balance deposit" and general email-related translations across multiple languages;
Fixes: 1) Correct inconsistent formatting in translation strings; 2) Fix placeholders in email templates for better accuracy; Extra: Update `.gitignore` to include `.env` file exclusion.
This commit is contained in:
parent
d9e50c04c1
commit
b92e7e28f1
88 changed files with 5339 additions and 5796 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -161,3 +161,6 @@ cypress/screenshots/
|
|||
|
||||
# Environment file
|
||||
.env
|
||||
|
||||
# Development stuff
|
||||
test.ipynb
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,11 @@ msgstr "تفاصيل المعالجة"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"يجب أن يتناسب مبلغ المعاملة مع {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"يجب أن يتناسب مبلغ المعاملة مع "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,57 +66,46 @@ msgstr "الرصيد"
|
|||
msgid "balances"
|
||||
msgstr "الموازين"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "تفعيل حسابك"
|
||||
msgid "balance deposit"
|
||||
msgstr "إيداع الرصيد"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "الشعار"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "مرحباً %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "مرحباً %(user_first_name)s,"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"شكرًا لك على تسجيلك في %(config.PROJECT_NAME)s. يرجى تفعيل حسابك بالنقر فوق "
|
||||
"الزر أدناه:"
|
||||
"لقد نجحنا في إيداع رصيد حسابك في %(amount)s. رصيدك الحالي\n"
|
||||
" رصيدك الحالي هو %(balance)s__."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"تفعيل\n"
|
||||
" الحساب"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"إذا كان الزر أعلاه لا يعمل، يرجى نسخ عنوان URL التالي ولصقه في متصفح الويب "
|
||||
"الخاص بك:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "مع أطيب التحيات,<br>فريق %(config.PROJECT_NAME)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"جميع الحقوق\n"
|
||||
" محفوظة."
|
||||
"إذا كان لديك أي أسئلة، فلا تتردد في الاتصال بدعمنا على\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "مع أطيب تحياتي، <br>فريق%(project_name)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "جميع الحقوق محفوظة"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -127,5 +116,7 @@ msgstr "مطلوب مزود للحصول على الأسعار من"
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "تعذّر العثور على الموفر {provider}"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "محرك eVibes"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | إيداع الرصيد"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,11 @@ msgstr "Podrobnosti o zpracování"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"Částka transakce se musí vejít do rozmezí {config.PAYMENT_GATEWAY_MINIMUM}-"
|
||||
"{config.PAYMENT_GATEWAY_MAXIMUM}."
|
||||
"Částka transakce se musí vejít do rozmezí "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}."
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,57 +66,46 @@ msgstr "Bilance"
|
|||
msgid "balances"
|
||||
msgstr "Váhy"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "Aktivace účtu"
|
||||
msgid "balance deposit"
|
||||
msgstr "Zůstatková záloha"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "Hello %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Ahoj %(user_first_name)s,"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"Děkujeme, že jste se přihlásili k odběru %(config.PROJECT_NAME)s. Aktivujte "
|
||||
"prosím svůj účet kliknutím na tlačítko níže:"
|
||||
"Na váš účet jsme úspěšně připsali %(amount)s. Váš aktuální\n"
|
||||
" je %(balance)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"Aktivace\n"
|
||||
" Účet"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"Pokud výše uvedené tlačítko nefunguje, zkopírujte a vložte do webového "
|
||||
"prohlížeče následující adresu URL:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "S pozdravem,<br>Tým %(config.PROJECT_NAME)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"Všechna práva\n"
|
||||
" vyhrazena."
|
||||
"Pokud máte jakékoli dotazy, neváhejte kontaktovat naši podporu na adrese\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "S pozdravem,<br>tým %(project_name)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "Všechna práva vyhrazena"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -127,5 +116,7 @@ msgstr "Je třeba mít poskytovatele, od kterého lze získat sazby"
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Nepodařilo se najít poskytovatele {provider}"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Motor eVibes"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Zůstatek vkladu"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,11 @@ msgstr "Behandling af detaljer"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"Transaktionsbeløbet skal passe ind i {config.PAYMENT_GATEWAY_MINIMUM}-"
|
||||
"{config.PAYMENT_GATEWAY_MAXIMUM}."
|
||||
"Transaktionsbeløbet skal passe ind i "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}."
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,57 +66,46 @@ msgstr "Balance"
|
|||
msgid "balances"
|
||||
msgstr "Vægte"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "Aktivér din konto"
|
||||
msgid "balance deposit"
|
||||
msgstr "Saldoindbetaling"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "Hej %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Hej %(user_first_name)s,"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"Tak, fordi du har tilmeldt dig %(config.PROJECT_NAME)s. Aktivér venligst din "
|
||||
"konto ved at klikke på knappen nedenfor:"
|
||||
"Vi har krediteret din konto med %(amount)s. Din nuværende\n"
|
||||
" saldo er %(balance)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"Aktiver\n"
|
||||
" Konto"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"Hvis ovenstående knap ikke virker, bedes du kopiere og sætte følgende URL "
|
||||
"ind i din webbrowser:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "Med venlig hilsen,<br>%(config.PROJECT_NAME)s Team"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"Alle rettigheder\n"
|
||||
" forbeholdt."
|
||||
"Hvis du har spørgsmål, er du velkommen til at kontakte vores support på\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "Med venlig hilsen,<br>teamet %(project_name)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "Alle rettigheder forbeholdes"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -127,5 +116,7 @@ msgstr "Der er brug for en udbyder at få priser fra"
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Kunne ikke finde udbyder {provider}"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "eVibes-motor"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Saldoindbetaling"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,11 @@ msgstr "Details zur Verarbeitung"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"Der Transaktionsbetrag muss zwischen {config.PAYMENT_GATEWAY_MINIMUM}-"
|
||||
"{config.PAYMENT_GATEWAY_MAXIMUM} liegen"
|
||||
"Der Transaktionsbetrag muss zwischen "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM} liegen"
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,57 +66,46 @@ msgstr "Waage"
|
|||
msgid "balances"
|
||||
msgstr "Waagen"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "Aktivieren Sie Ihr Konto"
|
||||
msgid "balance deposit"
|
||||
msgstr "Balance Deposit"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "Hallo %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Hallo %(user_first_name)s,"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"Vielen Dank, dass Sie sich für %(config.PROJECT_NAME)s angemeldet haben. "
|
||||
"Bitte aktivieren Sie Ihr Konto, indem Sie auf die Schaltfläche unten klicken:"
|
||||
"Wir haben Ihrem Konto erfolgreich %(amount)s gutgeschrieben. Ihr aktuelles\n"
|
||||
" Saldo beträgt %(balance)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"Aktivieren Sie\n"
|
||||
" Konto"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"Wenn die obige Schaltfläche nicht funktioniert, kopieren Sie bitte die "
|
||||
"folgende URL und fügen Sie sie in Ihren Webbrowser ein:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "Mit freundlichen Grüßen,<br>Das %(config.PROJECT_NAME)s Team"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"Alle Rechte\n"
|
||||
" vorbehalten."
|
||||
"Wenn Sie Fragen haben, wenden Sie sich bitte an unseren Support unter\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "Mit freundlichen Grüßen,<br>das %(project_name)s-Team"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "Alle Rechte vorbehalten"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -127,5 +116,7 @@ msgstr "Sie benötigen einen Anbieter, bei dem Sie die Preise erfragen können."
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Anbieter {provider} konnte nicht gefunden werden"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "eVibes Motor"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Saldo Einzahlung"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -70,57 +70,46 @@ msgstr "Balance"
|
|||
msgid "balances"
|
||||
msgstr "Balances"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "Activate Your Account"
|
||||
msgid "balance deposit"
|
||||
msgstr "Balance Deposit"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "Hello %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Hello %(user_first_name)s,"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your "
|
||||
"account by clicking the button below:"
|
||||
"We have successfully credited your account with %(amount)s. Your current\n"
|
||||
" balance is %(balance)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"If the button above does not work, please copy and paste the following URL "
|
||||
"into your web browser:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"If you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "Best regards,<br>the %(project_name)s team"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "All rights reserved"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -131,8 +120,7 @@ msgstr "A provider to get rates from is required"
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Couldn't find provider {provider}"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "eVibes Engine"
|
||||
|
||||
#~ msgid "Activate Account"
|
||||
#~ msgstr "Activate Account"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Balance Deposit"
|
||||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,11 @@ msgstr "Processing details"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"Transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"Transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,57 +66,46 @@ msgstr "Balance"
|
|||
msgid "balances"
|
||||
msgstr "Scales"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "Activate Your Account"
|
||||
msgid "balance deposit"
|
||||
msgstr "Balance Deposit"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "Hello %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Hello %(user_first_name)s,"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your "
|
||||
"account by clicking the button below:"
|
||||
"We have successfully credited your account with %(amount)s. Your current\n"
|
||||
" balance is %(balance)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"If the button above does not work, please copy and paste the following URL "
|
||||
"into your web browser:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"If you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "Best regards,<br>the %(project_name)s team"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "All rights reserved"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -127,5 +116,7 @@ msgstr "A provider to get rates from is required"
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Couldn't find provider {provider}"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "eVibes Engine"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Balance Deposit"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,11 @@ msgstr "Detalles del proceso"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"El importe de la transacción debe ajustarse a {config."
|
||||
"PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"El importe de la transacción debe ajustarse a "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,57 +66,46 @@ msgstr "Saldo"
|
|||
msgid "balances"
|
||||
msgstr "Escalas"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "Activar su cuenta"
|
||||
msgid "balance deposit"
|
||||
msgstr "Depósito de saldo"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "Logotipo"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "Hola %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Hola %(user_first_name)s,"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"Gracias por registrarse en %(config.PROJECT_NAME)s. Por favor, active su "
|
||||
"cuenta haciendo clic en el botón de abajo:"
|
||||
"Hemos ingresado correctamente %(amount)s en su cuenta. Su saldo\n"
|
||||
" actual es de %(balance)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"Activar\n"
|
||||
" Cuenta"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"Si el botón anterior no funciona, copie y pegue la siguiente URL en su "
|
||||
"navegador:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "Saludos cordiales,<br>El equipo de %(config.PROJECT_NAME)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"Todos los derechos\n"
|
||||
" reservados."
|
||||
"Si tiene alguna pregunta, no dude en ponerse en contacto con nuestro servicio de asistencia en\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "Saludos cordiales,<br>el equipo %(project_name)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "Todos los derechos reservados"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -127,5 +116,7 @@ msgstr "Se necesita un proveedor del que obtener tarifas"
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "No se ha podido encontrar el proveedor {provider}"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Motor eVibes"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Depósito de saldo"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,11 @@ msgstr "Détails du traitement"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"Le montant de la transaction doit être compris entre {config."
|
||||
"PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}."
|
||||
"Le montant de la transaction doit être compris entre "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}."
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,66 +66,58 @@ msgstr "Balance"
|
|||
msgid "balances"
|
||||
msgstr "Balances"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "Activer votre compte"
|
||||
msgid "balance deposit"
|
||||
msgstr "Balance Deposit"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "Bonjour %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Bonjour %(user_first_name)s,"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"Merci de vous être inscrit à %(config.PROJECT_NAME)s. Veuillez activer votre "
|
||||
"compte en cliquant sur le bouton ci-dessous :"
|
||||
"Nous avons crédité votre compte de %(amount)s. Votre solde\n"
|
||||
" est de %(balance)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"Activer\n"
|
||||
" Compte"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"Si le bouton ci-dessus ne fonctionne pas, veuillez copier et coller l'URL "
|
||||
"suivante dans votre navigateur web :"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "Meilleures salutations,<br>L'équipe %(config.PROJECT_NAME)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"Tous les droits\n"
|
||||
" réservés."
|
||||
"Si vous avez des questions, n'hésitez pas à contacter notre service d'assistance à l'adresse suivante\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "Meilleures salutations, <br>l'équipe %(project_name)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "Tous droits réservés"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
msgstr "Il est nécessaire de disposer d'un fournisseur pour obtenir des tarifs"
|
||||
msgstr ""
|
||||
"Il est nécessaire de disposer d'un fournisseur pour obtenir des tarifs"
|
||||
|
||||
#: payments/utils/__init__.py:15
|
||||
#, python-brace-format
|
||||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Impossible de trouver le fournisseur {provider}"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Moteur eVibes"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Dépôt de solde"
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.8.9\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -67,48 +67,41 @@ msgstr ""
|
|||
msgid "balances"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgid "balance deposit"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your new\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgid ""
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr ""
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
|
|
@ -119,3 +112,8 @@ msgstr ""
|
|||
#, python-brace-format
|
||||
msgid "couldn't find provider {provider}"
|
||||
msgstr ""
|
||||
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr ""
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,11 @@ msgstr "Dettagli di elaborazione"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"L'importo della transazione deve rientrare in {config."
|
||||
"PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"L'importo della transazione deve rientrare in "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,57 +66,46 @@ msgstr "Equilibrio"
|
|||
msgid "balances"
|
||||
msgstr "Bilance"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "Attivare il proprio account"
|
||||
msgid "balance deposit"
|
||||
msgstr "Saldo Deposito"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "Ciao %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Hello %(user_first_name)s,"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"Grazie per esservi iscritti a %(config.PROJECT_NAME)s. Attivate il vostro "
|
||||
"account facendo clic sul pulsante sottostante:"
|
||||
"Abbiamo accreditato il vostro conto con %(amount)s. Il suo saldo attuale\n"
|
||||
" saldo è %(balance)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"Attivare\n"
|
||||
" Conto"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"Se il pulsante qui sopra non funziona, copiate e incollate il seguente URL "
|
||||
"nel vostro browser web:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "Cordiali saluti,<br>Il team %(config.PROJECT_NAME)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"Tutti i diritti\n"
|
||||
" riservati."
|
||||
"In caso di domande, non esitate a contattare il nostro supporto all'indirizzo\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "Cordiali saluti,<br>il team %(project_name)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "Tutti i diritti riservati"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -127,5 +116,7 @@ msgstr "È necessario un fornitore da cui ottenere le tariffe"
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Impossibile trovare il fornitore {provider}"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Motore eVibes"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Deposito a saldo"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,10 @@ msgstr "加工内容"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"取引金額は{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}に"
|
||||
"収まる必要があります。"
|
||||
"取引金額は{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}に収まる必要があります。"
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,57 +65,46 @@ msgstr "バランス"
|
|||
msgid "balances"
|
||||
msgstr "体重計"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "アカウントの有効化"
|
||||
msgid "balance deposit"
|
||||
msgstr "預金残高"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "ロゴ"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "こんにちは、%(user.first_name)sです、"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "こんにちは%(user_first_name)s、"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"%(config.PROJECT_NAME)sにご登録いただきありがとうございます。下のボタンをク"
|
||||
"リックしてアカウントを有効にしてください:"
|
||||
"お客様の口座に%(amount)sが入金されました。あなたの現在の\n"
|
||||
" 現在の残高は%(balance)sです。"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"アクティベート\n"
|
||||
" アカウント"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"上記のボタンが機能しない場合は、以下のURLをコピーしてウェブブラウザに貼り付け"
|
||||
"てください:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "よろしくお願いします、<br>%(config.PROJECT_NAME)sチーム"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"無断転載を禁じます。\n"
|
||||
" 予約済み"
|
||||
"ご不明な点がございましたら、お気軽に下記までお問い合わせください。\n"
|
||||
" %(contact_email)s。"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "よろしくお願いします、<br>%(project_name)sチーム"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "無断複写・転載を禁じます。"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -127,5 +115,7 @@ msgstr "レートを取得するプロバイダーが必要"
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "{provider}プロバイダーが見つかりません。"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "eVibesエンジン"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME}| 預金残高"
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.8.9\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -67,48 +67,41 @@ msgstr ""
|
|||
msgid "balances"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgid "balance deposit"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your new\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgid ""
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr ""
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
|
|
@ -119,3 +112,8 @@ msgstr ""
|
|||
#, python-brace-format
|
||||
msgid "couldn't find provider {provider}"
|
||||
msgstr ""
|
||||
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr ""
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,11 @@ msgstr "Verwerkingsdetails"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"Het transactiebedrag moet passen binnen {config.PAYMENT_GATEWAY_MINIMUM}-"
|
||||
"{config.PAYMENT_GATEWAY_MAXIMUM}."
|
||||
"Het transactiebedrag moet passen binnen "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}."
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,57 +66,46 @@ msgstr "Saldo"
|
|||
msgid "balances"
|
||||
msgstr "Weegschaal"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "Uw account activeren"
|
||||
msgid "balance deposit"
|
||||
msgstr "Saldo Storting"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "Hallo %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Hallo %(user_first_name)s,"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"Bedankt voor het aanmelden bij %(config.PROJECT_NAME)s. Activeer je account "
|
||||
"door op de onderstaande knop te klikken:"
|
||||
"We hebben uw rekening succesvol gecrediteerd met %(amount)s. Uw huidige\n"
|
||||
" saldo is %(balance)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"Activeer\n"
|
||||
" Account"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"Als de bovenstaande knop niet werkt, kopieer en plak dan de volgende URL in "
|
||||
"je webbrowser:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "Vriendelijke groeten,<br>Het %(config.PROJECT_NAME)s Team"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"Alle rechten\n"
|
||||
" voorbehouden."
|
||||
"Als u vragen hebt, kunt u contact opnemen met onze klantenservice op\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "Vriendelijke groeten,<br>het %(project_name)s team"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "Alle rechten voorbehouden"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -127,5 +116,7 @@ msgstr "Een provider om tarieven van te krijgen is vereist"
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Kon provider {provider} niet vinden"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "eVibes motor"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Saldo storting"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,11 @@ msgstr "Szczegóły przetwarzania"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"Kwota transakcji musi mieścić się w przedziale {config."
|
||||
"PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}."
|
||||
"Kwota transakcji musi mieścić się w przedziale "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}."
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,57 +66,46 @@ msgstr "Równowaga"
|
|||
msgid "balances"
|
||||
msgstr "Wagi"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "Aktywacja konta"
|
||||
msgid "balance deposit"
|
||||
msgstr "Saldo depozytu"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "Witaj %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Witaj %(user_first_name)s,"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"Dziękujemy za zarejestrowanie się w %(config.PROJECT_NAME)s. Aktywuj swoje "
|
||||
"konto, klikając poniższy przycisk:"
|
||||
"Twoje konto zostało pomyślnie zasilone kwotą %(amount)s. Aktualne\n"
|
||||
" wynosi %(balance)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"Aktywuj\n"
|
||||
" Konto"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"Jeśli powyższy przycisk nie działa, skopiuj i wklej poniższy adres URL do "
|
||||
"przeglądarki internetowej:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "Z wyrazami szacunku,<br>Zespół %(config.PROJECT_NAME)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"Wszelkie prawa\n"
|
||||
" zastrzeżone."
|
||||
"Jeśli masz jakiekolwiek pytania, skontaktuj się z naszym działem pomocy technicznej pod adresem\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "Najlepsze pozdrowienia,<br>zespół %(project_name)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "Wszelkie prawa zastrzeżone"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -127,5 +116,7 @@ msgstr "Wymagany jest dostawca, od którego można uzyskać stawki"
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Nie można znaleźć dostawcy {provider}."
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Silnik eVibes"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Wpłata salda"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,11 @@ msgstr "Detalhes do processamento"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"O valor da transação deve se enquadrar em {config.PAYMENT_GATEWAY_MINIMUM}-"
|
||||
"{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"O valor da transação deve se enquadrar em "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,57 +66,46 @@ msgstr "Equilíbrio"
|
|||
msgid "balances"
|
||||
msgstr "Balanças"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "Ativar sua conta"
|
||||
msgid "balance deposit"
|
||||
msgstr "Depósito de saldo"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "Logotipo"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "Olá %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Olá %(user_first_name)s,"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"Obrigado por se inscrever no %(config.PROJECT_NAME)s. Ative sua conta "
|
||||
"clicando no botão abaixo:"
|
||||
"Creditamos sua conta com %(amount)s com sucesso. Seu saldo atual\n"
|
||||
" saldo atual é %(balance)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"Ativar\n"
|
||||
" Conta"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"Se o botão acima não funcionar, copie e cole o seguinte URL em seu navegador "
|
||||
"da Web:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "Com os melhores cumprimentos,<br>A equipe de %(config.PROJECT_NAME)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"Todos os direitos\n"
|
||||
" reservados."
|
||||
"Se tiver alguma dúvida, entre em contato com o nosso suporte em\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "Atenciosamente,<br>a equipe %(project_name)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "Todos os direitos reservados"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -127,5 +116,7 @@ msgstr "É necessário um provedor para obter as tarifas"
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Não foi possível encontrar o provedor {provider}"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Motor eVibes"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Depósito de saldo"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,11 @@ msgstr "Detalii de prelucrare"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"Valoarea tranzacției trebuie să se încadreze în {config."
|
||||
"PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"Valoarea tranzacției trebuie să se încadreze în "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,57 +66,46 @@ msgstr "Echilibru"
|
|||
msgid "balances"
|
||||
msgstr "Balanță"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "Activați contul dvs."
|
||||
msgid "balance deposit"
|
||||
msgstr "Sold Depozit"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "Logo"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "Bună ziua %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Bună ziua %(user_first_name)s,"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"Vă mulțumim pentru înscrierea la %(config.PROJECT_NAME)s. Vă rugăm să vă "
|
||||
"activați contul făcând clic pe butonul de mai jos:"
|
||||
"Am creditat cu succes contul dvs. cu %(amount)s. Soldul dvs. actual\n"
|
||||
" actual este %(balance)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"Activare\n"
|
||||
" Cont"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"Dacă butonul de mai sus nu funcționează, vă rugăm să copiați și să lipiți "
|
||||
"următoarea adresă URL în browserul dvs. web:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "Salutări,<br>Echipa %(config.PROJECT_NAME)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"Toate drepturile\n"
|
||||
" rezervate."
|
||||
"Dacă aveți întrebări, nu ezitați să contactați asistența noastră la\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "Cele mai bune salutări,<br>echipa %(project_name)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "Toate drepturile rezervate"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -127,5 +116,7 @@ msgstr "Este necesar un furnizor de la care să se obțină tarife"
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Nu am putut găsi furnizorul {provider}"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Motorul eVibes"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Depozit sold"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,11 @@ msgstr "Детали обработки"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"Сумма транзакции должна вписываться в {config.PAYMENT_GATEWAY_MINIMUM}-"
|
||||
"{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"Сумма транзакции должна вписываться в "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,57 +66,46 @@ msgstr "Баланс"
|
|||
msgid "balances"
|
||||
msgstr "Весы"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "Активируйте свою учетную запись"
|
||||
msgid "balance deposit"
|
||||
msgstr "Балансовый депозит"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "Логотип"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "Здравствуйте %(user.first_name)s,"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Привет %(user_first_name)s,"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"Благодарим вас за регистрацию в %(config.PROJECT_NAME)s. Пожалуйста, "
|
||||
"активируйте свой аккаунт, нажав на кнопку ниже:"
|
||||
"Мы успешно зачислили на ваш счет %(amount)s. Ваш текущий\n"
|
||||
" баланс составляет %(balance)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"Активировать\n"
|
||||
" Учетная запись"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"Если кнопка выше не работает, скопируйте и вставьте следующий URL-адрес в "
|
||||
"свой веб-браузер:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "С наилучшими пожеланиями,<br>Команда %(config.PROJECT_NAME)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"Все права\n"
|
||||
" зарезервировано."
|
||||
"Если у вас возникнут вопросы, обращайтесь в нашу службу поддержки по адресу\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "С наилучшими пожеланиями, <br>команда %(project_name)s"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "Все права защищены"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -127,5 +116,7 @@ msgstr "Требуется поставщик, у которого можно п
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Не удалось найти провайдера {provider}"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Движок eVibes"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Депозит баланса"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-06-21 22:42+0100\n"
|
||||
"POT-Creation-Date: 2025-06-22 18:07+0100\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: BRITISH ENGLISH <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -52,11 +52,11 @@ msgstr "处理细节"
|
|||
#: payments/models.py:39
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"交易金额必须符合 {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM} 的规定。"
|
||||
"交易金额必须符合 {config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM} "
|
||||
"的规定。"
|
||||
|
||||
#: payments/models.py:61
|
||||
msgid "balance"
|
||||
|
|
@ -66,53 +66,46 @@ msgstr "平衡"
|
|||
msgid "balances"
|
||||
msgstr "天平"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:8
|
||||
#: payments/templates/balance_deposit_email.html:7
|
||||
#: payments/templates/balance_deposit_email.html:100
|
||||
msgid "Activate Your Account"
|
||||
msgstr "激活账户"
|
||||
msgid "balance deposit"
|
||||
msgstr "余额存款"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:94
|
||||
msgid "Logo"
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
msgid "logo"
|
||||
msgstr "标志"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:101
|
||||
#, python-format
|
||||
msgid "Hello %(user.first_name)s,"
|
||||
msgstr "您好 %(user.first_name)s、"
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "你好%(user_first_name)s_、"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:102
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Thank you for signing up for %(config.PROJECT_NAME)s. Please activate your\n"
|
||||
" account by clicking the button below:"
|
||||
msgstr "感谢您注册%(config.PROJECT_NAME)s_。请点击下面的按钮激活您的帐户:"
|
||||
"we have successfully credited your account with %(amount)s. your current\n"
|
||||
" balance is %(balance)s."
|
||||
msgstr ""
|
||||
"我们已成功地将 %(amount)s_记入您的账户。您目前的\n"
|
||||
" 余额为%(balance)s_。"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:105
|
||||
msgid ""
|
||||
"Activate\n"
|
||||
" Account"
|
||||
msgstr ""
|
||||
"激活\n"
|
||||
" 账户"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:108
|
||||
msgid ""
|
||||
"If the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr "如果上面的按钮不起作用,请将以下 URL 复制并粘贴到您的浏览器中:"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:111
|
||||
#, python-format
|
||||
msgid "Best regards,<br>The %(config.PROJECT_NAME)s Team"
|
||||
msgstr "致以最诚挚的问候,<br>%(config.PROJECT_NAME)s团队"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:116
|
||||
msgid ""
|
||||
"All rights\n"
|
||||
" reserved."
|
||||
"if you have any questions, feel free to contact our support at\n"
|
||||
" %(contact_email)s."
|
||||
msgstr ""
|
||||
"保留所有权利。\n"
|
||||
" 保留所有权利。"
|
||||
"如果您有任何问题,请随时通过以下方式联系我们的支持人员\n"
|
||||
" %(contact_email)s."
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:107
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "致以最诚挚的问候,<br>%(project_name)s_团队"
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:113
|
||||
msgid "all rights reserved"
|
||||
msgstr "保留所有权利"
|
||||
|
||||
#: payments/utils/__init__.py:8
|
||||
msgid "a provider to get rates from is required"
|
||||
|
|
@ -123,5 +116,7 @@ msgstr "需要提供商提供费率"
|
|||
msgid "couldn't find provider {provider}"
|
||||
msgstr "找不到提供方 {provider}"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "eVibes 引擎"
|
||||
#: payments/utils/emailing.py:27
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME}| 余额存款"
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ from django.db.models.signals import post_save
|
|||
from django.dispatch import receiver
|
||||
|
||||
from payments.models import Balance, Transaction
|
||||
from payments.utils.emailing import balance_deposit_email
|
||||
from vibes_auth.models import User
|
||||
|
||||
|
||||
|
|
@ -17,5 +18,10 @@ def process_transaction_changes(instance, created, **_kwargs):
|
|||
try:
|
||||
gateway = object()
|
||||
gateway.process_transaction(instance)
|
||||
except Exception: # noqa:
|
||||
instance.process = {"status": "NOGATEWAY"}
|
||||
except Exception as e: # noqa:
|
||||
instance.process = {"status": "NOGATEWAY", "error": str(e)}
|
||||
if not created:
|
||||
if "success" in str(instance.process).lower() and "notify" in str(instance.process).lower():
|
||||
balance_deposit_email.delay(instance.uuid)
|
||||
if "fail" in str(instance.process).lower() and "notify" in str(instance.process).lower():
|
||||
pass
|
||||
|
|
|
|||
|
|
@ -1,32 +1,36 @@
|
|||
{% load tz static i18n filters conditions %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{% blocktrans with msgid="activate_account_title" %}Activate Your Account{% endblocktrans %}</title>
|
||||
<title>{% blocktrans %}balance deposit{% endblocktrans %}</title>
|
||||
<style>
|
||||
/* Ensure responsiveness across devices */
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body, table, td, a {
|
||||
text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
table {
|
||||
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
/* Use fluid layout for images */
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/* Style adjustments for different clients */
|
||||
.email-container {
|
||||
max-width: 600px;
|
||||
margin: 0 auto;
|
||||
|
|
@ -45,7 +49,7 @@
|
|||
}
|
||||
|
||||
.header img {
|
||||
width: 120px; /* Adjust logo size */
|
||||
width: 120px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
|
|
@ -57,18 +61,19 @@
|
|||
color: #888;
|
||||
}
|
||||
|
||||
.button {
|
||||
background-color: #000000;
|
||||
color: white;
|
||||
padding: 10px 20px;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
.order-table {
|
||||
width: 100%;
|
||||
margin-top: 20px;
|
||||
transition: 0.2s;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
background-color: #3a3a3a;
|
||||
.order-table th, .order-table td {
|
||||
border: 1px solid #ddd;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.order-table th {
|
||||
background-color: #f4f4f4;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
|
|
@ -77,44 +82,35 @@
|
|||
}
|
||||
}
|
||||
</style>
|
||||
<!-- Avatar for email client display -->
|
||||
<link rel="icon" href="{% static 'favicon.png' %}" sizes="192x192">
|
||||
</head>
|
||||
<body>
|
||||
<!-- Main container -->
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<!-- Email container for centering -->
|
||||
<table class="email-container">
|
||||
<tr>
|
||||
<td class="header">
|
||||
<!-- Logo area -->
|
||||
<img src="{% static 'favicon.png' %}"
|
||||
alt="{% blocktrans with msgid="logo_alt_text" %}Logo{% endblocktrans %}" width="120">
|
||||
alt="{% blocktrans %}logo{% endblocktrans %}" width="120">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="content-cell">
|
||||
<!-- Email content area -->
|
||||
<h2>{% blocktrans %}Activate Your Account{% endblocktrans %}</h2>
|
||||
<p>{% blocktrans %}Hello {{ user.first_name }},{% endblocktrans %}</p>
|
||||
<p>{% blocktrans %}Thank you for signing up for {{ config.PROJECT_NAME }}. Please activate your
|
||||
account by clicking the button below:{% endblocktrans %}</p>
|
||||
<p>
|
||||
<a href="{{ activation_link }}" class="button">{% blocktrans %}Activate
|
||||
Account{% endblocktrans %}</a>
|
||||
</p>
|
||||
<p>{% blocktrans %}If the button above does not work, please copy and paste the following URL
|
||||
into your web browser:{% endblocktrans %}</p>
|
||||
<p>{{ activation_link }}</p>
|
||||
<p>{% blocktrans %}Best regards,<br>The {{ config.PROJECT_NAME }} Team{% endblocktrans %}</p>
|
||||
<h2>{% blocktrans %}balance deposit{% endblocktrans %}</h2>
|
||||
<p>{% blocktrans %}hello {{ user_first_name }},{% endblocktrans %}</p>
|
||||
<p>{% blocktrans %}we have successfully credited your account with {{ amount }}. your current
|
||||
balance is {{ balance }}.{% endblocktrans %}</p>
|
||||
|
||||
<p>{% blocktrans %}if you have any questions, feel free to contact our support at
|
||||
{{ contact_email }}.{% endblocktrans %}</p>
|
||||
<p>{% blocktrans %}best regards,<br>the {{ project_name }} team{% endblocktrans %}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="footer">
|
||||
© {{ current_year }} {{ config.PROJECT_NAME }}. {% blocktrans %}All rights
|
||||
reserved.{% endblocktrans %}
|
||||
© {% now "Y" %} {{ project_name }}.
|
||||
{% blocktrans %}all rights reserved{% endblocktrans %}.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -1,32 +1,46 @@
|
|||
from datetime import datetime
|
||||
|
||||
from celery.app import shared_task
|
||||
from constance import config
|
||||
from django.core import mail
|
||||
from django.core.mail import EmailMessage
|
||||
from django.template.loader import render_to_string
|
||||
from django.utils import timezone
|
||||
from django.utils.translation import activate
|
||||
|
||||
from vibes_auth.models import User
|
||||
from core.utils.constance import set_email_settings
|
||||
from payments.models import Transaction
|
||||
|
||||
|
||||
@shared_task
|
||||
def balance_email(user_pk: str) -> tuple[bool, str]:
|
||||
pass
|
||||
def balance_deposit_email(transaction_pk: str) -> tuple[bool, str]:
|
||||
try:
|
||||
user = User.objects.get(pk=user_pk)
|
||||
except User.DoesNotExist:
|
||||
return False, f"Order not found with the given pk: {user_pk}"
|
||||
transaction = Transaction.objects.get(pk=transaction_pk)
|
||||
except Transaction.DoesNotExist:
|
||||
return False, f"Transaction not found with the given pk: {transaction_pk}"
|
||||
|
||||
activate(user.language)
|
||||
activate(transaction.balance.user.language) # type: ignore
|
||||
|
||||
set_email_settings()
|
||||
connection = mail.get_connection()
|
||||
|
||||
email = EmailMessage(
|
||||
"eVibes | Successful Order",
|
||||
_(f"{config.PROJECT_NAME} | balance deposit"),
|
||||
render_to_string(
|
||||
"balance_deposit_email.html", {"user": user, "current_year": timezone.now().year, "config": config}
|
||||
template_name="balance_deposit_email.html",
|
||||
context={
|
||||
"amount": transaction.amount,
|
||||
"balance": transaction.balance.amount,
|
||||
"user_first_name": transaction.balance.user.first_name, # type: ignore
|
||||
"project_name": config.PROJECT_NAME,
|
||||
"contact_email": config.EMAIL_FROM,
|
||||
"today": datetime.today(),
|
||||
},
|
||||
),
|
||||
to=[user.email],
|
||||
to=[transaction.balance.user.email], # type: ignore
|
||||
from_email=f"{config.PROJECT_NAME} <{config.EMAIL_FROM}>",
|
||||
connection=connection,
|
||||
)
|
||||
email.content_subtype = "html"
|
||||
email.send()
|
||||
|
||||
return True, user.uuid
|
||||
return True, str(order.uuid)
|
||||
|
|
|
|||
12
scripts/Unix/backup.sh
Normal file
12
scripts/Unix/backup.sh
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
source ./scripts/Unix/starter.sh
|
||||
|
||||
echo "Starting database backup process..."
|
||||
docker compose exec app poetry run python manage.py dbbackup
|
||||
echo "Database backup created under ./dbbackup"
|
||||
|
||||
echo "Starting media backup process..."
|
||||
docker compose exec app poetry run python manage.py mediabackup
|
||||
echo "Media backup created under ./dbbackup"
|
||||
|
|
@ -1,63 +1,35 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ ! -d "./evibes" ]; then
|
||||
printf "\e[31m❌ Please run this script from the project's root (where the 'evibes' directory lives).\e[0m\n"
|
||||
exit 1
|
||||
fi
|
||||
source ./scripts/Unix/starter.sh
|
||||
|
||||
PURPLE="\e[38;2;121;101;209m"
|
||||
RESET="\e[0m"
|
||||
GRAY="\e[90m"
|
||||
|
||||
SOURCE="${BASH_SOURCE[0]:-$0}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "$SOURCE")" && pwd)"
|
||||
ART_PATH="$SCRIPT_DIR/../ASCII_ART_EVIBES"
|
||||
|
||||
if [ ! -f "$ART_PATH" ]; then
|
||||
printf "\e[31m❌ Could not find ASCII art at %s\e[0m\n" "$ART_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while IFS= read -r line; do
|
||||
printf "%b%s%b\n" "$PURPLE" "$line" "$RESET"
|
||||
done < "$ART_PATH"
|
||||
|
||||
printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
|
||||
|
||||
ENV_FILE=".env"
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
printf "\e[31m.env file not found in the current directory.\e[0m\n"
|
||||
env_file=".env"
|
||||
if [ ! -f "$env_file" ]; then
|
||||
echo ".env file not found in the current directory." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
declare -A env_vars
|
||||
declare -a keys
|
||||
|
||||
while IFS= read -r raw; do
|
||||
line="${raw%%#*}"
|
||||
line="${line%"${line##*[![:space:]]}"}"
|
||||
while IFS= read -r line; do
|
||||
line="${line#"${line%%[![:space:]]*}"}"
|
||||
[ -z "$line" ] || [[ "$line" != *=* ]] && continue
|
||||
line="${line%"${line##*[![:space:]]}"}"
|
||||
if [ -z "$line" ] || [[ "$line" == \#* ]] || [[ "$line" != *=* ]]; then
|
||||
continue
|
||||
fi
|
||||
key="${line%%=*}"
|
||||
value="${line#*=}"
|
||||
if [[ "${value:0:1}" == '"' && "${value: -1}" == '"' ]] || \
|
||||
[[ "${value:0:1}" == "'" && "${value: -1}" == "'" ]]; then
|
||||
if [[ ( "$value" == \"*\" && "$value" == *\" ) || ( "$value" == \'*\' && "$value" == *\' ) ]]; then
|
||||
value="${value:1:-1}"
|
||||
fi
|
||||
export "$key"="$value"
|
||||
export "$key=$value"
|
||||
env_vars["$key"]="$value"
|
||||
keys+=("$key")
|
||||
done < "$ENV_FILE"
|
||||
done < "$env_file"
|
||||
|
||||
if [ "${#keys[@]}" -gt 0 ]; then
|
||||
# shellcheck disable=SC2207
|
||||
IFS=$'\n' sorted=($(sort <<<"${keys[*]}"))
|
||||
unset IFS
|
||||
formatted=""
|
||||
for k in "${sorted[@]}"; do
|
||||
[ -z "$formatted" ] && formatted="$k=${env_vars[$k]}" \
|
||||
|| formatted="$formatted;$k=${env_vars[$k]}"
|
||||
if [ "${#env_vars[@]}" -gt 0 ]; then
|
||||
IFS=$'\n' sorted=($(for k in "${!env_vars[@]}"; do echo "${k}=${env_vars[$k]}"; done | sort))
|
||||
printf "%s" "${sorted[0]}"
|
||||
for entry in "${sorted[@]:1}"; do
|
||||
printf ";%s" "$entry"
|
||||
done
|
||||
printf "%s\n" "$formatted"
|
||||
echo
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -1,145 +1,81 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ ! -d "./evibes" ]; then
|
||||
printf "\e[31m❌ Please run this script from the project's root (where the 'evibes' directory lives).\e[0m\n"
|
||||
exit 1
|
||||
fi
|
||||
source ./scripts/Unix/starter.sh
|
||||
|
||||
PURPLE="\e[38;2;121;101;209m"
|
||||
RESET="\e[0m"
|
||||
GRAY="\e[90m"
|
||||
|
||||
SOURCE="${BASH_SOURCE[0]:-$0}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "$SOURCE")" && pwd)"
|
||||
ART_PATH="$SCRIPT_DIR/../ASCII_ART_EVIBES"
|
||||
|
||||
if [ ! -f "$ART_PATH" ]; then
|
||||
printf "\e[31m❌ Could not find ASCII art at %s\e[0m\n" "$ART_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while IFS= read -r line; do
|
||||
printf "%b%s%b\n" "$PURPLE" "$line" "$RESET"
|
||||
done < "$ART_PATH"
|
||||
|
||||
printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
|
||||
|
||||
# prompt for a value with default
|
||||
prompt_default() {
|
||||
local name="$1" default="$2" result
|
||||
read -rp "Enter $name [$default]: " result
|
||||
printf '%s\n' "${result:-$default}"
|
||||
get_random_hex() {
|
||||
hexdump -v -e '/1 "%02x"' -n "$1" /dev/urandom
|
||||
}
|
||||
|
||||
# prompt for a value, auto-generate hex if blank
|
||||
prompt_autogen() {
|
||||
local name="$1" bytes="$2" result
|
||||
read -rp "Enter $name (leave blank to auto-generate): " result
|
||||
if [ -z "$result" ]; then
|
||||
# generate $bytes random bytes as hex
|
||||
result="$(head -c "$bytes" /dev/urandom | od -An -tx1 | tr -d ' \n')"
|
||||
prompt_default() {
|
||||
printf "Enter %s [%s]: " "$1" "$2"
|
||||
read -r response
|
||||
if [ -z "${response//[[:space:]]/}" ]; then
|
||||
echo "$2"
|
||||
else
|
||||
echo "$response"
|
||||
fi
|
||||
}
|
||||
|
||||
prompt_autogen() {
|
||||
printf "Enter %s (leave blank to auto-generate): " "$1"
|
||||
read -r response
|
||||
if [ -z "${response//[[:space:]]/}" ]; then
|
||||
get_random_hex "$2"
|
||||
else
|
||||
echo "$response"
|
||||
fi
|
||||
printf '%s\n' "$result"
|
||||
}
|
||||
|
||||
if [ -f .env ]; then
|
||||
printf "\e[33m.env already exists and will be overwritten.\e[0m\n"
|
||||
read -rp "Press Enter to continue or Ctrl+C to abort"
|
||||
echo ".env already exists and will be overwritten." >&2
|
||||
printf "Press Enter to continue or Ctrl+C to abort"
|
||||
read -r
|
||||
fi
|
||||
|
||||
PROJECT_NAME=$(prompt_default 'EVIBES_PROJECT_NAME' 'eVibes')
|
||||
FRONTEND_DOMAIN=$(prompt_default 'EVIBES_FRONTEND_DOMAIN' 'evibes.com')
|
||||
BASE_DOMAIN=$(prompt_default 'EVIBES_BASE_DOMAIN' 'evibes.com')
|
||||
SENTRY_DSN=$(prompt_default 'SENTRY_DSN' '')
|
||||
DEBUG=$(prompt_default 'DEBUG' '1')
|
||||
PROJECT_NAME=$(prompt_default EVIBES_PROJECT_NAME eVibes)
|
||||
FRONTEND_DOMAIN=$(prompt_default EVIBES_FRONTEND_DOMAIN evibes.com)
|
||||
BASE_DOMAIN=$(prompt_default EVIBES_BASE_DOMAIN evibes.com)
|
||||
SENTRY_DSN=$(prompt_default SENTRY_DSN "")
|
||||
DEBUG=$(prompt_default DEBUG 1)
|
||||
|
||||
SECRET_KEY=$(prompt_autogen 'SECRET_KEY' 32)
|
||||
JWT_SIGNING_KEY=$(prompt_autogen 'JWT_SIGNING_KEY' 64)
|
||||
SECRET_KEY=$(prompt_autogen SECRET_KEY 32)
|
||||
JWT_SIGNING_KEY=$(prompt_autogen JWT_SIGNING_KEY 64)
|
||||
|
||||
ALLOWED_HOSTS=$(prompt_default 'ALLOWED_HOSTS' 'evibes.com api.evibes.com b2b.evibes.com')
|
||||
CSRF_TRUSTED_ORIGINS=$(prompt_default 'CSRF_TRUSTED_ORIGINS' 'https://evibes.com https://api.evibes.com https://www.evibes.com https://b2b.evibes.com')
|
||||
CORS_ALLOWED_ORIGINS="$CSRF_TRUSTED_ORIGINS"
|
||||
ALLOWED_HOSTS=$(prompt_default ALLOWED_HOSTS "evibes.com api.evibes.com b2b.evibes.com")
|
||||
CSRF_TRUSTED_ORIGINS=$(prompt_default CSRF_TRUSTED_ORIGINS "https://evibes.com https://api.evibes.com https://www.evibes.com https://b2b.evibes.com")
|
||||
CORS_ALLOWED_ORIGINS=$CSRF_TRUSTED_ORIGINS
|
||||
|
||||
POSTGRES_DB=$(prompt_default 'POSTGRES_DB' 'evibes')
|
||||
POSTGRES_USER=$(prompt_default 'POSTGRES_USER' 'evibes_user')
|
||||
POSTGRES_PASSWORD=$(prompt_autogen 'POSTGRES_PASSWORD' 16)
|
||||
POSTGRES_DB=$(prompt_default POSTGRES_DB evibes)
|
||||
POSTGRES_USER=$(prompt_default POSTGRES_USER evibes_user)
|
||||
POSTGRES_PASSWORD=$(prompt_autogen POSTGRES_PASSWORD 16)
|
||||
|
||||
DBBACKUP_SFTP_HOST=$(prompt_default 'DBBACKUP_SFTP_HOST' 'Your SFTP backup host')
|
||||
DBBACKUP_SFTP_USER=$(prompt_default 'DBBACKUP_SFTP_USER' 'The username to use to log in to that host')
|
||||
DBBACKUP_SFTP_PASS=$(prompt_default 'DBBACKUP_SFTP_PASS' 'The password to use to log in to that host')
|
||||
DBBACKUP_SFTP_HOST=$(prompt_default DBBACKUP_SFTP_HOST "Your SFTP backup host")
|
||||
DBBACKUP_SFTP_USER=$(prompt_default DBBACKUP_SFTP_USER "The username to use to log in to that host")
|
||||
DBBACKUP_SFTP_PASS=$(prompt_default DBBACKUP_SFTP_PASS "The password to use to log in to that host")
|
||||
|
||||
ELASTIC_PASSWORD=$(prompt_autogen 'ELASTIC_PASSWORD' 16)
|
||||
REDIS_PASSWORD=$(prompt_autogen 'REDIS_PASSWORD' 16)
|
||||
ELASTIC_PASSWORD=$(prompt_autogen ELASTIC_PASSWORD 16)
|
||||
REDIS_PASSWORD=$(prompt_autogen REDIS_PASSWORD 16)
|
||||
|
||||
PROMETHEUS_USER=$(prompt_default 'PROMETHEUS_USER' 'evibes')
|
||||
PROMETHEUS_PASSWORD=$(prompt_autogen 'PROMETHEUS_PASSWORD' 16)
|
||||
PROMETHEUS_USER=$(prompt_default PROMETHEUS_USER evibes)
|
||||
PROMETHEUS_PASSWORD=$(prompt_autogen PROMETHEUS_PASSWORD 16)
|
||||
|
||||
EMAIL_BACKEND=$(prompt_default 'EMAIL_BACKEND' 'django.core.mail.backends.smtp.EmailBackend')
|
||||
EMAIL_HOST=$(prompt_default 'EMAIL_HOST' 'smtp.whatever.evibes.com')
|
||||
EMAIL_PORT=$(prompt_default 'EMAIL_PORT' '465')
|
||||
EMAIL_USE_TLS=$(prompt_default 'EMAIL_USE_TLS' '0')
|
||||
EMAIL_USE_SSL=$(prompt_default 'EMAIL_USE_SSL' '1')
|
||||
EMAIL_HOST_USER=$(prompt_default 'EMAIL_HOST_USER' 'your-email-user@whatever.evibes.com')
|
||||
EMAIL_FROM="$EMAIL_HOST_USER"
|
||||
EMAIL_HOST_PASSWORD=$(prompt_default 'EMAIL_HOST_PASSWORD' 'SUPERSECRETEMAILHOSTPASSWORD')
|
||||
EMAIL_BACKEND=$(prompt_default EMAIL_BACKEND django.core.mail.backends.smtp.EmailBackend)
|
||||
EMAIL_HOST=$(prompt_default EMAIL_HOST smtp.whatever.evibes.com)
|
||||
EMAIL_PORT=$(prompt_default EMAIL_PORT 465)
|
||||
EMAIL_USE_TLS=$(prompt_default EMAIL_USE_TLS 0)
|
||||
EMAIL_USE_SSL=$(prompt_default EMAIL_USE_SSL 1)
|
||||
EMAIL_HOST_USER=$(prompt_default EMAIL_HOST_USER your-email-user@whatever.evibes.com)
|
||||
EMAIL_FROM=$EMAIL_HOST_USER
|
||||
EMAIL_HOST_PASSWORD=$(prompt_default EMAIL_HOST_PASSWORD SUPERSECRETEMAILHOSTPASSWORD)
|
||||
|
||||
COMPANY_NAME=$(prompt_default 'COMPANY_NAME' 'eVibes, Inc.')
|
||||
COMPANY_PHONE_NUMBER=$(prompt_default 'COMPANY_PHONE_NUMBER' '+888888888888')
|
||||
COMPANY_ADDRESS=$(prompt_default 'COMPANY_ADDRESS' 'The place that does not exist')
|
||||
COMPANY_NAME=$(prompt_default COMPANY_NAME "eVibes, Inc.")
|
||||
COMPANY_PHONE_NUMBER=$(prompt_default COMPANY_PHONE_NUMBER "+888888888888")
|
||||
COMPANY_ADDRESS=$(prompt_default COMPANY_ADDRESS "The place that does not exist")
|
||||
|
||||
OPENAI_API_KEY=$(prompt_default 'OPENAI_API_KEY' 'Haha, really?')
|
||||
ABSTRACT_API_KEY=$(prompt_default 'ABSTRACT_API_KEY' 'Haha, really? x2')
|
||||
DEEPL_AUTH_KEY=$(prompt_default 'DEEPL_AUTH_KEY' 'Haha, really? x3')
|
||||
OPENAI_API_KEY=$(prompt_default OPENAI_API_KEY "Haha, really?")
|
||||
ABSTRACT_API_KEY=$(prompt_default ABSTRACT_API_KEY "Haha, really? x2")
|
||||
DEEPL_AUTH_KEY=$(prompt_default DEEPL_AUTH_KEY "Haha, really? x3")
|
||||
|
||||
# Write to .env
|
||||
{
|
||||
printf 'EVIBES_PROJECT_NAME="%s"\n' "$PROJECT_NAME"
|
||||
printf 'EVIBES_FRONTEND_DOMAIN="%s"\n' "$FRONTEND_DOMAIN"
|
||||
printf 'EVIBES_BASE_DOMAIN="%s"\n' "$BASE_DOMAIN"
|
||||
printf 'SENTRY_DSN="%s"\n' "$SENTRY_DSN"
|
||||
printf 'DEBUG=%s\n\n' "$DEBUG"
|
||||
|
||||
printf 'SECRET_KEY="%s"\n' "$SECRET_KEY"
|
||||
printf 'JWT_SIGNING_KEY="%s"\n\n' "$JWT_SIGNING_KEY"
|
||||
|
||||
printf 'ALLOWED_HOSTS="%s"\n' "$ALLOWED_HOSTS"
|
||||
printf 'CSRF_TRUSTED_ORIGINS="%s"\n' "$CSRF_TRUSTED_ORIGINS"
|
||||
printf 'CORS_ALLOWED_ORIGINS="%s"\n\n' "$CORS_ALLOWED_ORIGINS"
|
||||
|
||||
printf 'POSTGRES_DB="%s"\n' "$POSTGRES_DB"
|
||||
printf 'POSTGRES_USER="%s"\n' "$POSTGRES_USER"
|
||||
printf 'POSTGRES_PASSWORD="%s"\n\n' "$POSTGRES_PASSWORD"
|
||||
|
||||
printf 'DBBACKUP_SFTP_HOST="%s"\n' "$DBBACKUP_SFTP_HOST"
|
||||
printf 'DBBACKUP_SFTP_USER="%s"\n' "$DBBACKUP_SFTP_USER"
|
||||
printf 'DBBACKUP_SFTP_PASS="%s"\n\n' "$DBBACKUP_SFTP_PASS"
|
||||
|
||||
printf 'ELASTIC_PASSWORD="%s"\n\n' "$ELASTIC_PASSWORD"
|
||||
|
||||
printf 'REDIS_PASSWORD="%s"\n' "$REDIS_PASSWORD"
|
||||
printf 'CELERY_BROKER_URL="redis://:%s@redis:6379/0"\n' "$REDIS_PASSWORD"
|
||||
printf 'CELERY_RESULT_BACKEND="redis://:%s@redis:6379/0"\n\n' "$REDIS_PASSWORD"
|
||||
|
||||
printf 'PROMETHEUS_USER="%s"\n' "$PROMETHEUS_USER"
|
||||
printf 'PROMETHEUS_PASSWORD="%s"\n\n' "$PROMETHEUS_PASSWORD"
|
||||
|
||||
printf 'EMAIL_BACKEND="%s"\n' "$EMAIL_BACKEND"
|
||||
printf 'EMAIL_HOST="%s"\n' "$EMAIL_HOST"
|
||||
printf 'EMAIL_PORT="%s"\n' "$EMAIL_PORT"
|
||||
printf 'EMAIL_USE_TLS=%s\n' "$EMAIL_USE_TLS"
|
||||
printf 'EMAIL_USE_SSL=%s\n' "$EMAIL_USE_SSL"
|
||||
printf 'EMAIL_HOST_USER="%s"\n' "$EMAIL_HOST_USER"
|
||||
printf 'EMAIL_HOST_PASSWORD="%s"\n' "$EMAIL_HOST_PASSWORD"
|
||||
printf 'EMAIL_FROM="%s"\n\n' "$EMAIL_FROM"
|
||||
|
||||
printf 'COMPANY_NAME="%s"\n' "$COMPANY_NAME"
|
||||
printf 'COMPANY_PHONE_NUMBER="%s"\n' "$COMPANY_PHONE_NUMBER"
|
||||
printf 'COMPANY_ADDRESS="%s"\n\n' "$COMPANY_ADDRESS"
|
||||
|
||||
printf 'OPENAI_API_KEY="%s"\n\n' "$OPENAI_API_KEY"
|
||||
printf 'ABSTRACT_API_KEY="%s"\n\n' "$ABSTRACT_API_KEY"
|
||||
printf 'DEEPL_AUTH_KEY="%s"\n' "$DEEPL_AUTH_KEY"
|
||||
} > .env
|
||||
|
||||
printf "\e[32m.env file generated with fresh values.\e[0m\n"
|
||||
cat > .env <<EOF
|
||||
EVIBES_PROJECT_NAME="$PR
|
||||
|
|
|
|||
|
|
@ -1,63 +1,44 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ ! -d "./evibes" ]; then
|
||||
printf "\e[31m❌ Please run this script from the project's root (where the 'evibes' directory lives).\e[0m\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PURPLE="\e[38;2;121;101;209m"
|
||||
RESET="\e[0m"
|
||||
GRAY="\e[90m"
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
ART_PATH="$SCRIPT_DIR/../ASCII_ART_EVIBES"
|
||||
|
||||
if [ ! -f "$ART_PATH" ]; then
|
||||
printf "\e[31m❌ Could not find ASCII art at %s\e[0m\n" "$ART_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while IFS= read -r line; do
|
||||
printf "%b%s%b\n" "$PURPLE" "$line" "$RESET"
|
||||
done < "$ART_PATH"
|
||||
|
||||
printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
|
||||
source ./scripts/Unix/starter.sh
|
||||
|
||||
if [ ! -f .env ]; then
|
||||
printf "\e[33m.env file not found. Exiting without running Docker steps.\e[0m\n"
|
||||
echo ".env file not found. Exiting without running Docker steps." >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
CPU_COUNT=$(nproc 2>/dev/null || sysctl -n hw.ncpu)
|
||||
if [ "$CPU_COUNT" -lt 4 ]; then
|
||||
printf "\e[31mInsufficient CPU cores: %d detected. Minimum 4 required.\e[0m\n" "$CPU_COUNT"
|
||||
cpu_count=$(getconf _NPROCESSORS_ONLN)
|
||||
if [ "$cpu_count" -lt 4 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f /proc/meminfo ]; then
|
||||
MEM_KB=$(awk '/MemTotal/ {print $2}' /proc/meminfo)
|
||||
MEM_GB=$(awk "BEGIN {printf \"%.2f\", ${MEM_KB}/1024/1024}")
|
||||
mem_kb=$(grep MemTotal /proc/meminfo | awk '{print $2}')
|
||||
total_mem_gb=$(awk "BEGIN {printf \"%.2f\", $mem_kb/1024/1024}")
|
||||
else
|
||||
MEM_BYTES=$(vm_stat | awk '/Pages free/ {print $3 * 4096}')
|
||||
MEM_GB=$(awk "BEGIN {printf \"%.2f\", ${MEM_BYTES}/1024/1024/1024}")
|
||||
total_mem_bytes=$(sysctl -n hw.memsize)
|
||||
total_mem_gb=$(awk "BEGIN {printf \"%.2f\", $total_mem_bytes/1024/1024/1024}")
|
||||
fi
|
||||
|
||||
if (( $(echo "$MEM_GB < 6" | bc -l) )); then
|
||||
printf "\e[31mInsufficient RAM: %.2fGB detected. Minimum 6 GB required.\e[0m\n" "$MEM_GB"
|
||||
if ! awk "BEGIN {exit !($total_mem_gb >= 6)}"; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
FREE_GB=$(df -BG . | awk 'NR==2 {gsub("G","",$4); print $4}')
|
||||
if [ "$FREE_GB" -lt 20 ]; then
|
||||
printf "\e[31mInsufficient free disk space: %dGB available. Minimum 20 GB required.\e[0m\n" "$FREE_GB"
|
||||
avail_kb=$(df -k . | tail -1 | awk '{print $4}')
|
||||
free_gb=$(awk "BEGIN {printf \"%.2f\", $avail_kb/1024/1024}")
|
||||
if ! awk "BEGIN {exit !($free_gb >= 20)}"; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
printf "\e[32mSystem requirements met: CPU cores=%d, RAM=%.2fGB, FreeDisk=%dGB\e[0m\n" "$CPU_COUNT" "$MEM_GB" "$FREE_GB"
|
||||
echo "System requirements met: CPU cores=$cpu_count, RAM=${total_mem_gb}GB, FreeDisk=${free_gb}GB"
|
||||
|
||||
printf "\e[36mPulling related images…\e[0m\n"
|
||||
echo "Pulling images"
|
||||
docker compose pull
|
||||
echo "Images pulled successfully"
|
||||
|
||||
printf "\e[36mBuilding the project's images…\e[0m\n"
|
||||
echo "Building images"
|
||||
docker compose build
|
||||
echo "Images built successfully"
|
||||
|
||||
echo
|
||||
echo "You can now use run.sh script."
|
||||
|
|
|
|||
|
|
@ -1,50 +1,30 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ ! -d "./evibes" ]; then
|
||||
printf "\e[31m❌ Please run this script from the project's root (where the 'evibes' directory lives).\e[0m\n"
|
||||
exit 1
|
||||
fi
|
||||
source ./scripts/Unix/starter.sh
|
||||
|
||||
PURPLE="\e[38;2;121;101;209m"
|
||||
RESET="\e[0m"
|
||||
GRAY="\e[90m"
|
||||
CYAN="\e[36m"
|
||||
|
||||
SOURCE="${BASH_SOURCE[0]:-$0}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "$SOURCE")" && pwd)"
|
||||
ART_PATH="$SCRIPT_DIR/../ASCII_ART_EVIBES"
|
||||
|
||||
if [ ! -f "$ART_PATH" ]; then
|
||||
printf "\e[31m❌ Could not find ASCII art at %s\e[0m\n" "$ART_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while IFS= read -r line; do
|
||||
printf "%b%s%b\n" "$PURPLE" "$line" "$RESET"
|
||||
done < "$ART_PATH"
|
||||
|
||||
printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
|
||||
|
||||
printf "%bStopping services…%b\n" "$CYAN" "$RESET"
|
||||
echo "Shutting down..."
|
||||
docker compose down
|
||||
echo "Services were shut down successfully!"
|
||||
|
||||
printf "%bRebuilding services…%b\n" "$CYAN" "$RESET"
|
||||
docker compose build
|
||||
echo "Spinning services up..."
|
||||
docker compose up -d --build --wait
|
||||
echo "Services are up and healthy!"
|
||||
|
||||
printf "%bStarting services…%b\n" "$CYAN" "$RESET"
|
||||
docker compose up -d
|
||||
|
||||
printf "%bApplying database migrations…%b\n" "$CYAN" "$RESET"
|
||||
echo "Applying migrations..."
|
||||
docker compose exec app poetry run python manage.py migrate --no-input --verbosity 0
|
||||
echo "Migrations applied successfully!"
|
||||
|
||||
printf "%bCollecting static files…%b\n" "$CYAN" "$RESET"
|
||||
echo "Collecting static files..."
|
||||
docker compose exec app poetry run python manage.py collectstatic --no-input --verbosity 0
|
||||
echo "Static files collected successfully!"
|
||||
|
||||
printf "%bSetting default caches…%b\n" "$CYAN" "$RESET"
|
||||
echo "Setting default caches..."
|
||||
docker compose exec app poetry run python manage.py set_default_caches
|
||||
echo "Default caches set successfully!"
|
||||
|
||||
printf "%bCleaning up unused Docker data…%b\n" "$CYAN" "$RESET"
|
||||
echo "Cleaning up unused Docker data..."
|
||||
docker system prune -f
|
||||
echo "Unused Docker data cleaned successfully!"
|
||||
|
||||
printf "\n\e[37mAll done! eVibes is up and running.\e[0m\n"
|
||||
echo "All done! eVibes is up and running!"
|
||||
|
|
|
|||
|
|
@ -1,60 +1,36 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ ! -d "./evibes" ]; then
|
||||
printf "\e[31m❌ Please run this script from the project's root (where the 'evibes' directory lives).\e[0m\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PURPLE="\e[38;2;121;101;209m"
|
||||
RESET="\e[0m"
|
||||
GRAY="\e[90m"
|
||||
|
||||
SOURCE="${BASH_SOURCE[0]:-$0}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "$SOURCE")" && pwd)"
|
||||
ART_PATH="$SCRIPT_DIR/../ASCII_ART_EVIBES"
|
||||
|
||||
if [ ! -f "$ART_PATH" ]; then
|
||||
printf "\e[31m❌ Could not find ASCII art at %s\e[0m\n" "$ART_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while IFS= read -r line; do
|
||||
printf "%b%s%b\n" "$PURPLE" "$line" "$RESET"
|
||||
done < "$ART_PATH"
|
||||
|
||||
printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
|
||||
|
||||
printf "\e[32mVerifying all images are present…\e[0m\n"
|
||||
|
||||
if ! command -v jq >/dev/null 2>&1; then
|
||||
printf "\e[31mjq is required for verifying images. Please install jq.\e[0m\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
images=$(docker compose config --format json | jq -r '.services[]?.image // empty')
|
||||
source ./scripts/Unix/starter.sh
|
||||
|
||||
echo "Verifying all images are present…"
|
||||
images=$(docker compose config --format json | jq -r '.services[].image // empty')
|
||||
for image in $images; do
|
||||
if ! docker image inspect "$image" > /dev/null 2>&1; then
|
||||
printf "\e[31mRequired images not found. Please run install.sh first.\e[0m\n"
|
||||
echo "Required images not found. Please run install.sh first." >&2
|
||||
exit 1
|
||||
fi
|
||||
printf " • Found image: %s\n" "$image"
|
||||
echo " • Found image: $image"
|
||||
done
|
||||
|
||||
printf "\e[36mStarting services…\e[0m\n"
|
||||
echo "Spinning services up…"
|
||||
docker compose up --no-build --detach --wait
|
||||
echo "Services are up and healthy!"
|
||||
|
||||
printf "\e[36mApplying migrations…\e[0m\n"
|
||||
echo "Applying migrations…"
|
||||
docker compose exec app poetry run python manage.py migrate --no-input
|
||||
echo "Migrations applied successfully!"
|
||||
|
||||
printf "\e[36mCollecting static files…\e[0m\n"
|
||||
echo "Collecting static files…"
|
||||
docker compose exec app poetry run python manage.py collectstatic --no-input
|
||||
echo "Static files collected successfully!"
|
||||
|
||||
printf "\e[36mSetting default caches…\e[0m\n"
|
||||
echo "Setting default caches…"
|
||||
docker compose exec app poetry run python manage.py set_default_caches
|
||||
echo "Default caches set successfully!"
|
||||
|
||||
printf "\e[36mCleaning up…\e[0m\n"
|
||||
docker compose exec app poetry run python manage.py set_default_caches
|
||||
echo "Cleaning unused Docker data…"
|
||||
docker system prune -f
|
||||
echo "Unused Docker data cleaned successfully!"
|
||||
|
||||
printf "\e[32mAll done! eVibes is up and running.\e[0m\n"
|
||||
echo "All done! eVibes is up and running!"
|
||||
|
|
|
|||
24
scripts/Unix/starter.sh
Normal file
24
scripts/Unix/starter.sh
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ -n "${BASH_VERSION-}" ]; then script_path="${BASH_SOURCE[0]}"
|
||||
elif [ -n "${ZSH_VERSION-}" ]; then script_path="${(%):-%x}"
|
||||
else script_path="$0"
|
||||
fi
|
||||
script_dir="$(cd "$(dirname "$script_path")" && pwd -P)"
|
||||
|
||||
if [ ! -d "./evibes" ]; then
|
||||
echo "❌ Please run this script from the project's root (where the 'evibes' directory lives)." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
art_path="$script_dir/../ASCII_ART_EVIBES"
|
||||
if [ ! -f "$art_path" ]; then
|
||||
echo "❌ Could not find ASCII art at $art_path" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cat "$art_path"
|
||||
echo
|
||||
echo " by WISELESS TEAM"
|
||||
echo
|
||||
|
|
@ -1,39 +1,23 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ ! -d "./evibes" ]; then
|
||||
printf "\e[31m❌ Please run this script from the project's root (where the 'evibes' directory lives).\e[0m\n"
|
||||
exit 1
|
||||
fi
|
||||
source ./scripts/Unix/starter.sh
|
||||
|
||||
PURPLE="\e[38;2;121;101;209m"
|
||||
RESET="\e[0m"
|
||||
GRAY="\e[90m"
|
||||
CYAN="\e[36m"
|
||||
RED="\e[31m"
|
||||
|
||||
SOURCE="${BASH_SOURCE[0]:-$0}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "$SOURCE")" && pwd)"
|
||||
ART_PATH="$SCRIPT_DIR/../ASCII_ART_EVIBES"
|
||||
|
||||
if [ ! -f "$ART_PATH" ]; then
|
||||
printf "%b❌ Could not find ASCII art at %s%b\n" "$RED" "$ART_PATH" "$RESET"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while IFS= read -r line; do
|
||||
printf "%b%s%b\n" "$PURPLE" "$line" "$RESET"
|
||||
done < "$ART_PATH"
|
||||
|
||||
printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
|
||||
|
||||
printf "%bKilling services…%b\n" "$CYAN" "$RESET"
|
||||
echo "Shutting down..."
|
||||
docker compose down
|
||||
echo "Services were shut down successfully!"
|
||||
|
||||
printf "%bCleaning up Docker data…%b\n" "$CYAN" "$RESET"
|
||||
docker system prune -f
|
||||
echo "Removing volumes..."
|
||||
docker volume rm -f evibes_prometheus-data
|
||||
docker volume rm -f evibes_es-data
|
||||
echo "Volumes were removed successfully!"
|
||||
|
||||
printf "%bRemoving related files…%b\n" "$CYAN" "$RESET"
|
||||
echo "Cleaning up unused Docker data..."
|
||||
docker system prune -a -f --volumes
|
||||
echo "Unused Docker data cleaned successfully!"
|
||||
|
||||
echo "Removing related files..."
|
||||
rm -rf ./services_data ./media ./static
|
||||
echo "Related files removed successfully!"
|
||||
|
||||
printf "%bBye-bye, hope you return later!%b\n" "$RED" "$RESET"
|
||||
echo "Bye-bye, hope you return later!"
|
||||
|
|
|
|||
|
|
@ -2,28 +2,7 @@
|
|||
Set-StrictMode -Version Latest
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
if (-not (Test-Path -Path ".\evibes" -PathType Container))
|
||||
{
|
||||
Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
$purple = "`e[38;2;121;101;209m"
|
||||
$reset = "`e[0m"
|
||||
|
||||
$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES'
|
||||
if (-not (Test-Path $artPath))
|
||||
{
|
||||
Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
$art = Get-Content -Raw -Path $artPath
|
||||
$art -split "`r?`n" | ForEach-Object {
|
||||
Write-Host "$purple$_$reset"
|
||||
}
|
||||
|
||||
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
|
||||
.\scripts\Windows\starter.ps1
|
||||
|
||||
Write-Host "Starting database backup process..." -ForegroundColor Magenta
|
||||
docker compose exec app poetry run python manage.py dbbackup
|
||||
|
|
|
|||
|
|
@ -2,28 +2,7 @@
|
|||
Set-StrictMode -Version Latest
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
if (-not (Test-Path -Path ".\evibes" -PathType Container))
|
||||
{
|
||||
Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
$purple = "`e[38;2;121;101;209m"
|
||||
$reset = "`e[0m"
|
||||
|
||||
$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES'
|
||||
if (-not (Test-Path $artPath))
|
||||
{
|
||||
Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
$art = Get-Content -Raw -Path $artPath
|
||||
$art -split "`r?`n" | ForEach-Object {
|
||||
Write-Host "$purple$_$reset"
|
||||
}
|
||||
|
||||
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
|
||||
.\scripts\Windows\starter.ps1
|
||||
|
||||
$envFile = '.env'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,29 +1,7 @@
|
|||
#!/usr/bin/env pwsh
|
||||
Set-StrictMode -Version Latest
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
if (-not (Test-Path -Path ".\evibes" -PathType Container))
|
||||
{
|
||||
Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
$purple = "`e[38;2;121;101;209m"
|
||||
$reset = "`e[0m"
|
||||
|
||||
$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES'
|
||||
if (-not (Test-Path $artPath))
|
||||
{
|
||||
Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
$art = Get-Content -Raw -Path $artPath
|
||||
$art -split "`r?`n" | ForEach-Object {
|
||||
Write-Host "$purple$_$reset"
|
||||
}
|
||||
|
||||
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
|
||||
.\scripts\Windows\starter.ps1
|
||||
|
||||
function Get-RandomHex
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,25 +1,7 @@
|
|||
#!/usr/bin/env pwsh
|
||||
Set-StrictMode -Version Latest
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
if (-not (Test-Path -Path ".\evibes" -PathType Container))
|
||||
{
|
||||
Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
$purple = "`e[38;2;121;101;209m"
|
||||
$reset = "`e[0m"
|
||||
$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES'
|
||||
|
||||
if (-not (Test-Path $artPath))
|
||||
{
|
||||
Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
Get-Content -Raw -Path $artPath | ForEach-Object { Write-Host "$purple$_$reset" }
|
||||
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
|
||||
.\scripts\Windows\starter.ps1
|
||||
|
||||
if (-not (Test-Path '.env'))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,27 +1,7 @@
|
|||
Set-StrictMode -Version Latest
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
if (-not (Test-Path -Path ".\evibes" -PathType Container))
|
||||
{
|
||||
Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
$purple = "`e[38;2;121;101;209m"
|
||||
$reset = "`e[0m"
|
||||
|
||||
$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES'
|
||||
if (-not (Test-Path $artPath))
|
||||
{
|
||||
Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
$art = Get-Content -Raw -Path $artPath
|
||||
$art -split "`r?`n" | ForEach-Object {
|
||||
Write-Host "$purple$_$reset"
|
||||
}
|
||||
|
||||
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
|
||||
.\scripts\Windows\starter.ps1
|
||||
|
||||
|
||||
Write-Host "Shutting down..." -ForegroundColor Magenta
|
||||
|
|
|
|||
|
|
@ -1,29 +1,7 @@
|
|||
#!/usr/bin/env pwsh
|
||||
Set-StrictMode -Version Latest
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
if (-not (Test-Path -Path ".\evibes" -PathType Container))
|
||||
{
|
||||
Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
$purple = "`e[38;2;121;101;209m"
|
||||
$reset = "`e[0m"
|
||||
|
||||
$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES'
|
||||
if (-not (Test-Path $artPath))
|
||||
{
|
||||
Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
$art = Get-Content -Raw -Path $artPath
|
||||
$art -split "`r?`n" | ForEach-Object {
|
||||
Write-Host "$purple$_$reset"
|
||||
}
|
||||
|
||||
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
|
||||
.\scripts\Windows\starter.ps1
|
||||
|
||||
Write-Host "Verifying all images are present…" -ForegroundColor Green
|
||||
|
||||
|
|
|
|||
21
scripts/Windows/starter.ps1
Normal file
21
scripts/Windows/starter.ps1
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
Set-StrictMode -Version Latest
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
if (-not (Test-Path -Path ".\evibes" -PathType Container))
|
||||
{
|
||||
Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
$purple = "`e[38;2;121;101;209m"
|
||||
$reset = "`e[0m"
|
||||
$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES'
|
||||
|
||||
if (-not (Test-Path $artPath))
|
||||
{
|
||||
Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
Get-Content -Raw -Path $artPath | ForEach-Object { Write-Host "$purple$_$reset" }
|
||||
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
|
||||
|
|
@ -1,29 +1,7 @@
|
|||
#!/usr/bin/env pwsh
|
||||
Set-StrictMode -Version Latest
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
if (-not (Test-Path -Path ".\evibes" -PathType Container))
|
||||
{
|
||||
Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
$purple = "`e[38;2;121;101;209m"
|
||||
$reset = "`e[0m"
|
||||
|
||||
$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES'
|
||||
if (-not (Test-Path $artPath))
|
||||
{
|
||||
Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
$art = Get-Content -Raw -Path $artPath
|
||||
$art -split "`r?`n" | ForEach-Object {
|
||||
Write-Host "$purple$_$reset"
|
||||
}
|
||||
|
||||
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
|
||||
.\scripts\Windows\starter.ps1
|
||||
|
||||
Write-Host "Shutting down..." -ForegroundColor Magenta
|
||||
docker compose down
|
||||
|
|
|
|||
Loading…
Reference in a new issue