From e839203dbdf3416c1a7c95ab04d0e9bc94fa27ea Mon Sep 17 00:00:00 2001 From: devlikepro Date: Sun, 2 Nov 2025 17:19:29 +0700 Subject: [PATCH] [core] i18n --- scripts/_find_unused_i18n.js | 72 +++++++++++ src/apps/chatwoot/i18n/locales/AGENTS.md | 144 +++++++++++++++++++++ src/apps/chatwoot/i18n/locales/ar-AE.yaml | 129 ++++++++++++++++-- src/apps/chatwoot/i18n/locales/bn-BD.yaml | 131 +++++++++++++++++-- src/apps/chatwoot/i18n/locales/de-DE.yaml | 150 +++++++++++++++++++-- src/apps/chatwoot/i18n/locales/en-US.yaml | 2 +- src/apps/chatwoot/i18n/locales/es-ES.yaml | 151 ++++++++++++++++++++-- src/apps/chatwoot/i18n/locales/fa-IR.yaml | 137 ++++++++++++++++++-- src/apps/chatwoot/i18n/locales/fr-FR.yaml | 150 +++++++++++++++++++-- src/apps/chatwoot/i18n/locales/he-IL.yaml | 122 +++++++++++++++-- src/apps/chatwoot/i18n/locales/hi-IN.yaml | 135 +++++++++++++++++-- src/apps/chatwoot/i18n/locales/id-ID.yaml | 135 +++++++++++++++++-- src/apps/chatwoot/i18n/locales/pa-PK.yaml | 133 +++++++++++++++++-- src/apps/chatwoot/i18n/locales/pt-BR.yaml | 142 ++++++++++++++++++-- src/apps/chatwoot/i18n/locales/ru-RU.yaml | 137 ++++++++++++++++++-- src/apps/chatwoot/i18n/locales/tr-TR.yaml | 136 +++++++++++++++++-- src/apps/chatwoot/i18n/locales/uk-UA.yaml | 136 +++++++++++++++++-- src/apps/chatwoot/i18n/locales/ur-PK.yaml | 133 +++++++++++++++++-- src/apps/chatwoot/i18n/locales/zh-CN.yaml | 113 ++++++++++++++-- 19 files changed, 2241 insertions(+), 147 deletions(-) create mode 100755 scripts/_find_unused_i18n.js create mode 100644 src/apps/chatwoot/i18n/locales/AGENTS.md diff --git a/scripts/_find_unused_i18n.js b/scripts/_find_unused_i18n.js new file mode 100755 index 00000000..615bb25e --- /dev/null +++ b/scripts/_find_unused_i18n.js @@ -0,0 +1,72 @@ +#!/usr/bin/env node +const { readFileSync } = require('fs'); +const { spawnSync } = require('child_process'); +const path = require('path'); +const YAML = require('yaml'); + +const repoRoot = path.resolve(__dirname, '..'); +const enPath = path.join(repoRoot, 'src/apps/chatwoot/i18n/locales/en-US.yaml'); +const contents = readFileSync(enPath, 'utf8'); +const document = YAML.parse(contents); + +const flatten = (node, prefix = '') => { + if (node && typeof node === 'object' && !Array.isArray(node)) { + return Object.entries(node).reduce((acc, [key, value]) => { + const next = prefix ? `${prefix}.${key}` : key; + return acc.concat(flatten(value, next)); + }, []); + } + + return [prefix]; +}; + +const allKeys = flatten(document).filter(Boolean); + +const ignoredPrefixes = ['datetime.', 'locale.']; + +const ignored = new Set(); +const unused = []; + +const searchRoots = ['src', 'tests']; + +for (const key of allKeys) { + if ( + ignoredPrefixes.some((prefix) => key.startsWith(prefix)) || + !key.includes('.') + ) { + ignored.add(key); + continue; + } + + const result = spawnSync( + 'rg', + [ + '--files-with-matches', + '--fixed-strings', + key, + ...searchRoots, + '--glob', + '!apps/chatwoot/i18n/locales/*.yaml', + ], + { + cwd: repoRoot, + encoding: 'utf8', + }, + ); + + if (result.status !== 0 || !result.stdout.trim()) { + unused.push(key); + } +} + +const message = [ + `Scanned ${allKeys.length} keys.`, + `Ignored ${ignored.size} keys (datetime.*, locale.*, or without dot).`, + unused.length + ? `Found ${unused.length} potentially unused keys:\n - ${unused.join( + '\n - ', + )}` + : 'No unused keys detected.', +]; + +console.log(message.join('\n')); diff --git a/src/apps/chatwoot/i18n/locales/AGENTS.md b/src/apps/chatwoot/i18n/locales/AGENTS.md new file mode 100644 index 00000000..67c57457 --- /dev/null +++ b/src/apps/chatwoot/i18n/locales/AGENTS.md @@ -0,0 +1,144 @@ +Here’s a complete `AGENTS.md` draft for your i18n workflow 👇 + +--- + +# 🌐 AGENTS.md — Locale Maintenance Guide + +This document defines how the **i18n Agent** manages, updates, and synchronizes +locale files (e.g. `en-US.yaml`, `pt-BR.yaml`, etc.) across all supported +languages. + +--- + +## 🧩 Overview + +Each locale file (e.g. `en-US.yaml`) contains translation keys and values used +throughout the system. The **English (en-US)** file is the **source of truth** — +every other language must mirror its structure, keys, emojis, and formatting. + +--- + +## 🪄 Core Commands + +### 1. `update all i18n` + +**Purpose:** Ensures all locales are synchronized with the current `en-US.yaml`. + +**Steps:** + +1. **Start with `en-US.yaml`.** + + - Scan all code and templates to verify each key is used. + - Ignore usage warnings for `datetime.*`, flat keys without a dot, and any + `locale.*` entries — they are considered always in use. + - Propagate every key change (add, edit, remove) from `en-US.yaml` to all + other locale files with the corresponding translations so structures stay + aligned. + - Preserve `datetime.locales` in every non-English locale; it pins the + language hint for formatting and must never be dropped. + - If any keys appear **unused**, list them and **ask whether to remove or + keep**. + +2. **Check for “ChatWoot” mentions.** + + - Any occurrence must be reviewed — the system should not reference + _ChatWoot_ directly. + - Ask: + + > “Found ‘ChatWoot’ in key `X.Y.Z`. Should we reword this? If yes, how?” + +3. **Validate formatting and structure.** + + - Ensure all keys use consistent YAML indentation and ordering. + - Emojis, punctuation, and tags (`{{variable}}`, `**bold**`, etc.) must stay + exactly as in `en-US`. + +4. **Synchronize all target languages.** + + - For each locale (`es-ES.yaml`, `fr-FR.yaml`, etc.): + + - Copy the structure and keys from `en-US.yaml`. + - Translate the values from English → target language. + - **Ignore any manual changes in target files** — always use the English + source. + - Preserve all markdown, emojis, punctuation, and placeholders. + +5. **Report summary.** + + - Added / updated / removed keys count per language. + +--- + +### 2. `update key.* for i18n` + +**Purpose:** Update or add translations for specific keys only. + +**Steps:** + +1. Match all keys provided in the command (supports wildcard like `key.auth.*`). +2. Update those keys in `en-US.yaml` first. +3. Propagate and translate the updated keys to all other locale files. +4. Do **not** touch unrelated keys or structure. + +--- + +## ⚙️ Translation Rules + +| Aspect | Rule | +| -------------- | --------------------------------------------------------------------------------- | +| **Structure** | Must always follow `en-US.yaml`. | +| **Formatting** | Keep emojis, punctuation, capitalization, and markdown exactly as in English. | +| **Tags** | Preserve placeholders (`{{variable}}`) and code blocks. | +| **Priority** | English (`en-US.yaml`) is always the canonical version. | +| **Comments** | If a translation key needs explanation, add a YAML comment above it (not inline). | + +--- + +## 🚫 ChatWoot Mentions + +- The word **ChatWoot** must never appear in translations. +- When found, the agent must pause and ask: + + > “ChatWoot found in key `X.Y.Z`: `{{string}}`. Should we rephrase it (e.g., + > ‘Inbox’, ‘Messaging Platform’, or something else)?” + +--- + +## 📘 Terms (reserved) + +> This section will define key terminology and translation conventions (e.g., +> “Contact” vs “Customer”, “Session” vs “Chat”), once finalized. + +--- + +## ⚠️ Exceptions + +- Treat `datetime.*` keys as standard infrastructure strings; do not flag them + as unused. +- Always keep `datetime.locales` aligned with the target locale code (e.g., + `es-ES`); if it is missing, restore it during the sync. +- Keys without a dot (e.g., `UNKNOWN`) and any under `locale.*` are canonical + metadata — skip unused checks for them. + +--- + +## 🧾 Example Workflow + +```bash +# Full synchronization +> update all i18n +→ Checking unused keys... +→ Found 3 unused keys: session.old, inbox.archive, legacy.test +Keep or remove? [k/r] +→ Found "ChatWoot" in en-US.yaml: "ChatWoot inbox connected" +Replace? [yes/no] + +→ Translating en-US → es-ES, fr-FR, pt-BR... +✅ All i18n files updated and aligned with en-US.yaml +``` + +--- + +Would you like me to add an example **YAML structure** and show how the agent +should align keys (e.g., diff between en-US and pt-BR)? It helps clarify exactly +how updates propagate. diff --git a/src/apps/chatwoot/i18n/locales/ar-AE.yaml b/src/apps/chatwoot/i18n/locales/ar-AE.yaml index e8a4aa4e..43a7dec1 100644 --- a/src/apps/chatwoot/i18n/locales/ar-AE.yaml +++ b/src/apps/chatwoot/i18n/locales/ar-AE.yaml @@ -193,9 +193,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- قم بتضمين جهات اتصال مجموعات واتساب في المزامنة. -cli.cmd.contacts.pull.option.no-lids: |- - تخطَّ جهات اتصال واتساب LID (معرّفات الأجهزة المرتبطة JID) في المزامنة. - cli.cmd.contacts.pull.option.no-attributes: |- لا تسحب سمات جهة الاتصال إذا كانت موجودة بالفعل (هذا يسرّع العملية). @@ -204,12 +201,6 @@ cli.cmd.contacts.pull.already-running: |- أرسل `contacts status` للاطلاع على التفاصيل. -cli.cmd.contacts.pull.queued: |- - 👥 تمت جدولة مهمة **سحب جهات الاتصال**. - - سنشارك تحديث التقدم كل **{{batch}}** جهة اتصال. - قد يستغرق سحب جهات الاتصال بعض الوقت، لذا تحقق من آخر حالة في أي وقت باستخدام `contacts status`. - cli.cmd.options.job.attempts: |- عدد مرات إعادة محاولة المهمة قبل اعتبارها فاشلة. @@ -512,3 +503,123 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **رسالة العميل:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: غير معروف +ERROR: خطأ +PENDING: جارٍ الإرسال +SERVER: الخادم +DEVICE: الجهاز +READ: مقروء +PLAYED: مُشغَّل +whatsapp.to.chatwoot.message.has.media.no.media: |- + {{#content}} + {{{content}}} + + {{/content}} + 🖼️⚠️ **تحتوي الرسالة على وسائط ولكن تعذّر تنزيلها** + 📱 يرجى فتح **واتساب** للاطلاع عليها. + + {{^content}} + التفاصيل: [{{{details.text}}}]({{{details.url}}}) + {{/content}} +cli.cmd.root.sub.queue: '🧩 **قائمة الانتظار**:' +cli.cmd.messages.summary: سحب رسائل واتساب. +cli.cmd.messages.description: + 💬 نفّذ `messages pull` لبدء مزامنة الرسائل أو `messages status` لمتابعة + التقدم. +cli.cmd.messages.action.description: + '`pull` لبدء سحب الرسائل أو `status` لمراجعة المهمة النشطة.' +cli.cmd.messages.pull.option.chat: حصر السحب على معرّف دردشة واتساب محدد. +cli.cmd.messages.pull.option.force: + إجبار صندوق الوارد على إنشاء الرسائل حتى لو كانت رسالة واتساب موجودة بالفعل في + مخطط المحادثة. +cli.cmd.messages.pull.option.batch: عدد الرسائل التي يتم سحبها في كل دفعة. +cli.cmd.messages.pull.option.progress: + الإبلاغ عن التقدم كل عدد N من الرسائل. القيمة 0 لتعطيل التقارير. +cli.cmd.messages.pull.option.no-dm: تخطي الرسائل الخاصة أثناء سحب السجل. +cli.cmd.messages.pull.option.groups: تضمين مجموعات واتساب أثناء سحب السجل. +cli.cmd.messages.pull.option.channels: تضمين قنوات واتساب أثناء سحب السجل. +cli.cmd.messages.pull.option.status: تضمين حالات واتساب أثناء سحب السجل. +cli.cmd.messages.pull.option.broadcast: تضمين قوائم البث أثناء سحب السجل. +cli.cmd.messages.pull.option.media: + تنزيل المرفقات (صور، فيديوهات، ملفات) أثناء سحب السجل. +cli.cmd.messages.pull.option.pause: + وضع مهمة سحب الرسائل في قائمة الانتظار وهي متوقفة مؤقتًا وإيقاف معالجة رسائل + واتساب الجديدة حتى تكتمل. +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ لا يمكن استخدام `--pause` لأن أمر **queue** معطَّل في هذا التكوين. +cli.cmd.queue.description: إدارة قوائم الانتظار. +cli.cmd.queue.summary: تنفيذ إجراءات على قوائم الانتظار. +cli.cmd.queue.action.description: اختر إجراءً. +cli.cmd.queue.status.description: عرض حالة قائمة الانتظار. +cli.cmd.queue.argument.name: + 'اسم قائمة الانتظار: `inbox` أو `whatsapp` (اختياري).' +cli.cmd.queue.start.description: بدء قائمة الانتظار بالاسم. +cli.cmd.queue.stop.description: إيقاف قائمة الانتظار بالاسم. +cli.cmd.queue.paused: + ⚪🧩 تم إيقاف قوائم الانتظار مؤقتًا. أرسل `queue status` للتحقق من الحالة. +cli.cmd.queue.resumed: + 🟢🧩 تم استئناف قوائم الانتظار. أرسل `queue status` للتحقق من الحالة. +cli.cmd.queue.status.result: >- + 📊 حالة قائمة الانتظار: + + {{#queues}} + + - **{{name}}**: {{#locked}}🔒{{/locked}}{{#paused}}⚪ متوقفة + مؤقتًا{{/paused}}{{^paused}}🟢 تعمل{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + تحديد مدة محاولة تنزيل الوسائط لكل رسالة. +cli.cmd.messages.pull.argument.end: + تحديد نقطة نهاية نافذة السحب؛ على سبيل المثال، `2d` يعني التوقف قبل يومين. +cli.cmd.messages.pull.argument.start: + تحديد نقطة بداية نافذة السحب؛ على سبيل المثال، `1d` يبدأ قبل يوم واحد (القيمة + الافتراضية `0d` أي الآن). +cli.cmd.messages.pull.already-running: >- + ⏳ مهمة **Pull Messages** تعمل بالفعل لـ **{{{chat}}}**. انتظر حتى تنتهي أو + أوقفها قبل بدء مهمة جديدة. + + + أرسل `messages status` للحصول على التفاصيل. +cli.cmd.messages.status.not-found: + ℹ️ لم يتم العثور على مهمة **Pull Messages** نشطة. ابدأ واحدة باستخدام + `messages pull`. +cli.cmd.messages.pull.no-chats-found: + لم يتم العثور على دردشات واتساب للسحب خلال هذه الفترة. +cli.cmd.contacts.pull.option.progress: + الإبلاغ عن التقدم كل عدد N من جهات الاتصال. القيمة 0 لتعطيل التقارير. +cli.cmd.contacts.pull.option.lids: + تضمين جهات اتصال واتساب LID (مجهولة) في المزامنة. +task.contacts.completed: + 👤✅ تم إنهاء جهات الاتصال → 🆕 {{progress.created}}، 🔄 {{progress.updated}}، + ⚪ {{progress.skipped}}، 🔴 {{progress.errors}}، 🖼️ + {{progress.avatar.updated}} +task.messages.started: ⏳ جارٍ سحب الرسائل 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: + أرسل "{{{prefix}}}messages status" للاطلاع على المزيد من التفاصيل. +task.messages.progress: + '⏳ رسائل {{{chat}}}: 🆕 {{progress.ok}}، 🟢 {{progress.exists}}، ⚪ + {{progress.ignored}}، 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ رسائل {{{chat}}} خلال {{{period}}} → 🆕 {{progress.ok}}، 🟢 + {{progress.exists}}، ⚪ {{progress.ignored}}، 🔴 {{progress.errors}} +task.messages.status: |- + رسائل **{{{chat}}}** خلال الفترة ⏱️ **{{{period}}}**: + - ⚙️ حالة المهمة: **{{state}}** + {{#last}} + - 📅 آخر معالجة: **{{{last}}}** + {{/last}} + - 💬 تم إنشاؤها في: **{{{chats}}}** دردشات + - 🆕 تم إنشاؤها: **{{{progress.ok}}}** رسائل + - 🟢 موجودة مسبقًا: {{{progress.exists}}} رسائل + - ⚪ تم تجاهلها: {{{progress.ignored}}} رسائل + - 🔴 أخطاء: {{{progress.errors}}} رسائل + + التفاصيل: + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/bn-BD.yaml b/src/apps/chatwoot/i18n/locales/bn-BD.yaml index 5000fd7d..5c3b88ef 100644 --- a/src/apps/chatwoot/i18n/locales/bn-BD.yaml +++ b/src/apps/chatwoot/i18n/locales/bn-BD.yaml @@ -193,9 +193,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- সিঙ্কে WhatsApp গ্রুপ কনট্যাক্ট অন্তর্ভুক্ত করুন। -cli.cmd.contacts.pull.option.no-lids: |- - সিঙ্কে WhatsApp LID কনট্যাক্ট (লিঙ্কড-ডিভাইস JID) বাদ দিন। - cli.cmd.contacts.pull.option.no-attributes: |- কনট্যাক্ট আগেই থাকলে তার অ্যাট্রিবিউট টানবেন না (এতে প্রক্রিয়া দ্রুত হয়)। @@ -204,12 +201,6 @@ cli.cmd.contacts.pull.already-running: |- বিস্তারিত জানতে `contacts status` পাঠান। -cli.cmd.contacts.pull.queued: |- - 👥 **Pull Contacts** কাজটি কিউতে রয়েছে। - - আমরা প্রতি **{{batch}}** কনট্যাক্টে অগ্রগতির আপডেট শেয়ার করব। - কনট্যাক্ট টানতে কিছুটা সময় লাগতে পারে - যেকোনো সময় `contacts status` দিয়ে সর্বশেষ অবস্থা দেখুন। - cli.cmd.options.job.attempts: |- কোনো কাজ ব্যর্থ ঘোষণা করার আগে কয়বার পুনরায় চেষ্টা করা হবে। @@ -512,3 +503,125 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **গ্রাহকের বার্তা:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: অজানা +ERROR: ত্রুটি +PENDING: পাঠানো হচ্ছে +SERVER: সার্ভার +DEVICE: ডিভাইস +READ: পড়া হয়েছে +PLAYED: চালানো হয়েছে +whatsapp.to.chatwoot.message.has.media.no.media: |- + {{#content}} + {{{content}}} + + {{/content}} + 🖼️⚠️ **বার্তায় মিডিয়া আছে, কিন্তু আমরা এটি ডাউনলোড করতে পারিনি** + 📱 দেখার জন্য অনুগ্রহ করে **WhatsApp** খুলুন। + + {{^content}} + বিস্তারিত: [{{{details.text}}}]({{{details.url}}}) + {{/content}} +cli.cmd.root.sub.queue: '🧩 **কিউ**:' +cli.cmd.messages.summary: WhatsApp বার্তা টানুন। +cli.cmd.messages.description: + 💬 বার্তা সিঙ্ক শুরু করতে `messages pull` চালান অথবা অগ্রগতি দেখতে `messages + status` চালান। +cli.cmd.messages.action.description: + বার্তা টানতে `pull` ব্যবহার করুন অথবা সক্রিয় কাজ দেখার জন্য `status`। +cli.cmd.messages.pull.option.chat: + নির্দিষ্ট WhatsApp চ্যাট আইডিতে টান সীমাবদ্ধ করুন। +cli.cmd.messages.pull.option.force: + WhatsApp বার্তা কথোপকথনের ম্যাপিংয়ে থাকলেও ইনবক্সকে বার্তা তৈরি করতে বাধ্য + করুন। +cli.cmd.messages.pull.option.batch: প্রতিটি ব্যাচে কতটি বার্তা টানবেন। +cli.cmd.messages.pull.option.progress: + প্রতি N বার্তায় অগ্রগতি জানায়। রিপোর্ট বন্ধ করতে 0 সেট করুন। +cli.cmd.messages.pull.option.no-dm: ইতিহাস টানার সময় সরাসরি বার্তা উপেক্ষা করুন। +cli.cmd.messages.pull.option.groups: + ইতিহাস টানার সময় WhatsApp গ্রুপ অন্তর্ভুক্ত করুন। +cli.cmd.messages.pull.option.channels: + ইতিহাস টানার সময় WhatsApp চ্যানেল অন্তর্ভুক্ত করুন। +cli.cmd.messages.pull.option.status: + ইতিহাস টানার সময় WhatsApp স্ট্যাটাস আপডেট অন্তর্ভুক্ত করুন। +cli.cmd.messages.pull.option.broadcast: + ইতিহাস টানার সময় ব্রডকাস্ট তালিকা অন্তর্ভুক্ত করুন। +cli.cmd.messages.pull.option.media: + ইতিহাস টানার সময় মিডিয়া (ছবি, ভিডিও, ফাইল) ডাউনলোড করুন। +cli.cmd.messages.pull.option.pause: + বার্তা টানার কাজটিকে বিরতি অবস্থায় কিউতে রাখে এবং শেষ না হওয়া পর্যন্ত নতুন + WhatsApp বার্তার প্রসেসিং বন্ধ রাখে। +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ `--pause` ব্যবহার করা যাবে না কারণ এই কনফিগারেশনে **queue** কমান্ড + নিষ্ক্রিয়। +cli.cmd.queue.description: কিউ পরিচালনা করুন। +cli.cmd.queue.summary: কিউ-তে কর্ম সম্পাদন করুন। +cli.cmd.queue.action.description: একটি কর্ম নির্বাচন করুন। +cli.cmd.queue.status.description: কিউ-র অবস্থা দেখুন। +cli.cmd.queue.argument.name: 'কিউ নাম: `inbox` বা `whatsapp` (ঐচ্ছিক)।' +cli.cmd.queue.start.description: নামের ভিত্তিতে কিউ শুরু করুন। +cli.cmd.queue.stop.description: নামের ভিত্তিতে কিউ বন্ধ করুন। +cli.cmd.queue.paused: ⚪🧩 কিউ বিরতিতে আছে। অবস্থা দেখতে `queue status` পাঠান। +cli.cmd.queue.resumed: + 🟢🧩 কিউ আবার চালু হয়েছে। অবস্থা দেখতে `queue status` পাঠান। +cli.cmd.queue.status.result: >- + 📊 কিউ অবস্থা: + + {{#queues}} + + - **{{name}}**: {{#locked}}🔒{{/locked}}{{#paused}}⚪ + বিরতিতে{{/paused}}{{^paused}}🟢 চলমান{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + প্রতিটি বার্তার জন্য মিডিয়া ডাউনলোডের সময়সীমা নির্ধারণ করুন। +cli.cmd.messages.pull.argument.end: + টানার উইন্ডো কোথায় শেষ হবে নির্ধারণ করুন; যেমন `2d` দুই দিন আগে থামে। +cli.cmd.messages.pull.argument.start: + টানার উইন্ডো কোথা থেকে শুরু হবে নির্ধারণ করুন; যেমন `1d` এক দিন আগে শুরু হয় + (ডিফল্ট `0d`, অর্থাৎ এখন)। +cli.cmd.messages.pull.already-running: >- + ⏳ **Pull Messages** কাজটি ইতিমধ্যে **{{{chat}}}**-এর জন্য চলছে। শেষ হওয়া + পর্যন্ত অপেক্ষা করুন অথবা নতুন শুরু করার আগে এটি বন্ধ করুন। + + + বিস্তারিত জানার জন্য `messages status` পাঠান। +cli.cmd.messages.status.not-found: + ℹ️ কোনো সক্রিয় **Pull Messages** কাজ পাওয়া যায়নি। `messages pull` দিয়ে একটি + শুরু করুন। +cli.cmd.messages.pull.no-chats-found: + এই সময়সীমার জন্য কোনো WhatsApp চ্যাট পাওয়া যায়নি। +cli.cmd.contacts.pull.option.progress: + প্রতি N কন্টাক্টে অগ্রগতি জানান। রিপোর্ট বন্ধ করতে 0 সেট করুন। +cli.cmd.contacts.pull.option.lids: + সিঙ্কে WhatsApp LID (অনামা) কন্টাক্ট অন্তর্ভুক্ত করুন। +task.contacts.completed: + 👤✅ কন্টাক্ট সম্পন্ন → 🆕 {{progress.created}}, 🔄 {{progress.updated}}, ⚪ + {{progress.skipped}}, 🔴 {{progress.errors}}, 🖼️ {{progress.avatar.updated}} +task.messages.started: ⏳ বার্তা টানা হচ্ছে 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: আরও জানতে "{{{prefix}}}messages status" পাঠান। +task.messages.progress: + '⏳ বার্তা {{{chat}}}: 🆕 {{progress.ok}}, 🟢 {{progress.exists}}, ⚪ + {{progress.ignored}}, 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ বার্তা {{{chat}}} {{{period}}}-এ → 🆕 {{progress.ok}}, 🟢 + {{progress.exists}}, ⚪ {{progress.ignored}}, 🔴 {{progress.errors}} +task.messages.status: |- + **{{{chat}}}**-এর বার্তা ⏱️ **{{{period}}}** সময়ে: + - ⚙️ কাজের অবস্থা: **{{state}}** + {{#last}} + - 📅 শেষ প্রসেস করা: **{{{last}}}** + {{/last}} + - 💬 তৈরি হয়েছে: **{{{chats}}}** চ্যাটে + - 🆕 তৈরি: **{{{progress.ok}}}** বার্তা + - 🟢 আগেই ছিল: {{{progress.exists}}} বার্তা + - ⚪ উপেক্ষা: {{{progress.ignored}}} বার্তা + - 🔴 ত্রুটি: {{{progress.errors}}} বার্তা + + বিস্তারিত: + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/de-DE.yaml b/src/apps/chatwoot/i18n/locales/de-DE.yaml index b9af4906..a89fe318 100644 --- a/src/apps/chatwoot/i18n/locales/de-DE.yaml +++ b/src/apps/chatwoot/i18n/locales/de-DE.yaml @@ -196,9 +196,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- WhatsApp-Gruppenkontakte in die Synchronisierung einbeziehen. -cli.cmd.contacts.pull.option.no-lids: |- - WhatsApp-LID-Kontakte (Linked-Device-JIDs) bei der Synchronisierung überspringen. - cli.cmd.contacts.pull.option.no-attributes: |- Keine Kontaktattribute laden, wenn der Kontakt bereits existiert (beschleunigt den Vorgang). @@ -207,12 +204,6 @@ cli.cmd.contacts.pull.already-running: |- Senden Sie `contacts status` für Details. -cli.cmd.contacts.pull.queued: |- - 👥 Auftrag **Pull Contacts** in die Warteschlange gestellt. - - Wir teilen nach jeweils **{{batch}}** Kontakten ein Fortschrittsupdate. - Das Abrufen kann etwas dauern – prüfen Sie den aktuellen Stand jederzeit mit `contacts status`. - cli.cmd.options.job.attempts: |- Anzahl der erneuten Versuche, bevor der Auftrag als fehlgeschlagen markiert wird. @@ -515,3 +506,144 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **Kundennachricht:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: Unbekannt +ERROR: Fehler +PENDING: Wird gesendet +SERVER: Server +DEVICE: Gerät +READ: Gelesen +PLAYED: Abgespielt +whatsapp.to.chatwoot.message.has.media.no.media: >- + {{#content}} + + {{{content}}} + + + {{/content}} + + 🖼️⚠️ **Diese Nachricht enthält Medien, konnte aber nicht heruntergeladen + werden** + + 📱 Bitte öffnen Sie **WhatsApp**, um sie anzusehen. + + + {{^content}} + + Details: [{{{details.text}}}]({{{details.url}}}) + + {{/content}} +cli.cmd.root.sub.queue: '🧩 **Warteschlange**:' +cli.cmd.messages.summary: WhatsApp-Nachrichten abrufen. +cli.cmd.messages.description: + 💬 Führen Sie `messages pull` aus, um eine Synchronisierung zu starten, oder + `messages status`, um den Fortschritt zu prüfen. +cli.cmd.messages.action.description: + '`pull`, um das Abrufen zu starten, oder `status`, um den aktuellen Job zu + prüfen.' +cli.cmd.messages.pull.option.chat: + Beschränkt das Abrufen auf eine bestimmte WhatsApp-Chat-ID. +cli.cmd.messages.pull.option.force: + Erzwingt, dass die Inbox Nachrichten erstellt, auch wenn die + WhatsApp-Nachricht bereits im Gesprächs-Mapping vorhanden ist. +cli.cmd.messages.pull.option.batch: + Anzahl der Nachrichten, die pro Paket abgerufen werden. +cli.cmd.messages.pull.option.progress: + Meldet den Fortschritt nach N Nachrichten. 0 deaktiviert die + Fortschrittsmeldungen. +cli.cmd.messages.pull.option.no-dm: + Ignoriert Direktnachrichten beim Abrufen des Verlaufs. +cli.cmd.messages.pull.option.groups: + Bezieht WhatsApp-Gruppen beim Abrufen mit ein. +cli.cmd.messages.pull.option.channels: + Bezieht WhatsApp-Kanäle beim Abrufen mit ein. +cli.cmd.messages.pull.option.status: + Bezieht WhatsApp-Statusmeldungen beim Abrufen mit ein. +cli.cmd.messages.pull.option.broadcast: + Bezieht Broadcast-Listen beim Abrufen mit ein. +cli.cmd.messages.pull.option.media: + Lädt Medienanhänge (Bilder, Videos, Dateien) beim Abrufen herunter. +cli.cmd.messages.pull.option.pause: + Stellt den Nachrichtenabruf in der Warteschlange auf Pause und stoppt neue + WhatsApp-Verarbeitung bis zum Abschluss. +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ `--pause` kann nicht verwendet werden, weil der **queue**-Befehl in dieser + Konfiguration deaktiviert ist. +cli.cmd.queue.description: Warteschlangen verwalten. +cli.cmd.queue.summary: Aktionen für Warteschlangen durchführen. +cli.cmd.queue.action.description: Wählen Sie eine Aktion. +cli.cmd.queue.status.description: Zeigt den Status einer Warteschlange an. +cli.cmd.queue.argument.name: + 'Name der Warteschlange: `inbox` oder `whatsapp` (optional).' +cli.cmd.queue.start.description: Startet eine Warteschlange anhand des Namens. +cli.cmd.queue.stop.description: Stoppt eine Warteschlange anhand des Namens. +cli.cmd.queue.paused: + ⚪🧩 Die Warteschlangen wurden pausiert. Senden Sie `queue status`, um den + Status zu prüfen. +cli.cmd.queue.resumed: + 🟢🧩 Die Warteschlangen wurden fortgesetzt. Senden Sie `queue status`, um den + Status zu prüfen. +cli.cmd.queue.status.result: >- + 📊 Warteschlangenstatus: + + {{#queues}} + + - **{{name}}**: {{#locked}}🔒{{/locked}}{{#paused}}⚪ + Pausiert{{/paused}}{{^paused}}🟢 Aktiv{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + Legt fest, wie lange versucht wird, Medien je Nachricht herunterzuladen. +cli.cmd.messages.pull.argument.end: + Legt fest, wo das Abruffenster endet; `2d` bedeutet vor zwei Tagen. +cli.cmd.messages.pull.argument.start: + Legt fest, wo das Abruffenster beginnt; `1d` bedeutet vor einem Tag (Standard + `0d`, also jetzt). +cli.cmd.messages.pull.already-running: >- + ⏳ Der Job **Pull Messages** läuft bereits für **{{{chat}}}**. Warten Sie bis + zum Abschluss oder stoppen Sie ihn, bevor Sie einen neuen starten. + + + Senden Sie `messages status` für Details. +cli.cmd.messages.status.not-found: + ℹ️ Kein aktiver **Pull Messages**-Job gefunden. Starten Sie einen mit + `messages pull`. +cli.cmd.messages.pull.no-chats-found: + Keine WhatsApp-Chats für diesen Zeitraum gefunden. +cli.cmd.contacts.pull.option.progress: + Meldet den Fortschritt nach N Kontakten. 0 deaktiviert die Meldungen. +cli.cmd.contacts.pull.option.lids: + Bezieht WhatsApp-LID-Kontakte (anonyme Kontakte) in die Synchronisierung ein. +task.contacts.completed: + 👤✅ Kontakte abgeschlossen → 🆕 {{progress.created}}, 🔄 + {{progress.updated}}, ⚪ {{progress.skipped}}, 🔴 {{progress.errors}}, 🖼️ + {{progress.avatar.updated}} +task.messages.started: + ⏳ Nachrichten werden abgerufen 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: + Senden Sie "{{{prefix}}}messages status", um weitere Details zu sehen. +task.messages.progress: + '⏳ Nachrichten {{{chat}}}: 🆕 {{progress.ok}}, 🟢 {{progress.exists}}, ⚪ + {{progress.ignored}}, 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ Nachrichten {{{chat}}} in {{{period}}} → 🆕 {{progress.ok}}, 🟢 + {{progress.exists}}, ⚪ {{progress.ignored}}, 🔴 {{progress.errors}} +task.messages.status: |- + Nachrichten **{{{chat}}}** im Zeitraum ⏱️ **{{{period}}}**: + - ⚙️ Jobstatus: **{{state}}** + {{#last}} + - 📅 Zuletzt verarbeitet: **{{{last}}}** + {{/last}} + - 💬 Erstellt in: **{{{chats}}}** Chats + - 🆕 Erstellt: **{{{progress.ok}}}** Nachrichten + - 🟢 Bereits vorhanden: {{{progress.exists}}} Nachrichten + - ⚪ Ignoriert: {{{progress.ignored}}} Nachrichten + - 🔴 Fehler: {{{progress.errors}}} Nachrichten + + Details: + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/en-US.yaml b/src/apps/chatwoot/i18n/locales/en-US.yaml index 10ca37e2..1e8eaaf3 100644 --- a/src/apps/chatwoot/i18n/locales/en-US.yaml +++ b/src/apps/chatwoot/i18n/locales/en-US.yaml @@ -396,7 +396,7 @@ cli.cmd.messages.pull.option.chat: |- Limit the pull to a specific WhatsApp Chat ID. cli.cmd.messages.pull.option.force: |- - Force ChatWoot to create messages even when the WhatsApp message is already present in the inbox mapping. + Force the inbox to create messages even when the WhatsApp message already exists in the conversation mapping. cli.cmd.messages.pull.option.batch: |- Number of messages to pull in each batch. diff --git a/src/apps/chatwoot/i18n/locales/es-ES.yaml b/src/apps/chatwoot/i18n/locales/es-ES.yaml index 2f13e9b0..3973a9a5 100644 --- a/src/apps/chatwoot/i18n/locales/es-ES.yaml +++ b/src/apps/chatwoot/i18n/locales/es-ES.yaml @@ -193,9 +193,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- Incluir contactos de grupos de WhatsApp en la sincronización. -cli.cmd.contacts.pull.option.no-lids: |- - Omitir contactos LID de WhatsApp (JID de dispositivo vinculado) en la sincronización. - cli.cmd.contacts.pull.option.no-attributes: |- No obtengas los atributos del contacto si ya existe (acelera el proceso). @@ -204,12 +201,6 @@ cli.cmd.contacts.pull.already-running: |- Envía `contacts status` para más detalles. -cli.cmd.contacts.pull.queued: |- - 👥 Trabajo **Pull Contacts** en cola. - - Compartiremos una actualización de progreso cada **{{batch}}** contactos. - La importación puede tardar; consulta el estado más reciente en cualquier momento con `contacts status`. - cli.cmd.options.job.attempts: |- Número de intentos antes de marcar el trabajo como fallido. @@ -512,3 +503,145 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **Mensaje del cliente:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: Desconocido +ERROR: Error +PENDING: Enviando +SERVER: Servidor +DEVICE: Dispositivo +READ: Leído +PLAYED: Reproducido +whatsapp.to.chatwoot.message.has.media.no.media: >- + {{#content}} + + {{{content}}} + + + {{/content}} + + 🖼️⚠️ **El mensaje contiene contenido multimedia, pero no pudimos descargarlo** + + 📱 Abre **WhatsApp** para verlo. + + + {{^content}} + + Detalles: [{{{details.text}}}]({{{details.url}}}) + + {{/content}} +cli.cmd.root.sub.queue: '🧩 **Cola**:' +cli.cmd.messages.summary: Extrae mensajes de WhatsApp. +cli.cmd.messages.description: + 💬 Ejecuta `messages pull` para solicitar la sincronización de mensajes o + `messages status` para revisar el progreso. +cli.cmd.messages.action.description: + '`pull` para iniciar la extracción de mensajes o `status` para revisar el + trabajo activo.' +cli.cmd.messages.pull.option.chat: + Limita la extracción a un ID de chat de WhatsApp específico. +cli.cmd.messages.pull.option.force: + Obliga a la bandeja de entrada a crear mensajes incluso cuando el mensaje de + WhatsApp ya existe en el mapeo de la conversación. +cli.cmd.messages.pull.option.batch: + Número de mensajes que se extraen en cada lote. +cli.cmd.messages.pull.option.progress: + Informa el progreso cada N mensajes. Establécelo en 0 para desactivar los + informes de progreso. +cli.cmd.messages.pull.option.no-dm: + Omite los mensajes directos al extraer el historial. +cli.cmd.messages.pull.option.groups: + Incluye chats de grupo de WhatsApp al extraer el historial. +cli.cmd.messages.pull.option.channels: + Incluye canales de WhatsApp al extraer el historial. +cli.cmd.messages.pull.option.status: + Incluye actualizaciones de estado de WhatsApp al extraer el historial. +cli.cmd.messages.pull.option.broadcast: + Incluye listas de difusión al extraer el historial. +cli.cmd.messages.pull.option.media: + Descarga archivos multimedia (imágenes, videos, archivos) al extraer el + historial. +cli.cmd.messages.pull.option.pause: + Encola el trabajo de extracción de mensajes en estado pausado, deteniendo el + procesamiento de nuevos mensajes de WhatsApp hasta que finalice. +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ No se puede usar `--pause` porque el comando **queue** está deshabilitado + en esta configuración de la aplicación. +cli.cmd.queue.description: Gestiona las colas. +cli.cmd.queue.summary: Realiza acciones sobre las colas. +cli.cmd.queue.action.description: Elige una acción. +cli.cmd.queue.status.description: Muestra el estado de una cola. +cli.cmd.queue.argument.name: + 'Nombre de la cola: `inbox` o `whatsapp` (opcional).' +cli.cmd.queue.start.description: Inicia una cola por nombre. +cli.cmd.queue.stop.description: Detiene una cola por nombre. +cli.cmd.queue.paused: + ⚪🧩 Las colas se han pausado. Envía `queue status` para comprobar el estado. +cli.cmd.queue.resumed: + 🟢🧩 Las colas se han reanudado. Envía `queue status` para comprobar el + estado. +cli.cmd.queue.status.result: >- + 📊 Estado de la cola: + + {{#queues}} + + - **{{name}}**: {{#locked}}🔒{{/locked}}{{#paused}}⚪ En + pausa{{/paused}}{{^paused}}🟢 En ejecución{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + Define cuánto tiempo se intenta descargar los archivos multimedia de cada + mensaje. +cli.cmd.messages.pull.argument.end: + Define dónde termina la ventana de extracción; por ejemplo, `2d` se detiene + hace dos días. +cli.cmd.messages.pull.argument.start: + Define desde dónde comienza la ventana de extracción; por ejemplo, `1d` + empieza hace un día (el valor predeterminado es `0d`, es decir, ahora). +cli.cmd.messages.pull.already-running: >- + ⏳ El trabajo **Pull Messages** ya se está ejecutando para **{{{chat}}}**. + Espera a que termine o deténlo antes de iniciar uno nuevo. + + + Envía `messages status` para obtener detalles. +cli.cmd.messages.status.not-found: + ℹ️ No se encontró ningún trabajo activo de **Pull Messages**. Inicia uno con + `messages pull`. +cli.cmd.messages.pull.no-chats-found: + No se encontraron chats de WhatsApp de los que extraer mensajes en el período. +cli.cmd.contacts.pull.option.progress: + Informa el progreso cada N contactos. Establécelo en 0 para desactivar los + informes de progreso. +cli.cmd.contacts.pull.option.lids: + Incluye contactos LID de WhatsApp (contactos anónimos) en la sincronización. +task.contacts.completed: + 👤✅ Contactos completados → 🆕 {{progress.created}}, 🔄 {{progress.updated}}, + ⚪ {{progress.skipped}}, 🔴 {{progress.errors}}, 🖼️ + {{progress.avatar.updated}} +task.messages.started: ⏳ Extrayendo mensajes 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: + Envía "{{{prefix}}}messages status" para ver más detalles. +task.messages.progress: + '⏳ Mensajes {{{chat}}}: 🆕 {{progress.ok}}, 🟢 {{progress.exists}}, ⚪ + {{progress.ignored}}, 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ Mensajes {{{chat}}} en {{{period}}} → 🆕 {{progress.ok}}, 🟢 + {{progress.exists}}, ⚪ {{progress.ignored}}, 🔴 {{progress.errors}} +task.messages.status: |- + Mensajes **{{{chat}}}** en el periodo ⏱️ **{{{period}}}**: + - ⚙️ Estado del trabajo: **{{state}}** + {{#last}} + - 📅 Último procesado: **{{{last}}}** + {{/last}} + - 💬 Creados en: **{{{chats}}}** chats + - 🆕 Creados: **{{{progress.ok}}}** mensajes + - 🟢 Ya existen: {{{progress.exists}}} mensajes + - ⚪ Ignorados: {{{progress.ignored}}} mensajes + - 🔴 Errores: {{{progress.errors}}} mensajes + + Detalles: + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/fa-IR.yaml b/src/apps/chatwoot/i18n/locales/fa-IR.yaml index 03c74c99..aa36d5f4 100644 --- a/src/apps/chatwoot/i18n/locales/fa-IR.yaml +++ b/src/apps/chatwoot/i18n/locales/fa-IR.yaml @@ -193,9 +193,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- مخاطبان گروه‌های واتساپ را در همگام‌سازی قرار دهید. -cli.cmd.contacts.pull.option.no-lids: |- - مخاطبان LID واتساپ (شناسه‌های دستگاه متصل JID) را در همگام‌سازی نادیده بگیرید. - cli.cmd.contacts.pull.option.no-attributes: |- اگر مخاطب از قبل وجود دارد ویژگی‌های او را دریافت نکنید (فرآیند را سریع‌تر می‌کند). @@ -204,12 +201,6 @@ cli.cmd.contacts.pull.already-running: |- برای جزئیات `contacts status` را ارسال کنید. -cli.cmd.contacts.pull.queued: |- - 👥 کار **Pull Contacts** در صف قرار گرفت. - - پس از هر **{{batch}}** مخاطب یک به‌روزرسانی پیشرفت ارسال می‌کنیم. - دریافت مخاطبان ممکن است زمان‌بر باشد؛ هر زمان با `contacts status` آخرین وضعیت را بررسی کنید. - cli.cmd.options.job.attempts: |- تعداد دفعات تلاش مجدد پیش از علامت‌گذاری کار به‌عنوان ناموفق. @@ -512,3 +503,131 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **پیام مشتری:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: ناشناخته +ERROR: خطا +PENDING: در حال ارسال +SERVER: سرور +DEVICE: دستگاه +READ: خوانده شد +PLAYED: پخش شد +whatsapp.to.chatwoot.message.has.media.no.media: |- + {{#content}} + {{{content}}} + + {{/content}} + 🖼️⚠️ **پیام حاوی رسانه است اما نتوانستیم آن را دانلود کنیم** + 📱 لطفاً برای مشاهده، **واتساپ** را باز کنید. + + {{^content}} + جزئیات: [{{{details.text}}}]({{{details.url}}}) + {{/content}} +cli.cmd.root.sub.queue: '🧩 **صف**:' +cli.cmd.messages.summary: دریافت پیام‌های واتساپ. +cli.cmd.messages.description: + 💬 برای آغاز همگام‌سازی پیام‌ها `messages pull` را اجرا کنید یا برای مشاهده + پیشرفت `messages status` را اجرا کنید. +cli.cmd.messages.action.description: + '`pull` برای شروع دریافت پیام یا `status` برای بررسی کار فعال.' +cli.cmd.messages.pull.option.chat: + دریافت را به یک شناسه گفت‌وگوی مشخص واتساپ محدود می‌کند. +cli.cmd.messages.pull.option.force: + صندوق ورودی را مجبور می‌کند پیام بسازد حتی اگر پیام واتساپ قبلاً در نگاشت + مکالمه وجود داشته باشد. +cli.cmd.messages.pull.option.batch: + تعداد پیام‌هایی که در هر دسته دریافت می‌شوند. +cli.cmd.messages.pull.option.progress: + پیشرفت را هر N پیام اعلام می‌کند. مقدار 0 گزارش‌ها را غیرفعال می‌کند. +cli.cmd.messages.pull.option.no-dm: + هنگام دریافت تاریخچه، پیام‌های خصوصی را نادیده می‌گیرد. +cli.cmd.messages.pull.option.groups: + گروه‌های واتساپ را هنگام دریافت تاریخچه وارد می‌کند. +cli.cmd.messages.pull.option.channels: + کانال‌های واتساپ را هنگام دریافت تاریخچه وارد می‌کند. +cli.cmd.messages.pull.option.status: + وضعیت‌های واتساپ را هنگام دریافت تاریخچه وارد می‌کند. +cli.cmd.messages.pull.option.broadcast: + لیست‌های پخش را هنگام دریافت تاریخچه وارد می‌کند. +cli.cmd.messages.pull.option.media: + هنگام دریافت تاریخچه، پیوست‌های رسانه‌ای (تصویر، ویدیو، فایل) را دانلود + می‌کند. +cli.cmd.messages.pull.option.pause: + کار دریافت پیام‌ها را در حالت توقف در صف قرار می‌دهد و پردازش پیام‌های جدید + واتساپ را تا پایان متوقف می‌کند. +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ امکان استفاده از `--pause` نیست زیرا فرمان **queue** در این پیکربندی + غیرفعال است. +cli.cmd.queue.description: مدیریت صف‌ها. +cli.cmd.queue.summary: اعمال روی صف‌ها را انجام دهید. +cli.cmd.queue.action.description: یک عمل را انتخاب کنید. +cli.cmd.queue.status.description: وضعیت یک صف را نشان می‌دهد. +cli.cmd.queue.argument.name: 'نام صف: `inbox` یا `whatsapp` (اختیاری).' +cli.cmd.queue.start.description: صف را بر اساس نام شروع کنید. +cli.cmd.queue.stop.description: صف را بر اساس نام متوقف کنید. +cli.cmd.queue.paused: + ⚪🧩 صف‌ها متوقف شده‌اند. برای بررسی وضعیت `queue status` را ارسال کنید. +cli.cmd.queue.resumed: + 🟢🧩 صف‌ها از سر گرفته شدند. برای بررسی وضعیت `queue status` را ارسال کنید. +cli.cmd.queue.status.result: >- + 📊 وضعیت صف: + + {{#queues}} + + - **{{name}}**: {{#locked}}🔒{{/locked}}{{#paused}}⚪ + متوقف{{/paused}}{{^paused}}🟢 فعال{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + مدت تلاش برای دانلود رسانه هر پیام را مشخص می‌کند. +cli.cmd.messages.pull.argument.end: + پایان بازه دریافت را تعیین می‌کند؛ برای مثال `2d` یعنی دو روز پیش متوقف + می‌شود. +cli.cmd.messages.pull.argument.start: + آغاز بازه دریافت را تعیین می‌کند؛ برای مثال `1d` یعنی یک روز پیش (پیش‌فرض `0d` + یعنی اکنون). +cli.cmd.messages.pull.already-running: >- + ⏳ کار **Pull Messages** هم‌اکنون برای **{{{chat}}}** در حال اجراست. منتظر + بمانید تا تمام شود یا قبل از شروع کار جدید، آن را متوقف کنید. + + + برای جزئیات `messages status` را ارسال کنید. +cli.cmd.messages.status.not-found: + ℹ️ هیچ کار فعال **Pull Messages** پیدا نشد. با `messages pull` یک کار را آغاز + کنید. +cli.cmd.messages.pull.no-chats-found: + هیچ گفت‌وگوی واتساپی برای این بازه زمانی پیدا نشد. +cli.cmd.contacts.pull.option.progress: + پیشرفت را هر N مخاطب اعلام می‌کند. مقدار 0 گزارش‌ها را غیرفعال می‌کند. +cli.cmd.contacts.pull.option.lids: + مخاطبین ناشناس واتساپ (LID) را در همگام‌سازی وارد می‌کند. +task.contacts.completed: + 👤✅ مخاطبین تکمیل شدند → 🆕 {{progress.created}}، 🔄 {{progress.updated}}، ⚪ + {{progress.skipped}}، 🔴 {{progress.errors}}، 🖼️ {{progress.avatar.updated}} +task.messages.started: ⏳ در حال دریافت پیام‌ها 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: + برای جزئیات بیشتر "{{{prefix}}}messages status" را ارسال کنید. +task.messages.progress: + '⏳ پیام‌های {{{chat}}}: 🆕 {{progress.ok}}، 🟢 {{progress.exists}}، ⚪ + {{progress.ignored}}، 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ پیام‌های {{{chat}}} در {{{period}}} → 🆕 {{progress.ok}}، 🟢 + {{progress.exists}}، ⚪ {{progress.ignored}}، 🔴 {{progress.errors}} +task.messages.status: |- + پیام‌های **{{{chat}}}** در بازه ⏱️ **{{{period}}}**: + - ⚙️ وضعیت کار: **{{state}}** + {{#last}} + - 📅 آخرین پردازش: **{{{last}}}** + {{/last}} + - 💬 ایجاد شده در: **{{{chats}}}** گفت‌وگو + - 🆕 ایجاد شده: **{{{progress.ok}}}** پیام + - 🟢 موجود: {{{progress.exists}}} پیام + - ⚪ نادیده گرفته شده: {{{progress.ignored}}} پیام + - 🔴 خطا: {{{progress.errors}}} پیام + + جزئیات: + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/fr-FR.yaml b/src/apps/chatwoot/i18n/locales/fr-FR.yaml index a58fa34b..01d2f339 100644 --- a/src/apps/chatwoot/i18n/locales/fr-FR.yaml +++ b/src/apps/chatwoot/i18n/locales/fr-FR.yaml @@ -193,9 +193,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- Inclure les contacts de groupes WhatsApp dans la synchronisation. -cli.cmd.contacts.pull.option.no-lids: |- - Exclure les contacts LID WhatsApp (JID d'appareil lié) de la synchronisation. - cli.cmd.contacts.pull.option.no-attributes: |- Ne pas importer les attributs si le contact existe déjà (accélère le processus). @@ -204,12 +201,6 @@ cli.cmd.contacts.pull.already-running: |- Envoyez `contacts status` pour plus de détails. -cli.cmd.contacts.pull.queued: |- - 👥 Tâche **Pull Contacts** mise en file d'attente. - - Nous partagerons une mise à jour toutes les **{{batch}}** contacts. - L'import peut prendre du temps — consultez l'état le plus récent à tout moment avec `contacts status`. - cli.cmd.options.job.attempts: |- Nombre de tentatives avant de marquer la tâche comme échouée. @@ -512,3 +503,144 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **Message du client :** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: Inconnu +ERROR: Erreur +PENDING: Envoi en cours +SERVER: Serveur +DEVICE: Appareil +READ: Lu +PLAYED: Écouté +whatsapp.to.chatwoot.message.has.media.no.media: >- + {{#content}} + + {{{content}}} + + + {{/content}} + + 🖼️⚠️ **Le message contient un média, mais nous n’avons pas pu le télécharger** + + 📱 Ouvrez **WhatsApp** pour le consulter. + + + {{^content}} + + Détails : [{{{details.text}}}]({{{details.url}}}) + + {{/content}} +cli.cmd.root.sub.queue: '🧩 **File** :' +cli.cmd.messages.summary: Récupérer les messages WhatsApp. +cli.cmd.messages.description: + 💬 Exécutez `messages pull` pour lancer la synchronisation ou `messages + status` pour suivre l’avancement. +cli.cmd.messages.action.description: + '`pull` pour lancer la récupération ou `status` pour inspecter la tâche en + cours.' +cli.cmd.messages.pull.option.chat: + Limite la récupération à un identifiant de conversation WhatsApp précis. +cli.cmd.messages.pull.option.force: + Force la boîte de réception à créer des messages même si le message WhatsApp + existe déjà dans le mappage de la conversation. +cli.cmd.messages.pull.option.batch: Nombre de messages récupérés à chaque lot. +cli.cmd.messages.pull.option.progress: + Annonce la progression toutes les N messages. Mettre 0 pour désactiver les + rapports. +cli.cmd.messages.pull.option.no-dm: + Ignore les messages directs lors de la récupération de l’historique. +cli.cmd.messages.pull.option.groups: + Inclut les groupes WhatsApp lors de la récupération de l’historique. +cli.cmd.messages.pull.option.channels: + Inclut les canaux WhatsApp lors de la récupération de l’historique. +cli.cmd.messages.pull.option.status: + Inclut les statuts WhatsApp lors de la récupération de l’historique. +cli.cmd.messages.pull.option.broadcast: + Inclut les listes de diffusion lors de la récupération de l’historique. +cli.cmd.messages.pull.option.media: + Télécharge les pièces jointes (images, vidéos, fichiers) lors de la + récupération. +cli.cmd.messages.pull.option.pause: + Met la tâche de récupération en file d’attente à l’arrêt, suspendant les + nouveaux messages WhatsApp jusqu’à la fin. +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ Impossible d’utiliser `--pause` car la commande **queue** est désactivée + dans cette configuration. +cli.cmd.queue.description: Gérer les files. +cli.cmd.queue.summary: Effectuer des actions sur les files. +cli.cmd.queue.action.description: Choisissez une action. +cli.cmd.queue.status.description: Affiche l’état d’une file. +cli.cmd.queue.argument.name: + 'Nom de la file : `inbox` ou `whatsapp` (facultatif).' +cli.cmd.queue.start.description: Démarre une file par son nom. +cli.cmd.queue.stop.description: Arrête une file par son nom. +cli.cmd.queue.paused: + ⚪🧩 Les files ont été mises en pause. Envoyez `queue status` pour vérifier + l’état. +cli.cmd.queue.resumed: + 🟢🧩 Les files ont repris. Envoyez `queue status` pour vérifier l’état. +cli.cmd.queue.status.result: >- + 📊 État de la file : + + {{#queues}} + + - **{{name}}** : {{#locked}}🔒{{/locked}}{{#paused}}⚪ En + pause{{/paused}}{{^paused}}🟢 En cours{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + Définit la durée d’une tentative de téléchargement des médias de chaque + message. +cli.cmd.messages.pull.argument.end: + Définit la fin de la fenêtre de récupération, par exemple `2d` s’arrête deux + jours en arrière. +cli.cmd.messages.pull.argument.start: + Définit le début de la fenêtre, par exemple `1d` commence un jour en arrière + (par défaut `0d`, maintenant). +cli.cmd.messages.pull.already-running: >- + ⏳ La tâche **Pull Messages** est déjà en cours pour **{{{chat}}}**. Patientez + jusqu’à la fin ou arrêtez-la avant d’en lancer une nouvelle. + + + Envoyez `messages status` pour plus de détails. +cli.cmd.messages.status.not-found: + ℹ️ Aucune tâche **Pull Messages** active trouvée. Lancez-en une avec `messages + pull`. +cli.cmd.messages.pull.no-chats-found: + Aucune conversation WhatsApp trouvée pour cette période. +cli.cmd.contacts.pull.option.progress: + Annonce la progression toutes les N contacts. Mettre 0 pour désactiver les + rapports. +cli.cmd.contacts.pull.option.lids: + Inclut les contacts LID WhatsApp (contacts anonymes) dans la synchronisation. +task.contacts.completed: + 👤✅ Contacts terminés → 🆕 {{progress.created}}, 🔄 {{progress.updated}}, ⚪ + {{progress.skipped}}, 🔴 {{progress.errors}}, 🖼️ {{progress.avatar.updated}} +task.messages.started: + ⏳ Récupération des messages 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: + Envoyez "{{{prefix}}}messages status" pour plus de détails. +task.messages.progress: + '⏳ Messages {{{chat}}} : 🆕 {{progress.ok}}, 🟢 {{progress.exists}}, ⚪ + {{progress.ignored}}, 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ Messages {{{chat}}} pendant {{{period}}} → 🆕 {{progress.ok}}, 🟢 + {{progress.exists}}, ⚪ {{progress.ignored}}, 🔴 {{progress.errors}} +task.messages.status: |- + Messages **{{{chat}}}** sur la période ⏱️ **{{{period}}}** : + - ⚙️ État de la tâche : **{{state}}** + {{#last}} + - 📅 Dernier traité : **{{{last}}}** + {{/last}} + - 💬 Créés dans : **{{{chats}}}** conversations + - 🆕 Créés : **{{{progress.ok}}}** messages + - 🟢 Déjà existants : {{{progress.exists}}} messages + - ⚪ Ignorés : {{{progress.ignored}}} messages + - 🔴 Erreurs : {{{progress.errors}}} messages + + Détails : + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/he-IL.yaml b/src/apps/chatwoot/i18n/locales/he-IL.yaml index 8bf8ab25..b3fb71e2 100644 --- a/src/apps/chatwoot/i18n/locales/he-IL.yaml +++ b/src/apps/chatwoot/i18n/locales/he-IL.yaml @@ -193,9 +193,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- כלול בסנכרון אנשי קשר של קבוצות WhatsApp. -cli.cmd.contacts.pull.option.no-lids: |- - דלג בסנכרון על אנשי קשר מסוג LID של WhatsApp (כתובות JID של מכשירים מקושרים). - cli.cmd.contacts.pull.option.no-attributes: |- אל תמשוך מאפייני איש קשר אם הוא כבר קיים (מאיץ את התהליך). @@ -204,12 +201,6 @@ cli.cmd.contacts.pull.already-running: |- שלח `contacts status` לקבלת פרטים. -cli.cmd.contacts.pull.queued: |- - 👥 המשימה **Pull Contacts** בתור. - - נעדכן בהתקדמות כל **{{batch}}** אנשי קשר. - משיכת אנשי קשר יכולה לקחת זמן – בדוק בכל עת את הסטטוס האחרון עם `contacts status`. - cli.cmd.options.job.attempts: |- מספר ניסיונות החזרה לפני שסימנים את המשימה ככושלת. @@ -512,3 +503,116 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **הודעת הלקוח:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: לא ידוע +ERROR: שגיאה +PENDING: נשלח +SERVER: שרת +DEVICE: מכשיר +READ: נקרא +PLAYED: הושמע +whatsapp.to.chatwoot.message.has.media.no.media: |- + {{#content}} + {{{content}}} + + {{/content}} + 🖼️⚠️ **להודעה יש מדיה אך לא הצלחנו להוריד אותה** + 📱 פתחו את **WhatsApp** כדי לצפות. + + {{^content}} + פרטים: [{{{details.text}}}]({{{details.url}}}) + {{/content}} +cli.cmd.root.sub.queue: '🧩 **תור**:' +cli.cmd.messages.summary: משיכת הודעות WhatsApp. +cli.cmd.messages.description: + 💬 הפעילו `messages pull` כדי להתחיל סנכרון הודעות או `messages status` למעקב + אחר ההתקדמות. +cli.cmd.messages.action.description: + '`pull` להתחיל משיכה או `status` לבדיקת המשימה הפעילה.' +cli.cmd.messages.pull.option.chat: הגבלת המשיכה למזהה שיחה מסוים ב-WhatsApp. +cli.cmd.messages.pull.option.force: + אילוץ תיבת הדואר הנכנס ליצור הודעות גם אם ההודעה כבר קיימת במיפוי השיחה. +cli.cmd.messages.pull.option.batch: כמות ההודעות הנמשכות בכל אצווה. +cli.cmd.messages.pull.option.progress: + דיווח על ההתקדמות כל N הודעות. ערך 0 מבטל את הדוחות. +cli.cmd.messages.pull.option.no-dm: דילוג על הודעות פרטיות בעת משיכת ההיסטוריה. +cli.cmd.messages.pull.option.groups: הכללת קבוצות WhatsApp בעת משיכת ההיסטוריה. +cli.cmd.messages.pull.option.channels: הכללת ערוצי WhatsApp בעת משיכת ההיסטוריה. +cli.cmd.messages.pull.option.status: + הכללת סטטוסים של WhatsApp בעת משיכת ההיסטוריה. +cli.cmd.messages.pull.option.broadcast: הכללת רשימות שידור בעת משיכת ההיסטוריה. +cli.cmd.messages.pull.option.media: + הורדת קבצי מדיה (תמונות, סרטונים, קבצים) בעת משיכת ההיסטוריה. +cli.cmd.messages.pull.option.pause: + הכנסת משימת המשיכה לתור במצב מושהה ועצירת עיבוד הודעות WhatsApp חדשות עד + לסיום. +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ לא ניתן להשתמש ב-`--pause` כי הפקודה **queue** מושבתת בתצורה זו. +cli.cmd.queue.description: ניהול תורים. +cli.cmd.queue.summary: ביצוע פעולות על תורים. +cli.cmd.queue.action.description: בחרו פעולה. +cli.cmd.queue.status.description: הצגת מצב התור. +cli.cmd.queue.argument.name: 'שם התור: `inbox` או `whatsapp` (רשות).' +cli.cmd.queue.start.description: הפעלת תור לפי שם. +cli.cmd.queue.stop.description: עצירת תור לפי שם. +cli.cmd.queue.paused: ⚪🧩 התורים הושהו. שלחו `queue status` כדי לבדוק את המצב. +cli.cmd.queue.resumed: 🟢🧩 התורים חודשו. שלחו `queue status` כדי לבדוק את המצב. +cli.cmd.queue.status.result: >- + 📊 מצב התור: + + {{#queues}} + + - **{{name}}**: {{#locked}}🔒{{/locked}}{{#paused}}⚪ + מושהה{{/paused}}{{^paused}}🟢 פעיל{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + הגדרת משך הניסיון להוריד מדיה לכל הודעה. +cli.cmd.messages.pull.argument.end: + הגדרת נקודת הסיום של חלון המשיכה; למשל `2d` נעצר יומיים אחורה. +cli.cmd.messages.pull.argument.start: + הגדרת נקודת ההתחלה של החלון; למשל `1d` מתחיל יום אחורה (ברירת המחדל `0d`, + כלומר עכשיו). +cli.cmd.messages.pull.already-running: >- + ⏳ המשימה **Pull Messages** כבר פועלת עבור **{{{chat}}}**. המתינו לסיום או + עצרו לפני התחלת משימה חדשה. + + + שלחו `messages status` לפרטים. +cli.cmd.messages.status.not-found: + ℹ️ לא נמצאה משימת **Pull Messages** פעילה. התחילו אחת עם `messages pull`. +cli.cmd.messages.pull.no-chats-found: לא נמצאו שיחות WhatsApp למשיכה בתקופה זו. +cli.cmd.contacts.pull.option.progress: + דיווח על התקדמות כל N אנשי קשר. ערך 0 מבטל את הדוחות. +cli.cmd.contacts.pull.option.lids: + הכללת אנשי קשר אנונימיים של WhatsApp (LID) בסנכרון. +task.contacts.completed: + 👤✅ השלמת אנשי קשר → 🆕 {{progress.created}}, 🔄 {{progress.updated}}, ⚪ + {{progress.skipped}}, 🔴 {{progress.errors}}, 🖼️ {{progress.avatar.updated}} +task.messages.started: ⏳ מושכים הודעות 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: שלחו "{{{prefix}}}messages status" לעוד פרטים. +task.messages.progress: + '⏳ הודעות {{{chat}}}: 🆕 {{progress.ok}}, 🟢 {{progress.exists}}, ⚪ + {{progress.ignored}}, 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ הודעות {{{chat}}} במהלך {{{period}}} → 🆕 {{progress.ok}}, 🟢 + {{progress.exists}}, ⚪ {{progress.ignored}}, 🔴 {{progress.errors}} +task.messages.status: |- + הודעות **{{{chat}}}** בתקופה ⏱️ **{{{period}}}**: + - ⚙️ מצב המשימה: **{{state}}** + {{#last}} + - 📅 תאריך עיבוד אחרון: **{{{last}}}** + {{/last}} + - 💬 נוצרו ב-**{{{chats}}}** שיחות + - 🆕 נוצרו: **{{{progress.ok}}}** הודעות + - 🟢 קיימות כבר: {{{progress.exists}}} הודעות + - ⚪ הוזנחו: {{{progress.ignored}}} הודעות + - 🔴 שגיאות: {{{progress.errors}}} הודעות + + פרטים: + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/hi-IN.yaml b/src/apps/chatwoot/i18n/locales/hi-IN.yaml index 04ecde16..c45cb18b 100644 --- a/src/apps/chatwoot/i18n/locales/hi-IN.yaml +++ b/src/apps/chatwoot/i18n/locales/hi-IN.yaml @@ -193,9 +193,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- सिंक में WhatsApp समूह संपर्क शामिल करें। -cli.cmd.contacts.pull.option.no-lids: |- - सिंक में WhatsApp LID संपर्क (linked-device JID) को छोड़ें। - cli.cmd.contacts.pull.option.no-attributes: |- यदि संपर्क पहले से मौजूद है तो उसके गुण न खींचें (इससे प्रक्रिया तेज होती है)। @@ -204,12 +201,6 @@ cli.cmd.contacts.pull.already-running: |- विवरण के लिए `contacts status` भेजें। -cli.cmd.contacts.pull.queued: |- - 👥 **Pull Contacts** कार्य कतार में जोड़ा गया। - - हम हर **{{batch}}** संपर्क पर प्रगति अपडेट साझा करेंगे। - संपर्क खींचने में समय लग सकता है — किसी भी समय `contacts status` से नवीनतम स्थिति देखें। - cli.cmd.options.job.attempts: |- कार्य को विफल मानने से पहले पुनः प्रयासों की संख्या। @@ -512,3 +503,129 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **ग्राहक संदेश:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: अज्ञात +ERROR: त्रुटि +PENDING: भेजा जा रहा है +SERVER: सर्वर +DEVICE: डिवाइस +READ: पढ़ा गया +PLAYED: चलाया गया +whatsapp.to.chatwoot.message.has.media.no.media: |- + {{#content}} + {{{content}}} + + {{/content}} + 🖼️⚠️ **संदेश में मीडिया है लेकिन हम इसे डाउनलोड नहीं कर सके** + 📱 कृपया इसे देखने के लिए **WhatsApp** खोलें। + + {{^content}} + विवरण: [{{{details.text}}}]({{{details.url}}}) + {{/content}} +cli.cmd.root.sub.queue: '🧩 **क्यू**:' +cli.cmd.messages.summary: WhatsApp संदेश खींचें। +cli.cmd.messages.description: + 💬 संदेश सिंक शुरू करने के लिए `messages pull` चलाएँ या प्रगति देखने के लिए + `messages status` चलाएँ। +cli.cmd.messages.action.description: + संदेश खींचने के लिए `pull` या सक्रिय कार्य देखने के लिए `status` का उपयोग + करें। +cli.cmd.messages.pull.option.chat: + खींचने को किसी विशिष्ट WhatsApp चैट आईडी तक सीमित करें। +cli.cmd.messages.pull.option.force: + अगर WhatsApp संदेश बातचीत मैपिंग में पहले से मौजूद है तब भी इनबॉक्स को संदेश + बनाने के लिए बाध्य करें। +cli.cmd.messages.pull.option.batch: + प्रत्येक बैच में खींचे जाने वाले संदेशों की संख्या। +cli.cmd.messages.pull.option.progress: + हर N संदेश पर प्रगति रिपोर्ट करें। रिपोर्ट बंद करने के लिए 0 सेट करें। +cli.cmd.messages.pull.option.no-dm: इतिहास खींचते समय डायरेक्ट संदेश छोड़ें। +cli.cmd.messages.pull.option.groups: इतिहास खींचते समय WhatsApp समूह शामिल करें। +cli.cmd.messages.pull.option.channels: + इतिहास खींचते समय WhatsApp चैनल शामिल करें। +cli.cmd.messages.pull.option.status: + इतिहास खींचते समय WhatsApp स्टेटस अपडेट शामिल करें। +cli.cmd.messages.pull.option.broadcast: + इतिहास खींचते समय प्रसारण सूचियाँ शामिल करें। +cli.cmd.messages.pull.option.media: + इतिहास खींचते समय मीडिया (छवियाँ, वीडियो, फाइलें) डाउनलोड करें। +cli.cmd.messages.pull.option.pause: + संदेश खींचने के कार्य को रोके गए अवस्था में कतार में डालें और पूरा होने तक नए + WhatsApp संदेशों की प्रोसेसिंग रोकें। +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ `--pause` का उपयोग नहीं किया जा सकता क्योंकि इस कॉन्फ़िगरेशन में **queue** + कमांड अक्षम है। +cli.cmd.queue.description: क्यू प्रबंधित करें। +cli.cmd.queue.summary: क्यू पर क्रियाएँ चलाएँ। +cli.cmd.queue.action.description: एक क्रिया चुनें। +cli.cmd.queue.status.description: किसी क्यू की स्थिति दिखाएँ। +cli.cmd.queue.argument.name: 'क्यू का नाम: `inbox` या `whatsapp` (वैकल्पिक)।' +cli.cmd.queue.start.description: नाम से क्यू शुरू करें। +cli.cmd.queue.stop.description: नाम से क्यू बंद करें। +cli.cmd.queue.paused: + ⚪🧩 क्यू रोक दी गई हैं। स्थिति देखने के लिए `queue status` भेजें। +cli.cmd.queue.resumed: + 🟢🧩 क्यू फिर से शुरू हो गई हैं। स्थिति देखने के लिए `queue status` भेजें। +cli.cmd.queue.status.result: >- + 📊 क्यू की स्थिति: + + {{#queues}} + + - **{{name}}**: {{#locked}}🔒{{/locked}}{{#paused}}⚪ रुकी + हुई{{/paused}}{{^paused}}🟢 सक्रिय{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + प्रत्येक संदेश के लिए मीडिया डाउनलोड करने की अवधि निर्धारित करें। +cli.cmd.messages.pull.argument.end: + खींचने की विंडो कहाँ समाप्त होगी, तय करें; उदाहरण के लिए `2d` दो दिन पहले + रुकता है। +cli.cmd.messages.pull.argument.start: + खींचने की विंडो कहाँ से शुरू होगी, तय करें; उदाहरण के लिए `1d` एक दिन पहले से + शुरू होता है (डिफ़ॉल्ट `0d`, यानी अभी)। +cli.cmd.messages.pull.already-running: >- + ⏳ **Pull Messages** कार्य पहले से ही **{{{chat}}}** के लिए चल रहा है। समाप्त + होने तक प्रतीक्षा करें या नया शुरू करने से पहले इसे रोकें। + + + विवरण के लिए `messages status` भेजें। +cli.cmd.messages.status.not-found: + ℹ️ कोई सक्रिय **Pull Messages** कार्य नहीं मिला। `messages pull` से एक शुरू + करें। +cli.cmd.messages.pull.no-chats-found: + निर्धारित अवधि के लिए कोई WhatsApp चैट नहीं मिली। +cli.cmd.contacts.pull.option.progress: + हर N संपर्क पर प्रगति रिपोर्ट करें। रिपोर्ट बंद करने के लिए 0 सेट करें। +cli.cmd.contacts.pull.option.lids: + सिंक में WhatsApp LID (अनाम) संपर्क शामिल करें। +task.contacts.completed: + 👤✅ संपर्क पूरे → 🆕 {{progress.created}}, 🔄 {{progress.updated}}, ⚪ + {{progress.skipped}}, 🔴 {{progress.errors}}, 🖼️ {{progress.avatar.updated}} +task.messages.started: + ⏳ संदेश खींचे जा रहे हैं 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: और जानकारी के लिए "{{{prefix}}}messages status" भेजें। +task.messages.progress: + '⏳ संदेश {{{chat}}}: 🆕 {{progress.ok}}, 🟢 {{progress.exists}}, ⚪ + {{progress.ignored}}, 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ संदेश {{{chat}}} में {{{period}}} → 🆕 {{progress.ok}}, 🟢 + {{progress.exists}}, ⚪ {{progress.ignored}}, 🔴 {{progress.errors}} +task.messages.status: |- + **{{{chat}}}** के संदेश ⏱️ **{{{period}}}** अवधि में: + - ⚙️ कार्य की स्थिति: **{{state}}** + {{#last}} + - 📅 अंतिम संसाधित: **{{{last}}}** + {{/last}} + - 💬 बनाए गए चैट: **{{{chats}}}** + - 🆕 बनाए गए: **{{{progress.ok}}}** संदेश + - 🟢 पहले से मौजूद: {{{progress.exists}}} संदेश + - ⚪ अनदेखा: {{{progress.ignored}}} संदेश + - 🔴 त्रुटियाँ: {{{progress.errors}}} संदेश + + विवरण: + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/id-ID.yaml b/src/apps/chatwoot/i18n/locales/id-ID.yaml index 3206bcb9..a9c5c748 100644 --- a/src/apps/chatwoot/i18n/locales/id-ID.yaml +++ b/src/apps/chatwoot/i18n/locales/id-ID.yaml @@ -193,9 +193,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- Sertakan kontak grup WhatsApp dalam sinkronisasi. -cli.cmd.contacts.pull.option.no-lids: |- - Lewati kontak LID WhatsApp (JID perangkat terhubung) saat sinkronisasi. - cli.cmd.contacts.pull.option.no-attributes: |- Jangan ambil atribut kontak jika kontak sudah ada (mempercepat proses). @@ -204,12 +201,6 @@ cli.cmd.contacts.pull.already-running: |- Kirim `contacts status` untuk detail. -cli.cmd.contacts.pull.queued: |- - 👥 Pekerjaan **Pull Contacts** masuk antrean. - - Kami akan membagikan pembaruan progres setiap **{{batch}}** kontak. - Penarikan kontak bisa memakan waktu—periksa status terbaru kapan saja dengan `contacts status`. - cli.cmd.options.job.attempts: |- Jumlah percobaan ulang sebelum pekerjaan dianggap gagal. @@ -512,3 +503,129 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **Pesan Pelanggan:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: Tidak diketahui +ERROR: Kesalahan +PENDING: Mengirim +SERVER: Server +DEVICE: Perangkat +READ: Dibaca +PLAYED: Diputar +whatsapp.to.chatwoot.message.has.media.no.media: |- + {{#content}} + {{{content}}} + + {{/content}} + 🖼️⚠️ **Pesan memiliki media, tetapi kami tidak dapat mengunduhnya** + 📱 Buka **WhatsApp** untuk melihatnya. + + {{^content}} + Detail: [{{{details.text}}}]({{{details.url}}}) + {{/content}} +cli.cmd.root.sub.queue: '🧩 **Antrian**:' +cli.cmd.messages.summary: Tarik pesan WhatsApp. +cli.cmd.messages.description: + 💬 Jalankan `messages pull` untuk memulai sinkronisasi pesan atau `messages + status` untuk memantau progres. +cli.cmd.messages.action.description: + '`pull` untuk memulai penarikan pesan atau `status` untuk memeriksa pekerjaan + yang berjalan.' +cli.cmd.messages.pull.option.chat: + Batasi penarikan pada ID chat WhatsApp tertentu. +cli.cmd.messages.pull.option.force: + Paksa kotak masuk membuat pesan meskipun pesan WhatsApp sudah ada di pemetaan + percakapan. +cli.cmd.messages.pull.option.batch: Jumlah pesan yang ditarik di setiap batch. +cli.cmd.messages.pull.option.progress: + Laporkan progres setiap N pesan. Setel ke 0 untuk menonaktifkan laporan. +cli.cmd.messages.pull.option.no-dm: Lewati pesan langsung saat menarik riwayat. +cli.cmd.messages.pull.option.groups: + Sertakan grup WhatsApp saat menarik riwayat. +cli.cmd.messages.pull.option.channels: + Sertakan Channel WhatsApp saat menarik riwayat. +cli.cmd.messages.pull.option.status: + Sertakan pembaruan status WhatsApp saat menarik riwayat. +cli.cmd.messages.pull.option.broadcast: + Sertakan daftar siaran saat menarik riwayat. +cli.cmd.messages.pull.option.media: + Unduh lampiran media (gambar, video, file) saat menarik riwayat. +cli.cmd.messages.pull.option.pause: + Masukkan pekerjaan penarikan pesan ke antrian dalam keadaan jeda dan hentikan + pemrosesan pesan WhatsApp baru sampai selesai. +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ Tidak dapat menggunakan `--pause` karena perintah **queue** dinonaktifkan + pada konfigurasi ini. +cli.cmd.queue.description: Kelola antrian. +cli.cmd.queue.summary: Jalankan tindakan pada antrian. +cli.cmd.queue.action.description: Pilih sebuah tindakan. +cli.cmd.queue.status.description: Tampilkan status sebuah antrian. +cli.cmd.queue.argument.name: 'Nama antrian: `inbox` atau `whatsapp` (opsional).' +cli.cmd.queue.start.description: Mulai antrian berdasarkan nama. +cli.cmd.queue.stop.description: Hentikan antrian berdasarkan nama. +cli.cmd.queue.paused: + ⚪🧩 Antrian dijeda. Kirim `queue status` untuk memeriksa status. +cli.cmd.queue.resumed: + 🟢🧩 Antrian dilanjutkan. Kirim `queue status` untuk memeriksa status. +cli.cmd.queue.status.result: >- + 📊 Status antrian: + + {{#queues}} + + - **{{name}}**: {{#locked}}🔒{{/locked}}{{#paused}}⚪ + Dijeda{{/paused}}{{^paused}}🟢 Berjalan{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + Tetapkan berapa lama mencoba mengunduh media untuk setiap pesan. +cli.cmd.messages.pull.argument.end: + Tetapkan titik akhir jendela penarikan; misalnya `2d` berhenti dua hari yang + lalu. +cli.cmd.messages.pull.argument.start: + Tetapkan titik awal jendela penarikan; misalnya `1d` dimulai satu hari yang + lalu (default `0d`, yaitu sekarang). +cli.cmd.messages.pull.already-running: >- + ⏳ Pekerjaan **Pull Messages** sudah berjalan untuk **{{{chat}}}**. Tunggu + hingga selesai atau hentikan sebelum memulai yang baru. + + + Kirim `messages status` untuk detail. +cli.cmd.messages.status.not-found: + ℹ️ Tidak ada pekerjaan **Pull Messages** aktif yang ditemukan. Mulai dengan + `messages pull`. +cli.cmd.messages.pull.no-chats-found: + Tidak ada chat WhatsApp yang ditemukan untuk periode tersebut. +cli.cmd.contacts.pull.option.progress: + Laporkan progres setiap N kontak. Setel ke 0 untuk menonaktifkan laporan. +cli.cmd.contacts.pull.option.lids: + Sertakan kontak WhatsApp LID (kontak anonim) dalam sinkronisasi. +task.contacts.completed: + 👤✅ Kontak selesai → 🆕 {{progress.created}}, 🔄 {{progress.updated}}, ⚪ + {{progress.skipped}}, 🔴 {{progress.errors}}, 🖼️ {{progress.avatar.updated}} +task.messages.started: ⏳ Menarik pesan 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: + Kirim "{{{prefix}}}messages status" untuk melihat rincian. +task.messages.progress: + '⏳ Pesan {{{chat}}}: 🆕 {{progress.ok}}, 🟢 {{progress.exists}}, ⚪ + {{progress.ignored}}, 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ Pesan {{{chat}}} selama {{{period}}} → 🆕 {{progress.ok}}, 🟢 + {{progress.exists}}, ⚪ {{progress.ignored}}, 🔴 {{progress.errors}} +task.messages.status: |- + Pesan **{{{chat}}}** dalam periode ⏱️ **{{{period}}}**: + - ⚙️ Status pekerjaan: **{{state}}** + {{#last}} + - 📅 Terakhir diproses: **{{{last}}}** + {{/last}} + - 💬 Dibuat di: **{{{chats}}}** percakapan + - 🆕 Dibuat: **{{{progress.ok}}}** pesan + - 🟢 Sudah ada: {{{progress.exists}}} pesan + - ⚪ Diabaikan: {{{progress.ignored}}} pesan + - 🔴 Kesalahan: {{{progress.errors}}} pesan + + Detail: + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/pa-PK.yaml b/src/apps/chatwoot/i18n/locales/pa-PK.yaml index 8617af2f..77ab76f0 100644 --- a/src/apps/chatwoot/i18n/locales/pa-PK.yaml +++ b/src/apps/chatwoot/i18n/locales/pa-PK.yaml @@ -193,9 +193,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- ਸਿੰਕ ਵਿੱਚ WhatsApp ਗਰੁੱਪ ਸੰਪਰਕ ਸ਼ਾਮਲ ਕਰੋ। -cli.cmd.contacts.pull.option.no-lids: |- - ਸਿੰਕ ਵਿੱਚ WhatsApp LID ਸੰਪਰਕ (ਲਿੰਕਡ-ਡਿਵਾਈਸ JID) ਨੂੰ ਛੱਡੋ। - cli.cmd.contacts.pull.option.no-attributes: |- ਜੇ ਸੰਪਰਕ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ ਤਾਂ ਉਸਦੇ ਗੁਣ ਨਾ ਖਿੱਚੋ (ਇਸ ਨਾਲ ਪ੍ਰਕਿਰਿਆ ਤੇਜ਼ ਹੁੰਦੀ ਹੈ)। @@ -204,12 +201,6 @@ cli.cmd.contacts.pull.already-running: |- ਵੇਰਵਿਆਂ ਲਈ `contacts status` ਭੇਜੋ। -cli.cmd.contacts.pull.queued: |- - 👥 **Pull Contacts** ਕੰਮ ਕਤਾਰ ਵਿੱਚ ਲਗਾਇਆ ਗਿਆ ਹੈ। - - ਅਸੀਂ ਹਰ **{{batch}}** ਸੰਪਰਕ ਤੋਂ ਬਾਅਦ ਤਰੱਕੀ ਅਪਡੇਟ ਸਾਂਝੇ ਕਰਾਂਗੇ। - ਸੰਪਰਕ ਖਿੱਚਣ ਵਿੱਚ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ — ਕਿਸੇ ਵੀ ਵੇਲੇ `contacts status` ਨਾਲ ਤਾਜ਼ਾ ਸਥਿਤੀ ਜਾਂਚੋ। - cli.cmd.options.job.attempts: |- ਕੰਮ ਨੂੰ ਅਸਫਲ ਘੋਸ਼ਿਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ਾਂ ਦੀ ਗਿਣਤੀ। @@ -512,3 +503,127 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **ਗਾਹਕ ਦਾ ਸੁਨੇਹਾ:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: ਅਣਜਾਣ +ERROR: ਗਲਤੀ +PENDING: ਭੇਜਿਆ ਜਾ ਰਿਹਾ ਹੈ +SERVER: ਸਰਵਰ +DEVICE: ਜੰਤਰ +READ: ਪੜ੍ਹਿਆ ਗਿਆ +PLAYED: ਚਲਾਇਆ ਗਿਆ +whatsapp.to.chatwoot.message.has.media.no.media: |- + {{#content}} + {{{content}}} + + {{/content}} + 🖼️⚠️ **ਸੁਨੇਹੇ ਵਿੱਚ ਮੀਡੀਆ ਹੈ ਪਰ ਅਸੀਂ ਇਸਨੂੰ ਡਾਊਨਲੋਡ ਨਹੀਂ ਕਰ ਸਕੇ** + 📱 ਕਿਰਪਾ ਕਰਕੇ ਵੇਖਣ ਲਈ **WhatsApp** ਖੋਲ੍ਹੋ। + + {{^content}} + ਵੇਰਵੇ: [{{{details.text}}}]({{{details.url}}}) + {{/content}} +cli.cmd.root.sub.queue: '🧩 **ਕਤਾਰ**:' +cli.cmd.messages.summary: WhatsApp ਸੁਨੇਹੇ ਖਿੱਚੋ। +cli.cmd.messages.description: + 💬 ਸੁਨੇਹੇ ਸਿੰਕ ਕਰਨ ਲਈ `messages pull` ਚਲਾਓ ਜਾਂ ਪ੍ਰਗਤੀ ਦੇਖਣ ਲਈ `messages + status` ਚਲਾਓ। +cli.cmd.messages.action.description: + ਸੁਨੇਹੇ ਖਿੱਚਣ ਲਈ `pull` ਜਾਂ ਸਕ੍ਰਿਆ ਕੰਮ ਦੇਖਣ ਲਈ `status` ਵਰਤੋਂ। +cli.cmd.messages.pull.option.chat: + ਖਿੱਚਣ ਨੂੰ ਕਿਸੇ ਖਾਸ WhatsApp ਚੈਟ ID ਤੱਕ ਸੀਮਿਤ ਕਰੋ। +cli.cmd.messages.pull.option.force: + ਜੇ WhatsApp ਸੁਨੇਹਾ ਪਹਿਲਾਂ ਹੀ ਗੱਲਬਾਤ ਦੇ ਮੈਪ ਵਿੱਚ ਹੈ ਤਾਂ ਵੀ ਇਨਬਾਕਸ ਨੂੰ ਸੁਨੇਹੇ + ਬਣਾਉਣ ਲਈ ਮਜਬੂਰ ਕਰੋ। +cli.cmd.messages.pull.option.batch: + ਹਰ ਬੈਚ ਵਿੱਚ ਖਿੱਚੇ ਜਾਣ ਵਾਲੇ ਸੁਨੇਹਿਆਂ ਦੀ ਗਿਣਤੀ। +cli.cmd.messages.pull.option.progress: + ਹਰ N ਸੁਨੇਹਿਆਂ ’ਤੇ ਪ੍ਰਗਤੀ ਦੀ ਰਿਪੋਰਟ ਕਰੋ। ਰਿਪੋਰਟਾਂ ਬੰਦ ਕਰਨ ਲਈ 0 ਸੈੱਟ ਕਰੋ। +cli.cmd.messages.pull.option.no-dm: ਇਤਿਹਾਸ ਖਿੱਚਦੇ ਸਮੇਂ ਡਾਇਰੈਕਟ ਸੁਨੇਹੇ ਛੱਡੋ। +cli.cmd.messages.pull.option.groups: + ਇਤਿਹਾਸ ਖਿੱਚਦੇ ਸਮੇਂ WhatsApp ਗਰੁੱਪ ਸ਼ਾਮਲ ਕਰੋ। +cli.cmd.messages.pull.option.channels: + ਇਤਿਹਾਸ ਖਿੱਚਦੇ ਸਮੇਂ WhatsApp ਚੈਨਲ ਸ਼ਾਮਲ ਕਰੋ। +cli.cmd.messages.pull.option.status: + ਇਤਿਹਾਸ ਖਿੱਚਦੇ ਸਮੇਂ WhatsApp ਸਟੇਟਸ ਅੱਪਡੇਟ ਸ਼ਾਮਲ ਕਰੋ। +cli.cmd.messages.pull.option.broadcast: + ਇਤਿਹਾਸ ਖਿੱਚਦੇ ਸਮੇਂ ਪ੍ਰਸਾਰਣ ਸੂਚੀਆਂ ਸ਼ਾਮਲ ਕਰੋ। +cli.cmd.messages.pull.option.media: + ਇਤਿਹਾਸ ਖਿੱਚਦੇ ਸਮੇਂ ਮੀਡੀਆ (ਤਸਵੀਰਾਂ, ਵੀਡੀਓ, ਫਾਈਲਾਂ) ਡਾਊਨਲੋਡ ਕਰੋ। +cli.cmd.messages.pull.option.pause: + ਸੁਨੇਹੇ ਖਿੱਚਣ ਦਾ ਕੰਮ ਠਹਿਰੇ ਹੋਏ ਹਾਲਤ ਵਿੱਚ ਕਤਾਰ ਵਿੱਚ ਪਾਓ ਅਤੇ ਮੁਕੰਮਲ ਹੋਣ ਤੱਕ ਨਵੇਂ + WhatsApp ਸੁਨੇਹਿਆਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਰੋਕੋ। +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ `--pause` ਵਰਤ ਨਹੀਂ ਸਕਦੇ ਕਿਉਂਕਿ ਇਸ ਸੰਰਚਨਾ ਵਿੱਚ **queue** ਹੁਕਮ ਅਸਮਰੱਥ ਹੈ। +cli.cmd.queue.description: ਕਤਾਰਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ। +cli.cmd.queue.summary: ਕਤਾਰਾਂ ’ਤੇ ਕਾਰਵਾਈਆਂ ਕਰੋ। +cli.cmd.queue.action.description: ਇੱਕ ਕਾਰਵਾਈ ਚੁਣੋ। +cli.cmd.queue.status.description: ਕਤਾਰ ਦੀ ਸਥਿਤੀ ਦਿਖਾਓ। +cli.cmd.queue.argument.name: 'ਕਤਾਰ ਦਾ ਨਾਮ: `inbox` ਜਾਂ `whatsapp` (ਵਿਕਲਪਿਕ)।' +cli.cmd.queue.start.description: ਨਾਂ ਦੁਆਰਾ ਕਤਾਰ ਸ਼ੁਰੂ ਕਰੋ। +cli.cmd.queue.stop.description: ਨਾਂ ਦੁਆਰਾ ਕਤਾਰ ਰੋਕੋ। +cli.cmd.queue.paused: + ⚪🧩 ਕਤਾਰਾਂ ਨੂੰ ਰੋਕ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਸਥਿਤੀ ਜਾਂਚਣ ਲਈ `queue status` ਭੇਜੋ। +cli.cmd.queue.resumed: + 🟢🧩 ਕਤਾਰਾਂ ਮੁੜ ਚਾਲੂ ਹੋ ਚੁੱਕੀਆਂ ਹਨ। ਸਥਿਤੀ ਜਾਂਚਣ ਲਈ `queue status` ਭੇਜੋ। +cli.cmd.queue.status.result: >- + 📊 ਕਤਾਰ ਦੀ ਸਥਿਤੀ: + + {{#queues}} + + - **{{name}}**: {{#locked}}🔒{{/locked}}{{#paused}}⚪ ਰੋਕੀ + ਗਈ{{/paused}}{{^paused}}🟢 ਚੱਲ ਰਹੀ{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + ਹਰ ਸੁਨੇਹੇ ਲਈ ਮੀਡੀਆ ਡਾਊਨਲੋਡ ਕਰਨ ਦਾ ਸਮਾਂ ਨਿਰਧਾਰਤ ਕਰੋ। +cli.cmd.messages.pull.argument.end: + ਖਿੱਚਣ ਦੀ ਵਿੰਡੋ ਕਿੱਥੇ ਖਤਮ ਹੁੰਦੀ ਹੈ ਨਿਰਧਾਰਤ ਕਰੋ; ਜਿਵੇਂ `2d` ਦੋ ਦਿਨ ਪਹਿਲਾਂ ਰੁਕਦਾ + ਹੈ। +cli.cmd.messages.pull.argument.start: + ਖਿੱਚਣ ਦੀ ਵਿੰਡੋ ਕਿੱਥੋਂ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਨਿਰਧਾਰਤ ਕਰੋ; ਜਿਵੇਂ `1d` ਇੱਕ ਦਿਨ ਪਹਿਲਾਂ + ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ (ਡਿਫ਼ਾਲਟ `0d`, ਅਰਥਾਤ ਹੁਣ)। +cli.cmd.messages.pull.already-running: >- + ⏳ **Pull Messages** ਕੰਮ ਪਹਿਲਾਂ ਹੀ **{{{chat}}}** ਲਈ ਚੱਲ ਰਿਹਾ ਹੈ। ਨਵਾਂ ਸ਼ੁਰੂ + ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸਦੇ ਮੁਕੰਮਲ ਹੋਣ ਦੀ ਉਡੀਕ ਕਰੋ ਜਾਂ ਇਸਨੂੰ ਰੋਕੋ। + + + ਵੇਰਵੇ ਲਈ `messages status` ਭੇਜੋ। +cli.cmd.messages.status.not-found: + ℹ️ ਕੋਈ ਸਰਗਰਮ **Pull Messages** ਕੰਮ ਨਹੀਂ ਮਿਲਿਆ। `messages pull` ਨਾਲ ਇੱਕ ਸ਼ੁਰੂ + ਕਰੋ। +cli.cmd.messages.pull.no-chats-found: ਇਸ ਅਵਧੀ ਲਈ ਕੋਈ WhatsApp ਚੈਟ ਨਹੀਂ ਮਿਲੀ। +cli.cmd.contacts.pull.option.progress: + ਹਰ N ਸੰਪਰਕ ’ਤੇ ਪ੍ਰਗਤੀ ਦੱਸੋ। ਰਿਪੋਰਟਾਂ ਬੰਦ ਕਰਨ ਲਈ 0 ਸੈੱਟ ਕਰੋ। +cli.cmd.contacts.pull.option.lids: + ਸਿੰਕ ਵਿੱਚ WhatsApp LID (ਅਣਪਛਾਤੇ) ਸੰਪਰਕ ਸ਼ਾਮਲ ਕਰੋ। +task.contacts.completed: + 👤✅ ਸੰਪਰਕ ਮੁਕੰਮਲ → 🆕 {{progress.created}}, 🔄 {{progress.updated}}, ⚪ + {{progress.skipped}}, 🔴 {{progress.errors}}, 🖼️ {{progress.avatar.updated}} +task.messages.started: + ⏳ ਸੁਨੇਹੇ ਖਿੱਚੇ ਜਾ ਰਹੇ ਹਨ 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: ਵਧੇਰੇ ਵੇਰਵਿਆਂ ਲਈ "{{{prefix}}}messages status" ਭੇਜੋ। +task.messages.progress: + '⏳ ਸੁਨੇਹੇ {{{chat}}}: 🆕 {{progress.ok}}, 🟢 {{progress.exists}}, ⚪ + {{progress.ignored}}, 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ ਸੁਨੇਹੇ {{{chat}}} ਵਿਚ {{{period}}} → 🆕 {{progress.ok}}, 🟢 + {{progress.exists}}, ⚪ {{progress.ignored}}, 🔴 {{progress.errors}} +task.messages.status: |- + **{{{chat}}}** ਦੇ ਸੁਨੇਹੇ ⏱️ **{{{period}}}** ਸਮੇਂ ਵਿੱਚ: + - ⚙️ ਕੰਮ ਦੀ ਸਥਿਤੀ: **{{state}}** + {{#last}} + - 📅 ਆਖ਼ਰੀ ਪ੍ਰਕਿਰਿਆ: **{{{last}}}** + {{/last}} + - 💬 ਬਣਾਇਆ ਗਿਆ: **{{{chats}}}** ਚੈਟਾਂ ਵਿੱਚ + - 🆕 ਬਣਾਇਆ: **{{{progress.ok}}}** ਸੁਨੇਹੇ + - 🟢 ਪਹਿਲਾਂ ਤੋਂ ਮੌਜੂਦ: {{{progress.exists}}} ਸੁਨੇਹੇ + - ⚪ ਅਣਦੇਖੇ: {{{progress.ignored}}} ਸੁਨੇਹੇ + - 🔴 ਗਲਤੀਆਂ: {{{progress.errors}}} ਸੁਨੇਹੇ + + ਵੇਰਵੇ: + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/pt-BR.yaml b/src/apps/chatwoot/i18n/locales/pt-BR.yaml index 4f294860..a7bc116b 100644 --- a/src/apps/chatwoot/i18n/locales/pt-BR.yaml +++ b/src/apps/chatwoot/i18n/locales/pt-BR.yaml @@ -21,8 +21,6 @@ datetime: minute: 2-digit # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#timezonename timeZoneName: short - # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - timeZone: 'America/Sao_Paulo' job.report.error: |- ⚠️ **{{{header}}}** @@ -196,9 +194,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- Incluir contatos de grupo do WhatsApp na sincronização. -cli.cmd.contacts.pull.option.no-lids: |- - Ignorar contatos LID do WhatsApp (JID de dispositivo vinculado) na sincronização. - cli.cmd.contacts.pull.option.no-attributes: |- Não busque atributos do contato se ele já existir (acelera o processo). @@ -207,12 +202,6 @@ cli.cmd.contacts.pull.already-running: |- Envie `contacts status` para obter detalhes. -cli.cmd.contacts.pull.queued: |- - 👥 Trabalho **Pull Contacts** enfileirado. - - Compartilharemos atualizações a cada **{{batch}}** contatos. - Buscar contatos pode levar algum tempo — verifique o status mais recente a qualquer momento com `contacts status`. - cli.cmd.options.job.attempts: |- Número de tentativas antes de marcar o trabalho como falho. @@ -519,3 +508,134 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **MENSAGEM DO CLIENTE:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: Desconhecido +ERROR: Erro +PENDING: Enviando +SERVER: Servidor +DEVICE: Dispositivo +READ: Lido +PLAYED: Reproduzido +whatsapp.to.chatwoot.message.has.media.no.media: |- + {{#content}} + {{{content}}} + + {{/content}} + 🖼️⚠️ **A mensagem tem mídia, mas não conseguimos fazer o download** + 📱 Abra o **WhatsApp** para visualizá-la. + + {{^content}} + Detalhes: [{{{details.text}}}]({{{details.url}}}) + {{/content}} +cli.cmd.root.sub.queue: '🧩 **Fila**:' +cli.cmd.messages.summary: Buscar mensagens do WhatsApp. +cli.cmd.messages.description: + 💬 Execute `messages pull` para solicitar a sincronização de mensagens ou + `messages status` para acompanhar o progresso. +cli.cmd.messages.action.description: + '`pull` para iniciar a busca de mensagens ou `status` para inspecionar o + trabalho em andamento.' +cli.cmd.messages.pull.option.chat: + Limita a busca a um ID de conversa do WhatsApp específico. +cli.cmd.messages.pull.option.force: + Força a caixa de entrada a criar mensagens mesmo quando a mensagem do WhatsApp + já existe no mapeamento da conversa. +cli.cmd.messages.pull.option.batch: + Quantidade de mensagens buscadas em cada lote. +cli.cmd.messages.pull.option.progress: + Relata o progresso a cada N mensagens. Defina 0 para desativar os relatórios + de progresso. +cli.cmd.messages.pull.option.no-dm: + Ignora mensagens diretas ao buscar o histórico. +cli.cmd.messages.pull.option.groups: + Inclui conversas em grupo do WhatsApp ao buscar o histórico. +cli.cmd.messages.pull.option.channels: + Inclui canais do WhatsApp ao buscar o histórico. +cli.cmd.messages.pull.option.status: + Inclui atualizações de status do WhatsApp ao buscar o histórico. +cli.cmd.messages.pull.option.broadcast: + Inclui listas de transmissão ao buscar o histórico. +cli.cmd.messages.pull.option.media: + Baixa anexos de mídia (imagens, vídeos, arquivos) ao buscar o histórico. +cli.cmd.messages.pull.option.pause: + Enfileira o trabalho de busca de mensagens em estado pausado, interrompendo o + processamento de novos WhatsApp até finalizar. +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ Não é possível usar `--pause` porque o comando **queue** está desabilitado + nesta configuração. +cli.cmd.queue.description: Gerencie filas. +cli.cmd.queue.summary: Execute ações nas filas. +cli.cmd.queue.action.description: Escolha uma ação. +cli.cmd.queue.status.description: Mostra o status de uma fila. +cli.cmd.queue.argument.name: 'Nome da fila: `inbox` ou `whatsapp` (opcional).' +cli.cmd.queue.start.description: Inicia uma fila pelo nome. +cli.cmd.queue.stop.description: Para uma fila pelo nome. +cli.cmd.queue.paused: + ⚪🧩 As filas foram pausadas. Envie `queue status` para verificar o status. +cli.cmd.queue.resumed: + 🟢🧩 As filas foram retomadas. Envie `queue status` para verificar o status. +cli.cmd.queue.status.result: >- + 📊 Status da fila: + + {{#queues}} + + - **{{name}}**: {{#locked}}🔒{{/locked}}{{#paused}}⚪ Em + pausa{{/paused}}{{^paused}}🟢 Em execução{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + Define por quanto tempo tentar baixar a mídia de cada mensagem. +cli.cmd.messages.pull.argument.end: + Define até onde a janela de busca termina; por exemplo, `2d` encerra há dois + dias. +cli.cmd.messages.pull.argument.start: + Define onde a janela de busca começa; por exemplo, `1d` inicia há um dia + (padrão `0d`, ou seja, agora). +cli.cmd.messages.pull.already-running: >- + ⏳ O trabalho **Pull Messages** já está em execução para **{{{chat}}}**. + Aguarde terminar ou pare antes de iniciar outro. + + + Envie `messages status` para mais detalhes. +cli.cmd.messages.status.not-found: + ℹ️ Nenhum trabalho ativo de **Pull Messages** foi encontrado. Inicie um com + `messages pull`. +cli.cmd.messages.pull.no-chats-found: + Nenhuma conversa do WhatsApp encontrada para buscar mensagens nesse período. +cli.cmd.contacts.pull.option.progress: + Informa o progresso a cada N contatos. Defina 0 para desativar os relatórios + de progresso. +cli.cmd.contacts.pull.option.lids: + Inclui contatos LID do WhatsApp (contatos anônimos) na sincronização. +task.contacts.completed: + 👤✅ Contatos concluídos → 🆕 {{progress.created}}, 🔄 {{progress.updated}}, + ⚪ {{progress.skipped}}, 🔴 {{progress.errors}}, 🖼️ + {{progress.avatar.updated}} +task.messages.started: ⏳ Buscando mensagens 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: + Envie "{{{prefix}}}messages status" para ver mais detalhes. +task.messages.progress: + '⏳ Mensagens {{{chat}}}: 🆕 {{progress.ok}}, 🟢 {{progress.exists}}, ⚪ + {{progress.ignored}}, 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ Mensagens {{{chat}}} em {{{period}}} → 🆕 {{progress.ok}}, 🟢 + {{progress.exists}}, ⚪ {{progress.ignored}}, 🔴 {{progress.errors}} +task.messages.status: |- + Mensagens **{{{chat}}}** no período ⏱️ **{{{period}}}**: + - ⚙️ Estado do trabalho: **{{state}}** + {{#last}} + - 📅 Último processado: **{{{last}}}** + {{/last}} + - 💬 Criadas em: **{{{chats}}}** conversas + - 🆕 Criadas: **{{{progress.ok}}}** mensagens + - 🟢 Já existem: {{{progress.exists}}} mensagens + - ⚪ Ignoradas: {{{progress.ignored}}} mensagens + - 🔴 Erros: {{{progress.errors}}} mensagens + + Detalhes: + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/ru-RU.yaml b/src/apps/chatwoot/i18n/locales/ru-RU.yaml index 274992d1..5e6a34be 100644 --- a/src/apps/chatwoot/i18n/locales/ru-RU.yaml +++ b/src/apps/chatwoot/i18n/locales/ru-RU.yaml @@ -193,9 +193,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- Включить контакты групп WhatsApp в синхронизацию. -cli.cmd.contacts.pull.option.no-lids: |- - Пропускать контакты LID WhatsApp (JID привязанного устройства) при синхронизации. - cli.cmd.contacts.pull.option.no-attributes: |- Не загружать атрибуты контакта, если он уже существует (ускоряет процесс). @@ -204,12 +201,6 @@ cli.cmd.contacts.pull.already-running: |- Отправьте `contacts status` для подробностей. -cli.cmd.contacts.pull.queued: |- - 👥 Задание **Pull Contacts** поставлено в очередь. - - Мы будем отправлять обновления прогресса каждые **{{batch}}** контактов. - Загрузка контактов может занять время — проверяйте актуальный статус в любое время командой `contacts status`. - cli.cmd.options.job.attempts: |- Число повторных попыток до пометки задания как неуспешного. @@ -512,3 +503,131 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **Сообщение клиента:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: Неизвестно +ERROR: Ошибка +PENDING: Отправляется +SERVER: Сервер +DEVICE: Устройство +READ: Прочитано +PLAYED: Прослушано +whatsapp.to.chatwoot.message.has.media.no.media: |- + {{#content}} + {{{content}}} + + {{/content}} + 🖼️⚠️ **В сообщении есть медиа, но нам не удалось его скачать** + 📱 Откройте **WhatsApp**, чтобы посмотреть. + + {{^content}} + Подробности: [{{{details.text}}}]({{{details.url}}}) + {{/content}} +cli.cmd.root.sub.queue: '🧩 **Очередь**:' +cli.cmd.messages.summary: Загрузить сообщения WhatsApp. +cli.cmd.messages.description: + 💬 Выполните `messages pull`, чтобы запустить синхронизацию, или `messages + status`, чтобы проверить прогресс. +cli.cmd.messages.action.description: + '`pull` — начать загрузку, `status` — посмотреть текущую задачу.' +cli.cmd.messages.pull.option.chat: + Ограничить загрузку конкретным идентификатором чата WhatsApp. +cli.cmd.messages.pull.option.force: + Принудительно создавать сообщения в ящике, даже если сообщение WhatsApp уже + есть в сопоставлении беседы. +cli.cmd.messages.pull.option.batch: Количество сообщений в каждом пакете. +cli.cmd.messages.pull.option.progress: + Сообщать о прогрессе каждые N сообщений. Значение 0 отключает отчёты. +cli.cmd.messages.pull.option.no-dm: + Пропускать личные сообщения при загрузке истории. +cli.cmd.messages.pull.option.groups: + Включать группы WhatsApp при загрузке истории. +cli.cmd.messages.pull.option.channels: + Включать каналы WhatsApp при загрузке истории. +cli.cmd.messages.pull.option.status: + Включать статусы WhatsApp при загрузке истории. +cli.cmd.messages.pull.option.broadcast: + Включать списки рассылок при загрузке истории. +cli.cmd.messages.pull.option.media: + Скачивать медиафайлы (изображения, видео, документы) при загрузке истории. +cli.cmd.messages.pull.option.pause: + Поставить задачу загрузки сообщений в очередь на паузу и остановить обработку + новых сообщений WhatsApp до завершения. +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ Невозможно использовать `--pause`, потому что команда **queue** отключена в + этой конфигурации. +cli.cmd.queue.description: Управление очередями. +cli.cmd.queue.summary: Действия с очередями. +cli.cmd.queue.action.description: Выберите действие. +cli.cmd.queue.status.description: Показать состояние очереди. +cli.cmd.queue.argument.name: + 'Название очереди: `inbox` или `whatsapp` (необязательно).' +cli.cmd.queue.start.description: Запустить очередь по имени. +cli.cmd.queue.stop.description: Остановить очередь по имени. +cli.cmd.queue.paused: + ⚪🧩 Очереди поставлены на паузу. Отправьте `queue status`, чтобы проверить + состояние. +cli.cmd.queue.resumed: + 🟢🧩 Очереди возобновлены. Отправьте `queue status`, чтобы проверить + состояние. +cli.cmd.queue.status.result: >- + 📊 Состояние очередей: + + {{#queues}} + + - **{{name}}**: {{#locked}}🔒{{/locked}}{{#paused}}⚪ На + паузе{{/paused}}{{^paused}}🟢 Активна{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + Указывает, как долго пытаться скачать медиа для каждого сообщения. +cli.cmd.messages.pull.argument.end: + Задаёт конец окна загрузки, например `2d` — до двух дней назад. +cli.cmd.messages.pull.argument.start: + Задаёт начало окна загрузки, например `1d` — с одного дня назад (по умолчанию + `0d`, то есть сейчас). +cli.cmd.messages.pull.already-running: >- + ⏳ Задача **Pull Messages** уже выполняется для **{{{chat}}}**. Дождитесь + завершения или остановите её перед запуском новой. + + + Отправьте `messages status` для деталей. +cli.cmd.messages.status.not-found: + ℹ️ Активная задача **Pull Messages** не найдена. Запустите её командой + `messages pull`. +cli.cmd.messages.pull.no-chats-found: + Чаты WhatsApp для выбранного периода не найдены. +cli.cmd.contacts.pull.option.progress: + Сообщать о прогрессе каждые N контактов. Значение 0 отключает отчёты. +cli.cmd.contacts.pull.option.lids: + Включать контакты WhatsApp LID (анонимные контакты) в синхронизацию. +task.contacts.completed: + 👤✅ Контакты завершены → 🆕 {{progress.created}}, 🔄 {{progress.updated}}, ⚪ + {{progress.skipped}}, 🔴 {{progress.errors}}, 🖼️ {{progress.avatar.updated}} +task.messages.started: ⏳ Загружаем сообщения 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: + Отправьте "{{{prefix}}}messages status", чтобы увидеть подробности. +task.messages.progress: + '⏳ Сообщения {{{chat}}}: 🆕 {{progress.ok}}, 🟢 {{progress.exists}}, ⚪ + {{progress.ignored}}, 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ Сообщения {{{chat}}} за {{{period}}} → 🆕 {{progress.ok}}, 🟢 + {{progress.exists}}, ⚪ {{progress.ignored}}, 🔴 {{progress.errors}} +task.messages.status: |- + Сообщения **{{{chat}}}** за период ⏱️ **{{{period}}}**: + - ⚙️ Статус задачи: **{{state}}** + {{#last}} + - 📅 Последняя обработка: **{{{last}}}** + {{/last}} + - 💬 Создано в: **{{{chats}}}** чатах + - 🆕 Создано: **{{{progress.ok}}}** сообщений + - 🟢 Уже есть: {{{progress.exists}}} сообщений + - ⚪ Пропущено: {{{progress.ignored}}} сообщений + - 🔴 Ошибки: {{{progress.errors}}} сообщений + + Подробности: + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/tr-TR.yaml b/src/apps/chatwoot/i18n/locales/tr-TR.yaml index 49b44fc8..9158d0b3 100644 --- a/src/apps/chatwoot/i18n/locales/tr-TR.yaml +++ b/src/apps/chatwoot/i18n/locales/tr-TR.yaml @@ -193,9 +193,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- WhatsApp grup kişilerini senkronizasyona dahil et. -cli.cmd.contacts.pull.option.no-lids: |- - WhatsApp LID kişilerini (bağlı cihaz JID'leri) senkronizasyonda atla. - cli.cmd.contacts.pull.option.no-attributes: |- Kişi zaten varsa özelliklerini çekmeyin (süreci hızlandırır). @@ -204,12 +201,6 @@ cli.cmd.contacts.pull.already-running: |- Ayrıntılar için `contacts status` gönderin. -cli.cmd.contacts.pull.queued: |- - 👥 **Pull Contacts** görevi sıraya alındı. - - Her **{{batch}}** kişide bir ilerleme güncellemesi paylaşacağız. - Kişileri çekmek zaman alabilir — en güncel durumu istediğiniz zaman `contacts status` ile kontrol edin. - cli.cmd.options.job.attempts: |- Görevi başarısız saymadan önce yapılacak yeniden deneme sayısı. @@ -512,3 +503,130 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **Müşteri Mesajı:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: Bilinmiyor +ERROR: Hata +PENDING: Gönderiliyor +SERVER: Sunucu +DEVICE: Cihaz +READ: Okundu +PLAYED: Oynatıldı +whatsapp.to.chatwoot.message.has.media.no.media: |- + {{#content}} + {{{content}}} + + {{/content}} + 🖼️⚠️ **Mesajda medya var ancak indirilemedi** + 📱 Görüntülemek için lütfen **WhatsApp** uygulamasını açın. + + {{^content}} + Detaylar: [{{{details.text}}}]({{{details.url}}}) + {{/content}} +cli.cmd.root.sub.queue: '🧩 **Kuyruk**:' +cli.cmd.messages.summary: WhatsApp mesajlarını çek. +cli.cmd.messages.description: + 💬 Mesaj senkronizasyonu başlatmak için `messages pull`, ilerlemeyi görmek + için `messages status` komutunu çalıştırın. +cli.cmd.messages.action.description: + '`pull` ile mesaj çekmeyi başlatın, `status` ile çalışan işi inceleyin.' +cli.cmd.messages.pull.option.chat: + Çekimi belirli bir WhatsApp sohbet kimliğiyle sınırlandırır. +cli.cmd.messages.pull.option.force: + WhatsApp mesajı konuşma eşlemesinde olsa bile gelen kutusunun mesaj + oluşturmasını zorlar. +cli.cmd.messages.pull.option.batch: Her partide çekilecek mesaj sayısı. +cli.cmd.messages.pull.option.progress: + Her N mesajda ilerlemeyi bildirir. 0 değeri raporları kapatır. +cli.cmd.messages.pull.option.no-dm: Geçmişi çekerken direkt mesajları atlar. +cli.cmd.messages.pull.option.groups: + Geçmişi çekerken WhatsApp grup sohbetlerini dahil eder. +cli.cmd.messages.pull.option.channels: + Geçmişi çekerken WhatsApp Kanallarını dahil eder. +cli.cmd.messages.pull.option.status: + Geçmişi çekerken WhatsApp durum güncellemelerini dahil eder. +cli.cmd.messages.pull.option.broadcast: + Geçmişi çekerken yayın listelerini dahil eder. +cli.cmd.messages.pull.option.media: + Geçmişi çekerken medya eklerini (görseller, videolar, dosyalar) indirir. +cli.cmd.messages.pull.option.pause: + Mesaj çekme işini duraklatılmış olarak kuyruklar ve tamamlanana kadar yeni + WhatsApp mesajlarının işlenmesini durdurur. +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ `--pause` kullanılamaz çünkü **queue** komutu bu yapılandırmada devre dışı. +cli.cmd.queue.description: Kuyrukları yönetin. +cli.cmd.queue.summary: Kuyruklarda işlemler gerçekleştirin. +cli.cmd.queue.action.description: Bir eylem seçin. +cli.cmd.queue.status.description: Bir kuyruğun durumunu gösterir. +cli.cmd.queue.argument.name: + 'Kuyruk adı: `inbox` veya `whatsapp` (isteğe bağlı).' +cli.cmd.queue.start.description: Adı verilen kuyruğu başlatın. +cli.cmd.queue.stop.description: Adı verilen kuyruğu durdurun. +cli.cmd.queue.paused: + ⚪🧩 Kuyruklar duraklatıldı. Durumu kontrol etmek için `queue status` + gönderin. +cli.cmd.queue.resumed: + 🟢🧩 Kuyruklar devam ettirildi. Durumu kontrol etmek için `queue status` + gönderin. +cli.cmd.queue.status.result: >- + 📊 Kuyruk durumu: + + {{#queues}} + + - **{{name}}**: {{#locked}}🔒{{/locked}}{{#paused}}⚪ + Duraklatıldı{{/paused}}{{^paused}}🟢 Çalışıyor{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + Her mesaj için medya indirme süresini belirler. +cli.cmd.messages.pull.argument.end: + Çekim penceresinin nerede biteceğini belirler; örneğin `2d` iki gün öncesinde + durur. +cli.cmd.messages.pull.argument.start: + Çekim penceresinin nerede başlayacağını belirler; örneğin `1d` bir gün + öncesinden başlar (varsayılan `0d`, yani şimdi). +cli.cmd.messages.pull.already-running: >- + ⏳ **Pull Messages** işi zaten **{{{chat}}}** için çalışıyor. Bitmesini + bekleyin veya yenisini başlatmadan önce durdurun. + + + Ayrıntılar için `messages status` gönderin. +cli.cmd.messages.status.not-found: + ℹ️ Aktif **Pull Messages** işi bulunamadı. `messages pull` ile bir tane + başlatın. +cli.cmd.messages.pull.no-chats-found: + Belirtilen dönemde çekilecek WhatsApp sohbeti bulunamadı. +cli.cmd.contacts.pull.option.progress: + Her N kişide ilerlemeyi bildirir. 0 değeri raporları kapatır. +cli.cmd.contacts.pull.option.lids: + Senkronizasyona WhatsApp LID (anonim) kişilerini dahil eder. +task.contacts.completed: + 👤✅ Kişiler tamamlandı → 🆕 {{progress.created}}, 🔄 {{progress.updated}}, ⚪ + {{progress.skipped}}, 🔴 {{progress.errors}}, 🖼️ {{progress.avatar.updated}} +task.messages.started: ⏳ Mesajlar çekiliyor 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: + Daha fazla ayrıntı için "{{{prefix}}}messages status" gönderin. +task.messages.progress: + '⏳ Mesajlar {{{chat}}}: 🆕 {{progress.ok}}, 🟢 {{progress.exists}}, ⚪ + {{progress.ignored}}, 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ Mesajlar {{{chat}}} {{{period}}} içinde → 🆕 {{progress.ok}}, 🟢 + {{progress.exists}}, ⚪ {{progress.ignored}}, 🔴 {{progress.errors}} +task.messages.status: |- + **{{{chat}}}** sohbetinin mesajları ⏱️ **{{{period}}}** döneminde: + - ⚙️ İş durumu: **{{state}}** + {{#last}} + - 📅 Son işlenen: **{{{last}}}** + {{/last}} + - 💬 Şu sohbetlerde oluşturuldu: **{{{chats}}}** + - 🆕 Oluşturulan: **{{{progress.ok}}}** mesaj + - 🟢 Zaten mevcut: {{{progress.exists}}} mesaj + - ⚪ Yok sayılan: {{{progress.ignored}}} mesaj + - 🔴 Hatalar: {{{progress.errors}}} mesaj + + Detaylar: + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/uk-UA.yaml b/src/apps/chatwoot/i18n/locales/uk-UA.yaml index 260e106a..fbd80d24 100644 --- a/src/apps/chatwoot/i18n/locales/uk-UA.yaml +++ b/src/apps/chatwoot/i18n/locales/uk-UA.yaml @@ -193,9 +193,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- Додати контакти груп WhatsApp до синхронізації. -cli.cmd.contacts.pull.option.no-lids: |- - Пропускати контакти LID WhatsApp (JID підключеного пристрою) під час синхронізації. - cli.cmd.contacts.pull.option.no-attributes: |- Не завантажуйте атрибути контакту, якщо він уже існує (це пришвидшує процес). @@ -204,12 +201,6 @@ cli.cmd.contacts.pull.already-running: |- Надішліть `contacts status`, щоб отримати деталі. -cli.cmd.contacts.pull.queued: |- - 👥 Завдання **Pull Contacts** поставлено в чергу. - - Ми надішлемо оновлення прогресу після кожних **{{batch}}** контактів. - Отримання контактів може зайняти час — перевіряйте актуальний статус будь-коли за допомогою `contacts status`. - cli.cmd.options.job.attempts: |- Кількість повторних спроб перед позначенням завдання як невдалого. @@ -512,3 +503,130 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **Повідомлення клієнта:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: Невідомо +ERROR: Помилка +PENDING: Надсилається +SERVER: Сервер +DEVICE: Пристрій +READ: Прочитано +PLAYED: Прослухано +whatsapp.to.chatwoot.message.has.media.no.media: |- + {{#content}} + {{{content}}} + + {{/content}} + 🖼️⚠️ **У повідомленні є медіа, але не вдалося його завантажити** + 📱 Відкрийте **WhatsApp**, щоб переглянути. + + {{^content}} + Деталі: [{{{details.text}}}]({{{details.url}}}) + {{/content}} +cli.cmd.root.sub.queue: '🧩 **Черга**:' +cli.cmd.messages.summary: Отримати повідомлення WhatsApp. +cli.cmd.messages.description: + 💬 Виконайте `messages pull`, щоб запустити синхронізацію, або `messages + status`, щоб переглянути прогрес. +cli.cmd.messages.action.description: + '`pull` — щоб почати отримання, `status` — щоб переглянути активне завдання.' +cli.cmd.messages.pull.option.chat: + Обмежити отримання конкретним ідентифікатором чату WhatsApp. +cli.cmd.messages.pull.option.force: + Примусити скриньку створювати повідомлення, навіть якщо повідомлення WhatsApp + уже є у відповідності розмови. +cli.cmd.messages.pull.option.batch: Кількість повідомлень у кожній партії. +cli.cmd.messages.pull.option.progress: + Повідомляти про прогрес кожні N повідомлень. Значення 0 вимикає звіти. +cli.cmd.messages.pull.option.no-dm: + Пропускати приватні повідомлення під час отримання історії. +cli.cmd.messages.pull.option.groups: + Включати групи WhatsApp під час отримання історії. +cli.cmd.messages.pull.option.channels: + Включати канали WhatsApp під час отримання історії. +cli.cmd.messages.pull.option.status: + Включати статуси WhatsApp під час отримання історії. +cli.cmd.messages.pull.option.broadcast: + Включати списки розсилки під час отримання історії. +cli.cmd.messages.pull.option.media: + Завантажувати медіафайли (зображення, відео, файли) під час отримання історії. +cli.cmd.messages.pull.option.pause: + Поставити завдання отримання повідомлень у чергу на паузі й зупинити обробку + нових WhatsApp до завершення. +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ Неможливо використати `--pause`, оскільки команда **queue** вимкнена для + цієї конфігурації. +cli.cmd.queue.description: Керування чергами. +cli.cmd.queue.summary: Дії з чергами. +cli.cmd.queue.action.description: Оберіть дію. +cli.cmd.queue.status.description: Показати стан черги. +cli.cmd.queue.argument.name: + 'Назва черги: `inbox` або `whatsapp` (необов’язково).' +cli.cmd.queue.start.description: Запустити чергу за назвою. +cli.cmd.queue.stop.description: Зупинити чергу за назвою. +cli.cmd.queue.paused: + ⚪🧩 Черги призупинені. Надішліть `queue status`, щоб перевірити стан. +cli.cmd.queue.resumed: + 🟢🧩 Черги поновлено. Надішліть `queue status`, щоб перевірити стан. +cli.cmd.queue.status.result: >- + 📊 Стан черг: + + {{#queues}} + + - **{{name}}**: {{#locked}}🔒{{/locked}}{{#paused}}⚪ На + паузі{{/paused}}{{^paused}}🟢 Активна{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + Визначає, як довго намагатися завантажувати медіа для кожного повідомлення. +cli.cmd.messages.pull.argument.end: + Вказує, де закінчується вікно отримання; наприклад, `2d` — два дні тому. +cli.cmd.messages.pull.argument.start: + Вказує, де починається вікно; наприклад, `1d` — один день тому (за + замовчуванням `0d`, тобто зараз). +cli.cmd.messages.pull.already-running: >- + ⏳ Завдання **Pull Messages** уже виконується для **{{{chat}}}**. Дочекайтеся + завершення або зупиніть його перед запуском нового. + + + Надішліть `messages status`, щоб отримати деталі. +cli.cmd.messages.status.not-found: + ℹ️ Активне завдання **Pull Messages** не знайдено. Запустіть його командою + `messages pull`. +cli.cmd.messages.pull.no-chats-found: + Не знайдено чатів WhatsApp для вибраного періоду. +cli.cmd.contacts.pull.option.progress: + Повідомляти про прогрес кожні N контактів. Значення 0 вимикає звіти. +cli.cmd.contacts.pull.option.lids: + Включати анонімні контакти WhatsApp LID у синхронізацію. +task.contacts.completed: + 👤✅ Контакти завершено → 🆕 {{progress.created}}, 🔄 {{progress.updated}}, ⚪ + {{progress.skipped}}, 🔴 {{progress.errors}}, 🖼️ {{progress.avatar.updated}} +task.messages.started: + ⏳ Отримуємо повідомлення 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: + Надішліть "{{{prefix}}}messages status", щоб побачити деталі. +task.messages.progress: + '⏳ Повідомлення {{{chat}}}: 🆕 {{progress.ok}}, 🟢 {{progress.exists}}, ⚪ + {{progress.ignored}}, 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ Повідомлення {{{chat}}} за {{{period}}} → 🆕 {{progress.ok}}, 🟢 + {{progress.exists}}, ⚪ {{progress.ignored}}, 🔴 {{progress.errors}} +task.messages.status: |- + Повідомлення **{{{chat}}}** у період ⏱️ **{{{period}}}**: + - ⚙️ Стан завдання: **{{state}}** + {{#last}} + - 📅 Остання обробка: **{{{last}}}** + {{/last}} + - 💬 Створено в: **{{{chats}}}** чатах + - 🆕 Створено: **{{{progress.ok}}}** повідомлень + - 🟢 Уже є: {{{progress.exists}}} повідомлень + - ⚪ Пропущено: {{{progress.ignored}}} повідомлень + - 🔴 Помилки: {{{progress.errors}}} повідомлень + + Деталі: + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/ur-PK.yaml b/src/apps/chatwoot/i18n/locales/ur-PK.yaml index 4dae16c1..d5e1e055 100644 --- a/src/apps/chatwoot/i18n/locales/ur-PK.yaml +++ b/src/apps/chatwoot/i18n/locales/ur-PK.yaml @@ -193,9 +193,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- واٹس ایپ گروپ روابط کو ہم وقت سازی میں شامل کریں۔ -cli.cmd.contacts.pull.option.no-lids: |- - واٹس ایپ LID روابط (لنک شدہ ڈیوائس JID) کو ہم وقت سازی کے دوران چھوڑ دیں۔ - cli.cmd.contacts.pull.option.no-attributes: |- اگر رابطہ پہلے سے موجود ہو تو اس کے خواص نہ نکالیں (اس سے عمل تیز ہوتا ہے)۔ @@ -204,12 +201,6 @@ cli.cmd.contacts.pull.already-running: |- تفصیلات کے لیے `contacts status` بھیجیں۔ -cli.cmd.contacts.pull.queued: |- - 👥 **Pull Contacts** کام قطار میں لگا دیا گیا ہے۔ - - ہم ہر **{{batch}}** رابطوں کے بعد پیش رفت کی تازہ کاری شیئر کریں گے۔ - روابط نکالنے میں وقت لگ سکتا ہے — کسی بھی وقت `contacts status` کے ذریعے تازہ ترین حالت دیکھیں۔ - cli.cmd.options.job.attempts: |- کام کو ناکام قرار دینے سے پہلے دوبارہ کوششوں کی تعداد۔ @@ -512,3 +503,127 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **گاہک کا پیغام:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: نامعلوم +ERROR: خرابی +PENDING: بھجوایا جا رہا ہے +SERVER: سرور +DEVICE: ڈیوائس +READ: پڑھا گیا +PLAYED: چلایا گیا +whatsapp.to.chatwoot.message.has.media.no.media: |- + {{#content}} + {{{content}}} + + {{/content}} + 🖼️⚠️ **پیغام میں میڈیا موجود ہے لیکن ہم اسے ڈاؤن لوڈ نہیں کر سکے** + 📱 براہ کرم دیکھنے کے لیے **WhatsApp** کھولیں۔ + + {{^content}} + تفصیلات: [{{{details.text}}}]({{{details.url}}}) + {{/content}} +cli.cmd.root.sub.queue: '🧩 **قطار**:' +cli.cmd.messages.summary: WhatsApp پیغامات کھینچیں۔ +cli.cmd.messages.description: + 💬 پیغامات کی ہم آہنگی شروع کرنے کے لیے `messages pull` چلائیں یا پیش رفت + دیکھنے کے لیے `messages status` چلائیں۔ +cli.cmd.messages.action.description: + پیغامات کھینچنے کے لیے `pull` یا فعال کام دیکھنے کے لیے `status` استعمال کریں۔ +cli.cmd.messages.pull.option.chat: + کھینچنے کو مخصوص WhatsApp چیٹ آئی ڈی تک محدود کریں۔ +cli.cmd.messages.pull.option.force: + اگر WhatsApp پیغام پہلے سے گفتگو کے میپ میں موجود ہو تب بھی ان باکس کو پیغامات + بنانے پر مجبور کریں۔ +cli.cmd.messages.pull.option.batch: + ہر بیچ میں کھینچے جانے والے پیغامات کی تعداد۔ +cli.cmd.messages.pull.option.progress: + ہر N پیغامات کے بعد پیش رفت بتائیں۔ رپورٹ بند کرنے کے لیے 0 مقرر کریں۔ +cli.cmd.messages.pull.option.no-dm: تاریخ کھینچتے وقت ڈائریکٹ پیغامات چھوڑ دیں۔ +cli.cmd.messages.pull.option.groups: تاریخ کھینچتے وقت WhatsApp گروپس شامل کریں۔ +cli.cmd.messages.pull.option.channels: + تاریخ کھینچتے وقت WhatsApp چینلز شامل کریں۔ +cli.cmd.messages.pull.option.status: + تاریخ کھینچتے وقت WhatsApp اسٹیٹس اپ ڈیٹس شامل کریں۔ +cli.cmd.messages.pull.option.broadcast: + تاریخ کھینچتے وقت نشریاتی فہرستیں شامل کریں۔ +cli.cmd.messages.pull.option.media: + تاریخ کھینچتے وقت میڈیا (تصاویر، ویڈیوز، فائلیں) ڈاؤن لوڈ کریں۔ +cli.cmd.messages.pull.option.pause: + پیغامات کھینچنے کے کام کو معطل حالت میں قطار میں ڈالیں اور مکمل ہونے تک نئے + WhatsApp پیغامات کی پروسیسنگ روک دیں۔ +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ `--pause` استعمال نہیں کیا جا سکتا کیونکہ اس ترتیب میں **queue** کمانڈ غیر + فعال ہے۔ +cli.cmd.queue.description: قطاروں کا انتظام کریں۔ +cli.cmd.queue.summary: قطاروں پر کارروائیاں انجام دیں۔ +cli.cmd.queue.action.description: کوئی کارروائی منتخب کریں۔ +cli.cmd.queue.status.description: قطار کی حالت دکھائیں۔ +cli.cmd.queue.argument.name: 'قطار کا نام: `inbox` یا `whatsapp` (اختیاری)।' +cli.cmd.queue.start.description: نام کے ذریعے قطار شروع کریں۔ +cli.cmd.queue.stop.description: نام کے ذریعے قطار روکیں۔ +cli.cmd.queue.paused: + ⚪🧩 قطاریں معطل کر دی گئی ہیں۔ حالت جاننے کے لیے `queue status` بھیجیں۔ +cli.cmd.queue.resumed: + 🟢🧩 قطاریں دوبارہ شروع ہو گئی ہیں۔ حالت جاننے کے لیے `queue status` بھیجیں۔ +cli.cmd.queue.status.result: >- + 📊 قطار کی حالت: + + {{#queues}} + + - **{{name}}**: {{#locked}}🔒{{/locked}}{{#paused}}⚪ + معطل{{/paused}}{{^paused}}🟢 فعال{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: + ہر پیغام کے لیے میڈیا ڈاؤن لوڈ کرنے کی مدت مقرر کریں۔ +cli.cmd.messages.pull.argument.end: + کھینچنے کی ونڈو کہاں ختم ہو گی طے کریں؛ مثال کے طور پر `2d` دو دن پہلے رک جاتی + ہے۔ +cli.cmd.messages.pull.argument.start: + کھینچنے کی ونڈو کہاں سے شروع ہو گی طے کریں؛ مثال کے طور پر `1d` ایک دن پہلے سے + شروع ہوتی ہے (طے شدہ `0d` یعنی ابھی)۔ +cli.cmd.messages.pull.already-running: >- + ⏳ **Pull Messages** کام پہلے سے ہی **{{{chat}}}** کے لیے چل رہا ہے۔ نیا شروع + کرنے سے پہلے اس کے مکمل ہونے کا انتظار کریں یا اسے روک دیں۔ + + + تفصیلات کے لیے `messages status` بھیجیں۔ +cli.cmd.messages.status.not-found: + ℹ️ کوئی فعال **Pull Messages** کام نہیں ملا۔ `messages pull` کے ساتھ ایک شروع + کریں۔ +cli.cmd.messages.pull.no-chats-found: اس مدت کے لیے کوئی WhatsApp چیٹ نہیں ملی۔ +cli.cmd.contacts.pull.option.progress: + ہر N رابطوں پر پیش رفت بتائیں۔ رپورٹ بند کرنے کے لیے 0 مقرر کریں۔ +cli.cmd.contacts.pull.option.lids: + WhatsApp LID (گمنام) رابطوں کو ہم آہنگی میں شامل کریں۔ +task.contacts.completed: + 👤✅ رابطے مکمل → 🆕 {{progress.created}}, 🔄 {{progress.updated}}, ⚪ + {{progress.skipped}}, 🔴 {{progress.errors}}, 🖼️ {{progress.avatar.updated}} +task.messages.started: + ⏳ پیغامات کھینچے جا رہے ہیں 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: مزید تفصیلات کے لیے "{{{prefix}}}messages status" بھیجیں۔ +task.messages.progress: + '⏳ پیغامات {{{chat}}}: 🆕 {{progress.ok}}, 🟢 {{progress.exists}}, ⚪ + {{progress.ignored}}, 🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}}' +task.messages.completed: + ✅ پیغامات {{{chat}}} میں {{{period}}} → 🆕 {{progress.ok}}, 🟢 + {{progress.exists}}, ⚪ {{progress.ignored}}, 🔴 {{progress.errors}} +task.messages.status: |- + **{{{chat}}}** کے پیغامات ⏱️ **{{{period}}}** کے دوران: + - ⚙️ کام کی حالت: **{{state}}** + {{#last}} + - 📅 آخری پراسیسنگ: **{{{last}}}** + {{/last}} + - 💬 بنائے گئے چیٹس: **{{{chats}}}** + - 🆕 بنے: **{{{progress.ok}}}** پیغامات + - 🟢 پہلے سے موجود: {{{progress.exists}}} پیغامات + - ⚪ نظر انداز: {{{progress.ignored}}} پیغامات + - 🔴 خامیاں: {{{progress.errors}}} پیغامات + + تفصیلات: + [{{{details.text}}}]({{{details.url}}}) diff --git a/src/apps/chatwoot/i18n/locales/zh-CN.yaml b/src/apps/chatwoot/i18n/locales/zh-CN.yaml index b6441cc3..4b9b96fb 100644 --- a/src/apps/chatwoot/i18n/locales/zh-CN.yaml +++ b/src/apps/chatwoot/i18n/locales/zh-CN.yaml @@ -193,9 +193,6 @@ cli.cmd.contacts.pull.option.avatar: |- cli.cmd.contacts.pull.option.groups: |- 在同步中包含 WhatsApp 群组联系人。 -cli.cmd.contacts.pull.option.no-lids: |- - 在同步中跳过 WhatsApp LID 联系人(关联设备 JID)。 - cli.cmd.contacts.pull.option.no-attributes: |- 如果联系人已存在,则不要拉取其属性(可加快流程)。 @@ -204,12 +201,6 @@ cli.cmd.contacts.pull.already-running: |- 发送 `contacts status` 获取详情。 -cli.cmd.contacts.pull.queued: |- - 👥 **Pull Contacts** 任务已排队。 - - 我们会每 **{{batch}}** 个联系人更新一次进度。 - 拉取联系人可能需要一些时间——随时使用 `contacts status` 查看最新状态。 - cli.cmd.options.job.attempts: |- 任务标记为失败前的最大重试次数。 @@ -512,3 +503,107 @@ whatsapp.to.chatwoot.message.facebook.ad: |- --- 💬 **客户消息:** {{{payload.body}}} +whatsapp.history.message.wrapper: |- + {{{content}}} + {{^payload.fromMe}} + + {{/payload.fromMe}} + `🗓️ {{{timestamp}}}` +UNKNOWN: 未知 +ERROR: 错误 +PENDING: 正在发送 +SERVER: 服务器 +DEVICE: 设备 +READ: 已读 +PLAYED: 已播放 +whatsapp.to.chatwoot.message.has.media.no.media: |- + {{#content}} + {{{content}}} + + {{/content}} + 🖼️⚠️ **该消息包含媒体,但我们无法下载** + 📱 请打开 **WhatsApp** 查看。 + + {{^content}} + 详情:[{{{details.text}}}]({{{details.url}}}) + {{/content}} +cli.cmd.root.sub.queue: 🧩 **队列**: +cli.cmd.messages.summary: 拉取 WhatsApp 消息。 +cli.cmd.messages.description: + 💬 运行 `messages pull` 开始同步,或运行 `messages status` 查看进度。 +cli.cmd.messages.action.description: + 使用 `pull` 开始拉取或 `status` 查看正在执行的任务。 +cli.cmd.messages.pull.option.chat: 将拉取限制为特定 WhatsApp 聊天 ID。 +cli.cmd.messages.pull.option.force: + 即使该 WhatsApp 消息已存在于会话映射中,也强制收件箱创建消息。 +cli.cmd.messages.pull.option.batch: 每个批次要拉取的消息数量。 +cli.cmd.messages.pull.option.progress: + 每隔 N 条消息报告进度。设置为 0 可关闭报告。 +cli.cmd.messages.pull.option.no-dm: 拉取历史时跳过私聊消息。 +cli.cmd.messages.pull.option.groups: 拉取历史时包含 WhatsApp 群聊。 +cli.cmd.messages.pull.option.channels: 拉取历史时包含 WhatsApp 频道。 +cli.cmd.messages.pull.option.status: 拉取历史时包含 WhatsApp 状态更新。 +cli.cmd.messages.pull.option.broadcast: 拉取历史时包含群发列表。 +cli.cmd.messages.pull.option.media: 拉取历史时下载媒体附件(图片、视频、文件)。 +cli.cmd.messages.pull.option.pause: + 将拉取任务以暂停状态加入队列,并在完成前暂停新的 WhatsApp 消息处理。 +cli.cmd.messages.pull.error.pause-no-queue: + ⛔ 无法使用 `--pause`,因为此配置中 **queue** 命令已禁用。 +cli.cmd.queue.description: 管理队列。 +cli.cmd.queue.summary: 对队列执行操作。 +cli.cmd.queue.action.description: 选择一个操作。 +cli.cmd.queue.status.description: 显示队列状态。 +cli.cmd.queue.argument.name: 队列名称:`inbox` 或 `whatsapp`(可选)。 +cli.cmd.queue.start.description: 按名称启动队列。 +cli.cmd.queue.stop.description: 按名称停止队列。 +cli.cmd.queue.paused: ⚪🧩 队列已暂停。发送 `queue status` 查看状态。 +cli.cmd.queue.resumed: 🟢🧩 队列已恢复。发送 `queue status` 查看状态。 +cli.cmd.queue.status.result: >- + 📊 队列状态: + + {{#queues}} + + - **{{name}}**:{{#locked}}🔒{{/locked}}{{#paused}}⚪ + 暂停{{/paused}}{{^paused}}🟢 运行中{{/paused}} + + {{/queues}} +cli.cmd.messages.pull.option.timeout-media: 设置每条消息尝试下载媒体的时长。 +cli.cmd.messages.pull.argument.end: + 设置拉取窗口结束时间,例如 `2d` 表示截至两天前。 +cli.cmd.messages.pull.argument.start: + 设置拉取窗口开始时间,例如 `1d` 表示从一天前开始(默认 `0d`,即现在)。 +cli.cmd.messages.pull.already-running: |- + ⏳ **Pull Messages** 任务已在 **{{{chat}}}** 上运行。请等待完成或先停止后再启动新的任务。 + + 发送 `messages status` 获取详情。 +cli.cmd.messages.status.not-found: + ℹ️ 未找到活动的 **Pull Messages** 任务。请使用 `messages pull` 启动。 +cli.cmd.messages.pull.no-chats-found: 在该时间段内未找到可拉取的 WhatsApp 聊天。 +cli.cmd.contacts.pull.option.progress: + 每隔 N 个联系人报告进度。设置为 0 关闭报告。 +cli.cmd.contacts.pull.option.lids: 在同步中包含 WhatsApp LID(匿名)联系人。 +task.contacts.completed: + 👤✅ 联系人同步完成 → 🆕 {{progress.created}},🔄 {{progress.updated}},⚪ + {{progress.skipped}},🔴 {{progress.errors}},🖼️ {{progress.avatar.updated}} +task.messages.started: ⏳ 正在拉取消息 💬 {{{chat}}} ⏱️ {{{period}}}... +task.messages.details: 发送 "{{{prefix}}}messages status" 查看更多详情。 +task.messages.progress: + ⏳ 消息 {{{chat}}}:🆕 {{progress.ok}},🟢 {{progress.exists}},⚪ + {{progress.ignored}},🔴 {{progress.errors}}{{#last}} | 📅 {{{last}}}{{/last}} +task.messages.completed: + ✅ 消息 {{{chat}}} 于 {{{period}}} → 🆕 {{progress.ok}},🟢 + {{progress.exists}},⚪ {{progress.ignored}},🔴 {{progress.errors}} +task.messages.status: |- + **{{{chat}}}** 的消息在 ⏱️ **{{{period}}}** 内: + - ⚙️ 任务状态:**{{state}}** + {{#last}} + - 📅 上次处理:**{{{last}}}** + {{/last}} + - 💬 创建于:**{{{chats}}}** 个会话 + - 🆕 新建:**{{{progress.ok}}}** 条消息 + - 🟢 已存在:{{{progress.exists}}} 条消息 + - ⚪ 忽略:{{{progress.ignored}}} 条消息 + - 🔴 错误:{{{progress.errors}}} 条消息 + + 详情: + [{{{details.text}}}]({{{details.url}}})