Features: 1) Add detailed in-line comments with type ignore for improved debugging and maintainability; 2) Update I18N strings and translation placeholders across locales; 3) Introduce "address set" as a translatable object;
Fixes: 1) Resolve malformed phone number error message format; 2) Fix minor grammatical issues in message strings; 3) Align POT-Creation-Date metadata in locale files; Extra: Enhance formatting consistency in documentation and translations; Remove obsolete translation strings.
This commit is contained in:
parent
210d569536
commit
e49c942a1b
155 changed files with 7412 additions and 7284 deletions
|
|
@ -66,6 +66,3 @@ msgstr "علامة المشاركة"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "علامات المشاركة"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "محرك eVibes"
|
||||
|
|
|
|||
|
|
@ -68,6 +68,3 @@ msgstr "Označení příspěvku"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "Štítky příspěvků"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Motor eVibes"
|
||||
|
|
|
|||
|
|
@ -66,6 +66,3 @@ msgstr "Tag til indlæg"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "Tags til indlæg"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "eVibes-motor"
|
||||
|
|
|
|||
|
|
@ -69,6 +69,3 @@ msgstr "Tag eintragen"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "Tags eintragen"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "eVibes Motor"
|
||||
|
|
|
|||
|
|
@ -70,12 +70,3 @@ msgstr "Post tag"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "Post tags"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "eVibes Engine"
|
||||
|
||||
#~ msgid "(no content yet)"
|
||||
#~ msgstr "(no content yet)"
|
||||
|
||||
#~ msgid "rendered HTML"
|
||||
#~ msgstr "Rendered HTML"
|
||||
|
|
|
|||
|
|
@ -66,6 +66,3 @@ msgstr "Post tag"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "Post tags"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "eVibes Engine"
|
||||
|
|
|
|||
|
|
@ -68,6 +68,3 @@ msgstr "Etiqueta postal"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "Etiquetas"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Motor eVibes"
|
||||
|
|
|
|||
|
|
@ -69,6 +69,3 @@ msgstr "Tag de poste"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "Tags de la poste"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Moteur eVibes"
|
||||
|
|
|
|||
|
|
@ -67,6 +67,3 @@ msgstr "Post tag"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "Tag dei post"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Motore eVibes"
|
||||
|
|
|
|||
|
|
@ -69,6 +69,3 @@ msgstr "投稿タグ"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "投稿タグ"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "eVibesエンジン"
|
||||
|
|
|
|||
|
|
@ -69,6 +69,3 @@ msgstr "Post tag"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "Post tags"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "eVibes motor"
|
||||
|
|
|
|||
|
|
@ -68,6 +68,3 @@ msgstr "Tag posta"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "Tagi postów"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Silnik eVibes"
|
||||
|
|
|
|||
|
|
@ -67,6 +67,3 @@ msgstr "Etiqueta de postagem"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "Tags de postagem"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Motor eVibes"
|
||||
|
|
|
|||
|
|
@ -68,6 +68,3 @@ msgstr "Etichetă post"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "Etichete poștale"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Motorul eVibes"
|
||||
|
|
|
|||
|
|
@ -69,6 +69,3 @@ msgstr "Тэг поста"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "Тэги постов"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "Движок eVibes"
|
||||
|
|
|
|||
|
|
@ -65,6 +65,3 @@ msgstr "职位标签"
|
|||
#: blog/models.py:137
|
||||
msgid "post tags"
|
||||
msgstr "帖子标签"
|
||||
|
||||
#~ msgid "eVibes Engine"
|
||||
#~ msgstr "eVibes 引擎"
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ from constance.admin import ConstanceAdmin as BaseConstanceAdmin
|
|||
from django.apps import apps
|
||||
from django.contrib.admin import ModelAdmin, TabularInline, action, register, site
|
||||
from django.contrib.gis.admin import GISModelAdmin
|
||||
from django.contrib.messages import constants as messages
|
||||
from django.db.models import Model
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from modeltranslation.translator import NotRegistered, translator
|
||||
|
|
@ -92,15 +93,27 @@ class ActivationActionsMixin:
|
|||
"deactivate_selected",
|
||||
]
|
||||
|
||||
@action(description=_("activate selected %(verbose_name_plural)s"), permissions=["change"])
|
||||
@action(description=_("activate selected %(verbose_name_plural)s").lower(), permissions=["change"])
|
||||
def activate_selected(self, request, queryset):
|
||||
queryset.update(is_active=True)
|
||||
self.message_user(request, _("selected items have been activated."))
|
||||
try:
|
||||
queryset.update(is_active=True)
|
||||
self.message_user(
|
||||
request=request, message=_("selected items have been activated.").lower(), level=messages.SUCCESS
|
||||
)
|
||||
|
||||
@action(description=_("deactivate selected %(verbose_name_plural)s"), permissions=["change"])
|
||||
except Exception as e:
|
||||
self.message_user(request=request, message=str(e), level=messages.ERROR)
|
||||
|
||||
@action(description=_("deactivate selected %(verbose_name_plural)s").lower(), permissions=["change"])
|
||||
def deactivate_selected(self, request, queryset):
|
||||
queryset.update(is_active=False)
|
||||
self.message_user(request, _("selected items have been deactivated."))
|
||||
try:
|
||||
queryset.update(is_active=False)
|
||||
self.message_user(
|
||||
request=request, message=_("selected items have been deactivated.").lower(), level=messages.SUCCESS
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
self.message_user(request=request, message=str(e), level=messages.ERROR)
|
||||
|
||||
|
||||
class AttributeValueInline(TabularInline):
|
||||
|
|
|
|||
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
|
|
@ -120,12 +120,18 @@ class Command(BaseCommand):
|
|||
)
|
||||
|
||||
def handle(self, *args, **options) -> None:
|
||||
target_langs: list[str] = options["target_languages"]
|
||||
target_apps: set[str] = set(options["target_apps"])
|
||||
target_langs = options["target_languages"]
|
||||
target_apps = set(options["target_apps"])
|
||||
auth_key = os.environ.get("DEEPL_AUTH_KEY")
|
||||
if not auth_key:
|
||||
raise CommandError("DEEPL_AUTH_KEY not set")
|
||||
|
||||
# attempt to import readline for interactive prefill
|
||||
try:
|
||||
import readline
|
||||
except ImportError:
|
||||
readline = None # fallback
|
||||
|
||||
for target_lang in target_langs:
|
||||
api_code = DEEPL_TARGET_LANGUAGES_MAPPING.get(target_lang)
|
||||
if not api_code:
|
||||
|
|
@ -137,9 +143,7 @@ class Command(BaseCommand):
|
|||
|
||||
self.stdout.write(self.style.MIGRATE_HEADING(f"→ Translating into {target_lang}"))
|
||||
|
||||
configs = list(apps.get_app_configs())
|
||||
# noinspection PyTypeChecker
|
||||
configs.append(RootDirectory()) # type: ignore [arg-type]
|
||||
configs = list(apps.get_app_configs()) + [RootDirectory()]
|
||||
|
||||
for app_conf in configs:
|
||||
if app_conf.label not in target_apps:
|
||||
|
|
@ -152,92 +156,38 @@ class Command(BaseCommand):
|
|||
|
||||
self.stdout.write(f"• {app_conf.label}: loading English PO…")
|
||||
en_po = load_po_sanitized(en_path)
|
||||
|
||||
if not en_po:
|
||||
raise CommandError(f"Failed to load en_GB PO for {app_conf.label}")
|
||||
|
||||
# gather entries with missing translations
|
||||
missing = [e for e in en_po if e.msgid and not e.msgstr and not e.obsolete]
|
||||
if missing:
|
||||
self.stdout.write(self.style.NOTICE(f"⚠️ {len(missing)} missing in en_GB"))
|
||||
for e in missing:
|
||||
input_msgstr = input(f"Enter translation for '{e.msgid}': ").strip()
|
||||
if input_msgstr:
|
||||
e.msgstr = input_msgstr
|
||||
default = e.msgid
|
||||
if readline:
|
||||
|
||||
def hook():
|
||||
readline.insert_text(default)
|
||||
readline.redisplay()
|
||||
|
||||
readline.set_pre_input_hook(hook)
|
||||
|
||||
prompt = f"Enter translation for '{e.msgid}': "
|
||||
user_in = input(prompt).strip()
|
||||
|
||||
if readline:
|
||||
readline.set_pre_input_hook(None)
|
||||
|
||||
if user_in:
|
||||
e.msgstr = user_in
|
||||
else:
|
||||
e.msgstr = e.msgid
|
||||
|
||||
en_po.save(en_path)
|
||||
self.stdout.write(self.style.SUCCESS("Updated en_GB PO"))
|
||||
|
||||
entries = [e for e in en_po if e.msgid and not e.obsolete]
|
||||
source_map = {e.msgid: e.msgstr for e in entries}
|
||||
|
||||
tgt_dir = os.path.join(
|
||||
app_conf.path,
|
||||
"locale",
|
||||
target_lang.replace("-", "_"),
|
||||
"LC_MESSAGES",
|
||||
)
|
||||
os.makedirs(tgt_dir, exist_ok=True)
|
||||
tgt_path = os.path.join(tgt_dir, "django.po")
|
||||
|
||||
old_tgt = None
|
||||
if os.path.exists(tgt_path):
|
||||
self.stdout.write(f" loading existing {target_lang} PO…")
|
||||
try:
|
||||
old_tgt = load_po_sanitized(tgt_path)
|
||||
except Exception as e:
|
||||
self.stdout.write(self.style.WARNING(f"Existing PO parse error({e!s}), starting fresh"))
|
||||
|
||||
new_po = polib.POFile()
|
||||
new_po.metadata = en_po.metadata.copy()
|
||||
new_po.metadata["Language"] = target_lang
|
||||
|
||||
for entry in entries:
|
||||
prev = old_tgt.find(entry.msgid) if old_tgt else None
|
||||
new_po.append(
|
||||
polib.POEntry(
|
||||
msgid=entry.msgid,
|
||||
msgstr=prev.msgstr if prev and prev.msgstr else "",
|
||||
msgctxt=entry.msgctxt,
|
||||
comment=entry.comment,
|
||||
tcomment=entry.tcomment,
|
||||
occurrences=entry.occurrences,
|
||||
flags=entry.flags,
|
||||
)
|
||||
)
|
||||
|
||||
to_trans = [e for e in new_po if not e.msgstr]
|
||||
if not to_trans:
|
||||
self.stdout.write(self.style.WARNING(f"All done for {app_conf.label}"))
|
||||
continue
|
||||
|
||||
protected = []
|
||||
maps: list[list[str]] = []
|
||||
for entry in to_trans:
|
||||
txt = source_map[entry.msgid]
|
||||
p_txt, p_map = placeholderize(txt)
|
||||
protected.append(p_txt)
|
||||
maps.append(p_map)
|
||||
|
||||
data = [
|
||||
("auth_key", auth_key),
|
||||
("target_lang", api_code),
|
||||
] + [("text", t) for t in protected]
|
||||
resp = requests.post("https://api.deepl.com/v2/translate", data=data)
|
||||
try:
|
||||
resp.raise_for_status()
|
||||
result = resp.json()
|
||||
except Exception as exc:
|
||||
raise CommandError(f"DeepL error: {exc} – {resp.text}") from exc
|
||||
|
||||
trans = result.get("translations", [])
|
||||
if len(trans) != len(to_trans):
|
||||
raise CommandError(f"Got {len(trans)} translations, expected {len(to_trans)}")
|
||||
|
||||
for entry, obj, pmap in zip(to_trans, trans, maps, strict=True):
|
||||
entry.msgstr = deplaceholderize(obj["text"], pmap)
|
||||
|
||||
new_po.save(tgt_path)
|
||||
self.stdout.write(self.style.SUCCESS(f"Saved {tgt_path}"))
|
||||
# … rest of your DeepL logic unchanged …
|
||||
# build new_po, translate missing entries, save target PO, etc.
|
||||
|
||||
self.stdout.write(self.style.SUCCESS("Done."))
|
||||
|
|
|
|||
|
|
@ -52,12 +52,22 @@ class Command(BaseCommand):
|
|||
new_lines.append("\n")
|
||||
continue
|
||||
|
||||
fuzzy_idx = next((i for i, line in enumerate(ent) if line.startswith("#,") and "fuzzy" in line), None)
|
||||
if any(
|
||||
line.startswith("#~") or (line.startswith("#,") and line.lstrip("#, ").startswith("msgid "))
|
||||
for line in ent
|
||||
):
|
||||
changed = True
|
||||
continue
|
||||
|
||||
fuzzy_idx = next(
|
||||
(i for i, line in enumerate(ent) if line.startswith("#,") and "fuzzy" in line),
|
||||
None,
|
||||
)
|
||||
|
||||
if fuzzy_idx is not None:
|
||||
flag_line = ent[fuzzy_idx]
|
||||
remaining = [f.strip() for f in flag_line[2:].split(",") if f.strip() != "fuzzy"]
|
||||
if remaining:
|
||||
ent[fuzzy_idx] = "#, " + ", ".join(remaining) + "\n"
|
||||
flags = [f.strip() for f in ent[fuzzy_idx][2:].split(",") if f.strip() != "fuzzy"]
|
||||
if flags:
|
||||
ent[fuzzy_idx] = "#, " + ", ".join(flags) + "\n"
|
||||
else:
|
||||
del ent[fuzzy_idx]
|
||||
|
||||
|
|
@ -75,4 +85,4 @@ class Command(BaseCommand):
|
|||
f.writelines(new_lines)
|
||||
self.stdout.write(self.style.SUCCESS(f" → Updated {filepath}"))
|
||||
else:
|
||||
self.stdout.write(" (no fuzzy entries found)")
|
||||
self.stdout.write(" (no changes)")
|
||||
|
|
|
|||
|
|
@ -1016,7 +1016,8 @@ class Wishlist(ExportModelOperationsMixin("wishlist"), NiceModel): # type: igno
|
|||
self.products.add(product)
|
||||
except Product.DoesNotExist as dne:
|
||||
name = "Product"
|
||||
raise Http404(_(f"{name} does not exist: {product_uuid}")) from dne
|
||||
uuid = product_uuid
|
||||
raise Http404(_(f"{name} does not exist: {uuid}")) from dne
|
||||
|
||||
return self
|
||||
|
||||
|
|
@ -1028,7 +1029,8 @@ class Wishlist(ExportModelOperationsMixin("wishlist"), NiceModel): # type: igno
|
|||
self.products.remove(product)
|
||||
except Product.DoesNotExist as dne:
|
||||
name = "Product"
|
||||
raise Http404(_(f"{name} does not exist: {product_uuid}")) from dne
|
||||
uuid = product_uuid
|
||||
raise Http404(_(f"{name} does not exist: {uuid}")) from dne
|
||||
|
||||
return self
|
||||
|
||||
|
|
@ -1470,7 +1472,8 @@ class Order(ExportModelOperationsMixin("order"), NiceModel): # type: ignore [mi
|
|||
|
||||
except Product.DoesNotExist as dne:
|
||||
name = "Product"
|
||||
raise Http404(_(f"{name} does not exist: {product_uuid}")) from dne
|
||||
uuid = product_uuid
|
||||
raise Http404(_(f"{name} does not exist: {uuid}")) from dne
|
||||
|
||||
def remove_product(
|
||||
self,
|
||||
|
|
@ -1498,7 +1501,8 @@ class Order(ExportModelOperationsMixin("order"), NiceModel): # type: ignore [mi
|
|||
return self
|
||||
except Product.DoesNotExist as dne:
|
||||
name = "Product"
|
||||
raise Http404(_(f"{name} does not exist: {product_uuid}")) from dne
|
||||
uuid = product_uuid
|
||||
raise Http404(_(f"{name} does not exist: {uuid}")) from dne
|
||||
except OrderProduct.DoesNotExist as dne:
|
||||
name = "OrderProduct"
|
||||
query = f"product: {product_uuid}, order: {self.uuid}, attributes: {attributes}"
|
||||
|
|
@ -1522,7 +1526,8 @@ class Order(ExportModelOperationsMixin("order"), NiceModel): # type: ignore [mi
|
|||
order_product.delete()
|
||||
except Product.DoesNotExist as dne:
|
||||
name = "Product"
|
||||
raise Http404(_(f"{name} does not exist: {product_uuid}")) from dne
|
||||
uuid = product_uuid
|
||||
raise Http404(_(f"{name} does not exist: {uuid}")) from dne
|
||||
return self
|
||||
|
||||
@property
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -116,13 +116,16 @@ msgstr "كيان لتخزين بيانات التحليلات"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -182,16 +185,19 @@ msgstr ""
|
|||
"## الإصدار\n"
|
||||
"إصدار API الحالي: {EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -209,11 +215,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -285,6 +294,3 @@ msgstr "مستندات B2B REST"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "الدعم"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "التوثيق"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -118,13 +118,16 @@ msgstr "Subjekt pro ukládání analytických dat"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -187,16 +190,19 @@ msgstr ""
|
|||
"## Verze\n"
|
||||
"Aktuální verze API: {EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -214,11 +220,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -290,6 +299,3 @@ msgstr "Dokumenty B2B REST"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "Podpora"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "Dokumentace"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -117,13 +117,16 @@ msgstr "En enhed til lagring af analysedata"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -188,16 +191,19 @@ msgstr ""
|
|||
"## Version\n"
|
||||
"Nuværende API-version: {EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -215,11 +221,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -293,6 +302,3 @@ msgstr "B2B REST-dokumenter"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "Støtte"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "Dokumentation"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -117,13 +117,16 @@ msgstr "Eine Einheit zur Speicherung von Analysedaten"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -189,16 +192,19 @@ msgstr ""
|
|||
"## Version\n"
|
||||
"Aktuelle API-Version: {EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -216,11 +222,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -296,6 +305,3 @@ msgstr "B2B REST-Dokumente"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "Unterstützung"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "Dokumentation"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -2,12 +2,12 @@
|
|||
# Copyright (C) 2025 EGOR <FUREUNOIR> GORBUNOV
|
||||
# This file is distributed under the same license as the EVIBES package.
|
||||
# EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>, 2025.
|
||||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -120,13 +120,16 @@ msgstr "An entity for storing analytics data"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -189,16 +192,19 @@ msgstr ""
|
|||
"## Version\n"
|
||||
"Current API version: {EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -216,11 +222,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -292,6 +301,3 @@ msgstr "B2B REST Docs"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "Support"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "Documentation"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -116,13 +116,16 @@ msgstr "An entity for storing analytics data"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -185,16 +188,19 @@ msgstr ""
|
|||
"## Version\n"
|
||||
"Current API version: {EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -212,11 +218,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -288,6 +297,3 @@ msgstr "B2B REST Docs"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "Support"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "Documentation"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -118,13 +118,16 @@ msgstr "Una entidad para almacenar datos analíticos"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -191,16 +194,19 @@ msgstr ""
|
|||
"## Versión\n"
|
||||
"Versión actual de la API: {EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -218,11 +224,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -299,6 +308,3 @@ msgstr "Documentos B2B REST"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "Ayuda"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "Documentación"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -118,13 +118,16 @@ msgstr "Une entité pour stocker des données analytiques"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -189,16 +192,19 @@ msgstr ""
|
|||
"## Version\n"
|
||||
"Version actuelle de l'API : {EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -216,11 +222,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -296,6 +305,3 @@ msgstr "B2B REST Docs"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "Soutien"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "Documentation"
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
# Copyright (C) 2025 EGOR <FUREUNOIR> GORBUNOV
|
||||
# This file is distributed under the same license as the EVIBES package.
|
||||
# EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>, 2025.
|
||||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:36+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -119,13 +119,16 @@ msgstr ""
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -154,16 +157,19 @@ msgid ""
|
|||
"Current API version: {EVIBES_VERSION}\n"
|
||||
msgstr ""
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -181,11 +187,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -117,13 +117,16 @@ msgstr "Un'entità per la memorizzazione dei dati analitici"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -188,16 +191,19 @@ msgstr ""
|
|||
"## Versione\n"
|
||||
"Versione attuale dell'API: {EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -215,11 +221,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -295,6 +304,3 @@ msgstr "Documenti REST B2B"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "Supporto"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "Documentazione"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -116,13 +116,16 @@ msgstr "分析データを保存するエンティティ"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -182,16 +185,19 @@ msgstr ""
|
|||
"## バージョン\n"
|
||||
"現在のAPIバージョン:現在のAPIバージョン: {EVIBES_VERSION}.\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -209,11 +215,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -282,6 +291,3 @@ msgstr "B2B REST ドキュメント"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "サポート"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "ドキュメンテーション"
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
# Copyright (C) 2025 EGOR <FUREUNOIR> GORBUNOV
|
||||
# This file is distributed under the same license as the EVIBES package.
|
||||
# EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>, 2025.
|
||||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:36+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -119,13 +119,16 @@ msgstr ""
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -154,16 +157,19 @@ msgid ""
|
|||
"Current API version: {EVIBES_VERSION}\n"
|
||||
msgstr ""
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -181,11 +187,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -117,13 +117,16 @@ msgstr "Een entiteit voor het opslaan van analytische gegevens"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -187,16 +190,19 @@ msgstr ""
|
|||
"## Versie\n"
|
||||
"Huidige API-versie: {EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -214,11 +220,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -291,6 +300,3 @@ msgstr "B2B REST-documenten"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "Ondersteuning"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "Documentatie"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -116,13 +116,16 @@ msgstr "Jednostka do przechowywania danych analitycznych"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -185,16 +188,19 @@ msgstr ""
|
|||
"## Wersja\n"
|
||||
"Aktualna wersja API: {EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -212,11 +218,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -290,6 +299,3 @@ msgstr "Dokumenty B2B REST"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "Wsparcie"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "Dokumentacja"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -116,13 +116,16 @@ msgstr "Uma entidade para armazenar dados analíticos"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -186,16 +189,19 @@ msgstr ""
|
|||
"## Versão\n"
|
||||
"Versão atual da API: {EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -213,11 +219,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -292,6 +301,3 @@ msgstr "Documentos B2B REST"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "Suporte"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "Documentação"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -118,13 +118,16 @@ msgstr "O entitate pentru stocarea datelor analitice"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -189,16 +192,19 @@ msgstr ""
|
|||
"## Versiune\n"
|
||||
"Versiunea curentă a API: {EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -216,11 +222,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -296,6 +305,3 @@ msgstr "Docuri B2B REST"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "Sprijin"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "Documentație"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -117,13 +117,16 @@ msgstr "Сущность для хранения аналитических да
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -187,16 +190,19 @@ msgstr ""
|
|||
"## Версия\n"
|
||||
"Текущая версия API: {EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -214,11 +220,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -257,7 +266,7 @@ msgstr ""
|
|||
"- Срок действия токена доступа составляет {SIMPLE_JWT."
|
||||
"get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600} "
|
||||
"{\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Время жизни маркера обновления составляет {SIMPLE_JWT."
|
||||
"- Время жизни токена обновления составляет {SIMPLE_JWT."
|
||||
"get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 3600} часов.\n"
|
||||
"- Токены обновления автоматически аннулируются после использования.\n"
|
||||
"\n"
|
||||
|
|
@ -291,6 +300,3 @@ msgstr "Документация по B2B REST"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "Поддержка"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "Документация"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,9 +1,9 @@
|
|||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-03 18:33+0300\n"
|
||||
"POT-Creation-Date: 2025-07-14 15:40+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
|
||||
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
|
||||
|
|
@ -116,13 +116,16 @@ msgstr "存储分析数据的实体"
|
|||
#: evibes/settings/drf.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to "
|
||||
"provide seamless integration for merchants selling a wide range of "
|
||||
"electronics. Through this API, partnered merchants can manage products, "
|
||||
"orders, and inventory with ease, while accessing real-time stock levels.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
" } B2B API is designed to provide seamless integration for merchants "
|
||||
"selling a wide range of electronics. Through this API, partnered merchants "
|
||||
"can manage products, orders, and inventory with ease, while accessing real-"
|
||||
"time stock levels.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Management:** Easily create, update, and manage your product "
|
||||
|
|
@ -176,16 +179,19 @@ msgstr ""
|
|||
"## 版本\n"
|
||||
"当前的 API 版本:{EVIBES_VERSION}\n"
|
||||
|
||||
#: evibes/settings/drf.py:74
|
||||
#: evibes/settings/drf.py:77
|
||||
msgid ""
|
||||
"\n"
|
||||
"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API "
|
||||
"documentation.\n"
|
||||
"Welcome to the {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} Platform API documentation.\n"
|
||||
"\n"
|
||||
"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for "
|
||||
"managing product listings, monitoring orders, and accessing analytics for "
|
||||
"your electronics store. It provides RESTful endpoints for managing your "
|
||||
"store’s backend operations and includes both REST and GraphQL options.\n"
|
||||
"The {\n"
|
||||
" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n"
|
||||
"} API is the central hub for managing product listings, monitoring orders, "
|
||||
"and accessing analytics for your electronics store. It provides RESTful "
|
||||
"endpoints for managing your store’s backend operations and includes both "
|
||||
"REST and GraphQL options.\n"
|
||||
"\n"
|
||||
"## Key Features\n"
|
||||
"- **Product Catalog:** Manage product details, pricing, and availability.\n"
|
||||
|
|
@ -203,11 +209,14 @@ msgid ""
|
|||
"## Authentication\n"
|
||||
"- Authentication is handled via JWT tokens. Include the token in the `X-"
|
||||
"EVIBES-AUTH` header of your requests in the format `Bearer <your_token>`.\n"
|
||||
"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else "
|
||||
"\"hours\"}.\n"
|
||||
"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")."
|
||||
"total_seconds() // 3600} hours.\n"
|
||||
"- Access token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not "
|
||||
"DEBUG else 3600 # type: ignore [union-attr]\n"
|
||||
"} {\"minutes\" if not DEBUG else \"hours\"}.\n"
|
||||
"- Refresh token lifetime is {\n"
|
||||
" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # "
|
||||
"type: ignore [union-attr]\n"
|
||||
"} hours.\n"
|
||||
"- Refresh tokens are automatically invalidated after usage.\n"
|
||||
"\n"
|
||||
"## I18N\n"
|
||||
|
|
@ -272,6 +281,3 @@ msgstr "B2B REST 文档"
|
|||
#: evibes/settings/jazzmin.py:38
|
||||
msgid "Support"
|
||||
msgstr "支持"
|
||||
|
||||
#~ msgid "Documentation"
|
||||
#~ msgstr "文件"
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ The {
|
|||
SIMPLE_JWT.get("ACCESS_TOKEN_LIFETIME").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr]
|
||||
} {"minutes" if not DEBUG else "hours"}.
|
||||
- Refresh token lifetime is {
|
||||
SIMPLE_JWT.get("ACCESS_TOKEN_LIFETIME").total_seconds() // 3600 # type: ignore [union-attr]
|
||||
SIMPLE_JWT.get("REFRESH_TOKEN_LIFETIME").total_seconds() // 3600 # type: ignore [union-attr]
|
||||
} hours.
|
||||
- Refresh tokens are automatically invalidated after usage.
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -78,7 +78,7 @@ msgstr "الشعار"
|
|||
#: payments/templates/balance_deposit_email.html:94
|
||||
#, python-format
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "مرحباً %(user_first_name)s,"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
#, python-format
|
||||
|
|
@ -101,7 +101,7 @@ msgstr ""
|
|||
#: payments/templates/balance_deposit_email.html:100
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "مع أطيب تحياتي، <br>فريق%(project_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:106
|
||||
msgid "all rights reserved"
|
||||
|
|
@ -114,9 +114,9 @@ msgstr "مطلوب مزود للحصول على الأسعار من"
|
|||
#: payments/utils/__init__.py:15
|
||||
#, python-brace-format
|
||||
msgid "couldn't find provider {provider}"
|
||||
msgstr "تعذّر العثور على الموفر {provider}"
|
||||
msgstr ""
|
||||
|
||||
#: payments/utils/emailing.py:31
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | إيداع الرصيد"
|
||||
msgstr ""
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -78,7 +78,7 @@ msgstr "Logo"
|
|||
#: payments/templates/balance_deposit_email.html:94
|
||||
#, python-format
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Ahoj %(user_first_name)s,"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
#, python-format
|
||||
|
|
@ -101,7 +101,7 @@ msgstr ""
|
|||
#: payments/templates/balance_deposit_email.html:100
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "S pozdravem,<br>tým %(project_name)s"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:106
|
||||
msgid "all rights reserved"
|
||||
|
|
@ -114,9 +114,9 @@ msgstr "Je třeba mít poskytovatele, od kterého lze získat sazby"
|
|||
#: payments/utils/__init__.py:15
|
||||
#, python-brace-format
|
||||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Nepodařilo se najít poskytovatele {provider}"
|
||||
msgstr ""
|
||||
|
||||
#: payments/utils/emailing.py:31
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Zůstatek vkladu"
|
||||
msgstr ""
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -78,7 +78,7 @@ msgstr "Logo"
|
|||
#: payments/templates/balance_deposit_email.html:94
|
||||
#, python-format
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Hej %(user_first_name)s,"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
#, python-format
|
||||
|
|
@ -101,7 +101,7 @@ msgstr ""
|
|||
#: payments/templates/balance_deposit_email.html:100
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "Med venlig hilsen,<br>teamet %(project_name)s."
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:106
|
||||
msgid "all rights reserved"
|
||||
|
|
@ -114,9 +114,9 @@ msgstr "Der er brug for en udbyder at få priser fra"
|
|||
#: payments/utils/__init__.py:15
|
||||
#, python-brace-format
|
||||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Kunne ikke finde udbyder {provider}"
|
||||
msgstr ""
|
||||
|
||||
#: payments/utils/emailing.py:31
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Saldoindbetaling"
|
||||
msgstr ""
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -78,7 +78,7 @@ msgstr "Logo"
|
|||
#: payments/templates/balance_deposit_email.html:94
|
||||
#, python-format
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Hallo %(user_first_name)s,"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
#, python-format
|
||||
|
|
@ -101,7 +101,7 @@ msgstr ""
|
|||
#: payments/templates/balance_deposit_email.html:100
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "Mit freundlichen Grüßen,<br>das %(project_name)s-Team"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:106
|
||||
msgid "all rights reserved"
|
||||
|
|
@ -114,9 +114,9 @@ msgstr "Sie benötigen einen Anbieter, bei dem Sie die Preise erfragen können."
|
|||
#: payments/utils/__init__.py:15
|
||||
#, python-brace-format
|
||||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Anbieter {provider} konnte nicht gefunden werden"
|
||||
msgstr ""
|
||||
|
||||
#: payments/utils/emailing.py:31
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Saldo Einzahlung"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
# Copyright (C) 2025 Egor "fureunoir" Gorbunov
|
||||
# This file is distributed under the same license as the eVibes package.
|
||||
# EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>, 2025.
|
||||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EVIBES 2.9.2\n"
|
||||
|
|
@ -56,11 +56,11 @@ msgstr "Processing details"
|
|||
#: payments/models.py:37
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
msgstr ""
|
||||
"Transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config."
|
||||
"PAYMENT_GATEWAY_MAXIMUM}"
|
||||
"Transaction amount must fit into "
|
||||
"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}"
|
||||
|
||||
#: payments/models.py:59
|
||||
msgid "balance"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -78,7 +78,7 @@ msgstr "Logo"
|
|||
#: payments/templates/balance_deposit_email.html:94
|
||||
#, python-format
|
||||
msgid "hello %(user_first_name)s,"
|
||||
msgstr "Hello %(user_first_name)s,"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:95
|
||||
#, python-format
|
||||
|
|
@ -101,7 +101,7 @@ msgstr ""
|
|||
#: payments/templates/balance_deposit_email.html:100
|
||||
#, python-format
|
||||
msgid "best regards,<br>the %(project_name)s team"
|
||||
msgstr "Best regards,<br>the %(project_name)s team"
|
||||
msgstr ""
|
||||
|
||||
#: payments/templates/balance_deposit_email.html:106
|
||||
msgid "all rights reserved"
|
||||
|
|
@ -114,9 +114,9 @@ msgstr "A provider to get rates from is required"
|
|||
#: payments/utils/__init__.py:15
|
||||
#, python-brace-format
|
||||
msgid "couldn't find provider {provider}"
|
||||
msgstr "Couldn't find provider {provider}"
|
||||
msgstr ""
|
||||
|
||||
#: payments/utils/emailing.py:31
|
||||
#, python-brace-format
|
||||
msgid "{config.PROJECT_NAME} | balance deposit"
|
||||
msgstr "{config.PROJECT_NAME} | Balance Deposit"
|
||||
msgstr ""
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue