ztechno_core 0.0.70 → 0.0.71

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.
@@ -246,6 +246,212 @@ class ZTranslateService {
246
246
  [`♀`]: `♀`,
247
247
  [`♂`]: `♂`,
248
248
  [`❤`]: `❤`,
249
+ // Arabic characters (U+0600 to U+06FF range)
250
+ [`؀`]: `؀`,
251
+ [`؁`]: `؁`,
252
+ [`؂`]: `؂`,
253
+ [`؃`]: `؃`,
254
+ [`؄`]: `؄`,
255
+ [`؅`]: `؅`,
256
+ [`؆`]: `؆`,
257
+ [`؇`]: `؇`,
258
+ [`؈`]: `؈`,
259
+ [`؉`]: `؉`,
260
+ [`؊`]: `؊`,
261
+ [`؋`]: `؋`,
262
+ [`،`]: `،`,
263
+ [`؍`]: `؍`,
264
+ [`؎`]: `؎`,
265
+ [`؏`]: `؏`,
266
+ [`ؐ`]: `ؐ`,
267
+ [`ؑ`]: `ؑ`,
268
+ [`ؒ`]: `ؒ`,
269
+ [`ؓ`]: `ؓ`,
270
+ [`ؔ`]: `ؔ`,
271
+ [`ؕ`]: `ؕ`,
272
+ [`ؖ`]: `ؖ`,
273
+ [`ؗ`]: `ؗ`,
274
+ [`ؘ`]: `ؘ`,
275
+ [`ؙ`]: `ؙ`,
276
+ [`ؚ`]: `ؚ`,
277
+ [`؛`]: `؛`,
278
+ [`؜`]: `؜`,
279
+ [`؝`]: `؝`,
280
+ [`؞`]: `؞`,
281
+ [`؟`]: `؟`,
282
+ [`ؠ`]: `ؠ`,
283
+ [`ء`]: `ء`,
284
+ [`آ`]: `آ`,
285
+ [`أ`]: `أ`,
286
+ [`ؤ`]: `ؤ`,
287
+ [`إ`]: `إ`,
288
+ [`ئ`]: `ئ`,
289
+ [`ا`]: `ا`,
290
+ [`ب`]: `ب`,
291
+ [`ة`]: `ة`,
292
+ [`ت`]: `ت`,
293
+ [`ث`]: `ث`,
294
+ [`ج`]: `ج`,
295
+ [`ح`]: `ح`,
296
+ [`خ`]: `خ`,
297
+ [`د`]: `د`,
298
+ [`ذ`]: `ذ`,
299
+ [`ر`]: `ر`,
300
+ [`ز`]: `ز`,
301
+ [`س`]: `س`,
302
+ [`ش`]: `ش`,
303
+ [`ص`]: `ص`,
304
+ [`ض`]: `ض`,
305
+ [`ط`]: `ط`,
306
+ [`ظ`]: `ظ`,
307
+ [`ع`]: `ع`,
308
+ [`غ`]: `غ`,
309
+ [`ػ`]: `ػ`,
310
+ [`ؼ`]: `ؼ`,
311
+ [`ؽ`]: `ؽ`,
312
+ [`ؾ`]: `ؾ`,
313
+ [`ؿ`]: `ؿ`,
314
+ [`ـ`]: `ـ`,
315
+ [`ف`]: `ف`,
316
+ [`ق`]: `ق`,
317
+ [`ك`]: `ك`,
318
+ [`ل`]: `ل`,
319
+ [`م`]: `م`,
320
+ [`ن`]: `ن`,
321
+ [`ه`]: `ه`,
322
+ [`و`]: `و`,
323
+ [`ى`]: `ى`,
324
+ [`ي`]: `ي`,
325
+ // Arabic diacritics (most common ones)
326
+ [`ً`]: `ً`,
327
+ [`ٌ`]: `ٌ`,
328
+ [`ٍ`]: `ٍ`,
329
+ [`َ`]: `َ`,
330
+ [`ُ`]: `ُ`,
331
+ [`ِ`]: `ِ`,
332
+ [`ّ`]: `ّ`,
333
+ [`ْ`]: `ْ`,
334
+ [`ٓ`]: `ٓ`,
335
+ [`ٔ`]: `ٔ`,
336
+ [`ٕ`]: `ٕ`,
337
+ // Arabic-Indic digits
338
+ [`٠`]: `٠`,
339
+ [`١`]: `١`,
340
+ [`٢`]: `٢`,
341
+ [`٣`]: `٣`,
342
+ [`٤`]: `٤`,
343
+ [`٥`]: `٥`,
344
+ [`٦`]: `٦`,
345
+ [`٧`]: `٧`,
346
+ [`٨`]: `٨`,
347
+ [`٩`]: `٩`,
348
+ // Extended Arabic characters (commonly used)
349
+ [`٪`]: `٪`,
350
+ [`٫`]: `٫`,
351
+ [`٬`]: `٬`,
352
+ [`٭`]: `٭`,
353
+ [`ٮ`]: `ٮ`,
354
+ [`ٯ`]: `ٯ`,
355
+ [`ٰ`]: `ٰ`,
356
+ [`ٱ`]: `ٱ`,
357
+ [`ٲ`]: `ٲ`,
358
+ [`ٳ`]: `ٳ`,
359
+ [`ٴ`]: `ٴ`,
360
+ [`ٵ`]: `ٵ`,
361
+ [`ٶ`]: `ٶ`,
362
+ [`ٷ`]: `ٷ`,
363
+ [`ٸ`]: `ٸ`,
364
+ [`ٹ`]: `ٹ`,
365
+ [`ٺ`]: `ٺ`,
366
+ [`ٻ`]: `ٻ`,
367
+ [`ټ`]: `ټ`,
368
+ [`ٽ`]: `ٽ`,
369
+ [`پ`]: `پ`,
370
+ [`ٿ`]: `ٿ`,
371
+ [`ڀ`]: `ڀ`,
372
+ [`ځ`]: `ځ`,
373
+ [`ڂ`]: `ڂ`,
374
+ [`ڃ`]: `ڃ`,
375
+ [`ڄ`]: `ڄ`,
376
+ [`څ`]: `څ`,
377
+ [`چ`]: `چ`,
378
+ [`ڇ`]: `ڇ`,
379
+ [`ڈ`]: `ڈ`,
380
+ [`ډ`]: `ډ`,
381
+ [`ڊ`]: `ڊ`,
382
+ [`ڋ`]: `ڋ`,
383
+ [`ڌ`]: `ڌ`,
384
+ [`ڍ`]: `ڍ`,
385
+ [`ڎ`]: `ڎ`,
386
+ [`ڏ`]: `ڏ`,
387
+ [`ڐ`]: `ڐ`,
388
+ [`ڑ`]: `ڑ`,
389
+ [`ڒ`]: `ڒ`,
390
+ [`ړ`]: `ړ`,
391
+ [`ڔ`]: `ڔ`,
392
+ [`ڕ`]: `ڕ`,
393
+ [`ږ`]: `ږ`,
394
+ [`ڗ`]: `ڗ`,
395
+ [`ژ`]: `ژ`,
396
+ [`ڙ`]: `ڙ`,
397
+ [`ښ`]: `ښ`,
398
+ [`ڛ`]: `ڛ`,
399
+ [`ڜ`]: `ڜ`,
400
+ [`ڝ`]: `ڝ`,
401
+ [`ڞ`]: `ڞ`,
402
+ [`ڟ`]: `ڟ`,
403
+ [`ڠ`]: `ڠ`,
404
+ [`ڡ`]: `ڡ`,
405
+ [`ڢ`]: `ڢ`,
406
+ [`ڣ`]: `ڣ`,
407
+ [`ڤ`]: `ڤ`,
408
+ [`ڥ`]: `ڥ`,
409
+ [`ڦ`]: `ڦ`,
410
+ [`ڧ`]: `ڧ`,
411
+ [`ڨ`]: `ڨ`,
412
+ [`ک`]: `ک`,
413
+ [`ڪ`]: `ڪ`,
414
+ [`ګ`]: `ګ`,
415
+ [`ڬ`]: `ڬ`,
416
+ [`ڭ`]: `ڭ`,
417
+ [`ڮ`]: `ڮ`,
418
+ [`گ`]: `گ`,
419
+ [`ڰ`]: `ڰ`,
420
+ [`ڱ`]: `ڱ`,
421
+ [`ڲ`]: `ڲ`,
422
+ [`ڳ`]: `ڳ`,
423
+ [`ڴ`]: `ڴ`,
424
+ [`ڵ`]: `ڵ`,
425
+ [`ڶ`]: `ڶ`,
426
+ [`ڷ`]: `ڷ`,
427
+ [`ڸ`]: `ڸ`,
428
+ [`ڹ`]: `ڹ`,
429
+ [`ں`]: `ں`,
430
+ [`ڻ`]: `ڻ`,
431
+ [`ڼ`]: `ڼ`,
432
+ [`ڽ`]: `ڽ`,
433
+ [`ھ`]: `ھ`,
434
+ [`ڿ`]: `ڿ`,
435
+ [`ۀ`]: `ۀ`,
436
+ [`ہ`]: `ہ`,
437
+ [`ۂ`]: `ۂ`,
438
+ [`ۃ`]: `ۃ`,
439
+ [`ۄ`]: `ۄ`,
440
+ [`ۅ`]: `ۅ`,
441
+ [`ۆ`]: `ۆ`,
442
+ [`ۇ`]: `ۇ`,
443
+ [`ۈ`]: `ۈ`,
444
+ [`ۉ`]: `ۉ`,
445
+ [`ۊ`]: `ۊ`,
446
+ [`ۋ`]: `ۋ`,
447
+ [`ی`]: `ی`,
448
+ [`ۍ`]: `ۍ`,
449
+ [`ێ`]: `ێ`,
450
+ [`ۏ`]: `ۏ`,
451
+ [`ې`]: `ې`,
452
+ [`ۑ`]: `ۑ`,
453
+ [`ے`]: `ے`,
454
+ [`ۓ`]: `ۓ`, // Arabic Letter Yeh Barree with Hamza Above
249
455
  };
250
456
  if (!opt.googleApiKey) {
251
457
  throw new typings_1.ValidationError('googleApiKey', opt.googleApiKey);
@@ -599,7 +805,7 @@ class ZTranslateService {
599
805
  }
600
806
  const results = await this.retryOperation(async () => {
601
807
  return await this.sql.query(
602
- `SELECT \`value\` FROM translations WHERE \`lang\`=? AND \`key\`=CONVERT(? USING utf8mb3)`,
808
+ `SELECT \`value\` FROM translations WHERE \`lang\`=? AND \`key\`=CONVERT(? USING utf8mb4)`,
603
809
  [lang, key],
604
810
  );
605
811
  }, 'fetch translation');
@@ -685,7 +891,8 @@ class ZTranslateService {
685
891
  }
686
892
  exports.ZTranslateService = ZTranslateService;
687
893
  function strContainsLetters(text) {
688
- const regExp = /[a-zA-Z]/g;
894
+ // Updated regex to include Arabic characters (U+0600-U+06FF) and other scripts
895
+ const regExp = /[a-zA-Z\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF]/g;
689
896
  return regExp.test(text);
690
897
  }
691
898
  function genSpaces(length) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ztechno_core",
3
- "version": "0.0.70",
3
+ "version": "0.0.71",
4
4
  "description": "Core files for ztechno framework",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",