@vicacha-devs/strapi-plugin-broadcasts 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +15 -2
- package/dist/admin/BroadcastsHomePage-CM_N_spo.mjs +1210 -0
- package/dist/admin/BroadcastsHomePage-DQueM7nj.js +1228 -0
- package/dist/admin/SettingsPage-TawvAAiv.js +1187 -0
- package/dist/admin/SettingsPage-ikcb0cfh.mjs +1169 -0
- package/dist/admin/ar-vwekVqfp.js +232 -0
- package/dist/admin/ar-wZTCd3Za.mjs +232 -0
- package/dist/admin/de-IZicxuvv.mjs +232 -0
- package/dist/admin/de-Qa2SQQfY.js +232 -0
- package/dist/admin/en-B-HnZo8U.mjs +232 -0
- package/dist/admin/en-D1byrK0s.js +232 -0
- package/dist/admin/es-Co7PmAj8.mjs +232 -0
- package/dist/admin/es-Dgylqagv.js +232 -0
- package/dist/admin/fr-B9zZn3z1.mjs +232 -0
- package/dist/admin/fr-C7-MIWnw.js +232 -0
- package/dist/admin/index-CApLw9Uu.mjs +1036 -0
- package/dist/admin/index-Dw6J7U1v.js +1053 -0
- package/dist/admin/index.js +6 -0
- package/dist/admin/index.mjs +6 -0
- package/dist/admin/it-DJU9iBqT.mjs +232 -0
- package/dist/admin/it-D_mulZtx.js +232 -0
- package/dist/admin/pt-B9swwjPu.js +232 -0
- package/dist/admin/pt-Dr8u5we0.mjs +232 -0
- package/dist/admin/ru-B0NNiMNA.js +232 -0
- package/dist/admin/ru-Bd4cEKDV.mjs +232 -0
- package/dist/admin/selectOptions-BlvNrhvc.mjs +150 -0
- package/dist/admin/selectOptions-DuHQ0KK3.js +149 -0
- package/dist/admin/src/components/AutomationAndLogsTabs.d.ts +16 -0
- package/dist/admin/src/components/BridgesSandboxTab.d.ts +8 -0
- package/dist/admin/src/components/CampaignComposerForm.d.ts +26 -0
- package/dist/admin/src/components/CampaignsTableSection.d.ts +27 -0
- package/dist/admin/src/components/DeliveryLedgerSection.d.ts +17 -0
- package/dist/admin/src/components/Initializer.d.ts +6 -0
- package/dist/admin/src/components/OrganizationEmailTab.d.ts +10 -0
- package/dist/admin/src/components/PluginIcon.d.ts +3 -0
- package/dist/admin/src/components/WhatsAppTransportTab.d.ts +11 -0
- package/dist/admin/src/index.d.ts +24 -0
- package/dist/admin/src/pages/BroadcastsHomePage.d.ts +2 -0
- package/dist/admin/src/pages/SettingsPage.d.ts +3 -0
- package/dist/admin/src/permissions.d.ts +30 -0
- package/dist/admin/src/pluginId.d.ts +2 -0
- package/dist/admin/src/translations/cmLabels.d.ts +1 -0
- package/dist/admin/src/translations/cmLabelsExtra.d.ts +1 -0
- package/dist/admin/src/translations/cmPlaceholders.d.ts +1 -0
- package/dist/admin/src/translations/cmPlaceholdersExtra.d.ts +1 -0
- package/dist/admin/src/utils/extractApiError.d.ts +1 -0
- package/dist/admin/src/utils/selectOptions.d.ts +21 -0
- package/dist/admin/tr-Cc-ItZUP.js +232 -0
- package/dist/admin/tr-DlyHa2Vk.mjs +232 -0
- package/dist/admin/zh-CLzJ7x3y.mjs +232 -0
- package/dist/admin/zh-CaqwZk-p.js +232 -0
- package/dist/server/index.js +3399 -0
- package/dist/server/index.mjs +3399 -0
- package/dist/server/src/bootstrap.d.ts +5 -0
- package/dist/server/src/config/index.d.ts +5 -0
- package/dist/server/src/content-types/automation-rule/index.d.ts +90 -0
- package/dist/server/src/content-types/automation-rule/schema.json.d.ts +90 -0
- package/dist/server/src/content-types/campaign/index.d.ts +118 -0
- package/dist/server/src/content-types/campaign/schema.json.d.ts +118 -0
- package/dist/server/src/content-types/delivery-log/index.d.ts +71 -0
- package/dist/server/src/content-types/delivery-log/schema.json.d.ts +71 -0
- package/dist/server/src/content-types/index.d.ts +279 -0
- package/dist/server/src/controllers/broadcastController.d.ts +32 -0
- package/dist/server/src/controllers/index.d.ts +22 -0
- package/dist/server/src/destroy.d.ts +5 -0
- package/dist/server/src/eventHubRegistry.d.ts +5 -0
- package/dist/server/src/index.d.ts +463 -0
- package/dist/server/src/register.d.ts +5 -0
- package/dist/server/src/routes/admin.d.ts +17 -0
- package/dist/server/src/routes/content-api.d.ts +13 -0
- package/dist/server/src/routes/index.d.ts +31 -0
- package/dist/server/src/services/automationService.d.ts +33 -0
- package/dist/server/src/services/campaignChannelDispatch.d.ts +20 -0
- package/dist/server/src/services/campaignHelpers.d.ts +20 -0
- package/dist/server/src/services/campaignLifecycle.d.ts +23 -0
- package/dist/server/src/services/campaignService.d.ts +54 -0
- package/dist/server/src/services/deliveryLedger.d.ts +18 -0
- package/dist/server/src/services/emailDesignerBridge.d.ts +30 -0
- package/dist/server/src/services/idempotency.d.ts +5 -0
- package/dist/server/src/services/index.d.ts +119 -0
- package/dist/server/src/services/settings.d.ts +12 -0
- package/dist/server/src/services/transportService.d.ts +70 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.js +825 -0
- package/dist/shared/index.mjs +823 -0
- package/package.json +109 -3
|
@@ -0,0 +1,1053 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const React = require("react");
|
|
3
|
+
function _interopNamespace(e) {
|
|
4
|
+
if (e && e.__esModule) return e;
|
|
5
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
6
|
+
if (e) {
|
|
7
|
+
for (const k in e) {
|
|
8
|
+
if (k !== "default") {
|
|
9
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
10
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: () => e[k]
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
n.default = e;
|
|
18
|
+
return Object.freeze(n);
|
|
19
|
+
}
|
|
20
|
+
const React__namespace = /* @__PURE__ */ _interopNamespace(React);
|
|
21
|
+
const __variableDynamicImportRuntimeHelper = (glob, path, segs) => {
|
|
22
|
+
const v = glob[path];
|
|
23
|
+
if (v) {
|
|
24
|
+
return typeof v === "function" ? v() : Promise.resolve(v);
|
|
25
|
+
}
|
|
26
|
+
return new Promise((_, reject) => {
|
|
27
|
+
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
|
|
28
|
+
reject.bind(
|
|
29
|
+
null,
|
|
30
|
+
new Error(
|
|
31
|
+
"Unknown variable dynamic import: " + path + (path.split("/").length !== segs ? ". Note that variables only represent file names one level deep." : "")
|
|
32
|
+
)
|
|
33
|
+
)
|
|
34
|
+
);
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
function freezeOptions(items) {
|
|
38
|
+
return Object.freeze(items.map((item) => Object.freeze({ ...item })));
|
|
39
|
+
}
|
|
40
|
+
const LOCALE_OPTIONS = freezeOptions([
|
|
41
|
+
{ value: "es", label: "es — Español (Spanish)" },
|
|
42
|
+
{ value: "en", label: "en — English" },
|
|
43
|
+
{ value: "ar", label: "ar — العربية (Arabic)" },
|
|
44
|
+
{ value: "tr", label: "tr — Türkçe (Turkish)" },
|
|
45
|
+
{ value: "fr", label: "fr — Français (French)" },
|
|
46
|
+
{ value: "de", label: "de — Deutsch (German)" },
|
|
47
|
+
{ value: "pt", label: "pt — Português (Portuguese)" },
|
|
48
|
+
{ value: "it", label: "it — Italiano (Italian)" },
|
|
49
|
+
{ value: "nl", label: "nl — Nederlands (Dutch)" },
|
|
50
|
+
{ value: "pl", label: "pl — Polski (Polish)" },
|
|
51
|
+
{ value: "ru", label: "ru — Русский (Russian)" },
|
|
52
|
+
{ value: "id", label: "id — Bahasa Indonesia" },
|
|
53
|
+
{ value: "ur", label: "ur — اردو (Urdu)" },
|
|
54
|
+
{ value: "zh", label: "zh — 中文 (Chinese)" }
|
|
55
|
+
]);
|
|
56
|
+
freezeOptions([
|
|
57
|
+
{
|
|
58
|
+
value: "islamic-umalqura",
|
|
59
|
+
label: "islamic-umalqura (Hijri Umm al-Qura)"
|
|
60
|
+
},
|
|
61
|
+
{ value: "islamic-civil", label: "islamic-civil (Tabular Islamic Civil)" },
|
|
62
|
+
{ value: "islamic-tbla", label: "islamic-tbla (Tabular Astronomical)" },
|
|
63
|
+
{ value: "hebrew", label: "hebrew (Hebrew)" },
|
|
64
|
+
{ value: "persian", label: "persian (Solar Hijri)" },
|
|
65
|
+
{ value: "none", label: "none (Gregorian Only)" }
|
|
66
|
+
]);
|
|
67
|
+
function mergeSelectOptions(predefined, currentValues) {
|
|
68
|
+
const known = new Set(predefined.map((opt) => opt.value));
|
|
69
|
+
const merged = predefined.map((opt) => ({
|
|
70
|
+
value: opt.value,
|
|
71
|
+
label: opt.label
|
|
72
|
+
}));
|
|
73
|
+
for (const raw of currentValues ?? []) {
|
|
74
|
+
const val = typeof raw === "string" ? raw.trim() : "";
|
|
75
|
+
if (val && !known.has(val)) {
|
|
76
|
+
known.add(val);
|
|
77
|
+
merged.push({ value: val, label: val });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return merged;
|
|
81
|
+
}
|
|
82
|
+
function parseCsvList(raw) {
|
|
83
|
+
if (typeof raw !== "string" || !raw) {
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
const seen = /* @__PURE__ */ new Set();
|
|
87
|
+
const result = [];
|
|
88
|
+
for (const segment of raw.split(",")) {
|
|
89
|
+
const item = segment.trim();
|
|
90
|
+
if (item && !seen.has(item)) {
|
|
91
|
+
seen.add(item);
|
|
92
|
+
result.push(item);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return result;
|
|
96
|
+
}
|
|
97
|
+
const VALID_LOCALE_RE = /^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8}){0,4}$/;
|
|
98
|
+
function isTranslationRecord(value) {
|
|
99
|
+
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
100
|
+
}
|
|
101
|
+
function extractDictionary(loaded) {
|
|
102
|
+
if (!isTranslationRecord(loaded)) {
|
|
103
|
+
return void 0;
|
|
104
|
+
}
|
|
105
|
+
if ("default" in loaded) {
|
|
106
|
+
return isTranslationRecord(loaded.default) ? loaded.default : void 0;
|
|
107
|
+
}
|
|
108
|
+
return loaded;
|
|
109
|
+
}
|
|
110
|
+
function getLookupCandidates(locale, fallbackToLanguage) {
|
|
111
|
+
const trimmed = locale.trim();
|
|
112
|
+
if (!VALID_LOCALE_RE.test(trimmed)) {
|
|
113
|
+
return [];
|
|
114
|
+
}
|
|
115
|
+
if (!fallbackToLanguage || !trimmed.includes("-")) {
|
|
116
|
+
return [trimmed];
|
|
117
|
+
}
|
|
118
|
+
const base = trimmed.split("-")[0];
|
|
119
|
+
return base && base !== trimmed ? [trimmed, base] : [trimmed];
|
|
120
|
+
}
|
|
121
|
+
function prefixPluginTranslations(trad, pluginId, options) {
|
|
122
|
+
const normalizedPluginId = typeof pluginId === "string" ? pluginId.trim() : "";
|
|
123
|
+
if (!normalizedPluginId) {
|
|
124
|
+
throw new TypeError("pluginId can't be empty");
|
|
125
|
+
}
|
|
126
|
+
const result = {};
|
|
127
|
+
if (options?.baseTranslations) {
|
|
128
|
+
for (const [key, value] of Object.entries(options.baseTranslations)) {
|
|
129
|
+
if (typeof value === "string") {
|
|
130
|
+
result[key] = value;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
const prefix = `${normalizedPluginId}.`;
|
|
135
|
+
const explicitPrefixed = [];
|
|
136
|
+
for (const [key, value] of Object.entries(trad)) {
|
|
137
|
+
if (typeof value !== "string") {
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
if (options?.keepUnprefixed) {
|
|
141
|
+
result[key] = value;
|
|
142
|
+
}
|
|
143
|
+
if (key.startsWith(prefix)) {
|
|
144
|
+
explicitPrefixed.push([key, value]);
|
|
145
|
+
} else {
|
|
146
|
+
result[`${prefix}${key}`] = value;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
for (const [key, value] of explicitPrefixed) {
|
|
150
|
+
result[key] = value;
|
|
151
|
+
}
|
|
152
|
+
return result;
|
|
153
|
+
}
|
|
154
|
+
function createRegisterTrads(options) {
|
|
155
|
+
const { pluginId, defaultLocales = ["en", "es", "ar", "tr"], supportedLocales, keepUnprefixed = true, fallbackToLanguageCode = true, loadTranslation, translations, getBaseTranslations, onLoaded } = options;
|
|
156
|
+
const normalizedPluginId = typeof pluginId === "string" ? pluginId.trim() : "";
|
|
157
|
+
if (!normalizedPluginId) {
|
|
158
|
+
throw new TypeError("pluginId can't be empty");
|
|
159
|
+
}
|
|
160
|
+
const supportedSet = supportedLocales ? new Set(supportedLocales) : void 0;
|
|
161
|
+
const effectiveDefaults = supportedSet ? defaultLocales.filter((loc) => getLookupCandidates(loc, fallbackToLanguageCode).some((candidate) => supportedSet.has(candidate))) : defaultLocales;
|
|
162
|
+
return async function registerTrads({ locales = [] } = {}) {
|
|
163
|
+
const allLocales = effectiveDefaults.length > 0 ? Array.from(/* @__PURE__ */ new Set([...locales, ...effectiveDefaults])) : Array.from(new Set(locales));
|
|
164
|
+
return Promise.all(allLocales.map(async (locale) => {
|
|
165
|
+
const candidates = getLookupCandidates(locale, fallbackToLanguageCode);
|
|
166
|
+
if (candidates.length === 0) {
|
|
167
|
+
return { data: {}, locale };
|
|
168
|
+
}
|
|
169
|
+
if (supportedSet && !candidates.some((candidate) => supportedSet.has(candidate))) {
|
|
170
|
+
return { data: {}, locale };
|
|
171
|
+
}
|
|
172
|
+
let rawData;
|
|
173
|
+
for (const candidate of candidates) {
|
|
174
|
+
if (translations && Object.hasOwn(translations, candidate)) {
|
|
175
|
+
rawData = extractDictionary(translations[candidate]);
|
|
176
|
+
if (rawData) {
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
if (loadTranslation) {
|
|
181
|
+
try {
|
|
182
|
+
const loaded = await loadTranslation(candidate);
|
|
183
|
+
rawData = extractDictionary(loaded);
|
|
184
|
+
if (rawData) {
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
} catch {
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
const baseTranslations = getBaseTranslations?.(locale);
|
|
192
|
+
const hasBase = Boolean(baseTranslations) && Object.keys(baseTranslations).length > 0;
|
|
193
|
+
if (!rawData && !hasBase) {
|
|
194
|
+
return { data: {}, locale };
|
|
195
|
+
}
|
|
196
|
+
const prefixed = prefixPluginTranslations(rawData ?? {}, normalizedPluginId, {
|
|
197
|
+
keepUnprefixed,
|
|
198
|
+
baseTranslations
|
|
199
|
+
});
|
|
200
|
+
onLoaded?.(locale, prefixed);
|
|
201
|
+
return { data: prefixed, locale };
|
|
202
|
+
}));
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
const PLUGIN_ID = "broadcasts";
|
|
206
|
+
const CAMPAIGN_UID = "plugin::broadcasts.campaign";
|
|
207
|
+
const AUTOMATION_RULE_UID = "plugin::broadcasts.automation-rule";
|
|
208
|
+
const DEFAULT_BROADCAST_TOPICS = [
|
|
209
|
+
"announcements",
|
|
210
|
+
"events",
|
|
211
|
+
"courses",
|
|
212
|
+
"ramadan_eid",
|
|
213
|
+
"urgent_janazah",
|
|
214
|
+
"newsletter"
|
|
215
|
+
];
|
|
216
|
+
const DEFAULT_BROADCAST_SETTINGS = {
|
|
217
|
+
primaryCalendar: "gregory",
|
|
218
|
+
secondaryCalendars: ["islamic-umalqura"],
|
|
219
|
+
defaultLocale: "es",
|
|
220
|
+
supportedLocales: ["es", "en", "ar", "tr"],
|
|
221
|
+
availableTopics: [...DEFAULT_BROADCAST_TOPICS],
|
|
222
|
+
dryRun: true,
|
|
223
|
+
enableInboxSubscriberBridge: true,
|
|
224
|
+
enableEventHubAutomations: true,
|
|
225
|
+
enableEmailDesignerBridge: true,
|
|
226
|
+
defaultEmailTemplateRef: "",
|
|
227
|
+
siteBaseUrl: "https://mezquitabogota.org",
|
|
228
|
+
organizationName: "Mezquita Central Abu Bakr As-Siddiq — Bogotá",
|
|
229
|
+
emailFromAddress: "no-reply@mezquitabogota.org",
|
|
230
|
+
emailReplyToAddress: "info@mezquitabogota.org",
|
|
231
|
+
telegramEnabled: true,
|
|
232
|
+
telegramBotToken: "",
|
|
233
|
+
telegramDefaultChatId: "@MezquitaCentralBogota",
|
|
234
|
+
telegramTopicChatMap: {},
|
|
235
|
+
telegramTopicThreadMap: {},
|
|
236
|
+
whatsappEnabled: true,
|
|
237
|
+
whatsappDriver: "meta-cloud",
|
|
238
|
+
whatsappPhoneNumberId: "",
|
|
239
|
+
whatsappAccessToken: "",
|
|
240
|
+
whatsappGatewayUrl: "",
|
|
241
|
+
whatsappGatewaySession: "default",
|
|
242
|
+
whatsappGatewayApiKey: "",
|
|
243
|
+
whatsappDefaultRecipients: [],
|
|
244
|
+
whatsappTopicGroupMap: {},
|
|
245
|
+
allowLocalhostGateways: false,
|
|
246
|
+
publicChannelLinks: [
|
|
247
|
+
{
|
|
248
|
+
id: "telegram-main",
|
|
249
|
+
channel: "telegram",
|
|
250
|
+
label: "Canal Oficial de Telegram",
|
|
251
|
+
handle: "@MezquitaCentralBogota",
|
|
252
|
+
inviteUrl: "https://t.me/MezquitaCentralBogota",
|
|
253
|
+
topic: "announcements",
|
|
254
|
+
localizedLabels: {
|
|
255
|
+
es: "Canal Oficial de Telegram",
|
|
256
|
+
en: "Official Telegram Channel",
|
|
257
|
+
ar: "القناة الرسمية على تيليجرام",
|
|
258
|
+
tr: "Resmi Telegram Kanalı"
|
|
259
|
+
},
|
|
260
|
+
localizedDescriptions: {
|
|
261
|
+
es: "Horarios de Jumu’ah, avistamiento lunar de Ramadán, cursos y avisos urgentes.",
|
|
262
|
+
en: "Jumu’ah schedules, Ramadan moon sighting, courses, and urgent community notices.",
|
|
263
|
+
ar: "مواعيد صلاة الجمعة، تحري هلال رمضان، الدورات والإعلانات العاجلة.",
|
|
264
|
+
tr: "Cuma vakitleri, Ramazan hilal gözlemi, kurslar ve acil duyurular."
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
id: "whatsapp-community",
|
|
269
|
+
channel: "whatsapp",
|
|
270
|
+
label: "Comunidad Oficial de WhatsApp",
|
|
271
|
+
handle: "+57 310 000 0000",
|
|
272
|
+
inviteUrl: "https://whatsapp.com/channel/0029VaMezquitaBogota",
|
|
273
|
+
topic: "announcements",
|
|
274
|
+
localizedLabels: {
|
|
275
|
+
es: "Comunidad Oficial de WhatsApp",
|
|
276
|
+
en: "Official WhatsApp Community",
|
|
277
|
+
ar: "مجتمع واتساب الرسمي",
|
|
278
|
+
tr: "Resmi WhatsApp Topluluğu"
|
|
279
|
+
},
|
|
280
|
+
localizedDescriptions: {
|
|
281
|
+
es: "Alertas directas de oración funeraria (Janazah), eventos comunitarios y boletín semanal.",
|
|
282
|
+
en: "Direct Janazah funeral prayer alerts, community events, and weekly newsletter.",
|
|
283
|
+
ar: "تنبيهات صلاة الجنازة العاجلة، الفعاليات المجتمعية والنشرة الأسبوعية.",
|
|
284
|
+
tr: "Acil cenaze namazı duyuruları, topluluk etkinlikleri ve haftalık bülten."
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
]
|
|
288
|
+
};
|
|
289
|
+
const STARTER_CAMPAIGN_TEMPLATES = [
|
|
290
|
+
{
|
|
291
|
+
id: "jumuah-weekly-reminder",
|
|
292
|
+
slug: "jumuah-weekly-reminder",
|
|
293
|
+
title: "Recordatorio Semanal de Khutbah y Oración del Viernes (Jumu’ah)",
|
|
294
|
+
topic: "announcements",
|
|
295
|
+
channels: ["email", "telegram", "whatsapp"],
|
|
296
|
+
priority: "normal",
|
|
297
|
+
subject: "🕌 Jumu’ah en {{organizationName}} ({{secondaryDate}})",
|
|
298
|
+
bodyText: "As-salamu alaykum {{recipientName}}. Te esperamos este viernes para la Khutbah y oración de Jumu’ah en {{organizationName}}. Fecha Hijri: {{secondaryDate}}.",
|
|
299
|
+
bodyHtml: "<p>As-salamu alaykum <strong>{{recipientName}}</strong>,</p><p>Te esperamos este viernes para la Khutbah y oración congregacional de <strong>Jumu’ah</strong> en {{organizationName}}.</p><p>Calendario Hijri: <em>{{secondaryDate}}</em></p>",
|
|
300
|
+
ctaLabel: "Ver Horarios de Oración",
|
|
301
|
+
ctaUrl: "https://mezquitabogota.org/es/horarios",
|
|
302
|
+
translations: {
|
|
303
|
+
es: {
|
|
304
|
+
subject: "🕌 Jumu’ah en {{organizationName}} ({{secondaryDate}})",
|
|
305
|
+
bodyText: "As-salamu alaykum {{recipientName}}. Te esperamos este viernes para la Khutbah y oración de Jumu’ah en {{organizationName}}. Fecha Hijri: {{secondaryDate}}.",
|
|
306
|
+
bodyHtml: "<p>As-salamu alaykum <strong>{{recipientName}}</strong>,</p><p>Te esperamos este viernes para la Khutbah y oración congregacional de <strong>Jumu’ah</strong> en {{organizationName}}.</p><p>Calendario Hijri: <em>{{secondaryDate}}</em></p>",
|
|
307
|
+
ctaLabel: "Ver Horarios de Oración",
|
|
308
|
+
ctaUrl: "https://mezquitabogota.org/es/horarios"
|
|
309
|
+
},
|
|
310
|
+
en: {
|
|
311
|
+
subject: "🕌 Friday Jumu’ah Reminder — {{organizationName}} ({{secondaryDate}})",
|
|
312
|
+
bodyText: "As-salamu alaykum {{recipientName}}. Join us this Friday for the Jumu’ah Khutbah and congregational prayer at {{organizationName}}. Hijri date: {{secondaryDate}}.",
|
|
313
|
+
bodyHtml: "<p>As-salamu alaykum <strong>{{recipientName}}</strong>,</p><p>Join us this Friday for the <strong>Jumu’ah Khutbah</strong> and congregational prayer at {{organizationName}}.</p><p>Hijri date: <em>{{secondaryDate}}</em></p>",
|
|
314
|
+
ctaLabel: "View Prayer Schedule",
|
|
315
|
+
ctaUrl: "https://mezquitabogota.org/en/prayer-times"
|
|
316
|
+
},
|
|
317
|
+
ar: {
|
|
318
|
+
subject: "🕌 تذكير صلاة وخطبة الجمعة — {{organizationName}} ({{secondaryDate}})",
|
|
319
|
+
bodyText: "السلام عليكم {{recipientName}}، ندعوكم لحضور خطبة وصلاة الجمعة في {{organizationName}}. التاريخ الهجري: {{secondaryDate}}.",
|
|
320
|
+
bodyHtml: "<p>السلام عليكم <strong>{{recipientName}}</strong>،</p><p>ندعوكم لحضور خطبة وصلاة <strong>الجمعة</strong> في {{organizationName}}.</p><p>التاريخ الهجري: <em>{{secondaryDate}}</em></p>",
|
|
321
|
+
ctaLabel: "عرض مواقيت الصلاة",
|
|
322
|
+
ctaUrl: "https://mezquitabogota.org/ar/prayer-times"
|
|
323
|
+
},
|
|
324
|
+
tr: {
|
|
325
|
+
subject: "🕌 Cuma Hutbesi ve Namazı Hatırlatması — {{organizationName}} ({{secondaryDate}})",
|
|
326
|
+
bodyText: "Es-selamu aleyküm {{recipientName}}. Bu Cuma {{organizationName}} bünyesinde Cuma hutbesi ve namazına davetlisiniz. Hicri Tarih: {{secondaryDate}}.",
|
|
327
|
+
bodyHtml: "<p>Es-selamu aleyküm <strong>{{recipientName}}</strong>,</p><p>Bu Cuma {{organizationName}} bünyesinde <strong>Cuma Hutbesi ve Namazına</strong> davetlisiniz.</p><p>Hicri Tarih: <em>{{secondaryDate}}</em></p>",
|
|
328
|
+
ctaLabel: "Namaz Vakitlerini Gör",
|
|
329
|
+
ctaUrl: "https://mezquitabogota.org/tr/prayer-times"
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
id: "urgent-janazah-alert",
|
|
335
|
+
slug: "urgent-janazah-alert",
|
|
336
|
+
title: "Aviso Urgente de Oración Funeraria (Salat al-Janazah)",
|
|
337
|
+
topic: "urgent_janazah",
|
|
338
|
+
channels: ["telegram", "whatsapp", "email"],
|
|
339
|
+
priority: "urgent",
|
|
340
|
+
subject: "🕯️ Aviso Urgente: Salat al-Janazah en {{organizationName}}",
|
|
341
|
+
bodyText: "Inna lillahi wa inna ilayhi raji’un. Informamos a la comunidad que se realizará la oración funeraria (Salat al-Janazah) en {{organizationName}} después de la oración de Dhuhr ({{secondaryDate}}).",
|
|
342
|
+
bodyHtml: "<p><strong>Inna lillahi wa inna ilayhi raji’un</strong></p><p>Informamos a la comunidad que se realizará la oración funeraria (<strong>Salat al-Janazah</strong>) en {{organizationName}} después de la oración de Dhuhr ({{secondaryDate}}).</p>",
|
|
343
|
+
ctaLabel: "Detalles y Ubicación",
|
|
344
|
+
ctaUrl: "https://mezquitabogota.org/es/avisos",
|
|
345
|
+
translations: {
|
|
346
|
+
es: {
|
|
347
|
+
subject: "🕯️ Aviso Urgente: Salat al-Janazah en {{organizationName}}",
|
|
348
|
+
bodyText: "Inna lillahi wa inna ilayhi raji’un. Informamos a la comunidad que se realizará la oración funeraria (Salat al-Janazah) en {{organizationName}} después de la oración de Dhuhr ({{secondaryDate}}).",
|
|
349
|
+
ctaLabel: "Detalles y Ubicación",
|
|
350
|
+
ctaUrl: "https://mezquitabogota.org/es/avisos"
|
|
351
|
+
},
|
|
352
|
+
en: {
|
|
353
|
+
subject: "🕯️ Urgent Community Notice: Salat al-Janazah at {{organizationName}}",
|
|
354
|
+
bodyText: "Inna lillahi wa inna ilayhi raji’un. Funeral prayer (Salat al-Janazah) will be held at {{organizationName}} following Dhuhr prayer ({{secondaryDate}}).",
|
|
355
|
+
ctaLabel: "Details & Location",
|
|
356
|
+
ctaUrl: "https://mezquitabogota.org/en/announcements"
|
|
357
|
+
},
|
|
358
|
+
ar: {
|
|
359
|
+
subject: "🕯️ إعلان عاجل: صلاة الجنازة في {{organizationName}}",
|
|
360
|
+
bodyText: "إنا لله وإنا إليه راجعون. تُقام صلاة الجنازة في {{organizationName}} عقب صلاة الظهر ({{secondaryDate}}).",
|
|
361
|
+
ctaLabel: "التفاصيل والموقع",
|
|
362
|
+
ctaUrl: "https://mezquitabogota.org/ar/announcements"
|
|
363
|
+
},
|
|
364
|
+
tr: {
|
|
365
|
+
subject: "🕯️ Acil Duyuru: {{organizationName}} Cenaze Namazı",
|
|
366
|
+
bodyText: "İnna lillahi ve inna ileyhi raciun. Öğle namazını müteakip {{organizationName}} camiimizde cenaze namazı kılınacaktır ({{secondaryDate}}).",
|
|
367
|
+
ctaLabel: "Detaylar ve Konum",
|
|
368
|
+
ctaUrl: "https://mezquitabogota.org/tr/announcements"
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
];
|
|
373
|
+
const STARTER_AUTOMATION_RULES = [
|
|
374
|
+
{
|
|
375
|
+
slug: "auto-alert-banner-broadcast",
|
|
376
|
+
name: "Auto-Broadcast Urgent Site Alert Banners",
|
|
377
|
+
eventName: "inbox.alert.published",
|
|
378
|
+
topic: "announcements",
|
|
379
|
+
channels: ["telegram", "whatsapp"],
|
|
380
|
+
active: true,
|
|
381
|
+
priority: "urgent",
|
|
382
|
+
subjectTemplate: "🚨 {{title}} — {{organizationName}}",
|
|
383
|
+
bodyTextTemplate: "🚨 {{title}}: {{message}} ({{secondaryDate}})",
|
|
384
|
+
bodyHtmlTemplate: "<p><strong>🚨 {{title}}</strong></p><p>{{message}}</p><p><em>{{secondaryDate}}</em></p>",
|
|
385
|
+
ctaLabelTemplate: "Ver Aviso Oficial",
|
|
386
|
+
ctaUrlTemplate: "{{siteBaseUrl}}"
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
slug: "auto-event-published-broadcast",
|
|
390
|
+
name: "Auto-Broadcast Newly Published Community Events",
|
|
391
|
+
eventName: "event.published",
|
|
392
|
+
targetContentType: "api::event.event",
|
|
393
|
+
topic: "events",
|
|
394
|
+
channels: ["telegram", "email"],
|
|
395
|
+
active: true,
|
|
396
|
+
priority: "normal",
|
|
397
|
+
subjectTemplate: "📅 Nuevo Evento: {{title}} ({{secondaryDate}})",
|
|
398
|
+
bodyTextTemplate: "Nuevo evento comunitario en {{organizationName}}: {{title}}. {{summary}} ({{secondaryDate}}).",
|
|
399
|
+
bodyHtmlTemplate: "<p>Nuevo evento comunitario en <strong>{{organizationName}}</strong>:</p><h3>{{title}}</h3><p>{{summary}}</p><p><em>{{secondaryDate}}</em></p>",
|
|
400
|
+
ctaLabelTemplate: "Inscribirse al Evento",
|
|
401
|
+
ctaUrlTemplate: "{{siteBaseUrl}}/events"
|
|
402
|
+
}
|
|
403
|
+
];
|
|
404
|
+
const Initializer = ({ setPlugin }) => {
|
|
405
|
+
const ref = React__namespace.useState(() => setPlugin)[0];
|
|
406
|
+
React__namespace.useEffect(() => {
|
|
407
|
+
ref(PLUGIN_ID);
|
|
408
|
+
}, [ref]);
|
|
409
|
+
return null;
|
|
410
|
+
};
|
|
411
|
+
const PluginIcon = () => React__namespace.createElement(
|
|
412
|
+
"svg",
|
|
413
|
+
{
|
|
414
|
+
"width": "20",
|
|
415
|
+
"height": "20",
|
|
416
|
+
"viewBox": "0 0 24 24",
|
|
417
|
+
"fill": "none",
|
|
418
|
+
"stroke": "currentColor",
|
|
419
|
+
"strokeWidth": "2",
|
|
420
|
+
"strokeLinecap": "round",
|
|
421
|
+
"strokeLinejoin": "round",
|
|
422
|
+
"aria-hidden": "true"
|
|
423
|
+
},
|
|
424
|
+
React__namespace.createElement("path", { d: "m3 11 18-5v12L3 14v-3z" }),
|
|
425
|
+
React__namespace.createElement("path", { d: "M11.6 16.8a3 3 0 1 1-5.8-1.6" })
|
|
426
|
+
);
|
|
427
|
+
const pluginPermissions = {
|
|
428
|
+
read: [{ action: `plugin::${PLUGIN_ID}.read`, subject: null }],
|
|
429
|
+
campaignsManage: [
|
|
430
|
+
{ action: `plugin::${PLUGIN_ID}.campaigns.manage`, subject: null }
|
|
431
|
+
],
|
|
432
|
+
campaignsSend: [
|
|
433
|
+
{ action: `plugin::${PLUGIN_ID}.campaigns.send`, subject: null }
|
|
434
|
+
],
|
|
435
|
+
automationsManage: [
|
|
436
|
+
{ action: `plugin::${PLUGIN_ID}.automations.manage`, subject: null }
|
|
437
|
+
],
|
|
438
|
+
settingsManage: [
|
|
439
|
+
{ action: `plugin::${PLUGIN_ID}.settings.manage`, subject: null }
|
|
440
|
+
],
|
|
441
|
+
main: [
|
|
442
|
+
{ action: `plugin::${PLUGIN_ID}.read`, subject: null },
|
|
443
|
+
{ action: `plugin::${PLUGIN_ID}.campaigns.manage`, subject: null },
|
|
444
|
+
{ action: `plugin::${PLUGIN_ID}.campaigns.send`, subject: null },
|
|
445
|
+
{ action: `plugin::${PLUGIN_ID}.automations.manage`, subject: null }
|
|
446
|
+
],
|
|
447
|
+
settings: [{ action: `plugin::${PLUGIN_ID}.settings.manage`, subject: null }]
|
|
448
|
+
};
|
|
449
|
+
const CM_LABEL_TRANSLATIONS_EXTRA = {
|
|
450
|
+
ar: {
|
|
451
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.name": "الاسم",
|
|
452
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.slug": "المسار المختصر (Slug)",
|
|
453
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.eventName": "اسم الحدث المشغل",
|
|
454
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.targetContentType": "نوع المحتوى المستهدف (UID)",
|
|
455
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.topic": "موضوع البث",
|
|
456
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.channels": "قنوات الإرسال",
|
|
457
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.active": "نشط",
|
|
458
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.priority": "الأولوية",
|
|
459
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.subjectTemplate": "قالب عنوان الرسالة",
|
|
460
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyTextTemplate": "قالب النص العادي",
|
|
461
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyHtmlTemplate": "قالب نص HTML",
|
|
462
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaLabelTemplate": "قالب نص زر الإجراء (CTA)",
|
|
463
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaUrlTemplate": "قالب رابط زر الإجراء (CTA)",
|
|
464
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.translations": "الترجمات المحلية",
|
|
465
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.lastTriggeredAt": "تاريخ آخر تشغيل",
|
|
466
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.triggerCount": "إجمالي مرات التشغيل",
|
|
467
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.documentId": "معرف المستند",
|
|
468
|
+
"content-manager.content-types.plugin::broadcasts.campaign.title": "العنوان",
|
|
469
|
+
"content-manager.content-types.plugin::broadcasts.campaign.slug": "المسار المختصر (Slug)",
|
|
470
|
+
"content-manager.content-types.plugin::broadcasts.campaign.topic": "موضوع البث",
|
|
471
|
+
"content-manager.content-types.plugin::broadcasts.campaign.channels": "قنوات الإرسال",
|
|
472
|
+
"content-manager.content-types.plugin::broadcasts.campaign.priority": "الأولوية",
|
|
473
|
+
"content-manager.content-types.plugin::broadcasts.campaign.status": "الحالة",
|
|
474
|
+
"content-manager.content-types.plugin::broadcasts.campaign.scheduledAt": "تاريخ ووقت الإرسال المجدول",
|
|
475
|
+
"content-manager.content-types.plugin::broadcasts.campaign.sentAt": "تاريخ ووقت الإرسال الفعلي",
|
|
476
|
+
"content-manager.content-types.plugin::broadcasts.campaign.subject": "عنوان الرسالة",
|
|
477
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyText": "نص الرسالة العادي",
|
|
478
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyHtml": "محتوى الرسالة بصيغة HTML",
|
|
479
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaLabel": "نص زر الإجراء (CTA)",
|
|
480
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaUrl": "رابط زر الإجراء (CTA)",
|
|
481
|
+
"content-manager.content-types.plugin::broadcasts.campaign.mediaUrl": "رابط الوسائط المرفقة",
|
|
482
|
+
"content-manager.content-types.plugin::broadcasts.campaign.emailTemplateRef": "مرجع قالب البريد الإلكتروني",
|
|
483
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappTemplateName": "اسم قالب واتساب المعتمد",
|
|
484
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappGroupIds": "معرفات مجموعات وقنوات واتساب",
|
|
485
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramChatId": "معرف قناة أو مجموعة تيليغرام",
|
|
486
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramThreadId": "معرف موضوع تيليغرام (Thread ID)",
|
|
487
|
+
"content-manager.content-types.plugin::broadcasts.campaign.translations": "الترجمات المحلية",
|
|
488
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDate": "التاريخ الإضافي",
|
|
489
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDateLabel": "تسمية التاريخ الإضافي",
|
|
490
|
+
"content-manager.content-types.plugin::broadcasts.campaign.stats": "إحصائيات التسليم",
|
|
491
|
+
"content-manager.content-types.plugin::broadcasts.campaign.metadata": "بيانات وصفية إضافية (JSON)",
|
|
492
|
+
"content-manager.content-types.plugin::broadcasts.campaign.documentId": "معرف المستند",
|
|
493
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.idempotencyKey": "مفتاح منع التكرار (Idempotency)",
|
|
494
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.campaignSlug": "معرف الحملة (Slug)",
|
|
495
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.channel": "قناة الإرسال",
|
|
496
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.driver": "مزود خدمة الإرسال",
|
|
497
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.recipientMasked": "المستلم المخفي جزئياً",
|
|
498
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.locale": "اللغة (Locale)",
|
|
499
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.status": "الحالة",
|
|
500
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.externalMessageId": "معرف الرسالة لدى المزود الخارجي",
|
|
501
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.errorMessage": "رسالة الخطأ",
|
|
502
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.sentAt": "تاريخ ووقت الإرسال الفعلي",
|
|
503
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.secondaryDateLabel": "تسمية التاريخ الإضافي",
|
|
504
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.documentId": "معرف المستند",
|
|
505
|
+
"content-manager.enum.scheduled": "مجدول",
|
|
506
|
+
"content-manager.enum.cancelled": "ملغى",
|
|
507
|
+
"content-manager.enum.whatsapp": "واتساب (WhatsApp)",
|
|
508
|
+
"content-manager.enum.sent": "تم الإرسال",
|
|
509
|
+
"content-manager.enum.low": "منخفضة",
|
|
510
|
+
"content-manager.enum.normal": "عادية",
|
|
511
|
+
"content-manager.enum.high": "عالية",
|
|
512
|
+
"content-manager.enum.urgent": "عاجلة",
|
|
513
|
+
"content-manager.enum.draft": "مسودة",
|
|
514
|
+
"content-manager.enum.sending": "جاري الإرسال",
|
|
515
|
+
"content-manager.enum.failed": "فشل الإرسال",
|
|
516
|
+
"content-manager.enum.email": "البريد الإلكتروني",
|
|
517
|
+
"content-manager.enum.telegram": "تيليغرام (Telegram)",
|
|
518
|
+
"content-manager.enum.simulated": "محاكاة (تجريبي)",
|
|
519
|
+
"content-manager.enum.skipped_duplicate": "تم التخطي (مكرر)"
|
|
520
|
+
},
|
|
521
|
+
tr: {
|
|
522
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.name": "Ad",
|
|
523
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.slug": "Kısa Ad (URL Slug)",
|
|
524
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.eventName": "Tetikleyici Olay Adı",
|
|
525
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.targetContentType": "Hedef İçerik Türü (UID)",
|
|
526
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.topic": "Yayın Konusu",
|
|
527
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.channels": "Gönderim Kanalları",
|
|
528
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.active": "Aktif",
|
|
529
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.priority": "Öncelik",
|
|
530
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.subjectTemplate": "Konu Başlığı Şablonu",
|
|
531
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyTextTemplate": "Düz Metin Şablonu",
|
|
532
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyHtmlTemplate": "HTML Gövde Şablonu",
|
|
533
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaLabelTemplate": "Eylem Düğmesi (CTA) Etiket Şablonu",
|
|
534
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaUrlTemplate": "Eylem Düğmesi (CTA) Bağlantı Şablonu",
|
|
535
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.translations": "Yerelleştirilmiş Çeviriler",
|
|
536
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.lastTriggeredAt": "Son Tetiklenme Zamanı",
|
|
537
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.triggerCount": "Toplam Tetiklenme Sayısı",
|
|
538
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.documentId": "Belge Kimliği (ID)",
|
|
539
|
+
"content-manager.content-types.plugin::broadcasts.campaign.title": "Başlık",
|
|
540
|
+
"content-manager.content-types.plugin::broadcasts.campaign.slug": "Kısa Ad (URL Slug)",
|
|
541
|
+
"content-manager.content-types.plugin::broadcasts.campaign.topic": "Yayın Konusu",
|
|
542
|
+
"content-manager.content-types.plugin::broadcasts.campaign.channels": "Gönderim Kanalları",
|
|
543
|
+
"content-manager.content-types.plugin::broadcasts.campaign.priority": "Öncelik",
|
|
544
|
+
"content-manager.content-types.plugin::broadcasts.campaign.status": "Durum",
|
|
545
|
+
"content-manager.content-types.plugin::broadcasts.campaign.scheduledAt": "Planlanan Gönderim Tarihi ve Saati",
|
|
546
|
+
"content-manager.content-types.plugin::broadcasts.campaign.sentAt": "Gönderilme Tarihi ve Saati",
|
|
547
|
+
"content-manager.content-types.plugin::broadcasts.campaign.subject": "Mesaj Konusu",
|
|
548
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyText": "Düz Metin Mesajı",
|
|
549
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyHtml": "HTML Mesaj İçeriği",
|
|
550
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaLabel": "Eylem Çağrısı (CTA) Düğme Metni",
|
|
551
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaUrl": "Eylem Çağrısı (CTA) Bağlantısı",
|
|
552
|
+
"content-manager.content-types.plugin::broadcasts.campaign.mediaUrl": "Ekli Medya Bağlantısı (URL)",
|
|
553
|
+
"content-manager.content-types.plugin::broadcasts.campaign.emailTemplateRef": "E-posta Şablonu Referansı",
|
|
554
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappTemplateName": "WhatsApp Onaylı Şablon Adı",
|
|
555
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappGroupIds": "WhatsApp Grup ve Kanal Kimlikleri (JID)",
|
|
556
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramChatId": "Telegram Kanal veya Grup Kimliği",
|
|
557
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramThreadId": "Telegram Konu / Başlık Kimliği",
|
|
558
|
+
"content-manager.content-types.plugin::broadcasts.campaign.translations": "Yerelleştirilmiş Çeviriler",
|
|
559
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDate": "İkincil Takvim Tarihi",
|
|
560
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDateLabel": "İkincil Tarih Etiketi",
|
|
561
|
+
"content-manager.content-types.plugin::broadcasts.campaign.stats": "Teslimat İstatistikleri",
|
|
562
|
+
"content-manager.content-types.plugin::broadcasts.campaign.metadata": "Ek Meta Veriler (JSON)",
|
|
563
|
+
"content-manager.content-types.plugin::broadcasts.campaign.documentId": "Belge Kimliği (ID)",
|
|
564
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.idempotencyKey": "Tekillik Anahtarı (Idempotency Key)",
|
|
565
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.campaignSlug": "Kampanya Kısa Adı (Slug)",
|
|
566
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.channel": "Gönderim Kanalı",
|
|
567
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.driver": "Gönderim Sağlayıcısı (Sürücü)",
|
|
568
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.recipientMasked": "Maskelenmiş Alıcı",
|
|
569
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.locale": "Dil (Locale)",
|
|
570
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.status": "Durum",
|
|
571
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.externalMessageId": "Harici Sağlayıcı Mesaj Kimliği",
|
|
572
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.errorMessage": "Hata Mesajı",
|
|
573
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.sentAt": "Gönderilme Tarihi ve Saati",
|
|
574
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.secondaryDateLabel": "İkincil Tarih Etiketi",
|
|
575
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.documentId": "Belge Kimliği (ID)",
|
|
576
|
+
"content-manager.enum.scheduled": "Planlandı",
|
|
577
|
+
"content-manager.enum.cancelled": "İptal Edildi",
|
|
578
|
+
"content-manager.enum.whatsapp": "WhatsApp",
|
|
579
|
+
"content-manager.enum.sent": "Gönderildi",
|
|
580
|
+
"content-manager.enum.low": "Düşük",
|
|
581
|
+
"content-manager.enum.normal": "Normal",
|
|
582
|
+
"content-manager.enum.high": "Yüksek",
|
|
583
|
+
"content-manager.enum.urgent": "Acil",
|
|
584
|
+
"content-manager.enum.draft": "Taslak",
|
|
585
|
+
"content-manager.enum.sending": "Gönderiliyor",
|
|
586
|
+
"content-manager.enum.failed": "Başarısız",
|
|
587
|
+
"content-manager.enum.email": "E-posta",
|
|
588
|
+
"content-manager.enum.telegram": "Telegram",
|
|
589
|
+
"content-manager.enum.simulated": "Simüle Edildi",
|
|
590
|
+
"content-manager.enum.skipped_duplicate": "Atlandı (Mükerrer)"
|
|
591
|
+
}
|
|
592
|
+
};
|
|
593
|
+
const CM_LABEL_TRANSLATIONS = {
|
|
594
|
+
en: {
|
|
595
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.name": "Name",
|
|
596
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.slug": "URL Slug",
|
|
597
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.eventName": "Trigger Event Name",
|
|
598
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.targetContentType": "Target Content Type (UID)",
|
|
599
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.topic": "Broadcast Topic",
|
|
600
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.channels": "Delivery Channels",
|
|
601
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.active": "Active",
|
|
602
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.priority": "Priority",
|
|
603
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.subjectTemplate": "Subject Template",
|
|
604
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyTextTemplate": "Plain Text Body Template",
|
|
605
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyHtmlTemplate": "HTML Body Template",
|
|
606
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaLabelTemplate": "CTA Button Label Template",
|
|
607
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaUrlTemplate": "CTA URL Template",
|
|
608
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.translations": "Localized Translations",
|
|
609
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.lastTriggeredAt": "Last Triggered At",
|
|
610
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.triggerCount": "Total Trigger Count",
|
|
611
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.documentId": "Document ID",
|
|
612
|
+
"content-manager.content-types.plugin::broadcasts.campaign.title": "Title",
|
|
613
|
+
"content-manager.content-types.plugin::broadcasts.campaign.slug": "URL Slug",
|
|
614
|
+
"content-manager.content-types.plugin::broadcasts.campaign.topic": "Broadcast Topic",
|
|
615
|
+
"content-manager.content-types.plugin::broadcasts.campaign.channels": "Delivery Channels",
|
|
616
|
+
"content-manager.content-types.plugin::broadcasts.campaign.priority": "Priority",
|
|
617
|
+
"content-manager.content-types.plugin::broadcasts.campaign.status": "Status",
|
|
618
|
+
"content-manager.content-types.plugin::broadcasts.campaign.scheduledAt": "Scheduled Send Date & Time",
|
|
619
|
+
"content-manager.content-types.plugin::broadcasts.campaign.sentAt": "Sent Date & Time",
|
|
620
|
+
"content-manager.content-types.plugin::broadcasts.campaign.subject": "Message Subject",
|
|
621
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyText": "Plain Text Message",
|
|
622
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyHtml": "HTML Message Content",
|
|
623
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaLabel": "Call-to-Action Button Label",
|
|
624
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaUrl": "Call-to-Action URL",
|
|
625
|
+
"content-manager.content-types.plugin::broadcasts.campaign.mediaUrl": "Attached Media URL",
|
|
626
|
+
"content-manager.content-types.plugin::broadcasts.campaign.emailTemplateRef": "Email Designer Template Reference",
|
|
627
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappTemplateName": "WhatsApp Approved Template Name",
|
|
628
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappGroupIds": "WhatsApp Group & Channel JIDs",
|
|
629
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramChatId": "Telegram Channel or Group Chat ID",
|
|
630
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramThreadId": "Telegram Topic / Thread ID",
|
|
631
|
+
"content-manager.content-types.plugin::broadcasts.campaign.translations": "Localized Translations",
|
|
632
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDate": "Secondary Calendar Date",
|
|
633
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDateLabel": "Secondary Date Label",
|
|
634
|
+
"content-manager.content-types.plugin::broadcasts.campaign.stats": "Delivery Statistics",
|
|
635
|
+
"content-manager.content-types.plugin::broadcasts.campaign.metadata": "Additional Metadata (JSON)",
|
|
636
|
+
"content-manager.content-types.plugin::broadcasts.campaign.documentId": "Document ID",
|
|
637
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.idempotencyKey": "Idempotency Key",
|
|
638
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.campaignSlug": "Campaign Slug",
|
|
639
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.channel": "Delivery Channel",
|
|
640
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.driver": "Delivery Driver / Provider",
|
|
641
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.recipientMasked": "Masked Recipient",
|
|
642
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.locale": "Locale",
|
|
643
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.status": "Status",
|
|
644
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.externalMessageId": "External Provider Message ID",
|
|
645
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.errorMessage": "Error Message",
|
|
646
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.sentAt": "Sent Date & Time",
|
|
647
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.secondaryDateLabel": "Secondary Date Label",
|
|
648
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.documentId": "Document ID",
|
|
649
|
+
"content-manager.enum.scheduled": "Scheduled",
|
|
650
|
+
"content-manager.enum.cancelled": "Cancelled",
|
|
651
|
+
"content-manager.enum.whatsapp": "WhatsApp",
|
|
652
|
+
"content-manager.enum.sent": "Sent",
|
|
653
|
+
"content-manager.enum.low": "Low",
|
|
654
|
+
"content-manager.enum.normal": "Normal",
|
|
655
|
+
"content-manager.enum.high": "High",
|
|
656
|
+
"content-manager.enum.urgent": "Urgent",
|
|
657
|
+
"content-manager.enum.draft": "Draft",
|
|
658
|
+
"content-manager.enum.sending": "Sending",
|
|
659
|
+
"content-manager.enum.failed": "Failed",
|
|
660
|
+
"content-manager.enum.email": "Email",
|
|
661
|
+
"content-manager.enum.telegram": "Telegram",
|
|
662
|
+
"content-manager.enum.simulated": "Simulated (Dry Run)",
|
|
663
|
+
"content-manager.enum.skipped_duplicate": "Skipped (Duplicate)"
|
|
664
|
+
},
|
|
665
|
+
es: {
|
|
666
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.name": "Nombre",
|
|
667
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.slug": "Slug (URL Amigable)",
|
|
668
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.eventName": "Evento Disparador",
|
|
669
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.targetContentType": "Tipo de Contenido Destino (UID)",
|
|
670
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.topic": "Tema de Difusión",
|
|
671
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.channels": "Canales de Envío",
|
|
672
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.active": "Activo",
|
|
673
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.priority": "Prioridad",
|
|
674
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.subjectTemplate": "Plantilla del Asunto",
|
|
675
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyTextTemplate": "Plantilla de Texto Plano",
|
|
676
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyHtmlTemplate": "Plantilla de Cuerpo HTML",
|
|
677
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaLabelTemplate": "Plantilla de Texto del Botón (CTA)",
|
|
678
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaUrlTemplate": "Plantilla de Enlace del Botón (CTA)",
|
|
679
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.translations": "Traducciones Localizadas",
|
|
680
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.lastTriggeredAt": "Última Ejecución",
|
|
681
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.triggerCount": "Número Total de Ejecuciones",
|
|
682
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.documentId": "ID del Documento",
|
|
683
|
+
"content-manager.content-types.plugin::broadcasts.campaign.title": "Título",
|
|
684
|
+
"content-manager.content-types.plugin::broadcasts.campaign.slug": "Slug (URL Amigable)",
|
|
685
|
+
"content-manager.content-types.plugin::broadcasts.campaign.topic": "Tema de Difusión",
|
|
686
|
+
"content-manager.content-types.plugin::broadcasts.campaign.channels": "Canales de Envío",
|
|
687
|
+
"content-manager.content-types.plugin::broadcasts.campaign.priority": "Prioridad",
|
|
688
|
+
"content-manager.content-types.plugin::broadcasts.campaign.status": "Estado",
|
|
689
|
+
"content-manager.content-types.plugin::broadcasts.campaign.scheduledAt": "Fecha y Hora Programada de Envío",
|
|
690
|
+
"content-manager.content-types.plugin::broadcasts.campaign.sentAt": "Fecha y Hora de Envío",
|
|
691
|
+
"content-manager.content-types.plugin::broadcasts.campaign.subject": "Asunto del Mensaje",
|
|
692
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyText": "Mensaje en Texto Plano",
|
|
693
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyHtml": "Contenido HTML del Mensaje",
|
|
694
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaLabel": "Texto del Botón de Acción (CTA)",
|
|
695
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaUrl": "Enlace del Botón de Acción (CTA)",
|
|
696
|
+
"content-manager.content-types.plugin::broadcasts.campaign.mediaUrl": "URL de Archivo Multimedia Adjunto",
|
|
697
|
+
"content-manager.content-types.plugin::broadcasts.campaign.emailTemplateRef": "Referencia de Plantilla de Correo",
|
|
698
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappTemplateName": "Nombre de Plantilla de WhatsApp",
|
|
699
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappGroupIds": "IDs de Grupos y Canales de WhatsApp",
|
|
700
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramChatId": "ID de Canal o Grupo de Telegram",
|
|
701
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramThreadId": "ID de Hilo / Tema de Telegram",
|
|
702
|
+
"content-manager.content-types.plugin::broadcasts.campaign.translations": "Traducciones Localizadas",
|
|
703
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDate": "Fecha en Calendario Secundario",
|
|
704
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDateLabel": "Etiqueta de Fecha Secundaria",
|
|
705
|
+
"content-manager.content-types.plugin::broadcasts.campaign.stats": "Estadísticas de Entrega",
|
|
706
|
+
"content-manager.content-types.plugin::broadcasts.campaign.metadata": "Metadatos Adicionales (JSON)",
|
|
707
|
+
"content-manager.content-types.plugin::broadcasts.campaign.documentId": "ID del Documento",
|
|
708
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.idempotencyKey": "Clave de Idempotencia",
|
|
709
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.campaignSlug": "Slug de la Campaña",
|
|
710
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.channel": "Canal de Envío",
|
|
711
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.driver": "Proveedor de Envío (Driver)",
|
|
712
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.recipientMasked": "Destinatario Enmascarado",
|
|
713
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.locale": "Idioma (Locale)",
|
|
714
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.status": "Estado",
|
|
715
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.externalMessageId": "ID de Mensaje del Proveedor Externo",
|
|
716
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.errorMessage": "Mensaje de Error",
|
|
717
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.sentAt": "Fecha y Hora de Envío",
|
|
718
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.secondaryDateLabel": "Etiqueta de Fecha Secundaria",
|
|
719
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.documentId": "ID del Documento",
|
|
720
|
+
"content-manager.enum.scheduled": "Programado",
|
|
721
|
+
"content-manager.enum.cancelled": "Cancelado",
|
|
722
|
+
"content-manager.enum.whatsapp": "WhatsApp",
|
|
723
|
+
"content-manager.enum.sent": "Enviado",
|
|
724
|
+
"content-manager.enum.low": "Baja",
|
|
725
|
+
"content-manager.enum.normal": "Normal",
|
|
726
|
+
"content-manager.enum.high": "Alta",
|
|
727
|
+
"content-manager.enum.urgent": "Urgente",
|
|
728
|
+
"content-manager.enum.draft": "Borrador",
|
|
729
|
+
"content-manager.enum.sending": "Enviando",
|
|
730
|
+
"content-manager.enum.failed": "Fallido",
|
|
731
|
+
"content-manager.enum.email": "Correo Electrónico",
|
|
732
|
+
"content-manager.enum.telegram": "Telegram",
|
|
733
|
+
"content-manager.enum.simulated": "Simulado (Prueba)",
|
|
734
|
+
"content-manager.enum.skipped_duplicate": "Omitido (Duplicado)"
|
|
735
|
+
},
|
|
736
|
+
...CM_LABEL_TRANSLATIONS_EXTRA
|
|
737
|
+
};
|
|
738
|
+
const CM_PLACEHOLDER_TRANSLATIONS_EXTRA = {
|
|
739
|
+
ar: {
|
|
740
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.name.placeholder": "أدخل الاسم...",
|
|
741
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.slug.placeholder": "معرف-الرابط-التلقائي",
|
|
742
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.eventName.placeholder": "أدخل اسم الحدث المشغل...",
|
|
743
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.targetContentType.placeholder": "أدخل نوع المحتوى المستهدف (UID)...",
|
|
744
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.topic.placeholder": "أدخل موضوع البث...",
|
|
745
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.channels.placeholder": "أدخل قنوات الإرسال...",
|
|
746
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.active.placeholder": "أدخل نشط...",
|
|
747
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.priority.placeholder": "أدخل الأولوية...",
|
|
748
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.subjectTemplate.placeholder": "أدخل قالب عنوان الرسالة...",
|
|
749
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyTextTemplate.placeholder": "أدخل قالب النص العادي...",
|
|
750
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyHtmlTemplate.placeholder": "أدخل قالب نص HTML...",
|
|
751
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaLabelTemplate.placeholder": "أدخل قالب نص زر الإجراء (CTA)...",
|
|
752
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaUrlTemplate.placeholder": "أدخل قالب رابط زر الإجراء (CTA)...",
|
|
753
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.translations.placeholder": "أدخل الترجمات المحلية...",
|
|
754
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.lastTriggeredAt.placeholder": "أدخل تاريخ آخر تشغيل...",
|
|
755
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.triggerCount.placeholder": "أدخل إجمالي مرات التشغيل...",
|
|
756
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.documentId.placeholder": "أدخل معرف المستند...",
|
|
757
|
+
"content-manager.content-types.plugin::broadcasts.campaign.title.placeholder": "أدخل العنوان...",
|
|
758
|
+
"content-manager.content-types.plugin::broadcasts.campaign.slug.placeholder": "معرف-الرابط-التلقائي",
|
|
759
|
+
"content-manager.content-types.plugin::broadcasts.campaign.topic.placeholder": "أدخل موضوع البث...",
|
|
760
|
+
"content-manager.content-types.plugin::broadcasts.campaign.channels.placeholder": "أدخل قنوات الإرسال...",
|
|
761
|
+
"content-manager.content-types.plugin::broadcasts.campaign.priority.placeholder": "أدخل الأولوية...",
|
|
762
|
+
"content-manager.content-types.plugin::broadcasts.campaign.status.placeholder": "أدخل الحالة...",
|
|
763
|
+
"content-manager.content-types.plugin::broadcasts.campaign.scheduledAt.placeholder": "أدخل تاريخ ووقت الإرسال المجدول...",
|
|
764
|
+
"content-manager.content-types.plugin::broadcasts.campaign.sentAt.placeholder": "أدخل تاريخ ووقت الإرسال الفعلي...",
|
|
765
|
+
"content-manager.content-types.plugin::broadcasts.campaign.subject.placeholder": "أدخل عنوان الرسالة...",
|
|
766
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyText.placeholder": "أدخل نص الرسالة العادي...",
|
|
767
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyHtml.placeholder": "أدخل محتوى الرسالة بصيغة HTML...",
|
|
768
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaLabel.placeholder": "أدخل نص زر الإجراء (CTA)...",
|
|
769
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaUrl.placeholder": "https://...",
|
|
770
|
+
"content-manager.content-types.plugin::broadcasts.campaign.mediaUrl.placeholder": "https://...",
|
|
771
|
+
"content-manager.content-types.plugin::broadcasts.campaign.emailTemplateRef.placeholder": "أدخل مرجع قالب البريد الإلكتروني...",
|
|
772
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappTemplateName.placeholder": "أدخل اسم قالب واتساب المعتمد...",
|
|
773
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappGroupIds.placeholder": "مثال: 120363025891234567@g.us",
|
|
774
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramChatId.placeholder": "مثال: @MezquitaCentralBogota أو -1001234567890",
|
|
775
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramThreadId.placeholder": "أدخل معرف موضوع تيليغرام (Thread ID)...",
|
|
776
|
+
"content-manager.content-types.plugin::broadcasts.campaign.translations.placeholder": "أدخل الترجمات المحلية...",
|
|
777
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDate.placeholder": "مثال: ١٥ رمضان ١٤٤٧ هـ",
|
|
778
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDateLabel.placeholder": "مثال: ١٥ رمضان ١٤٤٧ هـ",
|
|
779
|
+
"content-manager.content-types.plugin::broadcasts.campaign.stats.placeholder": "أدخل إحصائيات التسليم...",
|
|
780
|
+
"content-manager.content-types.plugin::broadcasts.campaign.metadata.placeholder": "أدخل بيانات وصفية إضافية (JSON)...",
|
|
781
|
+
"content-manager.content-types.plugin::broadcasts.campaign.documentId.placeholder": "أدخل معرف المستند...",
|
|
782
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.idempotencyKey.placeholder": "أدخل مفتاح منع التكرار (Idempotency)...",
|
|
783
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.campaignSlug.placeholder": "معرف-الرابط-التلقائي",
|
|
784
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.channel.placeholder": "أدخل قناة الإرسال...",
|
|
785
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.driver.placeholder": "أدخل مزود خدمة الإرسال...",
|
|
786
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.recipientMasked.placeholder": "أدخل المستلم المخفي جزئياً...",
|
|
787
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.locale.placeholder": "مثال: ar، es، en",
|
|
788
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.status.placeholder": "أدخل الحالة...",
|
|
789
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.externalMessageId.placeholder": "أدخل معرف الرسالة لدى المزود الخارجي...",
|
|
790
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.errorMessage.placeholder": "أدخل رسالة الخطأ...",
|
|
791
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.sentAt.placeholder": "أدخل تاريخ ووقت الإرسال الفعلي...",
|
|
792
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.secondaryDateLabel.placeholder": "مثال: ١٥ رمضان ١٤٤٧ هـ",
|
|
793
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.documentId.placeholder": "أدخل معرف المستند..."
|
|
794
|
+
},
|
|
795
|
+
tr: {
|
|
796
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.name.placeholder": "Ad girin...",
|
|
797
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.slug.placeholder": "otomatik-url-kisa-adi",
|
|
798
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.eventName.placeholder": "Tetikleyici Olay Adı girin...",
|
|
799
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.targetContentType.placeholder": "Hedef İçerik Türü (UID) girin...",
|
|
800
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.topic.placeholder": "Yayın Konusu girin...",
|
|
801
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.channels.placeholder": "Gönderim Kanalları girin...",
|
|
802
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.active.placeholder": "Aktif girin...",
|
|
803
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.priority.placeholder": "Öncelik girin...",
|
|
804
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.subjectTemplate.placeholder": "Konu Başlığı Şablonu girin...",
|
|
805
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyTextTemplate.placeholder": "Düz Metin Şablonu girin...",
|
|
806
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyHtmlTemplate.placeholder": "HTML Gövde Şablonu girin...",
|
|
807
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaLabelTemplate.placeholder": "Eylem Düğmesi (CTA) Etiket Şablonu girin...",
|
|
808
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaUrlTemplate.placeholder": "Eylem Düğmesi (CTA) Bağlantı Şablonu girin...",
|
|
809
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.translations.placeholder": "Yerelleştirilmiş Çeviriler girin...",
|
|
810
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.lastTriggeredAt.placeholder": "Son Tetiklenme Zamanı girin...",
|
|
811
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.triggerCount.placeholder": "Toplam Tetiklenme Sayısı girin...",
|
|
812
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.documentId.placeholder": "Belge Kimliği (ID) girin...",
|
|
813
|
+
"content-manager.content-types.plugin::broadcasts.campaign.title.placeholder": "Başlık girin...",
|
|
814
|
+
"content-manager.content-types.plugin::broadcasts.campaign.slug.placeholder": "otomatik-url-kisa-adi",
|
|
815
|
+
"content-manager.content-types.plugin::broadcasts.campaign.topic.placeholder": "Yayın Konusu girin...",
|
|
816
|
+
"content-manager.content-types.plugin::broadcasts.campaign.channels.placeholder": "Gönderim Kanalları girin...",
|
|
817
|
+
"content-manager.content-types.plugin::broadcasts.campaign.priority.placeholder": "Öncelik girin...",
|
|
818
|
+
"content-manager.content-types.plugin::broadcasts.campaign.status.placeholder": "Durum girin...",
|
|
819
|
+
"content-manager.content-types.plugin::broadcasts.campaign.scheduledAt.placeholder": "Planlanan Gönderim Tarihi ve Saati girin...",
|
|
820
|
+
"content-manager.content-types.plugin::broadcasts.campaign.sentAt.placeholder": "Gönderilme Tarihi ve Saati girin...",
|
|
821
|
+
"content-manager.content-types.plugin::broadcasts.campaign.subject.placeholder": "Mesaj Konusu girin...",
|
|
822
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyText.placeholder": "Düz Metin Mesajı girin...",
|
|
823
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyHtml.placeholder": "HTML Mesaj İçeriği girin...",
|
|
824
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaLabel.placeholder": "Eylem Çağrısı (CTA) Düğme Metni girin...",
|
|
825
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaUrl.placeholder": "https://...",
|
|
826
|
+
"content-manager.content-types.plugin::broadcasts.campaign.mediaUrl.placeholder": "https://...",
|
|
827
|
+
"content-manager.content-types.plugin::broadcasts.campaign.emailTemplateRef.placeholder": "E-posta Şablonu Referansı girin...",
|
|
828
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappTemplateName.placeholder": "WhatsApp Onaylı Şablon Adı girin...",
|
|
829
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappGroupIds.placeholder": "örn., 120363025891234567@g.us",
|
|
830
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramChatId.placeholder": "örn., @MezquitaCentralBogota veya -1001234567890",
|
|
831
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramThreadId.placeholder": "Telegram Konu / Başlık Kimliği girin...",
|
|
832
|
+
"content-manager.content-types.plugin::broadcasts.campaign.translations.placeholder": "Yerelleştirilmiş Çeviriler girin...",
|
|
833
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDate.placeholder": "örn., 15 Ramazan 1447 H",
|
|
834
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDateLabel.placeholder": "örn., 15 Ramazan 1447 H",
|
|
835
|
+
"content-manager.content-types.plugin::broadcasts.campaign.stats.placeholder": "Teslimat İstatistikleri girin...",
|
|
836
|
+
"content-manager.content-types.plugin::broadcasts.campaign.metadata.placeholder": "Ek Meta Veriler (JSON) girin...",
|
|
837
|
+
"content-manager.content-types.plugin::broadcasts.campaign.documentId.placeholder": "Belge Kimliği (ID) girin...",
|
|
838
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.idempotencyKey.placeholder": "Tekillik Anahtarı (Idempotency Key) girin...",
|
|
839
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.campaignSlug.placeholder": "otomatik-url-kisa-adi",
|
|
840
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.channel.placeholder": "Gönderim Kanalı girin...",
|
|
841
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.driver.placeholder": "Gönderim Sağlayıcısı (Sürücü) girin...",
|
|
842
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.recipientMasked.placeholder": "Maskelenmiş Alıcı girin...",
|
|
843
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.locale.placeholder": "örn., tr, es, en",
|
|
844
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.status.placeholder": "Durum girin...",
|
|
845
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.externalMessageId.placeholder": "Harici Sağlayıcı Mesaj Kimliği girin...",
|
|
846
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.errorMessage.placeholder": "Hata Mesajı girin...",
|
|
847
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.sentAt.placeholder": "Gönderilme Tarihi ve Saati girin...",
|
|
848
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.secondaryDateLabel.placeholder": "örn., 15 Ramazan 1447 H",
|
|
849
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.documentId.placeholder": "Belge Kimliği (ID) girin..."
|
|
850
|
+
}
|
|
851
|
+
};
|
|
852
|
+
const CM_PLACEHOLDER_TRANSLATIONS = {
|
|
853
|
+
en: {
|
|
854
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.name.placeholder": "Enter name...",
|
|
855
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.slug.placeholder": "auto-generated-url-slug",
|
|
856
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.eventName.placeholder": "Enter trigger event name...",
|
|
857
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.targetContentType.placeholder": "Enter target content type (uid)...",
|
|
858
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.topic.placeholder": "Enter broadcast topic...",
|
|
859
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.channels.placeholder": "Enter delivery channels...",
|
|
860
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.active.placeholder": "Enter active...",
|
|
861
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.priority.placeholder": "Enter priority...",
|
|
862
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.subjectTemplate.placeholder": "Enter subject template...",
|
|
863
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyTextTemplate.placeholder": "Enter plain text body template...",
|
|
864
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyHtmlTemplate.placeholder": "Enter html body template...",
|
|
865
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaLabelTemplate.placeholder": "Enter cta button label template...",
|
|
866
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaUrlTemplate.placeholder": "Enter cta url template...",
|
|
867
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.translations.placeholder": "Enter localized translations...",
|
|
868
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.lastTriggeredAt.placeholder": "Enter last triggered at...",
|
|
869
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.triggerCount.placeholder": "Enter total trigger count...",
|
|
870
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.documentId.placeholder": "Enter document id...",
|
|
871
|
+
"content-manager.content-types.plugin::broadcasts.campaign.title.placeholder": "Enter title...",
|
|
872
|
+
"content-manager.content-types.plugin::broadcasts.campaign.slug.placeholder": "auto-generated-url-slug",
|
|
873
|
+
"content-manager.content-types.plugin::broadcasts.campaign.topic.placeholder": "Enter broadcast topic...",
|
|
874
|
+
"content-manager.content-types.plugin::broadcasts.campaign.channels.placeholder": "Enter delivery channels...",
|
|
875
|
+
"content-manager.content-types.plugin::broadcasts.campaign.priority.placeholder": "Enter priority...",
|
|
876
|
+
"content-manager.content-types.plugin::broadcasts.campaign.status.placeholder": "Enter status...",
|
|
877
|
+
"content-manager.content-types.plugin::broadcasts.campaign.scheduledAt.placeholder": "Enter scheduled send date & time...",
|
|
878
|
+
"content-manager.content-types.plugin::broadcasts.campaign.sentAt.placeholder": "Enter sent date & time...",
|
|
879
|
+
"content-manager.content-types.plugin::broadcasts.campaign.subject.placeholder": "Enter message subject...",
|
|
880
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyText.placeholder": "Enter plain text message...",
|
|
881
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyHtml.placeholder": "Enter html message content...",
|
|
882
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaLabel.placeholder": "Enter call-to-action button label...",
|
|
883
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaUrl.placeholder": "https://...",
|
|
884
|
+
"content-manager.content-types.plugin::broadcasts.campaign.mediaUrl.placeholder": "https://...",
|
|
885
|
+
"content-manager.content-types.plugin::broadcasts.campaign.emailTemplateRef.placeholder": "Enter email designer template reference...",
|
|
886
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappTemplateName.placeholder": "Enter whatsapp approved template name...",
|
|
887
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappGroupIds.placeholder": "e.g., 120363025891234567@g.us",
|
|
888
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramChatId.placeholder": "e.g., @MezquitaCentralBogota or -1001234567890",
|
|
889
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramThreadId.placeholder": "Enter telegram topic / thread id...",
|
|
890
|
+
"content-manager.content-types.plugin::broadcasts.campaign.translations.placeholder": "Enter localized translations...",
|
|
891
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDate.placeholder": "e.g., 15 Ramadan 1447 AH",
|
|
892
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDateLabel.placeholder": "e.g., 15 Ramadan 1447 AH",
|
|
893
|
+
"content-manager.content-types.plugin::broadcasts.campaign.stats.placeholder": "Enter delivery statistics...",
|
|
894
|
+
"content-manager.content-types.plugin::broadcasts.campaign.metadata.placeholder": "Enter additional metadata (json)...",
|
|
895
|
+
"content-manager.content-types.plugin::broadcasts.campaign.documentId.placeholder": "Enter document id...",
|
|
896
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.idempotencyKey.placeholder": "Enter idempotency key...",
|
|
897
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.campaignSlug.placeholder": "auto-generated-url-slug",
|
|
898
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.channel.placeholder": "Enter delivery channel...",
|
|
899
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.driver.placeholder": "Enter delivery driver / provider...",
|
|
900
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.recipientMasked.placeholder": "Enter masked recipient...",
|
|
901
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.locale.placeholder": "e.g., es, en, ar, tr",
|
|
902
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.status.placeholder": "Enter status...",
|
|
903
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.externalMessageId.placeholder": "Enter external provider message id...",
|
|
904
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.errorMessage.placeholder": "Enter error message...",
|
|
905
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.sentAt.placeholder": "Enter sent date & time...",
|
|
906
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.secondaryDateLabel.placeholder": "e.g., 15 Ramadan 1447 AH",
|
|
907
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.documentId.placeholder": "Enter document id..."
|
|
908
|
+
},
|
|
909
|
+
es: {
|
|
910
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.name.placeholder": "Ingresa nombre...",
|
|
911
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.slug.placeholder": "slug-generado-automaticamente",
|
|
912
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.eventName.placeholder": "Ingresa evento disparador...",
|
|
913
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.targetContentType.placeholder": "Ingresa tipo de contenido destino (uid)...",
|
|
914
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.topic.placeholder": "Ingresa tema de difusión...",
|
|
915
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.channels.placeholder": "Ingresa canales de envío...",
|
|
916
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.active.placeholder": "Ingresa activo...",
|
|
917
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.priority.placeholder": "Ingresa prioridad...",
|
|
918
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.subjectTemplate.placeholder": "Ingresa plantilla del asunto...",
|
|
919
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyTextTemplate.placeholder": "Ingresa plantilla de texto plano...",
|
|
920
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.bodyHtmlTemplate.placeholder": "Ingresa plantilla de cuerpo html...",
|
|
921
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaLabelTemplate.placeholder": "Ingresa plantilla de texto del botón (cta)...",
|
|
922
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.ctaUrlTemplate.placeholder": "Ingresa plantilla de enlace del botón (cta)...",
|
|
923
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.translations.placeholder": "Ingresa traducciones localizadas...",
|
|
924
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.lastTriggeredAt.placeholder": "Ingresa última ejecución...",
|
|
925
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.triggerCount.placeholder": "Ingresa número total de ejecuciones...",
|
|
926
|
+
"content-manager.content-types.plugin::broadcasts.automation-rule.documentId.placeholder": "Ingresa id del documento...",
|
|
927
|
+
"content-manager.content-types.plugin::broadcasts.campaign.title.placeholder": "Ingresa título...",
|
|
928
|
+
"content-manager.content-types.plugin::broadcasts.campaign.slug.placeholder": "slug-generado-automaticamente",
|
|
929
|
+
"content-manager.content-types.plugin::broadcasts.campaign.topic.placeholder": "Ingresa tema de difusión...",
|
|
930
|
+
"content-manager.content-types.plugin::broadcasts.campaign.channels.placeholder": "Ingresa canales de envío...",
|
|
931
|
+
"content-manager.content-types.plugin::broadcasts.campaign.priority.placeholder": "Ingresa prioridad...",
|
|
932
|
+
"content-manager.content-types.plugin::broadcasts.campaign.status.placeholder": "Ingresa estado...",
|
|
933
|
+
"content-manager.content-types.plugin::broadcasts.campaign.scheduledAt.placeholder": "Ingresa fecha y hora programada de envío...",
|
|
934
|
+
"content-manager.content-types.plugin::broadcasts.campaign.sentAt.placeholder": "Ingresa fecha y hora de envío...",
|
|
935
|
+
"content-manager.content-types.plugin::broadcasts.campaign.subject.placeholder": "Ingresa asunto del mensaje...",
|
|
936
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyText.placeholder": "Ingresa mensaje en texto plano...",
|
|
937
|
+
"content-manager.content-types.plugin::broadcasts.campaign.bodyHtml.placeholder": "Ingresa contenido html del mensaje...",
|
|
938
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaLabel.placeholder": "Ingresa texto del botón de acción (cta)...",
|
|
939
|
+
"content-manager.content-types.plugin::broadcasts.campaign.ctaUrl.placeholder": "https://...",
|
|
940
|
+
"content-manager.content-types.plugin::broadcasts.campaign.mediaUrl.placeholder": "https://...",
|
|
941
|
+
"content-manager.content-types.plugin::broadcasts.campaign.emailTemplateRef.placeholder": "Ingresa referencia de plantilla de correo...",
|
|
942
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappTemplateName.placeholder": "Ingresa nombre de plantilla de whatsapp...",
|
|
943
|
+
"content-manager.content-types.plugin::broadcasts.campaign.whatsappGroupIds.placeholder": "ej., 120363025891234567@g.us",
|
|
944
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramChatId.placeholder": "ej., @MezquitaCentralBogota o -1001234567890",
|
|
945
|
+
"content-manager.content-types.plugin::broadcasts.campaign.telegramThreadId.placeholder": "Ingresa id de hilo / tema de telegram...",
|
|
946
|
+
"content-manager.content-types.plugin::broadcasts.campaign.translations.placeholder": "Ingresa traducciones localizadas...",
|
|
947
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDate.placeholder": "ej., 15 Ramadán 1447 AH",
|
|
948
|
+
"content-manager.content-types.plugin::broadcasts.campaign.secondaryDateLabel.placeholder": "ej., 15 Ramadán 1447 AH",
|
|
949
|
+
"content-manager.content-types.plugin::broadcasts.campaign.stats.placeholder": "Ingresa estadísticas de entrega...",
|
|
950
|
+
"content-manager.content-types.plugin::broadcasts.campaign.metadata.placeholder": "Ingresa metadatos adicionales (json)...",
|
|
951
|
+
"content-manager.content-types.plugin::broadcasts.campaign.documentId.placeholder": "Ingresa id del documento...",
|
|
952
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.idempotencyKey.placeholder": "Ingresa clave de idempotencia...",
|
|
953
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.campaignSlug.placeholder": "slug-generado-automaticamente",
|
|
954
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.channel.placeholder": "Ingresa canal de envío...",
|
|
955
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.driver.placeholder": "Ingresa proveedor de envío (driver)...",
|
|
956
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.recipientMasked.placeholder": "Ingresa destinatario enmascarado...",
|
|
957
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.locale.placeholder": "ej., es, en, ar, tr",
|
|
958
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.status.placeholder": "Ingresa estado...",
|
|
959
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.externalMessageId.placeholder": "Ingresa id de mensaje del proveedor externo...",
|
|
960
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.errorMessage.placeholder": "Ingresa mensaje de error...",
|
|
961
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.sentAt.placeholder": "Ingresa fecha y hora de envío...",
|
|
962
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.secondaryDateLabel.placeholder": "ej., 15 Ramadán 1447 AH",
|
|
963
|
+
"content-manager.content-types.plugin::broadcasts.delivery-log.documentId.placeholder": "Ingresa id del documento..."
|
|
964
|
+
},
|
|
965
|
+
...CM_PLACEHOLDER_TRANSLATIONS_EXTRA
|
|
966
|
+
};
|
|
967
|
+
const SUPPORTED_ADMIN_LOCALES = [
|
|
968
|
+
"en",
|
|
969
|
+
"es",
|
|
970
|
+
"ar",
|
|
971
|
+
"fr",
|
|
972
|
+
"de",
|
|
973
|
+
"pt",
|
|
974
|
+
"it",
|
|
975
|
+
"tr",
|
|
976
|
+
"ru",
|
|
977
|
+
"zh"
|
|
978
|
+
];
|
|
979
|
+
const index = {
|
|
980
|
+
register(app) {
|
|
981
|
+
app.addMenuLink({
|
|
982
|
+
to: `plugins/${PLUGIN_ID}`,
|
|
983
|
+
icon: PluginIcon,
|
|
984
|
+
intlLabel: {
|
|
985
|
+
id: `${PLUGIN_ID}.plugin.name`,
|
|
986
|
+
defaultMessage: "Community Broadcasts"
|
|
987
|
+
},
|
|
988
|
+
Component: () => Promise.resolve().then(() => require("./BroadcastsHomePage-DQueM7nj.js")).then((mod) => ({
|
|
989
|
+
default: mod.BroadcastsHomePage
|
|
990
|
+
})),
|
|
991
|
+
permissions: pluginPermissions.main
|
|
992
|
+
});
|
|
993
|
+
const broadcastsSuiteSection = {
|
|
994
|
+
id: PLUGIN_ID,
|
|
995
|
+
intlLabel: {
|
|
996
|
+
id: `${PLUGIN_ID}.settings.section`,
|
|
997
|
+
defaultMessage: "Broadcasts, Media Feeds & Podcasts"
|
|
998
|
+
}
|
|
999
|
+
};
|
|
1000
|
+
const broadcastsSettingsLink = {
|
|
1001
|
+
intlLabel: {
|
|
1002
|
+
id: `${PLUGIN_ID}.settings.page`,
|
|
1003
|
+
defaultMessage: "Community Broadcasts"
|
|
1004
|
+
},
|
|
1005
|
+
id: `${PLUGIN_ID}-settings`,
|
|
1006
|
+
to: `${PLUGIN_ID}`,
|
|
1007
|
+
Component: () => Promise.resolve().then(() => require("./SettingsPage-TawvAAiv.js")).then((mod) => ({
|
|
1008
|
+
default: mod.SettingsPage
|
|
1009
|
+
})),
|
|
1010
|
+
permissions: pluginPermissions.settings
|
|
1011
|
+
};
|
|
1012
|
+
try {
|
|
1013
|
+
if (typeof app.addSettingsLink === "function") {
|
|
1014
|
+
app.addSettingsLink(broadcastsSuiteSection.id, broadcastsSettingsLink);
|
|
1015
|
+
} else {
|
|
1016
|
+
app.createSettingSection(broadcastsSuiteSection, [
|
|
1017
|
+
broadcastsSettingsLink
|
|
1018
|
+
]);
|
|
1019
|
+
}
|
|
1020
|
+
} catch {
|
|
1021
|
+
app.createSettingSection(broadcastsSuiteSection, [
|
|
1022
|
+
broadcastsSettingsLink
|
|
1023
|
+
]);
|
|
1024
|
+
}
|
|
1025
|
+
app.registerPlugin({
|
|
1026
|
+
id: PLUGIN_ID,
|
|
1027
|
+
initializer: Initializer,
|
|
1028
|
+
isReady: false,
|
|
1029
|
+
name: PLUGIN_ID
|
|
1030
|
+
});
|
|
1031
|
+
},
|
|
1032
|
+
registerTrads: createRegisterTrads({
|
|
1033
|
+
pluginId: PLUGIN_ID,
|
|
1034
|
+
defaultLocales: SUPPORTED_ADMIN_LOCALES,
|
|
1035
|
+
loadTranslation: (locale) => __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-vwekVqfp.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-Qa2SQQfY.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-D1byrK0s.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-Dgylqagv.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-C7-MIWnw.js")), "./translations/it.json": () => Promise.resolve().then(() => require("./it-D_mulZtx.js")), "./translations/pt.json": () => Promise.resolve().then(() => require("./pt-B9swwjPu.js")), "./translations/ru.json": () => Promise.resolve().then(() => require("./ru-B0NNiMNA.js")), "./translations/tr.json": () => Promise.resolve().then(() => require("./tr-Cc-ItZUP.js")), "./translations/zh.json": () => Promise.resolve().then(() => require("./zh-CaqwZk-p.js")) }), `./translations/${locale}.json`, 3),
|
|
1036
|
+
getBaseTranslations: (locale) => ({
|
|
1037
|
+
...CM_LABEL_TRANSLATIONS[locale] ?? CM_LABEL_TRANSLATIONS.en,
|
|
1038
|
+
...CM_PLACEHOLDER_TRANSLATIONS[locale] ?? CM_PLACEHOLDER_TRANSLATIONS.en
|
|
1039
|
+
})
|
|
1040
|
+
})
|
|
1041
|
+
};
|
|
1042
|
+
exports.AUTOMATION_RULE_UID = AUTOMATION_RULE_UID;
|
|
1043
|
+
exports.CAMPAIGN_UID = CAMPAIGN_UID;
|
|
1044
|
+
exports.DEFAULT_BROADCAST_SETTINGS = DEFAULT_BROADCAST_SETTINGS;
|
|
1045
|
+
exports.LOCALE_OPTIONS = LOCALE_OPTIONS;
|
|
1046
|
+
exports.PLUGIN_ID = PLUGIN_ID;
|
|
1047
|
+
exports.STARTER_AUTOMATION_RULES = STARTER_AUTOMATION_RULES;
|
|
1048
|
+
exports.STARTER_CAMPAIGN_TEMPLATES = STARTER_CAMPAIGN_TEMPLATES;
|
|
1049
|
+
exports.SUPPORTED_ADMIN_LOCALES = SUPPORTED_ADMIN_LOCALES;
|
|
1050
|
+
exports.index = index;
|
|
1051
|
+
exports.mergeSelectOptions = mergeSelectOptions;
|
|
1052
|
+
exports.parseCsvList = parseCsvList;
|
|
1053
|
+
exports.pluginPermissions = pluginPermissions;
|