ztechno_core 0.0.70 → 0.0.72

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);
@@ -468,12 +674,16 @@ class ZTranslateService {
468
674
  if (node.getAttribute && node.getAttribute('notranslate') != null) {
469
675
  skipTranslate = true;
470
676
  }
471
- // Skip HTML comments
472
677
  if (node.nodeName === '#comment') {
678
+ // Skip HTML comments
679
+ return;
680
+ }
681
+ if (node.nodeName === 'script') {
682
+ // Skip script tags
473
683
  return;
474
684
  }
475
- // Skip style tags
476
685
  if (node.nodeName === 'style') {
686
+ // Skip style tags
477
687
  return;
478
688
  }
479
689
  if (node.nodeName === '#text') {
@@ -599,7 +809,7 @@ class ZTranslateService {
599
809
  }
600
810
  const results = await this.retryOperation(async () => {
601
811
  return await this.sql.query(
602
- `SELECT \`value\` FROM translations WHERE \`lang\`=? AND \`key\`=CONVERT(? USING utf8mb3)`,
812
+ `SELECT \`value\` FROM translations WHERE \`lang\`=? AND \`key\`=CONVERT(? USING utf8mb4)`,
603
813
  [lang, key],
604
814
  );
605
815
  }, 'fetch translation');
@@ -685,7 +895,8 @@ class ZTranslateService {
685
895
  }
686
896
  exports.ZTranslateService = ZTranslateService;
687
897
  function strContainsLetters(text) {
688
- const regExp = /[a-zA-Z]/g;
898
+ // Updated regex to include Arabic characters (U+0600-U+06FF) and other scripts
899
+ const regExp = /[a-zA-Z\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF]/g;
689
900
  return regExp.test(text);
690
901
  }
691
902
  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.72",
4
4
  "description": "Core files for ztechno framework",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",