greentic-setup-dev 1.1.27821248534

End-to-end bundle setup engine for the Greentic platform — pack discovery, QA-driven configuration, secrets persistence, and bundle lifecycle management
Documentation
{
  "cli.bundle.add.adding": "در حال افزودن pack به bundle...",
  "cli.bundle.add.bundle": "  bundle: {}",
  "cli.bundle.add.created_structure": "ساختار bundle در {} ایجاد شد",
  "cli.bundle.add.dry_run": "[اجرای آزمایشی] pack به bundle اضافه می‌شد",
  "cli.bundle.add.env": "  محیط: {}",
  "cli.bundle.add.pack_ref": "  مرجع pack: {}",
  "cli.bundle.add.resolved": "  packهای حل‌شده: {}",
  "cli.bundle.add.success": "pack با موفقیت به bundle اضافه شد.",
  "cli.bundle.add.team": "  تیم: {}",
  "cli.bundle.add.tenant": "  tenant: {}",
  "cli.bundle.add.version_warning": "هشدار: اعتبارسنجی نسخه {} ناموفق بود: {}",
  "cli.bundle.build.building": "در حال ساخت bundle قابل انتقال...",
  "cli.bundle.build.output": "  خروجی: {}",
  "cli.bundle.build.running_doctor": "در حال اجرای اعتبارسنجی doctor...",
  "cli.bundle.build.success": "bundle با موفقیت در {} ساخته شد",
  "cli.bundle.init.created": "bundle در {} ایجاد شد",
  "cli.bundle.init.creating": "در حال ایجاد bundle در {}...",
  "cli.bundle.init.exists": "bundle از قبل در {} وجود دارد",
  "cli.bundle.init.next_steps": "مراحل بعدی:",
  "cli.bundle.init.step_add": "  1. greentic-setup bundle add <pack.gtpack> --bundle {}",
  "cli.bundle.init.step_setup": "  2. greentic-setup bundle setup --bundle {} --answers answers.yaml",
  "cli.bundle.list.bundle": "bundle: {}",
  "cli.bundle.list.domain": "دامنه: {}",
  "cli.bundle.list.packs_found": "packهای یافت‌شده: {}",
  "cli.bundle.remove.cancelled": "حذف لغو شد - از --force برای تأیید استفاده کنید",
  "cli.bundle.remove.complete": "provider حذف شد: {}",
  "cli.bundle.remove.confirm": "این عملیات پیکربندی provider را حذف می‌کند.",
  "cli.bundle.remove.removing": "در حال حذف provider...",
  "cli.bundle.remove.use_force": "از --force برای تأیید استفاده کنید.",
  "cli.bundle.setup.complete": "راه‌اندازی provider کامل شد: {}",
  "cli.bundle.setup.domain": "  دامنه: {}",
  "cli.bundle.setup.dry_run": "[اجرای آزمایشی] provider راه‌اندازی می‌شد: {}",
  "cli.bundle.setup.emit_usage": "ویرایش کنید و با این دستور استفاده کنید: greentic-setup bundle setup --answers {}",
  "cli.bundle.setup.emit_written": "الگوی پاسخ‌ها در {} نوشته شد",
  "cli.bundle.setup.env_bootstrap_created": "محیط `local` با اتصال‌های قابلیت پیش‌فرض در {} راه‌اندازی اولیه شد.",
  "cli.bundle.setup.interactive_not_impl": "راه‌اندازی تعاملی هنوز پیاده‌سازی نشده است.",
  "cli.bundle.setup.provider": "  provider: {}",
  "cli.bundle.setup.setting_up": "در حال راه‌اندازی provider...",
  "cli.bundle.setup.use_answers": "از --answers <file> برای ارائه پاسخ‌های راه‌اندازی استفاده کنید.",
  "cli.bundle.setup.use_emit_answers": "یا از --emit-answers <file> برای تولید الگوی پاسخ‌ها استفاده کنید.",
  "cli.bundle.status.bundle_label": "bundle: {}",
  "cli.bundle.status.not_found": "bundle یافت نشد: {}",
  "cli.bundle.status.packs": "packها: {} نصب‌شده",
  "cli.bundle.status.tenants": "tenantها: {}",
  "cli.bundle.status.valid_no": "خیر (greentic.demo.yaml وجود ندارد)",
  "cli.bundle.status.valid_yes": "بله",
  "cli.bundle.update.complete": "به‌روزرسانی provider کامل شد: {}",
  "cli.bundle.update.dry_run": "[اجرای آزمایشی] provider به‌روزرسانی می‌شد: {}",
  "cli.bundle.update.emit_usage": "ویرایش کنید و با این دستور استفاده کنید: greentic-setup bundle update --answers {}",
  "cli.bundle.update.updating": "در حال به‌روزرسانی پیکربندی provider...",
  "cli.error.answers_required": "--answers در حالت غیرتعاملی الزامی است",
  "cli.error.failed_build_plan": "ساخت برنامه ناموفق بود",
  "cli.error.failed_create_bundle": "ایجاد ساختار bundle ناموفق بود",
  "cli.error.failed_emit_answers": "تولید الگوی پاسخ‌ها ناموفق بود",
  "cli.error.failed_execute_plan": "اجرای برنامه ناموفق بود",
  "cli.error.failed_read_answers": "خواندن فایل پاسخ‌ها ناموفق بود",
  "cli.error.interactive_required": "راه‌اندازی تعاملی نیاز به فایل --answers دارد",
  "cli.error.invalid_bundle": "پوشه bundle نامعتبر است",
  "cli.help.for_help": "برای راهنما: greentic-setup --help",
  "cli.simple.bundle_required": "مسیر bundle الزامی است. نحوه استفاده: greentic-setup [OPTIONS] <BUNDLE>",
  "cli.simple.dry_run": "[اجرای آزمایشی] bundle راه‌اندازی می‌شد: {}",
  "cli.simple.emit_usage": "ویرایش کنید و با این دستور استفاده کنید: greentic-setup --answers {} {}",
  "cli.simple.expected_bundle_format": "انتظار پوشه یا فایل .gtbundle: {}",
  "cli.simple.extracted_to": "  استخراج شد به: {}",
  "cli.simple.extracting": "در حال استخراج آرشیو .gtbundle...",
  "cli.simple.header": "راه‌اندازی Greentic",
  "cli.simple.interactive_mode": "حالت ویزارد تعاملی",
  "cli.simple.wizard_not_impl": "ویزارد تعاملی هنوز پیاده‌سازی نشده است - از --answers <file> استفاده کنید",
  "env_wizard.basic_mode": "حالت پایه — برای تنظیم شناسه مشتری، بازنویسی‌های پیکربندی، میزبان‌های مسیر، جریان خوشامدگویی، و ارجاع‌های محرمانه نقطه پایانی نیز --advanced را پاس دهید.",
  "env_wizard.dry_run_secrets_note": "نکته: --dry-run فقط پیش‌نمایش می‌دهد — {} مقدار محرمانه چسبانده‌شده‌ای که وارد کردید در ذخیره‌گاه نوشته نمی‌شوند. برای ماندگار کردن آن‌ها، بدون --dry-run دوباره اجرا کنید و طرح را تأیید کنید.",
  "env_wizard.form.desc": "یک مانیفست `greentic.env-manifest.v1` می‌نویسد — سند حالت مطلوب پایدار و قابل اعمال مجدد برای یک محیط.",
  "env_wizard.form.title": "راه‌اندازی محیط",
  "env_wizard.list.bundles.item_label": "باندل",
  "env_wizard.list.messaging_endpoints.item_label": "نقطه پایانی پیام‌رسانی",
  "env_wizard.list.secrets.item_label": "محرمانه",
  "env_wizard.manifest_prompt": "فایل مانیفست [{}]: ",
  "env_wizard.q.bundle_id.desc": "کلید طبیعی — درون مانیفست یکتا است.",
  "env_wizard.q.bundle_id.title": "شناسه باندل",
  "env_wizard.q.bundle_path.desc": "`.gtbundle` محلی. مسیرهای نسبی نسبت به دایرکتوری فایل مانیفست حل می‌شوند.",
  "env_wizard.q.bundle_path.title": "مسیر باندل",
  "env_wizard.q.bundles.desc": "استقرارهای باندل برای این محیط.",
  "env_wizard.q.bundles.title": "باندل‌ها",
  "env_wizard.q.config_overrides.desc": "شیء JSON `{\"<pack_id>\": {\"<key>\": <value>}}`. خالی = بدون تغییر بگذار؛ `{}` = پاک‌سازی صریح.",
  "env_wizard.q.config_overrides.title": "بازنویسی‌های پیکربندی (JSON)",
  "env_wizard.q.customer_id.desc": "اصلی صورت‌حساب — برای apply در محیط‌های غیر `local` لازم است.",
  "env_wizard.q.customer_id.title": "شناسه مشتری",
  "env_wizard.q.environment_id.desc": "محیطی که باید روی آن اعمال شود. `local` با اتصال‌های پیش‌فرض env-pack راه‌اندازی اولیه می‌شود؛ هر شناسه دیگری باید از قبل وجود داشته باشد (apply آن را همگام‌سازی می‌کند؛ ایجاد محیط غیرمحلی برای ذخیره‌گاه اپراتور رزرو شده است).",
  "env_wizard.q.environment_id.title": "شناسه محیط",
  "env_wizard.q.from_env.desc": "نام متغیری که مقدار محرمانه را نگه می‌دارد (مثلاً TELEGRAM_BOT_TOKEN) — نام، هرگز مقدار. وقتی منبع `env` است لازم است.",
  "env_wizard.q.from_env.title": "نام متغیر محیطی",
  "env_wizard.q.links.desc": "`bundle_id`های جداشده با ویرگول که این نقطه پایانی می‌پذیرد.",
  "env_wizard.q.links.title": "شناسه‌های باندل پیوندشده",
  "env_wizard.q.messaging_endpoints.desc": "نقطه‌های پایانی پیام‌رسانی و پیوندهای باندل آن‌ها.",
  "env_wizard.q.messaging_endpoints.title": "نقطه‌های پایانی پیام‌رسانی",
  "env_wizard.q.name.desc": "دستگیره محلی مانیفست و نام نمایشی. کلید upsert همراه با نوع ارائه‌دهنده.",
  "env_wizard.q.name.title": "نام نقطه پایانی",
  "env_wizard.q.path.desc": "`<tenant>/<team>/<pack>/<name>`، مثلاً default/_/messaging-telegram/telegram_bot_token",
  "env_wizard.q.path.title": "مسیر محرمانه",
  "env_wizard.q.provider_type.desc": "کلاس ارائه‌دهنده، مثلاً messaging.telegram.bot.",
  "env_wizard.q.provider_type.title": "نوع ارائه‌دهنده",
  "env_wizard.q.public_base_url.desc": "URL فقط-مبدأ که روی محیط ماندگار می‌شود (مثلاً https://bots.example.com). برای نگه داشتن مقدار فعلی، خالی بگذارید.",
  "env_wizard.q.public_base_url.title": "URL پایه عمومی",
  "env_wizard.q.route_hosts.desc": "نام‌های میزبان جداشده با ویرگول برای اتصال مسیر.",
  "env_wizard.q.route_hosts.title": "میزبان‌های مسیر",
  "env_wizard.q.route_path_prefixes.desc": "پیشوندهای مسیر HTTP جداشده با ویرگول، که هرکدام با `/` شروع می‌شوند (مثلاً /legal).",
  "env_wizard.q.route_path_prefixes.title": "پیشوندهای مسیر",
  "env_wizard.q.route_team.desc": "تیم برای انتخابگر مستأجر اتصال مسیر — همراه با `route_tenant` تنظیم شود.",
  "env_wizard.q.route_team.title": "تیم مسیر",
  "env_wizard.q.route_tenant.desc": "مستأجر برای انتخابگر مستأجر اتصال مسیر — همراه با `route_team` تنظیم شود.",
  "env_wizard.q.route_tenant.title": "مستأجر مسیر",
  "env_wizard.q.secret_refs.desc": "ارجاع‌های محرمانه جداشده با ویرگول که هنگام ایجاد نقطه پایانی ارسال می‌شوند.",
  "env_wizard.q.secret_refs.title": "ارجاع‌های محرمانه",
  "env_wizard.q.secrets.desc": "ورودی‌های محرمانه dev-store. مقدار هر محرمانه یا از یک متغیر محیطی نام‌گذاری‌شده می‌آید یا از مقداری که می‌چسبانید — مقدارها هرگز وارد مانیفست نمی‌شوند.",
  "env_wizard.q.secrets.title": "محرمانه‌ها",
  "env_wizard.q.source.desc": "`env` در زمان apply مقدار را از یک متغیر محیطی نام‌گذاری‌شده می‌خواند؛ `paste` اجازه می‌دهد مقدار را به‌صورت تعاملی وارد کنید — در ذخیره‌گاه محرمانه‌های محیط ذخیره می‌شود، هرگز در مانیفست.",
  "env_wizard.q.source.title": "منبع محرمانه",
  "env_wizard.q.trust_root_bootstrap.desc": "ریشه اعتماد محیط را با کلید اپراتور محلی مقداردهی اولیه کنید (همان‌نهشت؛ یک‌بار قبل از آماده‌سازی باندل‌ها لازم است).",
  "env_wizard.q.trust_root_bootstrap.title": "ریشهٔ اعتماد را راه‌اندازی اولیه کنیم؟",
  "env_wizard.q.webchat_gui.desc": "کنسول وب‌چت داخلی را سرو کنید تا بتوانید با باز کردن URL آن در مرورگر با این محیط چت کنید. برای `local` به‌طور پیش‌فرض روشن است؛ مسیر چت فقط loopback و بدون احراز هویت است، بنابراین برای محیط‌هایی که روی یک URL عمومی در دسترس‌اند آن را خاموش نگه دارید، مگر اینکه عمداً چنین قصدی داشته باشید.",
  "env_wizard.q.webchat_gui.title": "یک رابط گرافیکی وب‌چت اضافه شود؟",
  "env_wizard.q.welcome_bundle_id.desc": "سه فیلد welcome_* را با هم تنظیم کنید (یا هیچ‌کدام را).",
  "env_wizard.q.welcome_bundle_id.title": "جریان خوشامدگویی: شناسهٔ bundle",
  "env_wizard.q.welcome_flow_id.desc": "سه فیلد welcome_* را با هم تنظیم کنید (یا هیچ‌کدام را).",
  "env_wizard.q.welcome_flow_id.title": "جریان خوشامدگویی: شناسهٔ flow",
  "env_wizard.q.welcome_pack_id.desc": "سه فیلد welcome_* را با هم تنظیم کنید (یا هیچ‌کدام را).",
  "env_wizard.q.welcome_pack_id.title": "جریان خوشامدگویی: شناسهٔ pack",
  "env_wizard.secrets.choose": "برای هر مورد، انتخاب کنید مقدار از کجا بیاید: یک متغیر محیطی\nنام‌گذاری‌شده، یا همین حالا آن را جای‌گذاری کنید. مقدارهای جای‌گذاری‌شده در مخزن اسرار\nمحیط ذخیره می‌شوند — هرگز در manifest نوشته نمی‌شوند.",
  "env_wizard.secrets.entry": "{} — {} (bundle: {}){}",
  "env_wizard.secrets.envvar_prompt": "نام متغیر محیطی [{}]: ",
  "env_wizard.secrets.envvar_required": "نام متغیر محیطی الزامی است.",
  "env_wizard.secrets.keep_env_note": "نکته: secret موجود `{}` حفظ می‌شود (bundle بازسازی نشد)",
  "env_wizard.secrets.keep_paste_note": "نکته: secret جای‌گذاری‌شدهٔ موجود `{}` حفظ می‌شود (bundle بازسازی نشد)",
  "env_wizard.secrets.need": "اسرار — bundleهای پیکربندی‌شده به {} secret نیاز دارند.",
  "env_wizard.secrets.none": "اسرار — bundleهای پیکربندی‌شده هیچ secretی اعلام نکرده‌اند؛ چیزی برای وارد کردن نیست.",
  "env_wizard.secrets.optional_suffix": " [اختیاری]",
  "env_wizard.secrets.paste_prompt": "مقدار را جای‌گذاری کنید (پنهان، یک خط): ",
  "env_wizard.secrets.paste_prompt_keep": "مقدار را جای‌گذاری کنید (پنهان، یک خط؛ خالی بماند مقدار ذخیره‌شده حفظ می‌شود): ",
  "env_wizard.secrets.paste_required": "وارد کردن مقدار الزامی است.",
  "env_wizard.secrets.path": "مسیر secret: {}",
  "env_wizard.secrets.source_invalid": "۱ (متغیر محیطی) یا ۲ (جای‌گذاری) را وارد کنید.",
  "env_wizard.secrets.source_prompt": "مقدار از [1] متغیر محیطی یا [2] همین حالا جای‌گذاری شود؟ [{}]: ",
  "env_wizard.wrote_manifest": "`{}` نوشته شد — manifest مصنوع پایدار است؛ آن را در کنترل نسخه نگه دارید.",
  "setup.answers.emitted": "الگوی پاسخ‌ها در {} نوشته شد",
  "setup.answers.loaded": "پاسخ‌ها از {} بارگذاری شدند",
  "setup.capability.not_found": "قابلیت '{}' یافت نشد",
  "setup.capability.resolved": "قابلیت حل شد: pack_id={} stable_id={}",
  "setup.discovering_packs": "در حال کشف packها در bundle...",
  "setup.dry_run.header": "برنامه راه‌اندازی (اجرای آزمایشی):",
  "setup.error.bundle_not_found": "bundle یافت نشد: {}",
  "setup.error.protocol_not_supported": "پروتکل هنوز پشتیبانی نمی‌شود: {}",
  "setup.error.version_mismatch": "نسخه تگ ({}) با نسخه crate ({}) مطابقت ندارد",
  "setup.execute.failed": "راه‌اندازی ناموفق بود: {}",
  "setup.execute.success": "راه‌اندازی کامل شد: {}",
  "setup.found_packs": "{} pack یافت شد: {}",
  "setup.plan.header": "برنامه راه‌اندازی:",
  "setup.plan.step.collect_answers": "جمع‌آوری پاسخ‌ها برای {}",
  "setup.plan.step.discover": "کشف packها",
  "setup.plan.step.resolve": "تولید مانیفست حل‌شده",
  "setup.plan.step.run_setup": "اجرای جریان راه‌اندازی برای {}",
  "setup.plan.step.seed_secrets": "بذرپاشی رمزها برای {}",
  "setup.plan.step.validate": "اعتبارسنجی bundle",
  "setup.plan.step.webhooks": "ثبت webhookها برای {}",
  "setup.plan.step.write_config": "نوشتن پیکربندی برای {}",
  "setup.qa.invalid_choice": "انتخاب نامعتبر. گزینه‌ها: {}",
  "setup.qa.list.add_first": "{} اضافه شود؟ [y/N] ",
  "setup.qa.list.add_more": "{} دیگری اضافه شود؟ [y/N] ",
  "setup.qa.list.field_required_row": "این فیلد الزامی است — حداقل یک ردیف لازم است.",
  "setup.qa.list.max_reached": "(به حداکثر {} ردیف رسید)",
  "setup.qa.list.min_required": "حداقل {} ردیف لازم است — {} دریافت شد. برای افزودن یکی دیگر 'y' تایپ کنید.",
  "setup.qa.list.row_dropped": "(ردیف حذف شد — ستون‌های الزامی خالی بودند)",
  "setup.qa.list.row_header": "ردیف #{}:",
  "setup.qa.prompt.configuring": "در حال پیکربندی {}: {}",
  "setup.qa.prompt.default": "(پیش‌فرض: {}) ",
  "setup.qa.prompt.field_required": "این فیلد الزامی است.",
  "setup.qa.prompt.invalid_choice": "انتخاب نامعتبر است. گزینه‌ها: {}",
  "setup.qa.prompt.invalid_format": "قالب نامعتبر است. الگوی مورد انتظار: {}",
  "setup.qa.prompt.mode_advanced": " (پیشرفته)",
  "setup.qa.prompt.optional_marker": " (اختیاری)",
  "setup.qa.prompt.required_marker": " (الزامی)",
  "setup.qa.question_prompt": "{}",
  "setup.qa.required_field": "این فیلد الزامی است",
  "setup.qa.secret_input": "مقدار رمز را وارد کنید (مخفی):",
  "setup.secrets.failed": "بذرپاشی رمزها برای provider={} tenant={} ناموفق بود: {}",
  "setup.secrets.seeded": "{} رمز برای provider={} tenant={} بذرپاشی شد",
  "setup.state_store.fallback": "استفاده از ذخیره‌ساز وضعیت حافظه‌ای (URL Redis در دسترس نیست)",
  "setup.state_store.upgraded": "ذخیره‌ساز وضعیت به Redis ارتقا یافت: {}",
  "ui.back": "بازگشت",
  "ui.close": "بستن",
  "ui.configure": "پیکربندی {}",
  "ui.continue": "ادامه",
  "ui.dashboard.add_scope": "افزودن محدوده",
  "ui.dashboard.back": "بازگشت به داشبورد",
  "ui.dashboard.configured": "پیکربندی‌شده",
  "ui.dashboard.delete": "حذف",
  "ui.dashboard.description": "{} ارائه‌دهنده را در {} پیکربندی کنید. برای مستأجرها/محیط‌های مختلف چندین محدوده ایجاد کنید.",
  "ui.dashboard.executed": "اجرا شد",
  "ui.dashboard.export": "صدور پاسخ‌ها",
  "ui.description": "پیکربندی {} ارائه‌دهنده در {}",
  "ui.discovering": "در حال شناسایی ارائه‌دهندگان...",
  "ui.discovering_sub": "در حال خواندن پیکربندی باندل",
  "ui.done": "انجام شد",
  "ui.execute_setup": "اجرای راه‌اندازی",
  "ui.executing.sub": "در حال اعمال پیکربندی به باندل",
  "ui.executing.title": "در حال اجرای راه‌اندازی...",
  "ui.export.description": "پیکربندی را به‌صورت فایل پاسخ‌های JSON سازگار با حالت --answers دانلود کنید.",
  "ui.export.download": "دانلود answers.json",
  "ui.export.password": "رمز عبور رمزنگاری",
  "ui.export.password_help": "در صورت تنظیم، مقادیر محرمانه با AES-256-GCM رمزنگاری می‌شوند. هنگام استفاده از --answers --key به این رمز عبور نیاز خواهید داشت.",
  "ui.export.password_hint": "برای عدم رمزنگاری خالی بگذارید",
  "ui.export.title": "صدور پاسخ‌ها",
  "ui.field.required": "{} الزامی است.",
  "ui.import.decrypt_failed": "رمزگشایی ناموفق بود",
  "ui.import.dropzone": "answers.json را اینجا رها کنید یا برای وارد کردن کلیک کنید",
  "ui.import.no_scopes": "هیچ محدوده معتبری در فایل یافت نشد.",
  "ui.import.parse_error": "تجزیه فایل ناموفق بود",
  "ui.import.password_prompt": "این فایل حاوی اسرار رمزنگاری‌شده است. رمز عبور رمزگشایی را وارد کنید:",
  "ui.new_setup": "راه‌اندازی جدید",
  "ui.no_providers": "هیچ ارائه‌دهنده‌ای در باندل یافت نشد.",
  "ui.nothing_to_configure": "چیزی برای پیکربندی وجود ندارد.",
  "ui.pending": "در انتظار",
  "ui.provider.configure": "پیکربندی {}",
  "ui.q.api_base_url": "URL پایه API",
  "ui.q.base_url": "URL پایه",
  "ui.q.channel_id": "شناسه کانال",
  "ui.q.default_channel": "کانال پیش‌فرض",
  "ui.q.default_room_id": "شناسه اتاق پیش‌فرض",
  "ui.q.default_to_person_email": "ایمیل شخص پیش‌فرض",
  "ui.q.enabled": "فعال‌سازی ارائه‌دهنده",
  "ui.q.jwt_signing_key": "کلید امضای JWT",
  "ui.q.jwt_signing_key.help": "کلید مخفی برای امضای توکن‌های Direct Line استفاده می‌شود. از هر رشته تصادفی استفاده کنید (مثلاً openssl rand -hex 32).",
  "ui.q.mode": "حالت",
  "ui.q.ms_bot_app_id": "شناسه اپ بات",
  "ui.q.ms_bot_app_id.help": "شناسه اپ بات مایکروسافت از ثبت Azure Bot Service",
  "ui.q.ms_bot_app_password": "گذرواژه اپ بات",
  "ui.q.oauth_custom_auth_url": "URL مجوزدهی",
  "ui.q.oauth_custom_client_id": "شناسه مشتری",
  "ui.q.oauth_custom_label": "نام نمایشی ارائه‌دهنده",
  "ui.q.oauth_custom_scopes": "دامنه‌ها",
  "ui.q.oauth_custom_token_url": "URL توکن",
  "ui.q.oauth_enable_custom": "فعال‌سازی ارائه‌دهنده OIDC سفارشی",
  "ui.q.oauth_enable_github": "فعال‌سازی ورود با GitHub",
  "ui.q.oauth_enable_google": "فعال‌سازی ورود با Google",
  "ui.q.oauth_enable_microsoft": "فعال‌سازی ورود با Microsoft",
  "ui.q.oauth_enabled": "فعال‌سازی ورود OAuth",
  "ui.q.oauth_enabled.help": "از کاربران بخواهید پیش از دسترسی به چت وارد شوند",
  "ui.q.oauth_github_client_id": "شناسه مشتری GitHub",
  "ui.q.oauth_github_client_secret": "راز مشتری GitHub",
  "ui.q.oauth_google_client_id": "شناسه مشتری Google",
  "ui.q.oauth_google_client_secret": "راز مشتری Google",
  "ui.q.oauth_microsoft_client_id": "شناسه مشتری Microsoft",
  "ui.q.oauth_microsoft_client_secret": "راز مشتری Microsoft",
  "ui.q.public_base_url": "URL پایه عمومی",
  "ui.q.public_base_url.help": "URL عمومی برای callbackهای webhook (مثلاً https://xxxx.trycloudflare.com)",
  "ui.q.route": "مسیر",
  "ui.q.slack_app_id": "شناسه اپ Slack",
  "ui.q.slack_bot_token": "توکن بات Slack",
  "ui.q.slack_configuration_token": "توکن پیکربندی Slack",
  "ui.q.team_id": "شناسه تیم",
  "ui.q.tenant_channel_id": "شناسه کانال مستأجر",
  "ui.q.webex_bot_token": "توکن بات Webex",
  "ui.questions": "پرسش‌ها",
  "ui.result.closed": "راه‌اندازی بسته شد.",
  "ui.result.closed_sub": "می‌توانید این زبانه را ببندید.",
  "ui.result.fail.description": "هنگام راه‌اندازی مشکلی پیش آمد.",
  "ui.result.fail.title": "راه‌اندازی ناموفق بود",
  "ui.result.log": "گزارش",
  "ui.result.manual_steps": "مراحل دستی لازم است",
  "ui.result.output": "خروجی",
  "ui.result.success.description": "باندل با موفقیت پیکربندی شد.",
  "ui.result.success.title": "راه‌اندازی کامل شد",
  "ui.review.description": "پیش از اعمال به باندل، پیکربندی را بازبینی کنید.",
  "ui.review.no": "خیر",
  "ui.review.secret_mask": "********",
  "ui.review.title": "بازبینی و اجرا",
  "ui.review.yes": "بله",
  "ui.review_execute": "بازبینی و اجرا",
  "ui.scope.description": "مستأجر، محیط و تیم هدف را برای این راه‌اندازی پیکربندی کنید.",
  "ui.scope.detected_tenant": "تشخیص‌داده‌شده از بسته: {}",
  "ui.scope.env": "محیط",
  "ui.scope.env_help": "باید با GREENTIC_ENV استفاده‌شده توسط زمان اجرا (dev، local، test) مطابقت داشته باشد.",
  "ui.scope.hint": "این مقادیر تعیین می‌کنند اسرار و پیکربندی کجا ذخیره شوند. مطمئن شوید با تنظیمات زمان اجرای شما مطابقت دارند.",
  "ui.scope.team": "تیم",
  "ui.scope.team_help": "برای مقدار پیش‌فرض خالی بگذارید. برای محدوده‌بندی اسرار به‌ازای هر تیم استفاده می‌شود.",
  "ui.scope.tenant": "مستأجر",
  "ui.scope.title": "محدوده راه‌اندازی",
  "ui.select_action": "برای شروع، یک اقدام را انتخاب کنید.",
  "ui.shared.description": "این پرسش‌ها برای همه ارائه‌دهندگان اعمال می‌شوند.",
  "ui.shared.title": "پیکربندی مشترک",
  "ui.start_config": "شروع پیکربندی",
  "ui.title": "راه‌اندازی Greentic"
}