langsys-js-typescript 0.6.1 → 0.6.2

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/dist/index.mjs CHANGED
@@ -1084,10 +1084,16 @@ var TRANSLATABLE_ATTRIBUTES = [
1084
1084
  "data-pattern-message"
1085
1085
  ];
1086
1086
  var PHRASE_MARKER_ATTRS = ["data-ls-phrase", "data-langsys-phrase"];
1087
+ function isTranslationExcluded(element) {
1088
+ if ((element.getAttribute("translate") ?? "").toLowerCase() === "no") return true;
1089
+ if (!element.hasAttribute("data-notrans")) return false;
1090
+ const value = (element.getAttribute("data-notrans") ?? "").trim().toLowerCase();
1091
+ return value !== "false" && value !== "0";
1092
+ }
1087
1093
  function isPhraseMarked(element) {
1088
1094
  return PHRASE_MARKER_ATTRS.some((attr) => {
1089
1095
  if (!element.hasAttribute(attr)) return false;
1090
- const value = (element.getAttribute(attr) ?? "").toLowerCase();
1096
+ const value = (element.getAttribute(attr) ?? "").trim().toLowerCase();
1091
1097
  return value !== "false" && value !== "0";
1092
1098
  });
1093
1099
  }
@@ -1206,7 +1212,7 @@ function _walkForTokens(liveRoot, cloneNodes, tokens, indices) {
1206
1212
  cloneNodes.forEach((node, index) => {
1207
1213
  if (node.nodeType === Node.ELEMENT_NODE) {
1208
1214
  const el = node;
1209
- if (el.getAttribute("translate") === "no") return;
1215
+ if (isTranslationExcluded(el)) return;
1210
1216
  if (isPhraseMarked(el)) return;
1211
1217
  }
1212
1218
  if (node.hasChildNodes()) {
@@ -1395,7 +1401,7 @@ var Translate = class {
1395
1401
  nodes.forEach((node) => {
1396
1402
  if (node?.nodeType === Node.ELEMENT_NODE) {
1397
1403
  const element = node;
1398
- if (element.getAttribute("translate") === "no") return;
1404
+ if (isTranslationExcluded(element)) return;
1399
1405
  if (isPhraseMarked(element)) return;
1400
1406
  this.translateAttributes(node);
1401
1407
  }
@@ -1637,6 +1643,6 @@ var t = ((phrase, ...rest) => {
1637
1643
  });
1638
1644
  var tSignal = LangsysApp.Translations.tSignal;
1639
1645
 
1640
- export { LangsysApp, LangsysAppAPI, Logger, PHRASE_MARKER_ATTR, PHRASE_MARKER_ATTRS, Phrase, Translate, Translations, canonicalizeLocale, createSignal, currentlyLoadedLocale, encodeRichText, findUnusedParamKeys, generateCustomId, generateLegacyCustomId, getValue, interpolate, isContentBlockKnown, isEmpty, isICU, isPhraseMarked, logger, markupTokenValues, md5, md5Legacy, normalizeMarkupPlaceholders, persist, reconstitute, registerContentBlock, sTranslations, stripSentinels, t, tSignal, tokenizeElement };
1646
+ export { LangsysApp, LangsysAppAPI, Logger, PHRASE_MARKER_ATTR, PHRASE_MARKER_ATTRS, Phrase, Translate, Translations, canonicalizeLocale, createSignal, currentlyLoadedLocale, encodeRichText, findUnusedParamKeys, generateCustomId, generateLegacyCustomId, getValue, interpolate, isContentBlockKnown, isEmpty, isICU, isPhraseMarked, isTranslationExcluded, logger, markupTokenValues, md5, md5Legacy, normalizeMarkupPlaceholders, persist, reconstitute, registerContentBlock, sTranslations, stripSentinels, t, tSignal, tokenizeElement };
1641
1647
  //# sourceMappingURL=index.mjs.map
1642
1648
  //# sourceMappingURL=index.mjs.map