feat: 完成全系统30个功能点开发与E2E全链路验收 (8轮调度32个子代理闭环)
- 模块一: 出海案例作品集、博客动态发布、人名发音语音条、RTL阿语多语言切换 - 模块二: AI顾问人设配置、行业术语库润色、RAG切片沙盒调试、流式会话与意向留资卡片 - 模块三: 全球访客雷达大屏、多维加权意向算分、外部CRM对接推送、团队公海池流转 - 模块四: 移动端NFC安全挂失、NFC动态路由规则配置、动态防伪验签、展会制卡Zip批量导出 - 模块五: 组织架构与名片分配、移动端个人中心设置、离职交接与历史线索迁移、安全审计日志 - 模块六: Stripe国际信用卡订阅Webhook、独立二级域名与SSL检测、坐席配额预警、多币种发票 - 模块七: 纸质名片OCR解析入库、国际商务日程RFC 5545 ICS日历、微官网离线SWR预加载、展会实时排行榜大屏 - 模块八: 全球出海SEO OpenGraph元标签注入与社交爬虫探测、30点端到端全链路业务流集成测试套件
这个提交包含在:
@@ -18,14 +18,19 @@ const i18n = {
|
||||
'menu.nfc': 'NFC Fleet',
|
||||
'menu.nfc.devices': 'Device Pool',
|
||||
'menu.nfc.batch': 'Batch Cards',
|
||||
'menu.nfc.rules': 'Routing Rules',
|
||||
'menu.ai': 'Omni AI',
|
||||
'menu.ai.knowledge': 'Knowledge Base',
|
||||
'menu.ai.translation': 'AI Translation & Glossary',
|
||||
'menu.ai.concierge': 'AI Concierge',
|
||||
'menu.team': 'Team',
|
||||
'menu.team.members': 'Members & Structure',
|
||||
'menu.team.brandKit': 'Brand Kit',
|
||||
'menu.team.handover': 'Handover',
|
||||
'menu.settingsBiz': 'Workspace',
|
||||
'menu.settings.tenant': 'Domain & SSL',
|
||||
'menu.settings.billing': 'Billing',
|
||||
'menu.settings.auditLogs': 'Audit Logs',
|
||||
'menu.list': 'List',
|
||||
'menu.result': 'Result',
|
||||
'menu.exception': 'Exception',
|
||||
@@ -52,6 +57,7 @@ const i18n = {
|
||||
'menu.user.role.admin': 'Admin',
|
||||
'menu.user.role.user': 'General User',
|
||||
'menu.dashboard.workplace': 'Workplace',
|
||||
'menu.dashboard.radarMap': 'Global Radar Heatmap',
|
||||
'navbar.logout': 'Logout',
|
||||
'settings.title': 'Settings',
|
||||
'settings.themeColor': 'Theme Color',
|
||||
@@ -98,14 +104,19 @@ const i18n = {
|
||||
'menu.nfc': 'NFC 舰队',
|
||||
'menu.nfc.devices': '设备池',
|
||||
'menu.nfc.batch': '批量制卡',
|
||||
'menu.nfc.rules': '场景路由规则',
|
||||
'menu.ai': 'AI 中枢',
|
||||
'menu.ai.knowledge': '知识库',
|
||||
'menu.ai.translation': '润色与术语库',
|
||||
'menu.ai.concierge': 'AI 顾问配置',
|
||||
'menu.team': '企业团队',
|
||||
'menu.team.members': '组织架构与成员',
|
||||
'menu.team.brandKit': '品牌规范',
|
||||
'menu.team.handover': '离职交接',
|
||||
'menu.settingsBiz': '企业设置',
|
||||
'menu.settings.tenant': '域名与证书',
|
||||
'menu.settings.billing': '订阅账单',
|
||||
'menu.settings.auditLogs': '安全审计',
|
||||
'menu.list': '列表页',
|
||||
'menu.result': '结果页',
|
||||
'menu.exception': '异常页',
|
||||
@@ -132,6 +143,7 @@ const i18n = {
|
||||
'menu.user.role.admin': '管理员',
|
||||
'menu.user.role.user': '普通用户',
|
||||
'menu.dashboard.workplace': '工作台',
|
||||
'menu.dashboard.radarMap': '全球访客雷达',
|
||||
'navbar.logout': '退出登录',
|
||||
'settings.title': '页面配置',
|
||||
'settings.themeColor': '主题色',
|
||||
|
||||
@@ -6,7 +6,14 @@
|
||||
* 3. 完整支持阿拉伯语 RTL 镜像布局
|
||||
*/
|
||||
|
||||
export type OmniLocale = 'zh-CN' | 'en-US' | 'ar-SA';
|
||||
export type OmniLocale =
|
||||
| 'zh-CN'
|
||||
| 'en-US'
|
||||
| 'ar-SA'
|
||||
| 'es-ES'
|
||||
| 'de-DE'
|
||||
| 'fr-FR'
|
||||
| 'ja-JP';
|
||||
export type Direction = 'ltr' | 'rtl';
|
||||
|
||||
export interface LocaleMeta {
|
||||
@@ -26,6 +33,7 @@ export type OmniMessageKey =
|
||||
| 'common.success'
|
||||
| 'common.error'
|
||||
| 'common.empty'
|
||||
| 'common.app_name'
|
||||
| 'card.save_contact'
|
||||
| 'card.exchange'
|
||||
| 'card.ai_chat'
|
||||
@@ -38,7 +46,32 @@ export type OmniMessageKey =
|
||||
| 'radar.lead_score'
|
||||
| 'crm.contacts'
|
||||
| 'crm.leads'
|
||||
| 'crm.follow_up';
|
||||
| 'crm.follow_up'
|
||||
| 'portal.unavailable'
|
||||
| 'portal.retry'
|
||||
| 'portal.pronounce'
|
||||
| 'portal.pronouncing'
|
||||
| 'portal.whatsapp'
|
||||
| 'portal.linkedin'
|
||||
| 'portal.telegram'
|
||||
| 'portal.twitter'
|
||||
| 'portal.wechat'
|
||||
| 'portal.email'
|
||||
| 'portal.phone'
|
||||
| 'portal.case'
|
||||
| 'portal.article'
|
||||
| 'portal.social'
|
||||
| 'portal.video'
|
||||
| 'portal.block'
|
||||
| 'portal.contact_unset'
|
||||
| 'portal.copied'
|
||||
| 'portal.copied_link'
|
||||
| 'portal.copied_whatsapp'
|
||||
| 'portal.copied_linkedin'
|
||||
| 'portal.copied_email'
|
||||
| 'portal.copied_telegram'
|
||||
| 'portal.copied_twitter'
|
||||
| 'portal.copied_wechat';
|
||||
|
||||
export interface OmniLocaleConfig {
|
||||
readonly code: OmniLocale;
|
||||
@@ -63,6 +96,7 @@ export const omniLocales: Record<OmniLocale, OmniLocaleConfig> = {
|
||||
'common.success': '操作成功',
|
||||
'common.error': '操作失败',
|
||||
'common.empty': '暂无数据',
|
||||
'common.app_name': 'OmniCard',
|
||||
'card.save_contact': '保存到通讯录',
|
||||
'card.exchange': '交换名片',
|
||||
'card.ai_chat': 'AI 咨询',
|
||||
@@ -76,6 +110,31 @@ export const omniLocales: Record<OmniLocale, OmniLocaleConfig> = {
|
||||
'crm.contacts': '联系人列表',
|
||||
'crm.leads': '商机线索',
|
||||
'crm.follow_up': '跟进记录',
|
||||
'portal.unavailable': '微官网暂不可用',
|
||||
'portal.retry': '重新加载',
|
||||
'portal.pronounce': '发音',
|
||||
'portal.pronouncing': '播放中',
|
||||
'portal.whatsapp': 'WhatsApp',
|
||||
'portal.linkedin': 'LinkedIn',
|
||||
'portal.telegram': 'Telegram',
|
||||
'portal.twitter': 'X',
|
||||
'portal.wechat': '微信',
|
||||
'portal.email': '邮件',
|
||||
'portal.phone': '电话呼出',
|
||||
'portal.case': '精选案例',
|
||||
'portal.article': '深度洞见',
|
||||
'portal.social': '社媒矩阵',
|
||||
'portal.video': '展会视频',
|
||||
'portal.block': '微官网内容',
|
||||
'portal.contact_unset': '未设置该联系方式',
|
||||
'portal.copied': '已复制',
|
||||
'portal.copied_link': '已复制链接',
|
||||
'portal.copied_whatsapp': '已复制 WhatsApp 链接',
|
||||
'portal.copied_linkedin': '已复制 LinkedIn 链接',
|
||||
'portal.copied_email': '已复制邮箱地址',
|
||||
'portal.copied_telegram': '已复制 Telegram 链接',
|
||||
'portal.copied_twitter': '已复制 X 链接',
|
||||
'portal.copied_wechat': '已复制微信号',
|
||||
},
|
||||
},
|
||||
'en-US': {
|
||||
@@ -93,6 +152,7 @@ export const omniLocales: Record<OmniLocale, OmniLocaleConfig> = {
|
||||
'common.success': 'Success',
|
||||
'common.error': 'Error occurred',
|
||||
'common.empty': 'No data available',
|
||||
'common.app_name': 'OmniCard',
|
||||
'card.save_contact': 'Save Contact',
|
||||
'card.exchange': 'Exchange Card',
|
||||
'card.ai_chat': 'AI Assistant',
|
||||
@@ -106,6 +166,31 @@ export const omniLocales: Record<OmniLocale, OmniLocaleConfig> = {
|
||||
'crm.contacts': 'Contacts',
|
||||
'crm.leads': 'Leads',
|
||||
'crm.follow_up': 'Follow-up',
|
||||
'portal.unavailable': 'This page is unavailable',
|
||||
'portal.retry': 'Reload',
|
||||
'portal.pronounce': 'Pronounce',
|
||||
'portal.pronouncing': 'Playing',
|
||||
'portal.whatsapp': 'WhatsApp',
|
||||
'portal.linkedin': 'LinkedIn',
|
||||
'portal.telegram': 'Telegram',
|
||||
'portal.twitter': 'X',
|
||||
'portal.wechat': 'WeChat',
|
||||
'portal.email': 'Email',
|
||||
'portal.phone': 'Call',
|
||||
'portal.case': 'Case study',
|
||||
'portal.article': 'Insight',
|
||||
'portal.social': 'Social',
|
||||
'portal.video': 'Video',
|
||||
'portal.block': 'Content',
|
||||
'portal.contact_unset': 'This contact method is not set',
|
||||
'portal.copied': 'Copied',
|
||||
'portal.copied_link': 'Link copied',
|
||||
'portal.copied_whatsapp': 'WhatsApp link copied',
|
||||
'portal.copied_linkedin': 'LinkedIn link copied',
|
||||
'portal.copied_email': 'Email copied',
|
||||
'portal.copied_telegram': 'Telegram link copied',
|
||||
'portal.copied_twitter': 'X link copied',
|
||||
'portal.copied_wechat': 'WeChat ID copied',
|
||||
},
|
||||
},
|
||||
'ar-SA': {
|
||||
@@ -123,6 +208,7 @@ export const omniLocales: Record<OmniLocale, OmniLocaleConfig> = {
|
||||
'common.success': 'تمت العملية بنجاح',
|
||||
'common.error': 'حدث خطأ',
|
||||
'common.empty': 'لا توجد بيانات',
|
||||
'common.app_name': 'OmniCard',
|
||||
'card.save_contact': 'حفظ جهة الاتصال',
|
||||
'card.exchange': 'تبادل البطاقات',
|
||||
'card.ai_chat': 'مساعد الذكاء الاصطناعي',
|
||||
@@ -136,6 +222,255 @@ export const omniLocales: Record<OmniLocale, OmniLocaleConfig> = {
|
||||
'crm.contacts': 'جهات الاتصال',
|
||||
'crm.leads': 'العملاء المحتملون',
|
||||
'crm.follow_up': 'المتابعة',
|
||||
'portal.unavailable': 'الصفحة غير متاحة حاليا',
|
||||
'portal.retry': 'إعادة التحميل',
|
||||
'portal.pronounce': 'الاستماع للنطق',
|
||||
'portal.pronouncing': 'جار التشغيل',
|
||||
'portal.whatsapp': 'واتساب',
|
||||
'portal.linkedin': 'لينكد إن',
|
||||
'portal.telegram': 'تيليجرام',
|
||||
'portal.twitter': 'إكس',
|
||||
'portal.wechat': 'وي تشات',
|
||||
'portal.email': 'البريد',
|
||||
'portal.phone': 'اتصال',
|
||||
'portal.case': 'دراسات الحالة',
|
||||
'portal.article': 'مقالات',
|
||||
'portal.social': 'التواصل الاجتماعي',
|
||||
'portal.video': 'فيديو',
|
||||
'portal.block': 'محتوى',
|
||||
'portal.contact_unset': 'لم يتم تعيين وسيلة التواصل',
|
||||
'portal.copied': 'تم النسخ',
|
||||
'portal.copied_link': 'تم نسخ الرابط',
|
||||
'portal.copied_whatsapp': 'تم نسخ رابط واتساب',
|
||||
'portal.copied_linkedin': 'تم نسخ رابط لينكد إن',
|
||||
'portal.copied_email': 'تم نسخ البريد الإلكتروني',
|
||||
'portal.copied_telegram': 'تم نسخ رابط تيليجرام',
|
||||
'portal.copied_twitter': 'تم نسخ رابط إكس',
|
||||
'portal.copied_wechat': 'تم نسخ معرف وي تشات',
|
||||
},
|
||||
},
|
||||
'es-ES': {
|
||||
code: 'es-ES',
|
||||
name: 'Español',
|
||||
dir: 'ltr',
|
||||
messages: {
|
||||
'common.confirm': 'Confirmar',
|
||||
'common.cancel': 'Cancelar',
|
||||
'common.save': 'Guardar',
|
||||
'common.delete': 'Eliminar',
|
||||
'common.edit': 'Editar',
|
||||
'common.search': 'Buscar',
|
||||
'common.loading': 'Cargando...',
|
||||
'common.success': 'Listo',
|
||||
'common.error': 'Ha ocurrido un error',
|
||||
'common.empty': 'No hay datos',
|
||||
'common.app_name': 'OmniCard',
|
||||
'card.save_contact': 'Guardar contacto',
|
||||
'card.exchange': 'Intercambiar tarjeta',
|
||||
'card.ai_chat': 'Asistente IA',
|
||||
'card.share': 'Compartir tarjeta',
|
||||
'card.scan_nfc': 'Toque NFC',
|
||||
'card.view_profile': 'Ver perfil',
|
||||
'radar.online_visitor': 'Visitantes en línea',
|
||||
'radar.active_now': 'Activos ahora',
|
||||
'radar.visitor_trace': 'Recorrido del visitante',
|
||||
'radar.lead_score': 'Puntuación de interés',
|
||||
'crm.contacts': 'Contactos',
|
||||
'crm.leads': 'Oportunidades',
|
||||
'crm.follow_up': 'Seguimiento',
|
||||
'portal.unavailable': 'Esta página no está disponible',
|
||||
'portal.retry': 'Recargar',
|
||||
'portal.pronounce': 'Pronunciar',
|
||||
'portal.pronouncing': 'Reproduciendo',
|
||||
'portal.whatsapp': 'WhatsApp',
|
||||
'portal.linkedin': 'LinkedIn',
|
||||
'portal.telegram': 'Telegram',
|
||||
'portal.twitter': 'X',
|
||||
'portal.wechat': 'WeChat',
|
||||
'portal.email': 'Correo',
|
||||
'portal.phone': 'Llamar',
|
||||
'portal.case': 'Caso de éxito',
|
||||
'portal.article': 'Artículo',
|
||||
'portal.social': 'Redes sociales',
|
||||
'portal.video': 'Vídeo',
|
||||
'portal.block': 'Contenido',
|
||||
'portal.contact_unset': 'Este medio de contacto no está configurado',
|
||||
'portal.copied': 'Copiado',
|
||||
'portal.copied_link': 'Enlace copiado',
|
||||
'portal.copied_whatsapp': 'Enlace de WhatsApp copiado',
|
||||
'portal.copied_linkedin': 'Enlace de LinkedIn copiado',
|
||||
'portal.copied_email': 'Correo copiado',
|
||||
'portal.copied_telegram': 'Enlace de Telegram copiado',
|
||||
'portal.copied_twitter': 'Enlace de X copiado',
|
||||
'portal.copied_wechat': 'ID de WeChat copiado',
|
||||
},
|
||||
},
|
||||
'de-DE': {
|
||||
code: 'de-DE',
|
||||
name: 'Deutsch',
|
||||
dir: 'ltr',
|
||||
messages: {
|
||||
'common.confirm': 'Bestätigen',
|
||||
'common.cancel': 'Abbrechen',
|
||||
'common.save': 'Speichern',
|
||||
'common.delete': 'Löschen',
|
||||
'common.edit': 'Bearbeiten',
|
||||
'common.search': 'Suchen',
|
||||
'common.loading': 'Wird geladen...',
|
||||
'common.success': 'Erfolgreich',
|
||||
'common.error': 'Ein Fehler ist aufgetreten',
|
||||
'common.empty': 'Keine Daten vorhanden',
|
||||
'common.app_name': 'OmniCard',
|
||||
'card.save_contact': 'Kontakt speichern',
|
||||
'card.exchange': 'Visitenkarte tauschen',
|
||||
'card.ai_chat': 'KI-Assistent',
|
||||
'card.share': 'Karte teilen',
|
||||
'card.scan_nfc': 'NFC-Tipp',
|
||||
'card.view_profile': 'Profil ansehen',
|
||||
'radar.online_visitor': 'Online-Besucher',
|
||||
'radar.active_now': 'Jetzt aktiv',
|
||||
'radar.visitor_trace': 'Besucherpfad',
|
||||
'radar.lead_score': 'Lead-Score',
|
||||
'crm.contacts': 'Kontakte',
|
||||
'crm.leads': 'Leads',
|
||||
'crm.follow_up': 'Nachverfolgung',
|
||||
'portal.unavailable': 'Diese Seite ist nicht verfügbar',
|
||||
'portal.retry': 'Neu laden',
|
||||
'portal.pronounce': 'Aussprache',
|
||||
'portal.pronouncing': 'Wird wiedergegeben',
|
||||
'portal.whatsapp': 'WhatsApp',
|
||||
'portal.linkedin': 'LinkedIn',
|
||||
'portal.telegram': 'Telegram',
|
||||
'portal.twitter': 'X',
|
||||
'portal.wechat': 'WeChat',
|
||||
'portal.email': 'E-Mail',
|
||||
'portal.phone': 'Anrufen',
|
||||
'portal.case': 'Fallstudie',
|
||||
'portal.article': 'Einblick',
|
||||
'portal.social': 'Social Media',
|
||||
'portal.video': 'Video',
|
||||
'portal.block': 'Inhalt',
|
||||
'portal.contact_unset': 'Dieser Kontaktweg ist nicht hinterlegt',
|
||||
'portal.copied': 'Kopiert',
|
||||
'portal.copied_link': 'Link kopiert',
|
||||
'portal.copied_whatsapp': 'WhatsApp-Link kopiert',
|
||||
'portal.copied_linkedin': 'LinkedIn-Link kopiert',
|
||||
'portal.copied_email': 'E-Mail kopiert',
|
||||
'portal.copied_telegram': 'Telegram-Link kopiert',
|
||||
'portal.copied_twitter': 'X-Link kopiert',
|
||||
'portal.copied_wechat': 'WeChat-ID kopiert',
|
||||
},
|
||||
},
|
||||
'fr-FR': {
|
||||
code: 'fr-FR',
|
||||
name: 'Français',
|
||||
dir: 'ltr',
|
||||
messages: {
|
||||
'common.confirm': 'Confirmer',
|
||||
'common.cancel': 'Annuler',
|
||||
'common.save': 'Enregistrer',
|
||||
'common.delete': 'Supprimer',
|
||||
'common.edit': 'Modifier',
|
||||
'common.search': 'Rechercher',
|
||||
'common.loading': 'Chargement...',
|
||||
'common.success': 'Terminé',
|
||||
'common.error': 'Une erreur est survenue',
|
||||
'common.empty': 'Aucune donnée',
|
||||
'common.app_name': 'OmniCard',
|
||||
'card.save_contact': 'Enregistrer le contact',
|
||||
'card.exchange': 'Échanger la carte',
|
||||
'card.ai_chat': 'Assistant IA',
|
||||
'card.share': 'Partager la carte',
|
||||
'card.scan_nfc': 'Toucher NFC',
|
||||
'card.view_profile': 'Voir le profil',
|
||||
'radar.online_visitor': 'Visiteurs en ligne',
|
||||
'radar.active_now': 'Actifs maintenant',
|
||||
'radar.visitor_trace': 'Parcours visiteur',
|
||||
'radar.lead_score': 'Score d’intérêt',
|
||||
'crm.contacts': 'Contacts',
|
||||
'crm.leads': 'Prospects',
|
||||
'crm.follow_up': 'Suivi',
|
||||
'portal.unavailable': 'Cette page est indisponible',
|
||||
'portal.retry': 'Recharger',
|
||||
'portal.pronounce': 'Prononcer',
|
||||
'portal.pronouncing': 'Lecture en cours',
|
||||
'portal.whatsapp': 'WhatsApp',
|
||||
'portal.linkedin': 'LinkedIn',
|
||||
'portal.telegram': 'Telegram',
|
||||
'portal.twitter': 'X',
|
||||
'portal.wechat': 'WeChat',
|
||||
'portal.email': 'E-mail',
|
||||
'portal.phone': 'Appeler',
|
||||
'portal.case': 'Étude de cas',
|
||||
'portal.article': 'Analyse',
|
||||
'portal.social': 'Réseaux sociaux',
|
||||
'portal.video': 'Vidéo',
|
||||
'portal.block': 'Contenu',
|
||||
'portal.contact_unset': 'Ce moyen de contact n’est pas renseigné',
|
||||
'portal.copied': 'Copié',
|
||||
'portal.copied_link': 'Lien copié',
|
||||
'portal.copied_whatsapp': 'Lien WhatsApp copié',
|
||||
'portal.copied_linkedin': 'Lien LinkedIn copié',
|
||||
'portal.copied_email': 'E-mail copié',
|
||||
'portal.copied_telegram': 'Lien Telegram copié',
|
||||
'portal.copied_twitter': 'Lien X copié',
|
||||
'portal.copied_wechat': 'Identifiant WeChat copié',
|
||||
},
|
||||
},
|
||||
'ja-JP': {
|
||||
code: 'ja-JP',
|
||||
name: '日本語',
|
||||
dir: 'ltr',
|
||||
messages: {
|
||||
'common.confirm': '確認',
|
||||
'common.cancel': 'キャンセル',
|
||||
'common.save': '保存',
|
||||
'common.delete': '削除',
|
||||
'common.edit': '編集',
|
||||
'common.search': '検索',
|
||||
'common.loading': '読み込み中...',
|
||||
'common.success': '完了しました',
|
||||
'common.error': 'エラーが発生しました',
|
||||
'common.empty': 'データがありません',
|
||||
'common.app_name': 'OmniCard',
|
||||
'card.save_contact': '連絡先に保存',
|
||||
'card.exchange': '名刺を交換',
|
||||
'card.ai_chat': 'AI アシスタント',
|
||||
'card.share': '名刺をシェア',
|
||||
'card.scan_nfc': 'NFC タップ',
|
||||
'card.view_profile': 'プロフィールを見る',
|
||||
'radar.online_visitor': 'オンライン訪問者',
|
||||
'radar.active_now': '現在アクティブ',
|
||||
'radar.visitor_trace': '訪問履歴',
|
||||
'radar.lead_score': '関心度スコア',
|
||||
'crm.contacts': '連絡先',
|
||||
'crm.leads': 'リード',
|
||||
'crm.follow_up': 'フォロー記録',
|
||||
'portal.unavailable': 'このページは現在ご利用いただけません',
|
||||
'portal.retry': '再読み込み',
|
||||
'portal.pronounce': '発音',
|
||||
'portal.pronouncing': '再生中',
|
||||
'portal.whatsapp': 'WhatsApp',
|
||||
'portal.linkedin': 'LinkedIn',
|
||||
'portal.telegram': 'Telegram',
|
||||
'portal.twitter': 'X',
|
||||
'portal.wechat': 'WeChat',
|
||||
'portal.email': 'メール',
|
||||
'portal.phone': '電話する',
|
||||
'portal.case': '導入事例',
|
||||
'portal.article': 'インサイト',
|
||||
'portal.social': 'ソーシャル',
|
||||
'portal.video': '動画',
|
||||
'portal.block': 'コンテンツ',
|
||||
'portal.contact_unset': 'この連絡先は未設定です',
|
||||
'portal.copied': 'コピーしました',
|
||||
'portal.copied_link': 'リンクをコピーしました',
|
||||
'portal.copied_whatsapp': 'WhatsApp のリンクをコピーしました',
|
||||
'portal.copied_linkedin': 'LinkedIn のリンクをコピーしました',
|
||||
'portal.copied_email': 'メールアドレスをコピーしました',
|
||||
'portal.copied_telegram': 'Telegram のリンクをコピーしました',
|
||||
'portal.copied_twitter': 'X のリンクをコピーしました',
|
||||
'portal.copied_wechat': 'WeChat ID をコピーしました',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
在新工单中引用
屏蔽一个用户