Merge branch 'main' into storefront
This commit is contained in:
commit
537d361da1
100 changed files with 6920 additions and 6546 deletions
27
CODEOWNERS
27
CODEOWNERS
|
|
@ -1,24 +1,25 @@
|
|||
* @default-owner
|
||||
* @@owner
|
||||
|
||||
README.md @fureunoir contact@fureunoir.com
|
||||
|
||||
LICENSE @fureunoir contact@fureunoir.com
|
||||
|
||||
Dockerfile* @fureunoir contact@fureunoir.com
|
||||
docker-compose.yml @fureunoir contact@fureunoir.com
|
||||
.gitignore @fureunoir contact@fureunoir.com
|
||||
.dockerignore @fureunoir contact@fureunoir.com
|
||||
nginx @fureunoir contact@fureunoir.com
|
||||
Dockerfile.app @fureunoir contact@fureunoir.com
|
||||
Dockerfile.storefront @SaVBaD savbad@wiseless.xyz
|
||||
docker-compose.yml @@maintainer
|
||||
.gitignore @@maintainer
|
||||
.dockerignore @@maintainer
|
||||
nginx @@maintainer
|
||||
pyproject.toml @fureunoir contact@fureunoir.com
|
||||
poetry.lock @fureunoir contact@fureunoir.com
|
||||
|
||||
/blog/ @fureunoir contact@fureunoir.com
|
||||
/core/ @fureunoir contact@fureunoir.com
|
||||
/evibes/ @fureunoir contact@fureunoir.com
|
||||
/payments/ @fureunoir contact@fureunoir.com
|
||||
/scripts/ @fureunoir contact@fureunoir.com
|
||||
/vibes_auth/ @fureunoir contact@fureunoir.com
|
||||
/storefront/ @SaVBaD savbad@wiseless.xyz
|
||||
blog/ @fureunoir contact@fureunoir.com
|
||||
core/ @fureunoir contact@fureunoir.com
|
||||
evibes/ @fureunoir contact@fureunoir.com
|
||||
payments/ @fureunoir contact@fureunoir.com
|
||||
scripts/ @fureunoir contact@fureunoir.com
|
||||
vibes_auth/ @fureunoir contact@fureunoir.com
|
||||
storefront/ @SaVBaD savbad@wiseless.xyz
|
||||
|
||||
*.py @fureunoir contact@fureunoir.com
|
||||
*.bat @fureunoir contact@fureunoir.com
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(لا يوجد محتوى بعد)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "تم تقديمه بتنسيق HTML"
|
||||
|
||||
|
|
@ -25,47 +25,47 @@ msgstr "تم تقديمه بتنسيق HTML"
|
|||
msgid "blog"
|
||||
msgstr "المدونة"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "عنوان المنشور"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "العنوان"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "المنشور"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "المنشورات"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr "يجب توفير ملف ترميز أو محتوى ترميز مخفض - متنافيان"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "معرّف العلامة الداخلي لعلامة المنشور"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "اسم العلامة"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "اسم سهل الاستخدام لعلامة المنشور"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "اسم عرض العلامة"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "علامة المشاركة"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "علامات المشاركة"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(zatím bez obsahu)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "Vykreslené HTML"
|
||||
|
||||
|
|
@ -25,49 +25,49 @@ msgstr "Vykreslené HTML"
|
|||
msgid "blog"
|
||||
msgstr "Blog"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "Název příspěvku"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "Název"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "Příspěvek"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "Příspěvky"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
"musí být poskytnut soubor markdown nebo obsah markdown - vzájemně se "
|
||||
"vylučují."
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "interní identifikátor tagu pro tag příspěvku"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "Název štítku"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "Uživatelsky přívětivý název pro značku příspěvku"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "Zobrazení názvu štítku"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "Označení příspěvku"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "Štítky příspěvků"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(intet indhold endnu)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "Rendered HTML"
|
||||
|
||||
|
|
@ -25,48 +25,48 @@ msgstr "Rendered HTML"
|
|||
msgid "blog"
|
||||
msgstr "Blog"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "Indlæggets titel"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "Titel"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "Indlæg"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "Indlæg"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
"en markdown-fil eller markdown-indhold skal leveres - gensidigt udelukkende"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "intern tag-identifikator for indlægs-tagget"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "Tag-navn"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "Brugervenligt navn til posttagget"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "Navn på tag-visning"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "Tag til indlæg"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "Tags til indlæg"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(noch kein Inhalt)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "Gerendertes HTML"
|
||||
|
||||
|
|
@ -25,49 +25,49 @@ msgstr "Gerendertes HTML"
|
|||
msgid "blog"
|
||||
msgstr "Blog"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "Titel des Beitrags"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "Titel"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "Beitrag"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "Beiträge"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
"eine Markdown-Datei oder ein Markdown-Inhalt muss bereitgestellt werden - "
|
||||
"beide schließen sich gegenseitig aus"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "interner Tag-Bezeichner für den Post-Tag"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "Tag name"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "Benutzerfreundlicher Name für das Post-Tag"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "Tag-Anzeigename"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "Tag eintragen"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "Tags eintragen"
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -18,11 +18,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(no content yet)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "Rendered HTML"
|
||||
|
||||
|
|
@ -30,48 +30,48 @@ msgstr "Rendered HTML"
|
|||
msgid "blog"
|
||||
msgstr "Blog"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "Post's title"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "Title"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "Post"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "Posts"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "internal tag identifier for the post tag"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "Tag name"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "User-friendly name for the post tag"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "Tag display name"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "Post tag"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "Post tags"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(no content yet)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "Rendered HTML"
|
||||
|
||||
|
|
@ -25,48 +25,48 @@ msgstr "Rendered HTML"
|
|||
msgid "blog"
|
||||
msgstr "Blog"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "Post's title"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "Title"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "Post"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "Posts"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "internal tag identifier for the post tag"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "Tag name"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "User-friendly name for the post tag"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "Tag display name"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "Post tag"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "Post tags"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(sin contenido aún)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "HTML renderizado"
|
||||
|
||||
|
|
@ -25,49 +25,49 @@ msgstr "HTML renderizado"
|
|||
msgid "blog"
|
||||
msgstr "Blog"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "Título del mensaje"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "Título"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "Publicar en"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "Puestos"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
"se debe proporcionar un archivo markdown o contenido markdown - mutuamente "
|
||||
"excluyentes"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "identificador interno de la etiqueta post"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "Nombre de la etiqueta"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "Nombre fácil de usar para la etiqueta de la entrada"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "Nombre de la etiqueta"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "Etiqueta postal"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "Etiquetas"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(pas encore de contenu)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "HTML rendu"
|
||||
|
||||
|
|
@ -25,49 +25,49 @@ msgstr "HTML rendu"
|
|||
msgid "blog"
|
||||
msgstr "Blog"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "Titre du message"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "Titre"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "Poste"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "Postes"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
"un fichier markdown ou un contenu markdown doit être fourni - ils s'excluent "
|
||||
"mutuellement"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "identifiant interne de la balise post"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "Nom du jour"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "Nom convivial pour la balise post"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "Nom d'affichage de l'étiquette"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "Tag de poste"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "Tags de la poste"
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -17,11 +17,11 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr ""
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -29,47 +29,47 @@ msgstr ""
|
|||
msgid "blog"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(ancora senza contenuti)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "HTML renderizzato"
|
||||
|
||||
|
|
@ -25,49 +25,49 @@ msgstr "HTML renderizzato"
|
|||
msgid "blog"
|
||||
msgstr "Blog"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "Titolo del post"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "Titolo"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "Posta"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "Messaggi"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
"deve essere fornito un file markdown o un contenuto markdown - si escludono "
|
||||
"a vicenda"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "identificatore interno del tag post"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "Nome del tag"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "Nome intuitivo per il tag del post"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "Nome del tag"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "Post tag"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "Tag dei post"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(内容はまだありません)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "レンダリングされたHTML"
|
||||
|
||||
|
|
@ -25,49 +25,49 @@ msgstr "レンダリングされたHTML"
|
|||
msgid "blog"
|
||||
msgstr "ブログ"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "投稿タイトル"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "タイトル"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "ポスト"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "投稿"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
"マークダウン・ファイルまたはマークダウン・コンテンツを提供しなければならな"
|
||||
"い。"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "投稿タグの内部タグ識別子"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "タグ名"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "投稿タグのユーザーフレンドリーな名前"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "タグ表示名"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "投稿タグ"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "投稿タグ"
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -17,11 +17,11 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr ""
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -29,47 +29,47 @@ msgstr ""
|
|||
msgid "blog"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr ""
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(nog geen inhoud)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "HTML weergeven"
|
||||
|
||||
|
|
@ -25,49 +25,49 @@ msgstr "HTML weergeven"
|
|||
msgid "blog"
|
||||
msgstr "Blog"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "Titel van de post"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "Titel"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "Plaats"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "Berichten"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
"er moet een markdown-bestand of markdown-inhoud worden geleverd - wederzijds "
|
||||
"exclusief"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "interne tagidentifier voor de posttag"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "Tag naam"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "Gebruiksvriendelijke naam voor de posttag"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "Tag weergavenaam"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "Post tag"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "Post tags"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(brak treści)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "Renderowany HTML"
|
||||
|
||||
|
|
@ -25,49 +25,49 @@ msgstr "Renderowany HTML"
|
|||
msgid "blog"
|
||||
msgstr "Blog"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "Tytuł postu"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "Tytuł"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "Post"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "Posty"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
"należy dostarczyć plik markdown lub zawartość markdown - wzajemnie się "
|
||||
"wykluczające"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "wewnętrzny identyfikator tagu posta"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "Nazwa tagu"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "Przyjazna dla użytkownika nazwa tagu posta"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "Wyświetlana nazwa znacznika"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "Tag posta"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "Tagi postów"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(ainda não há conteúdo)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "HTML renderizado"
|
||||
|
||||
|
|
@ -25,48 +25,48 @@ msgstr "HTML renderizado"
|
|||
msgid "blog"
|
||||
msgstr "Blog"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "Título da postagem"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "Título"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "Postar"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "Publicações"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
"um arquivo ou conteúdo de markdown deve ser fornecido - mutuamente exclusivo"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "identificador de tag interno para a tag de postagem"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "Nome da etiqueta"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "Nome de fácil utilização para a tag de postagem"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "Nome de exibição da tag"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "Etiqueta de postagem"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "Tags de postagem"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(fără conținut încă)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "HTML redat"
|
||||
|
||||
|
|
@ -25,49 +25,49 @@ msgstr "HTML redat"
|
|||
msgid "blog"
|
||||
msgstr "Blog"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "Titlul postului"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "Titlul"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "Post"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "Mesaje"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
"trebuie furnizat un fișier markdown sau conținut markdown - se exclud "
|
||||
"reciproc"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "identificator intern de etichetă pentru eticheta postului"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "Nume etichetă"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "Nume ușor de utilizat pentru eticheta postului"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "Nume afișare etichetă"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "Etichetă post"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "Etichete poștale"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(пока без содержания)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "Рендеринг HTML"
|
||||
|
||||
|
|
@ -25,49 +25,49 @@ msgstr "Рендеринг HTML"
|
|||
msgid "blog"
|
||||
msgstr "Блог"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "Заголовок сообщения"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "Название"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "Пост"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "Посты"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr ""
|
||||
"необходимо предоставить файл разметки или содержимое разметки - "
|
||||
"взаимоисключающие варианты"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "внутренний идентификатор тега для тега post"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "Название тега"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "Удобное для пользователя название тега поста"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "Отображаемое имя тега"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "Тэг поста"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "Тэги постов"
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 12:32+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -13,11 +13,11 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blog/admin.py:33
|
||||
#: blog/admin.py:37
|
||||
msgid "(no content yet)"
|
||||
msgstr "(暂无内容)"
|
||||
|
||||
#: blog/admin.py:36
|
||||
#: blog/admin.py:40
|
||||
msgid "rendered HTML"
|
||||
msgstr "渲染的 HTML"
|
||||
|
||||
|
|
@ -25,47 +25,47 @@ msgstr "渲染的 HTML"
|
|||
msgid "blog"
|
||||
msgstr "博客"
|
||||
|
||||
#: blog/models.py:16
|
||||
#: blog/models.py:15
|
||||
msgid "post title"
|
||||
msgstr "帖子标题"
|
||||
|
||||
#: blog/models.py:17
|
||||
#: blog/models.py:15
|
||||
msgid "title"
|
||||
msgstr "标题"
|
||||
|
||||
#: blog/models.py:64
|
||||
#: blog/models.py:62
|
||||
msgid "post"
|
||||
msgstr "职位"
|
||||
|
||||
#: blog/models.py:65
|
||||
#: blog/models.py:63
|
||||
msgid "posts"
|
||||
msgstr "职位"
|
||||
|
||||
#: blog/models.py:69
|
||||
#: blog/models.py:67
|
||||
msgid ""
|
||||
"a markdown file or markdown content must be provided - mutually exclusive"
|
||||
msgstr "必须提供标记符文件或标记符内容 - 相互排斥"
|
||||
|
||||
#: blog/models.py:80
|
||||
#: blog/models.py:78
|
||||
msgid "internal tag identifier for the post tag"
|
||||
msgstr "职位标签的内部标签标识符"
|
||||
|
||||
#: blog/models.py:81
|
||||
#: blog/models.py:79
|
||||
msgid "tag name"
|
||||
msgstr "标签名称"
|
||||
|
||||
#: blog/models.py:85
|
||||
#: blog/models.py:83
|
||||
msgid "user-friendly name for the post tag"
|
||||
msgstr "方便用户使用的帖子标签名称"
|
||||
|
||||
#: blog/models.py:86
|
||||
#: blog/models.py:84
|
||||
msgid "tag display name"
|
||||
msgstr "标签显示名称"
|
||||
|
||||
#: blog/models.py:94
|
||||
#: blog/models.py:92
|
||||
msgid "post tag"
|
||||
msgstr "职位标签"
|
||||
|
||||
#: blog/models.py:95
|
||||
#: blog/models.py:93
|
||||
msgid "post tags"
|
||||
msgstr "帖子标签"
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ class AttributeAdmin(BasicModelAdmin, TabbedTranslationAdmin):
|
|||
@admin.register(AttributeValue)
|
||||
class AttributeValueAdmin(BasicModelAdmin, TabbedTranslationAdmin):
|
||||
list_display = ("attribute", "value", "modified")
|
||||
list_filter = ("attribute__group", "attribute", "is_active")
|
||||
list_filter = ("attribute__group", "is_active")
|
||||
search_fields = ("uuid", "value", "attribute__name")
|
||||
|
||||
autocomplete_fields = ["attribute"]
|
||||
|
|
@ -331,6 +331,7 @@ class PromoCodeAdmin(BasicModelAdmin):
|
|||
class PromotionAdmin(BasicModelAdmin, TabbedTranslationAdmin):
|
||||
list_display = ("name", "discount_percent", "modified")
|
||||
search_fields = ("name",)
|
||||
autocomplete_fields = ("products",)
|
||||
|
||||
def get_queryset(self, request):
|
||||
qs = super().get_queryset(request)
|
||||
|
|
|
|||
|
|
@ -15,7 +15,9 @@ from core.serializers import (
|
|||
AttributeSimpleSerializer,
|
||||
AttributeValueDetailSerializer,
|
||||
AttributeValueSimpleSerializer,
|
||||
BulkAddOrderProductsSerializer,
|
||||
BulkAddWishlistProductSerializer,
|
||||
BulkRemoveOrderProductsSerializer,
|
||||
BulkRemoveWishlistProductSerializer,
|
||||
BuyOrderSerializer,
|
||||
BuyUnregisteredOrderSerializer,
|
||||
|
|
@ -196,12 +198,24 @@ ORDER_SCHEMA = {
|
|||
request=AddOrderProductSerializer,
|
||||
responses={status.HTTP_200_OK: OrderDetailSerializer, **BASE_ERRORS},
|
||||
),
|
||||
"bulk_add_order_products": extend_schema(
|
||||
summary=_("add a list of products to order, quantities will not count"),
|
||||
description=_("adds a list of products to an order using the provided `product_uuid` and `attributes`."),
|
||||
request=BulkAddOrderProductsSerializer,
|
||||
responses={status.HTTP_200_OK: OrderDetailSerializer, **BASE_ERRORS},
|
||||
),
|
||||
"remove_order_product": extend_schema(
|
||||
summary=_("remove product from order"),
|
||||
description=_("removes a product from an order using the provided `product_uuid` and `attributes`."),
|
||||
request=RemoveOrderProductSerializer,
|
||||
responses={status.HTTP_200_OK: OrderDetailSerializer, **BASE_ERRORS},
|
||||
),
|
||||
"bulk_remove_order_products": extend_schema(
|
||||
summary=_("remove product from order, quantities will not count"),
|
||||
description=_("removes a list of products from an order using the provided `product_uuid` and `attributes`"),
|
||||
request=BulkRemoveOrderProductsSerializer,
|
||||
responses={status.HTTP_200_OK: OrderDetailSerializer, **BASE_ERRORS},
|
||||
),
|
||||
}
|
||||
|
||||
WISHLIST_SCHEMA = {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,14 @@ from graphene_django.utils import camelize
|
|||
|
||||
from core.elasticsearch import process_query
|
||||
from core.graphene import BaseMutation
|
||||
from core.graphene.object_types import AddressType, OrderType, ProductType, SearchResultsType, WishlistType
|
||||
from core.graphene.object_types import (
|
||||
AddressType,
|
||||
BulkActionOrderProductInput,
|
||||
OrderType,
|
||||
ProductType,
|
||||
SearchResultsType,
|
||||
WishlistType,
|
||||
)
|
||||
from core.models import Address, Category, Order, Product, Wishlist
|
||||
from core.utils import format_attributes, is_url_safe
|
||||
from core.utils.caching import web_cache
|
||||
|
|
@ -221,6 +228,52 @@ class BuyOrder(BaseMutation):
|
|||
raise Http404(_(f"order {order_uuid} not found"))
|
||||
|
||||
|
||||
class BulkOrderAction(BaseMutation):
|
||||
class Meta:
|
||||
description = _("perform an action on a list of products in the order")
|
||||
|
||||
class Arguments:
|
||||
order_uuid = UUID(required=False)
|
||||
order_hr_id = String(required=False)
|
||||
action = String(required=True, description=_("remove/add"))
|
||||
products = List(BulkActionOrderProductInput, required=True)
|
||||
|
||||
order = Field(OrderType, required=False)
|
||||
|
||||
@staticmethod
|
||||
def mutate(
|
||||
_parent,
|
||||
info,
|
||||
action,
|
||||
products,
|
||||
order_uuid=None,
|
||||
order_hr_id=None,
|
||||
):
|
||||
if not any([order_uuid, order_hr_id]) or all([order_uuid, order_hr_id]):
|
||||
raise BadRequest(_("please provide either order_uuid or order_hr_id - mutually exclusive"))
|
||||
user = info.context.user
|
||||
try:
|
||||
order = None
|
||||
|
||||
if order_uuid:
|
||||
order = Order.objects.get(user=user, uuid=order_uuid)
|
||||
elif order_hr_id:
|
||||
order = Order.objects.get(user=user, human_readable_id=order_hr_id)
|
||||
|
||||
match action:
|
||||
case "add":
|
||||
order = order.bulk_add_products(products)
|
||||
case "remove":
|
||||
order = order.bulk_remove_products(products)
|
||||
case _:
|
||||
raise BadRequest(_("action must be either add or remove"))
|
||||
|
||||
return BulkOrderAction(order=order)
|
||||
|
||||
except Order.DoesNotExist:
|
||||
raise Http404(_(f"order {order_uuid} not found"))
|
||||
|
||||
|
||||
class BuyUnregisteredOrder(BaseMutation):
|
||||
class Meta:
|
||||
description = _("purchase an order without account creation")
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from django.core.cache import cache
|
|||
from django.db.models import Max, Min, QuerySet
|
||||
from django.db.models.functions import Length
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from graphene import UUID, Field, Float, Int, List, NonNull, ObjectType, String, relay
|
||||
from graphene import UUID, Field, Float, InputObjectType, Int, List, NonNull, ObjectType, String, relay
|
||||
from graphene.types.generic import GenericScalar
|
||||
from graphene_django import DjangoObjectType
|
||||
from graphene_django.filter import DjangoFilterConnectionField
|
||||
|
|
@ -508,3 +508,8 @@ class SearchResultsType(ObjectType):
|
|||
categories = List(description=_("products search results"), of_type=SearchCategoriesResultsType)
|
||||
brands = List(description=_("products search results"), of_type=SearchBrandsResultsType)
|
||||
posts = List(description=_("posts search results"), of_type=SearchPostsResultsType)
|
||||
|
||||
|
||||
class BulkActionOrderProductInput(InputObjectType):
|
||||
id = UUID(required=True)
|
||||
attributes = GenericScalar(required=False)
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ from core.graphene.mutations import (
|
|||
AddOrderProduct,
|
||||
AddWishlistProduct,
|
||||
AutocompleteAddress,
|
||||
BulkOrderAction,
|
||||
BuyOrder,
|
||||
BuyProduct,
|
||||
BuyWishlist,
|
||||
|
|
@ -294,6 +295,7 @@ class Mutation(ObjectType):
|
|||
remove_all_order_products = RemoveAllOrderProducts.Field()
|
||||
remove_order_products_of_a_kind = RemoveOrderProductsOfAKind.Field()
|
||||
buy_order = BuyOrder.Field()
|
||||
bulk_order_action = BulkOrderAction.Field()
|
||||
deposit = Deposit.Field()
|
||||
obtain_jwt_token = ObtainJSONWebToken.Field()
|
||||
refresh_jwt_token = RefreshJSONWebToken.Field()
|
||||
|
|
|
|||
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
|
|
@ -546,7 +546,7 @@ class Order(NiceModel):
|
|||
def total_quantity(self) -> int:
|
||||
return sum([op.quantity for op in self.order_products.all()])
|
||||
|
||||
def add_product(self, product_uuid: str | None = None, attributes: list = list):
|
||||
def add_product(self, product_uuid: str | None = None, attributes: list = list, update_quantity: bool = True):
|
||||
if self.status not in ["PENDING", "MOMENTAL"]:
|
||||
raise ValueError(_("you cannot add products to an order that is not a pending one"))
|
||||
try:
|
||||
|
|
@ -568,7 +568,7 @@ class Order(NiceModel):
|
|||
attributes=json.dumps(attributes),
|
||||
defaults={"quantity": 1, "buy_price": product.price},
|
||||
)
|
||||
if not is_created:
|
||||
if not is_created and update_quantity:
|
||||
if product.quantity < order_product.quantity + 1:
|
||||
raise BadRequest(_("you cannot add more products than available in stock"))
|
||||
order_product.quantity += 1
|
||||
|
|
@ -581,12 +581,15 @@ class Order(NiceModel):
|
|||
name = "Product"
|
||||
raise Http404(_(f"{name} does not exist: {product_uuid}"))
|
||||
|
||||
def remove_product(self, product_uuid: str | None = None, attributes: dict = dict):
|
||||
def remove_product(self, product_uuid: str | None = None, attributes: dict = dict, zero_quantity: bool = False):
|
||||
if self.status != "PENDING":
|
||||
raise ValueError(_("you cannot remove products from an order that is not a pending one"))
|
||||
try:
|
||||
product = Product.objects.get(uuid=product_uuid)
|
||||
order_product = self.order_products.get(product=product, order=self)
|
||||
if zero_quantity:
|
||||
order_product.delete()
|
||||
return self
|
||||
if order_product.quantity == 1:
|
||||
self.order_products.remove(order_product)
|
||||
order_product.delete()
|
||||
|
|
@ -778,6 +781,16 @@ class Order(NiceModel):
|
|||
self.status = "FINISHED"
|
||||
self.save()
|
||||
|
||||
def bulk_add_products(self, products: list):
|
||||
for product in products:
|
||||
self.add_product(product.get("uuid"), attributes=product.get("attributes"), update_quantity=False)
|
||||
return self
|
||||
|
||||
def bulk_remove_products(self, products: list):
|
||||
for product in products:
|
||||
self.remove_product(product.get("uuid"), attributes=product.get("attributes"), zero_quantity=True)
|
||||
return self
|
||||
|
||||
|
||||
class OrderProduct(NiceModel):
|
||||
is_publicly_visible = False
|
||||
|
|
|
|||
|
|
@ -55,11 +55,19 @@ class AddOrderProductSerializer(Serializer):
|
|||
attributes = JSONField(required=False, default=dict)
|
||||
|
||||
|
||||
class BulkAddOrderProductsSerializer(Serializer):
|
||||
products = ListField(child=AddOrderProductSerializer(), required=True)
|
||||
|
||||
|
||||
class RemoveOrderProductSerializer(Serializer):
|
||||
product_uuid = CharField(required=True)
|
||||
attributes = JSONField(required=False, default=dict)
|
||||
|
||||
|
||||
class BulkRemoveOrderProductsSerializer(Serializer):
|
||||
products = ListField(child=RemoveOrderProductSerializer(), required=True)
|
||||
|
||||
|
||||
class AddWishlistProductSerializer(Serializer):
|
||||
product_uuid = CharField(required=True)
|
||||
|
||||
|
|
|
|||
|
|
@ -60,7 +60,9 @@ from core.serializers import (
|
|||
AttributeValueSimpleSerializer,
|
||||
BrandDetailSerializer,
|
||||
BrandSimpleSerializer,
|
||||
BulkAddOrderProductsSerializer,
|
||||
BulkAddWishlistProductSerializer,
|
||||
BulkRemoveOrderProductsSerializer,
|
||||
BulkRemoveWishlistProductSerializer,
|
||||
BuyOrderSerializer,
|
||||
BuyUnregisteredOrderSerializer,
|
||||
|
|
@ -305,7 +307,7 @@ class OrderViewSet(EvibesViewSet):
|
|||
serializer.is_valid(raise_exception=True)
|
||||
try:
|
||||
order = Order.objects.get(uuid=kwargs.get("pk"))
|
||||
if not (request.user.has_perm("core.add_orderproduct") or request.user == order.user):
|
||||
if not (request.user.has_perm("core.delete_orderproduct") or request.user == order.user):
|
||||
raise PermissionDenied(permission_denied_message)
|
||||
|
||||
order = order.remove_product(
|
||||
|
|
@ -317,6 +319,40 @@ class OrderViewSet(EvibesViewSet):
|
|||
except Order.DoesNotExist:
|
||||
return Response(status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
@action(detail=True, methods=["post"], url_path="bulk_add_order_products")
|
||||
def bulk_add_order_products(self, request, *_args, **kwargs):
|
||||
serializer = BulkAddOrderProductsSerializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
try:
|
||||
order = Order.objects.get(uuid=kwargs.get("pk"))
|
||||
if not (request.user.has_perm("core.add_orderproduct") or request.user == order.user):
|
||||
raise PermissionDenied(permission_denied_message)
|
||||
|
||||
order = order.bulk_add_products(
|
||||
products=serializer.validated_data.get("products"),
|
||||
)
|
||||
|
||||
return Response(status=status.HTTP_200_OK, data=OrderDetailSerializer(order).data)
|
||||
except Order.DoesNotExist:
|
||||
return Response(status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
@action(detail=True, methods=["post"], url_path="bulk_remove_order_products")
|
||||
def bulk_remove_order_products(self, request, *_args, **kwargs):
|
||||
serializer = BulkRemoveOrderProductsSerializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
try:
|
||||
order = Order.objects.get(uuid=kwargs.get("pk"))
|
||||
if not (request.user.has_perm("core.delete_orderproduct") or request.user == order.user):
|
||||
raise PermissionDenied(permission_denied_message)
|
||||
|
||||
order = order.bulk_remove_products(
|
||||
products=serializer.validated_data.get("products"),
|
||||
)
|
||||
|
||||
return Response(status=status.HTTP_200_OK, data=OrderDetailSerializer(order).data)
|
||||
except Order.DoesNotExist:
|
||||
return Response(status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
|
||||
class OrderProductViewSet(EvibesViewSet):
|
||||
queryset = OrderProduct.objects.all()
|
||||
|
|
|
|||
|
|
@ -192,10 +192,10 @@ DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
|
|||
|
||||
TIME_ZONE = getenv("TIME_ZONE", "Europe/London")
|
||||
|
||||
STATIC_URL = f"https://api.{getenv('BASE_DOMAIN')}/static/"
|
||||
STATIC_URL = f"https://api.{getenv('EVIBES_BASE_DOMAIN')}/static/"
|
||||
STATIC_ROOT = BASE_DIR / "static"
|
||||
|
||||
MEDIA_URL = f"https://api.{getenv('BASE_DOMAIN')}/media/"
|
||||
MEDIA_URL = f"https://api.{getenv('EVIBES_BASE_DOMAIN')}/media/"
|
||||
MEDIA_ROOT = BASE_DIR / "media"
|
||||
|
||||
AUTH_USER_MODEL = "vibes_auth.User"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import logging
|
||||
from hmac import compare_digest
|
||||
|
||||
from django.contrib.auth.password_validation import validate_password
|
||||
from django.contrib.auth.tokens import PasswordResetTokenGenerator
|
||||
from django.core.exceptions import BadRequest, PermissionDenied
|
||||
from django.db import IntegrityError
|
||||
|
|
@ -56,6 +57,9 @@ class CreateUser(BaseMutation):
|
|||
**kwargs,
|
||||
):
|
||||
try:
|
||||
validate_password(password)
|
||||
if compare_digest(password.lower(), email.lower()):
|
||||
raise BadRequest(_("password too weak"))
|
||||
if compare_digest(password, confirm_password):
|
||||
User.objects.create_user(
|
||||
email=email,
|
||||
|
|
@ -73,7 +77,7 @@ class CreateUser(BaseMutation):
|
|||
except IntegrityError:
|
||||
return CreateUser(success=True)
|
||||
except Exception as e:
|
||||
raise BadRequest(str(e))
|
||||
raise BadRequest(str(e)) from e
|
||||
|
||||
|
||||
class UpdateUser(BaseMutation):
|
||||
|
|
@ -119,6 +123,9 @@ class UpdateUser(BaseMutation):
|
|||
password = kwargs.get("password", "")
|
||||
confirm_password = kwargs.get("confirm_password", "")
|
||||
|
||||
if compare_digest(password.lower(), email.lower()):
|
||||
raise BadRequest(_("password too weak"))
|
||||
|
||||
if not compare_digest(password, "") and compare_digest(password, confirm_password):
|
||||
user.set_password(password)
|
||||
user.save()
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,18 +3,18 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
"Language: ar-AR\n"
|
||||
"Language: ar-ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "الرصيد"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "الرصيد"
|
|||
msgid "order"
|
||||
msgstr "الطلب"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "الطلبات"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "الطلبات"
|
|||
msgid "personal info"
|
||||
msgstr "معلومات شخصية"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "الأذونات"
|
||||
|
||||
|
|
@ -96,88 +96,95 @@ msgstr ""
|
|||
"إعادة تعيين كلمة مرور المستخدم عن طريق إرسال بريد إلكتروني لإعادة تعيين كلمة"
|
||||
" المرور"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "التعامل مع تحميل الصورة الرمزية للمستخدم"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "تأكيد إعادة تعيين كلمة مرور المستخدم"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "كلمات المرور غير متطابقة"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "تنشيط حساب مستخدم"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "رابط التفعيل غير صالح أو أن الحساب مفعل بالفعل"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr "معرّف المستخدم الذي تم ترميزه بـ b64 الذي أحال المستخدم الجديد إلينا."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "كلمة المرور ضعيفة جداً"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} غير موجود: {uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "بريد إلكتروني مشوه"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "رقم هاتف مشوّه: {phone_number}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "تنسيق السمة غير صالح: {attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "رابط التفعيل غير صالح!"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "تم تفعيل الحساب بالفعل..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "حدث خطأ ما: {e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "الرمز غير صالح!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "المنتجات التي تم عرضها مؤخراً"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr ""
|
||||
"المنتجات التي شاهدها هذا المستخدم مؤخرًا (بحد أقصى 48)، بترتيب زمني عكسي."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "المجموعات"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "قائمة الرغبات"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "الصورة الرمزية"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr "يمكن استخدام السمات لتخزين البيانات المخصصة"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr "اللغة هي واحدة من {LANGUAGES} مع {LANGUAGE_CODE} الافتراضي"
|
||||
|
|
@ -270,23 +277,23 @@ msgstr "الرمز المميز المدرج في القائمة السوداء"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "الرموز المميزة المدرجة في القائمة السوداء"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "لم يتم العثور على حساب نشط"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "تم إدراج الرمز المميز في القائمة السوداء"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "رمز غير صالح"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "لا توجد مطالبة معرف المستخدم في الرمز المميز"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "المستخدم غير موجود"
|
||||
|
||||
|
|
@ -416,6 +423,3 @@ msgstr "تمت إعادة تعيين كلمة المرور بنجاح!"
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "لقد قمت بتفعيل الحساب بالفعل..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "تمت مشاهدته مؤخراً"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,18 +3,18 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
"Language: cs-CZ\n"
|
||||
"Language: cs-cz\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "Bilance"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "Bilance"
|
|||
msgid "order"
|
||||
msgstr "Objednávka"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "Objednávky"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "Objednávky"
|
|||
msgid "personal info"
|
||||
msgstr "Osobní informace"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "Oprávnění"
|
||||
|
||||
|
|
@ -94,88 +94,96 @@ msgstr "Odstranění uživatele"
|
|||
msgid "reset a user's password by sending a reset password email"
|
||||
msgstr "Obnovení hesla uživatele odesláním e-mailu s obnovením hesla."
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "Zpracování nahrávání avataru pro uživatele"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "Potvrzení obnovení hesla uživatele"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "Hesla se neshodují"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "Aktivace účtu uživatele"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "Aktivační odkaz je neplatný nebo je účet již aktivován"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr "Uuid uživatele s kódem b64, který nám nového uživatele doporučil."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "Heslo je příliš slabé"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} neexistuje: {uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "Špatně formulovaný e-mail"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "Chybně zadané telefonní číslo: {phone_number}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "Nesprávný formát atributu: {attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "Aktivační odkaz je neplatný!"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "Účet byl již aktivován..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "Něco se pokazilo: {e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "Token je neplatný!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "Nedávno zobrazené produkty"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr ""
|
||||
"Produkty, které si tento uživatel prohlížel naposledy (max. 48), seřazené v "
|
||||
"opačném pořadí."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "Skupiny"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "Seznam přání"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr "Atributy lze použít k uložení vlastních dat."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr "Jazyk je jeden z {LANGUAGES} s výchozím {LANGUAGE_CODE}."
|
||||
|
|
@ -268,23 +276,23 @@ msgstr "Token na černé listině"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "Tokeny na černé listině"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "Nebyl nalezen žádný aktivní účet"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "Token na černé listině"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "Neplatný token"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "V tokenu není deklarace uuid uživatele"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "Uživatel neexistuje"
|
||||
|
||||
|
|
@ -368,8 +376,7 @@ 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 následující "
|
||||
"adresu URL\n"
|
||||
"Pokud výše uvedené tlačítko nefunguje, zkopírujte a vložte následující adresu URL\n"
|
||||
" do webového prohlížeče:"
|
||||
|
||||
#: vibes_auth/templates/user_verification_email.html:101
|
||||
|
|
@ -415,6 +422,3 @@ msgstr "Heslo bylo úspěšně resetováno!"
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "Účet jste již aktivovali..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "Nedávno zobrazené"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,18 +3,18 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
"Language: da-DK\n"
|
||||
"Language: da-dk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "Balance"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "Balance"
|
|||
msgid "order"
|
||||
msgstr "Bestil"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "Bestillinger"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "Bestillinger"
|
|||
msgid "personal info"
|
||||
msgstr "Personlig information"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "Tilladelser"
|
||||
|
||||
|
|
@ -96,88 +96,96 @@ msgstr ""
|
|||
"Nulstil en brugers adgangskode ved at sende en e-mail om nulstilling af "
|
||||
"adgangskode"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "Håndter upload af avatar for en bruger"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "Bekræft nulstilling af en brugers adgangskode"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "Adgangskoderne stemmer ikke overens"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "Aktivér en brugers konto"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "Aktiveringslinket er ugyldigt, eller kontoen er allerede aktiveret"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr "Brugerens b64-kodede uuid, som henviste den nye bruger til os."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "Adgangskoden er for svag"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} findes ikke: {uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "Misdannet e-mail"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "Misdannet telefonnummer: {phone_number}."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "Ugyldigt attributformat: {attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "Aktiveringslinket er ugyldigt!"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "Kontoen er allerede aktiveret..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "Noget gik galt: {e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "Token er ugyldig!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "Nyligt viste produkter"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr ""
|
||||
"De produkter, som denne bruger har set for nylig (maks. 48), i omvendt "
|
||||
"kronologisk rækkefølge."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "Grupper"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "Ønskeliste"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr "Attributter kan bruges til at gemme brugerdefinerede data"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr "Sprog er et af {LANGUAGES} med standard {LANGUAGE_CODE}."
|
||||
|
|
@ -270,23 +278,23 @@ msgstr "Sortlistet token"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "Sortlistede tokens"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "Ingen aktiv konto fundet"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "Token blacklistet"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "Ugyldigt token"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "Ingen bruger-uuid-krav til stede i token"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "Brugeren findes ikke"
|
||||
|
||||
|
|
@ -371,8 +379,7 @@ 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 indsætte følgende "
|
||||
"URL\n"
|
||||
"Hvis ovenstående knap ikke virker, bedes du kopiere og indsætte følgende URL\n"
|
||||
" i din webbrowser:"
|
||||
|
||||
#: vibes_auth/templates/user_verification_email.html:101
|
||||
|
|
@ -418,6 +425,3 @@ msgstr "Adgangskoden er blevet nulstillet med succes!"
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "Du har allerede aktiveret kontoen..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "Set for nylig"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,18 +3,18 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
"Language: de-DE\n"
|
||||
"Language: de-de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "Waage"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "Waage"
|
|||
msgid "order"
|
||||
msgstr "Bestellung"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "Bestellungen"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "Bestellungen"
|
|||
msgid "personal info"
|
||||
msgstr "Persönliche Informationen"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "Erlaubnisse"
|
||||
|
||||
|
|
@ -97,91 +97,99 @@ msgstr ""
|
|||
"Zurücksetzen des Kennworts eines Benutzers durch Senden einer E-Mail zum "
|
||||
"Zurücksetzen des Kennworts"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "Avatar-Upload für einen Benutzer verwalten"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "Bestätigen Sie das Zurücksetzen des Passworts eines Benutzers"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "Passwörter stimmen nicht überein"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "Aktivieren eines Benutzerkontos"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "Aktivierungslink ist ungültig oder Konto bereits aktiviert"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr ""
|
||||
"Die b64-kodierte uuid des Benutzers, der den neuen Benutzer an uns verwiesen"
|
||||
" hat."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "Das Passwort ist zu schwach"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} existiert nicht: {uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "Fehlerhafte E-Mail"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "Fehlerhafte Telefonnummer: {phone_number}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "Ungültiges Attributformat: {attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "Der Aktivierungslink ist ungültig!"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "Das Konto wurde bereits aktiviert..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "Etwas ist schief gelaufen: {e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "Token ist ungültig!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "Zuletzt angesehene Produkte"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr ""
|
||||
"Die Produkte, die dieser Benutzer zuletzt angesehen hat (maximal 48), in "
|
||||
"umgekehrter chronologischer Reihenfolge."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "Gruppen"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "Wunschzettel"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr ""
|
||||
"Attribute können verwendet werden, um benutzerdefinierte Daten zu speichern"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr "Sprache ist eine der {LANGUAGES} mit Standard {LANGUAGE_CODE}"
|
||||
|
|
@ -274,23 +282,23 @@ msgstr "Token auf der schwarzen Liste"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "Token auf der schwarzen Liste"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "Kein aktives Konto gefunden"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "Token auf der schwarzen Liste"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "Ungültiges Token"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "Kein Benutzer uuid-Anspruch im Token vorhanden"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "Benutzer existiert nicht"
|
||||
|
||||
|
|
@ -336,8 +344,8 @@ msgstr ""
|
|||
#: vibes_auth/templates/user_reset_password_email.html:88
|
||||
msgid "if you did not send this request, please ignore this email."
|
||||
msgstr ""
|
||||
"Wenn Sie diese Anfrage nicht gesendet haben, ignorieren Sie bitte diese E-"
|
||||
"Mail."
|
||||
"Wenn Sie diese Anfrage nicht gesendet haben, ignorieren Sie bitte diese "
|
||||
"E-Mail."
|
||||
|
||||
#: vibes_auth/templates/user_reset_password_email.html:89
|
||||
#, python-format
|
||||
|
|
@ -376,8 +384,7 @@ 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 Browser ein\n"
|
||||
"Wenn die obige Schaltfläche nicht funktioniert, kopieren Sie bitte die folgende URL und fügen Sie sie in Ihren Browser ein\n"
|
||||
" in Ihren Webbrowser ein:"
|
||||
|
||||
#: vibes_auth/templates/user_verification_email.html:101
|
||||
|
|
@ -423,6 +430,3 @@ msgstr "Das Passwort wurde erfolgreich zurückgesetzt!"
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "Sie haben das Konto bereits aktiviert..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "Kürzlich gesehen"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
|
|
@ -19,7 +19,7 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "Balance"
|
||||
|
||||
|
|
@ -27,7 +27,7 @@ msgstr "Balance"
|
|||
msgid "order"
|
||||
msgstr "Order"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "Orders"
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ msgstr "Orders"
|
|||
msgid "personal info"
|
||||
msgstr "Personal Info"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "Permissions"
|
||||
|
||||
|
|
@ -99,88 +99,96 @@ msgstr "Delete a user"
|
|||
msgid "reset a user's password by sending a reset password email"
|
||||
msgstr "Reset a user's password by sending a reset password email"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "Handle avatar upload for a user"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "Confirm a user's password reset"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "Passwords do not match"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "Activate a user's account"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "Activation link is invalid or account already activated"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr "The user's b64-encoded uuid who referred the new user to us."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "The password is too weak"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} does not exist: {uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "Malformed email"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "Malformed phone number: {phone_number}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "Invalid attribute format: {attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "Activation link is invalid!"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "Account has been already activated..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "Something went wrong: {e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "Token is invalid!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "Recently viewed products"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr ""
|
||||
"The products this user has viewed most recently (max 48), in reverse-"
|
||||
"chronological order."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "Groups"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "Wishlist"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr "Attributes may be used to store custom data"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr "Language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
|
|
@ -273,23 +281,23 @@ msgstr "Blacklisted token"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "Blacklisted tokens"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "No active account found"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "Token blacklisted"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "Invalid token"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "No user uuid claim present in token"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "User does not exist"
|
||||
|
||||
|
|
@ -420,5 +428,8 @@ msgstr "Password has been reset successfully!"
|
|||
msgid "account already activated!"
|
||||
msgstr "You have already activated the account..."
|
||||
|
||||
#~ msgid "recently viewed products"
|
||||
#~ msgstr "Recently viewed products"
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "Recently viewed"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,18 +3,18 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
"Language: en-US\n"
|
||||
"Language: en-us\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "Balance"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "Balance"
|
|||
msgid "order"
|
||||
msgstr "Order"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "Orders"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "Orders"
|
|||
msgid "personal info"
|
||||
msgstr "Personal Info"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "Permissions"
|
||||
|
||||
|
|
@ -94,88 +94,96 @@ msgstr "Delete a user"
|
|||
msgid "reset a user's password by sending a reset password email"
|
||||
msgstr "Reset a user's password by sending a reset password email"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "Handle avatar upload for a user"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "Confirm a user's password reset"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "Passwords do not match"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "Activate a user's account"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "Activation link is invalid or account already activated"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr "The user's b64-encoded uuid who referred the new user to us."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "The password is too weak"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} does not exist: {uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "Malformed email"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "Malformed phone number: {phone_number}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "Invalid attribute format: {attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "Activation link is invalid!"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "Account has been already activated..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "Something went wrong: {e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "Token is invalid!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "Recently viewed products"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr ""
|
||||
"The products this user has viewed most recently (max 48), in reverse-"
|
||||
"chronological order."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "Groups"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "Wishlist"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr "Attributes may be used to store custom data"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr "Language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
|
|
@ -268,23 +276,23 @@ msgstr "Blacklisted token"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "Blacklisted tokens"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "No active account found"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "Token blacklisted"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "Invalid token"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "No user uuid claim present in token"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "User does not exist"
|
||||
|
||||
|
|
@ -414,6 +422,3 @@ msgstr "Password has been reset successfully!"
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "You have already activated the account..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "Recently viewed"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,18 +3,18 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
"Language: es-ES\n"
|
||||
"Language: es-es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "Saldo"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "Saldo"
|
|||
msgid "order"
|
||||
msgstr "Pida"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "Pedidos"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "Pedidos"
|
|||
msgid "personal info"
|
||||
msgstr "Información personal"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "Permisos"
|
||||
|
||||
|
|
@ -96,89 +96,97 @@ msgstr ""
|
|||
"Restablecer la contraseña de un usuario enviando un correo electrónico de "
|
||||
"restablecimiento de contraseña"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "Gestionar la subida de avatares de un usuario"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "Confirmar el restablecimiento de la contraseña de un usuario"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "Las contraseñas no coinciden"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "Activar la cuenta de un usuario"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "El enlace de activación no es válido o la cuenta ya está activada"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr ""
|
||||
"El uuid codificado en b64 del usuario que nos ha remitido al nuevo usuario."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "La contraseña es demasiado débil"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} no existe: {uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "Correo electrónico malformado"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "Número de teléfono malformado: {phone_number}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "Formato de atributo no válido: {attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "El enlace de activación no es válido."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "La cuenta ya ha sido activada..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "Algo salió mal: {e!s}."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "¡La ficha no es válida!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "Productos vistos recientemente"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr ""
|
||||
"Los productos que este usuario ha visto más recientemente (máx. 48), en "
|
||||
"orden cronológico inverso."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "Grupos"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "Lista de deseos"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr "Los atributos pueden utilizarse para almacenar datos personalizados"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr "El idioma es uno de los {LANGUAGES} con {LANGUAGE_CODE} por defecto."
|
||||
|
|
@ -271,23 +279,23 @@ msgstr "Ficha en la lista negra"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "Fichas en la lista negra"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "No se ha encontrado ninguna cuenta activa"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "Ficha en la lista negra"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "Token no válido"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "No user uuid claim present in token"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "El usuario no existe"
|
||||
|
||||
|
|
@ -417,6 +425,3 @@ msgstr "La contraseña se ha restablecido correctamente."
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "Ya ha activado la cuenta..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "Vistos recientemente"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,18 +3,18 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
"Language: fr-FR\n"
|
||||
"Language: fr-fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "Balance"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "Balance"
|
|||
msgid "order"
|
||||
msgstr "Commande"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "Commandes"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "Commandes"
|
|||
msgid "personal info"
|
||||
msgstr "Informations personnelles"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "Permissions"
|
||||
|
||||
|
|
@ -98,91 +98,99 @@ msgstr ""
|
|||
"Réinitialiser le mot de passe d'un utilisateur en envoyant un courriel de "
|
||||
"réinitialisation du mot de passe"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "Gérer le téléchargement d'un avatar pour un utilisateur"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "Confirmer la réinitialisation du mot de passe d'un utilisateur"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "Les mots de passe ne correspondent pas"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "Activer le compte d'un utilisateur"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "Le lien d'activation n'est pas valide ou le compte est déjà activé"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr ""
|
||||
"L'uuid b64-encodé de l'utilisateur qui nous a recommandé le nouvel "
|
||||
"utilisateur."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "Le mot de passe est trop faible"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} n'existe pas : {uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "Courriel malformé"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "Numéro de téléphone malformé : {phone_number}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "Format d'attribut non valide : {attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "Le lien d'activation n'est pas valide !"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "Le compte a déjà été activé..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "Quelque chose a mal tourné : {e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "Le jeton n'est pas valide !"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "Produits récemment consultés"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr ""
|
||||
"Les produits que cet utilisateur a consultés le plus récemment (max 48), par"
|
||||
" ordre chronologique inverse."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "Groupes"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "Liste de souhaits"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr ""
|
||||
"Les attributs peuvent être utilisés pour stocker des données personnalisées."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr ""
|
||||
|
|
@ -277,23 +285,24 @@ msgstr "Jeton sur liste noire"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "Jetons sur liste noire"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "Aucun compte actif trouvé"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "Token sur liste noire"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "Jeton non valide"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "Aucune revendication d'uuid d'utilisateur n'est présente dans le jeton"
|
||||
msgstr ""
|
||||
"Aucune revendication d'uuid d'utilisateur n'est présente dans le jeton"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "L'utilisateur n'existe pas"
|
||||
|
||||
|
|
@ -339,7 +348,8 @@ msgstr ""
|
|||
|
||||
#: vibes_auth/templates/user_reset_password_email.html:88
|
||||
msgid "if you did not send this request, please ignore this email."
|
||||
msgstr "Si vous n'avez pas envoyé cette demande, veuillez ignorer ce courriel."
|
||||
msgstr ""
|
||||
"Si vous n'avez pas envoyé cette demande, veuillez ignorer ce courriel."
|
||||
|
||||
#: vibes_auth/templates/user_reset_password_email.html:89
|
||||
#, python-format
|
||||
|
|
@ -378,8 +388,7 @@ 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\n"
|
||||
"Si le bouton ci-dessus ne fonctionne pas, veuillez copier et coller l'URL suivante\n"
|
||||
" suivante dans votre navigateur web :"
|
||||
|
||||
#: vibes_auth/templates/user_verification_email.html:101
|
||||
|
|
@ -425,6 +434,3 @@ msgstr "Le mot de passe a été réinitialisé avec succès !"
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "Vous avez déjà activé le compte..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "Récemment consultés"
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -18,7 +18,7 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ msgstr ""
|
|||
msgid "order"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ msgstr ""
|
|||
msgid "personal info"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -98,88 +98,94 @@ msgstr ""
|
|||
msgid "reset a user's password by sending a reset password email"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in reverse‐"
|
||||
"chronological order"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr ""
|
||||
|
|
@ -272,23 +278,23 @@ msgstr ""
|
|||
msgid "blacklisted tokens"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,18 +3,18 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
"Language: it-IT\n"
|
||||
"Language: it-it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "Equilibrio"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "Equilibrio"
|
|||
msgid "order"
|
||||
msgstr "Ordine"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "Ordini"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "Ordini"
|
|||
msgid "personal info"
|
||||
msgstr "Informazioni personali"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "Permessi"
|
||||
|
||||
|
|
@ -97,89 +97,97 @@ msgstr ""
|
|||
"Reimpostare la password di un utente inviando un'e-mail di reimpostazione "
|
||||
"della password"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "Gestire il caricamento dell'avatar per un utente"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "Confermare la reimpostazione della password di un utente"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "Le password non corrispondono"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "Attivare l'account di un utente"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "Il link di attivazione non è valido o l'account è già stato attivato."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr "L'uuid b64-encoded dell'utente che ci ha segnalato il nuovo utente."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "La password è troppo debole"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} non esiste: {uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "Email malformata"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "Numero di telefono malformato: {phone_number}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "Formato attributo non valido: {attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "Il link di attivazione non è valido!"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "L'account è già stato attivato..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "Qualcosa è andato storto: {e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "Il gettone non è valido!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "Prodotti visti di recente"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr ""
|
||||
"I prodotti che questo utente ha visualizzato più di recente (max 48), in "
|
||||
"ordine cronologico inverso."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "Gruppi"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "Lista dei desideri"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr ""
|
||||
"Gli attributi possono essere utilizzati per memorizzare dati personalizzati"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr ""
|
||||
|
|
@ -273,23 +281,23 @@ msgstr "Token in lista nera"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "Gettoni nella lista nera"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "Nessun conto attivo trovato"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "Token nella lista nera"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "Token non valido"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "Nessuna richiesta di uuid utente presente nel token"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "L'utente non esiste"
|
||||
|
||||
|
|
@ -419,6 +427,3 @@ msgstr "La password è stata reimpostata con successo!"
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "Avete già attivato l'account..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "Visti di recente"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,18 +3,18 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
"Language: ja-JP\n"
|
||||
"Language: ja-jp\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "バランス"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "バランス"
|
|||
msgid "order"
|
||||
msgstr "オーダー"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "受注状況"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "受注状況"
|
|||
msgid "personal info"
|
||||
msgstr "個人情報"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "アクセス許可"
|
||||
|
||||
|
|
@ -94,90 +94,94 @@ msgstr "ユーザーを削除する"
|
|||
msgid "reset a user's password by sending a reset password email"
|
||||
msgstr "パスワード再設定メールを送信して、ユーザーのパスワードを再設定する。"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "ユーザーのアバターアップロードを処理する"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "ユーザーのパスワード・リセットを確認する"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "パスワードが一致しない"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "ユーザーアカウントの有効化"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr ""
|
||||
"アクティベーションリンクが無効であるか、アカウントがすでにアクティベーション"
|
||||
"されています。"
|
||||
msgstr "アクティベーションリンクが無効であるか、アカウントがすでにアクティベーションされています。"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr "新規ユーザーを紹介したユーザーのb64エンコードされたuuid。"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "パスワードが弱すぎる"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name}が存在しません:{uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "不正な電子メール"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "不正な電話番号:{phone_number}。"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "無効な属性形式です:{attribute_pair}。"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "アクティベーションリンクが無効です!"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "アカウントはすでに有効になっています..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "何かが間違っていた:{e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "トークンが無効です!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "最近見た製品"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr "このユーザーが最近閲覧した商品(最大48件)を逆順に表示します。"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "グループ"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "ウィッシュリスト"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "アバター"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr "属性は、カスタム・データを保存するために使用することができる。"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr "言語は{LANGUAGES}のいずれかで、デフォルトは{LANGUAGE_CODE}です。"
|
||||
|
|
@ -270,23 +274,23 @@ msgstr "ブラックリストトークン"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "ブラックリストに載ったトークン"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "アクティブなアカウントが見つかりません"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "トークンのブラックリスト入り"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "無効なトークン"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "トークンにユーザー uuid クレームが存在しない"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "ユーザーが存在しない"
|
||||
|
||||
|
|
@ -313,9 +317,7 @@ msgstr "こんにちは、%(user_first_name)sです、"
|
|||
msgid ""
|
||||
"we have received a request to reset your password. please reset your "
|
||||
"password by clicking the button below:"
|
||||
msgstr ""
|
||||
"パスワードの再設定依頼が届いております。以下のボタンをクリックして、パスワー"
|
||||
"ドをリセットしてください:"
|
||||
msgstr "パスワードの再設定依頼が届いております。以下のボタンをクリックして、パスワードをリセットしてください:"
|
||||
|
||||
#: vibes_auth/templates/user_reset_password_email.html:84
|
||||
msgid "reset password"
|
||||
|
|
@ -325,9 +327,7 @@ msgstr "パスワードのリセット"
|
|||
msgid ""
|
||||
"if the button above does not work, please copy and paste the following URL "
|
||||
"into your web browser:"
|
||||
msgstr ""
|
||||
"上記のボタンが機能しない場合は、以下のURLをコピーしてウェブブラウザに貼り付け"
|
||||
"てください:"
|
||||
msgstr "上記のボタンが機能しない場合は、以下のURLをコピーしてウェブブラウザに貼り付けてください:"
|
||||
|
||||
#: vibes_auth/templates/user_reset_password_email.html:88
|
||||
msgid "if you did not send this request, please ignore this email."
|
||||
|
|
@ -353,9 +353,7 @@ msgstr "アカウントの有効化"
|
|||
msgid ""
|
||||
"thank you for signing up for %(project_name)s. please activate your account "
|
||||
"by clicking the button below:"
|
||||
msgstr ""
|
||||
"%(project_name)sにご登録いただきありがとうございます。下のボタンをクリックし"
|
||||
"てアカウントを有効にしてください:"
|
||||
msgstr "%(project_name)sにご登録いただきありがとうございます。下のボタンをクリックしてアカウントを有効にしてください:"
|
||||
|
||||
#: vibes_auth/templates/user_verification_email.html:95
|
||||
msgid ""
|
||||
|
|
@ -370,8 +368,7 @@ msgid ""
|
|||
"if the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"上記のボタンが機能しない場合は、次のURLをコピーしてウェブブラウザに貼り付けて"
|
||||
"ください。\n"
|
||||
"上記のボタンが機能しない場合は、次のURLをコピーしてウェブブラウザに貼り付けてください。\n"
|
||||
" をウェブブラウザに貼り付けてください:"
|
||||
|
||||
#: vibes_auth/templates/user_verification_email.html:101
|
||||
|
|
@ -402,9 +399,7 @@ msgstr "{config.PROJECT_NAME}。| パスワードのリセット"
|
|||
msgid ""
|
||||
"invalid phone number format. the number must be entered in the format: "
|
||||
"\"+999999999\". up to 15 digits allowed."
|
||||
msgstr ""
|
||||
"電話番号の形式が無効です。電話番号は次の形式で入力してください:"
|
||||
"\"+999999999\".15桁まで入力可能です。"
|
||||
msgstr "電話番号の形式が無効です。電話番号は次の形式で入力してください:\"+999999999\".15桁まで入力可能です。"
|
||||
|
||||
#: vibes_auth/views.py:57
|
||||
msgid "the token is invalid"
|
||||
|
|
@ -417,6 +412,3 @@ msgstr "パスワードのリセットに成功しました!"
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "あなたはすでにアカウントを有効にしています..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "最近閲覧した記事"
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -18,7 +18,7 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ msgstr ""
|
|||
msgid "order"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ msgstr ""
|
|||
msgid "personal info"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -98,88 +98,94 @@ msgstr ""
|
|||
msgid "reset a user's password by sending a reset password email"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in reverse‐"
|
||||
"chronological order"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr ""
|
||||
|
|
@ -272,23 +278,23 @@ msgstr ""
|
|||
msgid "blacklisted tokens"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr ""
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,18 +3,18 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
"Language: nl-NL\n"
|
||||
"Language: nl-nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "Saldo"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "Saldo"
|
|||
msgid "order"
|
||||
msgstr "Bestel"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "Bestellingen"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "Bestellingen"
|
|||
msgid "personal info"
|
||||
msgstr "Persoonlijke info"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "Rechten"
|
||||
|
||||
|
|
@ -96,90 +96,98 @@ msgstr ""
|
|||
"Het wachtwoord van een gebruiker opnieuw instellen door een e-mail met het "
|
||||
"wachtwoord opnieuw in te stellen"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "Avatar uploaden voor een gebruiker afhandelen"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "Bevestig het resetten van het wachtwoord van een gebruiker"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "Wachtwoorden komen niet overeen"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "Een gebruikersaccount activeren"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "Activeringslink is ongeldig of account is al geactiveerd"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr ""
|
||||
"De b64-gecodeerde uuid van de gebruiker die de nieuwe gebruiker naar ons "
|
||||
"heeft doorverwezen."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "Het wachtwoord is te zwak"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} bestaat niet: {uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "Misvormde e-mail"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "Misvormd telefoonnummer: {phone_number}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "Ongeldig attribuutformaat: {attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "Activeringslink is ongeldig!"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "Account is al geactiveerd..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "Er ging iets mis: {e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "Token is invalid!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "Recent bekeken producten"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr ""
|
||||
"De producten die deze gebruiker het laatst heeft bekeken (max 48), in "
|
||||
"omgekeerd-chronologische volgorde."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "Groepen"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "Verlanglijst"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr "Attributen kunnen worden gebruikt om aangepaste gegevens op te slaan"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr "Taal is een van de {LANGUAGES} met standaard {LANGUAGE_CODE}"
|
||||
|
|
@ -272,23 +280,23 @@ msgstr "Token op zwarte lijst"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "Tokens op de zwarte lijst"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "Geen actieve account gevonden"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "Token op zwarte lijst"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "Invalid token"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "Geen gebruiker uuid claim aanwezig in token"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "Gebruiker bestaat niet"
|
||||
|
||||
|
|
@ -418,6 +426,3 @@ msgstr "Wachtwoord is succesvol gereset!"
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "Je hebt de account al geactiveerd..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "Onlangs bekeken"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,18 +3,18 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
"Language: pl-PL\n"
|
||||
"Language: pl-pl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "Równowaga"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "Równowaga"
|
|||
msgid "order"
|
||||
msgstr "Zamówienie"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "Zamówienia"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "Zamówienia"
|
|||
msgid "personal info"
|
||||
msgstr "Informacje osobiste"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "Uprawnienia"
|
||||
|
||||
|
|
@ -52,7 +52,8 @@ msgstr "Uzyskanie pary tokenów"
|
|||
|
||||
#: vibes_auth/docs/drf/views.py:16
|
||||
msgid "obtain a token pair (refresh and access) for authentication."
|
||||
msgstr "Uzyskanie pary tokenów (odświeżenie i dostęp) w celu uwierzytelnienia."
|
||||
msgstr ""
|
||||
"Uzyskanie pary tokenów (odświeżenie i dostęp) w celu uwierzytelnienia."
|
||||
|
||||
#: vibes_auth/docs/drf/views.py:35
|
||||
msgid "refresh a token pair"
|
||||
|
|
@ -96,90 +97,98 @@ msgstr ""
|
|||
"Zresetowanie hasła użytkownika poprzez wysłanie wiadomości e-mail "
|
||||
"resetującej hasło."
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "Obsługa przesyłania awatara dla użytkownika"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "Potwierdzenie zresetowania hasła użytkownika"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "Hasła nie są zgodne"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "Aktywacja konta użytkownika"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "Link aktywacyjny jest nieprawidłowy lub konto zostało już aktywowane."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr ""
|
||||
"Zakodowany w b64 identyfikator uuid użytkownika, który polecił nam nowego "
|
||||
"użytkownika."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "Hasło jest zbyt słabe"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} nie istnieje: {uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "Zniekształcona wiadomość e-mail"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "Zniekształcony numer telefonu: {phone_number}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "Nieprawidłowy format atrybutu: {attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "Link aktywacyjny jest nieprawidłowy!"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "Konto zostało już aktywowane..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "Coś poszło nie tak: {e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "Token jest nieprawidłowy!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "Ostatnio oglądane produkty"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr ""
|
||||
"Produkty ostatnio przeglądane przez tego użytkownika (maks. 48), w "
|
||||
"kolejności odwrotnej do chronologicznej."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "Grupy"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "Lista życzeń"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "Awatar"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr "Atrybuty mogą być używane do przechowywania niestandardowych danych"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr "Język jest jednym z {LANGUAGES} z domyślnym {LANGUAGE_CODE}."
|
||||
|
|
@ -272,23 +281,23 @@ msgstr "Token na czarnej liście"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "Tokeny znajdujące się na czarnej liście"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "Nie znaleziono aktywnego konta"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "Token na czarnej liście"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "Nieprawidłowy token"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "Brak oświadczenia uuid użytkownika w tokenie"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "Użytkownik nie istnieje"
|
||||
|
||||
|
|
@ -418,6 +427,3 @@ msgstr "Hasło zostało pomyślnie zresetowane!"
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "Konto zostało już aktywowane..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "Ostatnio oglądane"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,18 +3,18 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
"Language: pt-BR\n"
|
||||
"Language: pt-br\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "Equilíbrio"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "Equilíbrio"
|
|||
msgid "order"
|
||||
msgstr "Pedido"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "Pedidos"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "Pedidos"
|
|||
msgid "personal info"
|
||||
msgstr "Informações pessoais"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "Permissões"
|
||||
|
||||
|
|
@ -95,88 +95,96 @@ msgid "reset a user's password by sending a reset password email"
|
|||
msgstr ""
|
||||
"Redefinir a senha de um usuário enviando um e-mail de redefinição de senha"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "Manipular o upload do avatar de um usuário"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "Confirmar a redefinição de senha de um usuário"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "As senhas não correspondem"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "Ativar a conta de um usuário"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "O link de ativação é inválido ou a conta já está ativada"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr "O uuid codificado em b64 do usuário que nos indicou o novo usuário."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "A senha é muito fraca"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} não existe: {uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "E-mail malformado"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "Número de telefone malformado: {phone_number}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "Formato de atributo inválido: {attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "O link de ativação é inválido!"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "A conta já foi ativada..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "Algo deu errado: {e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "O token é inválido!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "Produtos visualizados recentemente"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr ""
|
||||
"Os produtos que esse usuário visualizou mais recentemente (máximo de 48), em"
|
||||
" ordem cronológica inversa."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "Grupos"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "Lista de desejos"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr "Os atributos podem ser usados para armazenar dados personalizados"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr "O idioma é um dos {LANGUAGES} com o padrão {LANGUAGE_CODE}"
|
||||
|
|
@ -269,23 +277,23 @@ msgstr "Token na lista negra"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "Tokens na lista negra"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "Nenhuma conta ativa encontrada"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "Token na lista negra"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "Token inválido"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "Nenhuma reivindicação de uuid de usuário presente no token"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "O usuário não existe"
|
||||
|
||||
|
|
@ -415,6 +423,3 @@ msgstr "A senha foi redefinida com sucesso!"
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "Você já ativou a conta..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "Visualizado recentemente"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,18 +3,18 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
"Language: ro-RO\n"
|
||||
"Language: ro-ro\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "Echilibru"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "Echilibru"
|
|||
msgid "order"
|
||||
msgstr "Comandă"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "Ordine"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "Ordine"
|
|||
msgid "personal info"
|
||||
msgstr "Informații personale"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "Permisiuni"
|
||||
|
||||
|
|
@ -97,89 +97,97 @@ msgstr ""
|
|||
"Resetați parola unui utilizator prin trimiterea unui e-mail de resetare a "
|
||||
"parolei"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "Gestionarea încărcării avatarului pentru un utilizator"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "Confirmați resetarea parolei unui utilizator"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "Parolele nu se potrivesc"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "Activați contul unui utilizator"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "Linkul de activare este invalid sau contul este deja activat"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr ""
|
||||
"Uuid codificat b64 al utilizatorului care ne-a recomandat noul utilizator."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "Parola este prea slabă"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} nu există: {uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "E-mail malformat"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "Număr de telefon malformat: {phone_number}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "Format de atribut invalid: {attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "Linkul de activare este invalid!"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "Contul a fost deja activat..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "Ceva nu a mers bine: {e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "Token-ul nu este valabil!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "Produse vizualizate recent"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr ""
|
||||
"Produsele pe care acest utilizator le-a vizualizat cel mai recent (max 48), "
|
||||
"în ordine cronologică inversă."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "Grupuri"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "Lista dorințelor"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "Avatar"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr "Atributele pot fi utilizate pentru a stoca date personalizate"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr "Limba este una dintre {LANGUAGES} cu {LANGUAGE_CODE} implicit"
|
||||
|
|
@ -272,23 +280,23 @@ msgstr "Token pe lista neagră"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "Jetoane pe lista neagră"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "Nu s-a găsit niciun cont activ"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "Token pe lista neagră"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "Jeton invalid"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "În jeton nu este prezentă nicio cerere uuid a utilizatorului"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "Utilizatorul nu există"
|
||||
|
||||
|
|
@ -372,8 +380,7 @@ 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"
|
||||
"Dacă butonul de mai sus nu funcționează, vă rugăm să copiați și să lipiți următoarea adresă URL\n"
|
||||
" în browserul dvs. web:"
|
||||
|
||||
#: vibes_auth/templates/user_verification_email.html:101
|
||||
|
|
@ -419,6 +426,3 @@ msgstr "Parola a fost resetată cu succes!"
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "Ați activat deja contul..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "Văzut recent"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,18 +3,18 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
"Language: ru-RU\n"
|
||||
"Language: ru-ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "Баланс"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "Баланс"
|
|||
msgid "order"
|
||||
msgstr "Заказать"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "Заказы"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "Заказы"
|
|||
msgid "personal info"
|
||||
msgstr "Личная информация"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "Разрешения"
|
||||
|
||||
|
|
@ -96,90 +96,98 @@ msgstr ""
|
|||
"Сброс пароля пользователя путем отправки электронного сообщения о сбросе "
|
||||
"пароля"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "Обработка загрузки аватара для пользователя"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "Подтверждение сброса пароля пользователя"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "Пароли не совпадают"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "Активация учетной записи пользователя"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "Ссылка на активацию недействительна или аккаунт уже активирован"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr ""
|
||||
"b64-кодированный uuid пользователя, который направил к нам нового "
|
||||
"пользователя."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "Пароль слишком слабый"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} не существует: {uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "Некорректное письмо"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "Некорректный номер телефона: {phone_number}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "Недопустимый формат атрибута: {attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "Ссылка на активацию недействительна!"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "Аккаунт уже активирован..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "Что-то пошло не так: {e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "Токен недействителен!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "Недавно просмотренные товары"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr ""
|
||||
"Продукты, которые этот пользователь просматривал в последнее время (не более"
|
||||
" 48), в обратном хронологическом порядке."
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "Группы"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "Список желаний"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "Аватар"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr "Атрибуты могут использоваться для хранения пользовательских данных"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr "Язык - один из {LANGUAGES}, по умолчанию {LANGUAGE_CODE}."
|
||||
|
|
@ -272,23 +280,23 @@ msgstr "Токен в черном списке"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "Токены, внесенные в черный список"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "Активная учетная запись не найдена"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "Токен занесен в черный список"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "Неверный токен"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "В токене отсутствует утверждение uuid пользователя"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "Пользователь не существует"
|
||||
|
||||
|
|
@ -373,8 +381,7 @@ msgid ""
|
|||
"if the button above does not work, please copy and paste the following URL\n"
|
||||
" into your web browser:"
|
||||
msgstr ""
|
||||
"Если кнопка выше не работает, пожалуйста, скопируйте и вставьте следующий "
|
||||
"URL-адрес\n"
|
||||
"Если кнопка выше не работает, пожалуйста, скопируйте и вставьте следующий URL-адрес\n"
|
||||
" в свой веб-браузер:"
|
||||
|
||||
#: vibes_auth/templates/user_verification_email.html:101
|
||||
|
|
@ -420,6 +427,3 @@ msgstr "Пароль был успешно сброшен!"
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "Вы уже активировали учетную запись..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ 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-05-20 06:26+0100\n"
|
||||
"POT-Creation-Date: 2025-05-27 13:42+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"
|
||||
|
|
@ -14,7 +14,7 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: vibes_auth/admin.py:36 vibes_auth/admin.py:37
|
||||
#: vibes_auth/graphene/object_types.py:35
|
||||
#: vibes_auth/graphene/object_types.py:45
|
||||
msgid "balance"
|
||||
msgstr "平衡"
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ msgstr "平衡"
|
|||
msgid "order"
|
||||
msgstr "订购"
|
||||
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:33
|
||||
#: vibes_auth/admin.py:45 vibes_auth/graphene/object_types.py:43
|
||||
msgid "orders"
|
||||
msgstr "订单"
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ msgstr "订单"
|
|||
msgid "personal info"
|
||||
msgstr "个人信息"
|
||||
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:32
|
||||
#: vibes_auth/admin.py:58 vibes_auth/graphene/object_types.py:42
|
||||
msgid "permissions"
|
||||
msgstr "权限"
|
||||
|
||||
|
|
@ -94,88 +94,94 @@ msgstr "删除用户"
|
|||
msgid "reset a user's password by sending a reset password email"
|
||||
msgstr "通过发送重置密码电子邮件重置用户密码"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:40
|
||||
#: vibes_auth/docs/drf/viewsets.py:37
|
||||
msgid "handle avatar upload for a user"
|
||||
msgstr "处理用户的头像上传"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:49
|
||||
#: vibes_auth/docs/drf/viewsets.py:46
|
||||
msgid "confirm a user's password reset"
|
||||
msgstr "确认用户密码重置"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:53 vibes_auth/graphene/mutations.py:305
|
||||
#: vibes_auth/docs/drf/viewsets.py:50 vibes_auth/graphene/mutations.py:306
|
||||
#: vibes_auth/viewsets.py:72
|
||||
msgid "passwords do not match"
|
||||
msgstr "密码不匹配"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:58
|
||||
#: vibes_auth/docs/drf/viewsets.py:55
|
||||
msgid "activate a user's account"
|
||||
msgstr "激活用户帐户"
|
||||
|
||||
#: vibes_auth/docs/drf/viewsets.py:62
|
||||
#: vibes_auth/docs/drf/viewsets.py:59
|
||||
msgid "activation link is invalid or account already activated"
|
||||
msgstr "激活链接无效或账户已激活"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:40
|
||||
#: vibes_auth/graphene/mutations.py:41
|
||||
msgid "the user's b64-encoded uuid who referred the new user to us."
|
||||
msgstr "将新用户推荐给我们的用户的 b64-encoded uuid。"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:103
|
||||
#: vibes_auth/graphene/mutations.py:60 vibes_auth/graphene/mutations.py:125
|
||||
msgid "password too weak"
|
||||
msgstr "密码太弱"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:106
|
||||
#, python-brace-format
|
||||
msgid "{name} does not exist: {uuid}"
|
||||
msgstr "{name} 不存在:{uuid}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:111
|
||||
#: vibes_auth/graphene/mutations.py:114
|
||||
msgid "malformed email"
|
||||
msgstr "畸形电子邮件"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:116
|
||||
#: vibes_auth/graphene/mutations.py:119
|
||||
#, python-brace-format
|
||||
msgid "malformed phone number: {phone_number}"
|
||||
msgstr "畸形电话号码: {phone_number}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:134
|
||||
#: vibes_auth/graphene/mutations.py:141
|
||||
#, python-brace-format
|
||||
msgid "Invalid attribute format: {attribute_pair}"
|
||||
msgstr "属性格式无效:{attribute_pair}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:261 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/graphene/mutations.py:262 vibes_auth/viewsets.py:107
|
||||
#: vibes_auth/viewsets.py:123
|
||||
msgid "activation link is invalid!"
|
||||
msgstr "激活链接无效!"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:264
|
||||
#: vibes_auth/graphene/mutations.py:265
|
||||
msgid "account already activated..."
|
||||
msgstr "帐户已激活..."
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:271 vibes_auth/graphene/mutations.py:321
|
||||
#: vibes_auth/graphene/mutations.py:272 vibes_auth/graphene/mutations.py:322
|
||||
msgid "something went wrong: {e!s}"
|
||||
msgstr "出了问题:{e!s}"
|
||||
|
||||
#: vibes_auth/graphene/mutations.py:312 vibes_auth/viewsets.py:81
|
||||
#: vibes_auth/graphene/mutations.py:313 vibes_auth/viewsets.py:81
|
||||
msgid "token is invalid!"
|
||||
msgstr "令牌无效!"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:30
|
||||
msgid "recently viewed products"
|
||||
msgstr "最近浏览过的产品"
|
||||
#: vibes_auth/graphene/object_types.py:39
|
||||
msgid ""
|
||||
"the products this user has viewed most recently (max 48), in "
|
||||
"reverse‐chronological order"
|
||||
msgstr "该用户最近查看过的产品(最多 48 个),按倒序排列。"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:31 vibes_auth/models.py:108
|
||||
#: vibes_auth/graphene/object_types.py:41 vibes_auth/models.py:108
|
||||
msgid "groups"
|
||||
msgstr "组别"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:34
|
||||
#: vibes_auth/graphene/object_types.py:44
|
||||
msgid "wishlist"
|
||||
msgstr "愿望清单"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:36 vibes_auth/models.py:49
|
||||
#: vibes_auth/graphene/object_types.py:46 vibes_auth/models.py:49
|
||||
msgid "avatar"
|
||||
msgstr "阿凡达"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:37
|
||||
#: vibes_auth/graphene/object_types.py:47
|
||||
msgid "attributes may be used to store custom data"
|
||||
msgstr "属性可用于存储自定义数据"
|
||||
|
||||
#: vibes_auth/graphene/object_types.py:38
|
||||
#: vibes_auth/graphene/object_types.py:48
|
||||
#, python-brace-format
|
||||
msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}"
|
||||
msgstr "语言是{LANGUAGES}之一,默认为{LANGUAGE_CODE}。"
|
||||
|
|
@ -268,23 +274,23 @@ msgstr "黑名单令牌"
|
|||
msgid "blacklisted tokens"
|
||||
msgstr "黑名单令牌"
|
||||
|
||||
#: vibes_auth/serializers.py:92 vibes_auth/serializers.py:114
|
||||
#: vibes_auth/serializers.py:105 vibes_auth/serializers.py:127
|
||||
msgid "no active account"
|
||||
msgstr "未找到活动账户"
|
||||
|
||||
#: vibes_auth/serializers.py:185
|
||||
#: vibes_auth/serializers.py:198
|
||||
msgid "token_blacklisted"
|
||||
msgstr "令牌被列入黑名单"
|
||||
|
||||
#: vibes_auth/serializers.py:190
|
||||
#: vibes_auth/serializers.py:203
|
||||
msgid "invalid token"
|
||||
msgstr "无效令牌"
|
||||
|
||||
#: vibes_auth/serializers.py:196
|
||||
#: vibes_auth/serializers.py:209
|
||||
msgid "no user uuid claim present in token"
|
||||
msgstr "令牌中没有用户 uuid 声明"
|
||||
|
||||
#: vibes_auth/serializers.py:198
|
||||
#: vibes_auth/serializers.py:211
|
||||
msgid "user does not exist"
|
||||
msgstr "用户不存在"
|
||||
|
||||
|
|
@ -393,8 +399,7 @@ msgstr "{config.PROJECT_NAME} 重置密码| 重置密码"
|
|||
msgid ""
|
||||
"invalid phone number format. the number must be entered in the format: "
|
||||
"\"+999999999\". up to 15 digits allowed."
|
||||
msgstr ""
|
||||
"电话号码格式无效。电话号码必须按格式输入:\"+999999999\".最多允许 15 位数字。"
|
||||
msgstr "电话号码格式无效。电话号码必须按格式输入:\"+999999999\".最多允许 15 位数字。"
|
||||
|
||||
#: vibes_auth/views.py:57
|
||||
msgid "the token is invalid"
|
||||
|
|
@ -407,6 +412,3 @@ msgstr "密码已重置成功!"
|
|||
#: vibes_auth/viewsets.py:112
|
||||
msgid "account already activated!"
|
||||
msgstr "您已经激活了账户..."
|
||||
|
||||
#~ msgid "recently viwed"
|
||||
#~ msgstr "最近浏览"
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ class User(AbstractUser, NiceModel):
|
|||
|
||||
@property
|
||||
def recently_viewed(self):
|
||||
return [] or cache.get(f"user_{self.uuid}_rv")
|
||||
return cache.get(f"user_{self.uuid}_rv", [])
|
||||
|
||||
def check_token(self, token):
|
||||
return str(token) == str(self.activation_token)
|
||||
|
|
|
|||
|
|
@ -94,9 +94,8 @@ class UserSerializer(ModelSerializer):
|
|||
Returns a list of serialized ProductSimpleSerializer representations
|
||||
for the UUIDs in obj.recently_viewed.
|
||||
"""
|
||||
queryset = Product.objects.filter(uuid__in=obj.recently_viewed)
|
||||
serializer = ProductSimpleSerializer(queryset, many=True)
|
||||
return serializer.data
|
||||
return ProductSimpleSerializer(Product.objects.filter(uuid__in=obj.recently_viewed, is_active=True),
|
||||
many=True).data
|
||||
|
||||
|
||||
class TokenObtainSerializer(Serializer):
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import logging
|
||||
import traceback
|
||||
from contextlib import suppress
|
||||
from secrets import compare_digest
|
||||
|
||||
|
|
@ -99,10 +100,12 @@ class UserViewSet(
|
|||
@action(detail=False, methods=["post"])
|
||||
@method_decorator(ratelimit(key="ip", rate="2/h" if not DEBUG else "888/h"))
|
||||
def activate(self, request):
|
||||
detail = ""
|
||||
activation_error = None
|
||||
try:
|
||||
uuid = urlsafe_base64_decode(request.data.get("uidb64")).decode()
|
||||
user = User.objects.get(pk=uuid)
|
||||
if not user.check_token(request.data.get("token")):
|
||||
user = User.objects.nocache().get(pk=uuid)
|
||||
if not user.check_token(urlsafe_base64_decode(request.data.get("token")).decode()):
|
||||
return Response(
|
||||
{"error": _("activation link is invalid!")},
|
||||
status=status.HTTP_400_BAD_REQUEST,
|
||||
|
|
@ -115,12 +118,15 @@ class UserViewSet(
|
|||
user.is_active = True
|
||||
user.is_verified = True
|
||||
user.save()
|
||||
except (TypeError, ValueError, OverflowError, User.DoesNotExist) as e:
|
||||
except (TypeError, ValueError, OverflowError, User.DoesNotExist) as activation_error:
|
||||
user = None
|
||||
logger.error(str(e))
|
||||
activation_error = activation_error
|
||||
detail = str(traceback.format_exc())
|
||||
if user is None:
|
||||
if DEBUG:
|
||||
raise Exception from activation_error
|
||||
return Response(
|
||||
{"error": _("activation link is invalid!")},
|
||||
{"error": _("activation link is invalid!"), "detail": detail},
|
||||
status=status.HTTP_400_BAD_REQUEST,
|
||||
)
|
||||
else:
|
||||
|
|
|
|||
Loading…
Reference in a new issue