obsidian-dev-utils 40.2.0 → 40.3.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.
Files changed (65) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/lib/cjs/Library.cjs +1 -1
  3. package/dist/lib/cjs/obsidian/@types/i18next.d.cts +13 -0
  4. package/dist/lib/cjs/obsidian/Dataview.cjs +4 -3
  5. package/dist/lib/cjs/obsidian/Modals/Alert.cjs +3 -2
  6. package/dist/lib/cjs/obsidian/Modals/Confirm.cjs +4 -3
  7. package/dist/lib/cjs/obsidian/Modals/Prompt.cjs +4 -3
  8. package/dist/lib/cjs/obsidian/Plugin/PluginBase.cjs +13 -2
  9. package/dist/lib/cjs/obsidian/Plugin/PluginBase.d.cts +7 -0
  10. package/dist/lib/cjs/obsidian/Plugin/PluginTypesBase.cjs +1 -1
  11. package/dist/lib/cjs/obsidian/Plugin/PluginTypesBase.d.cts +5 -0
  12. package/dist/lib/cjs/obsidian/VaultEx.cjs +3 -2
  13. package/dist/lib/cjs/obsidian/i18n/CustomTypeOptionsBase.cjs +25 -0
  14. package/dist/lib/cjs/obsidian/i18n/CustomTypeOptionsBase.d.cts +31 -0
  15. package/dist/lib/cjs/obsidian/i18n/DefaultTranslationsBase.cjs +25 -0
  16. package/dist/lib/cjs/obsidian/i18n/DefaultTranslationsBase.d.cts +21 -0
  17. package/dist/lib/cjs/obsidian/i18n/i18n.cjs +83 -0
  18. package/dist/lib/cjs/obsidian/i18n/i18n.d.cts +36 -0
  19. package/dist/lib/cjs/obsidian/i18n/index.cjs +55 -0
  20. package/dist/lib/cjs/obsidian/i18n/index.d.cts +4 -0
  21. package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +51 -0
  22. package/dist/lib/cjs/obsidian/i18n/locales/en.d.cts +24 -0
  23. package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +49 -0
  24. package/dist/lib/cjs/obsidian/i18n/locales/index.d.cts +2 -0
  25. package/dist/lib/cjs/obsidian/i18n/locales/translationsMap.cjs +43 -0
  26. package/dist/lib/cjs/obsidian/i18n/locales/translationsMap.d.cts +34 -0
  27. package/dist/lib/cjs/obsidian/index.cjs +6 -3
  28. package/dist/lib/cjs/obsidian/index.d.cts +1 -0
  29. package/dist/lib/esm/Library.mjs +1 -1
  30. package/dist/lib/esm/obsidian/@types/i18next.d.mts +13 -0
  31. package/dist/lib/esm/obsidian/Dataview.mjs +4 -3
  32. package/dist/lib/esm/obsidian/Modals/Alert.mjs +3 -2
  33. package/dist/lib/esm/obsidian/Modals/Confirm.mjs +4 -3
  34. package/dist/lib/esm/obsidian/Modals/Prompt.mjs +4 -3
  35. package/dist/lib/esm/obsidian/Plugin/PluginBase.d.mts +7 -0
  36. package/dist/lib/esm/obsidian/Plugin/PluginBase.mjs +16 -2
  37. package/dist/lib/esm/obsidian/Plugin/PluginTypesBase.d.mts +5 -0
  38. package/dist/lib/esm/obsidian/VaultEx.mjs +3 -2
  39. package/dist/lib/esm/obsidian/i18n/CustomTypeOptionsBase.d.mts +31 -0
  40. package/dist/lib/esm/obsidian/i18n/CustomTypeOptionsBase.mjs +9 -0
  41. package/dist/lib/esm/obsidian/i18n/DefaultTranslationsBase.d.mts +21 -0
  42. package/dist/lib/esm/obsidian/i18n/DefaultTranslationsBase.mjs +9 -0
  43. package/dist/lib/esm/obsidian/i18n/i18n.d.mts +36 -0
  44. package/dist/lib/esm/obsidian/i18n/i18n.mjs +50 -0
  45. package/dist/lib/esm/obsidian/i18n/index.d.mts +4 -0
  46. package/dist/lib/esm/obsidian/i18n/index.mjs +18 -0
  47. package/dist/lib/esm/obsidian/i18n/locales/en.d.mts +24 -0
  48. package/dist/lib/esm/obsidian/i18n/locales/en.mjs +27 -0
  49. package/dist/lib/esm/obsidian/i18n/locales/index.d.mts +2 -0
  50. package/dist/lib/esm/obsidian/i18n/locales/index.mjs +14 -0
  51. package/dist/lib/esm/obsidian/i18n/locales/translationsMap.d.mts +34 -0
  52. package/dist/lib/esm/obsidian/i18n/locales/translationsMap.mjs +18 -0
  53. package/dist/lib/esm/obsidian/index.d.mts +1 -0
  54. package/dist/lib/esm/obsidian/index.mjs +4 -2
  55. package/obsidian/@types/i18next/package.json +4 -0
  56. package/obsidian/i18n/CustomTypeOptionsBase/package.json +6 -0
  57. package/obsidian/i18n/DefaultTranslationsBase/package.json +6 -0
  58. package/obsidian/i18n/i18n/package.json +6 -0
  59. package/obsidian/i18n/index/package.json +6 -0
  60. package/obsidian/i18n/locales/en/package.json +6 -0
  61. package/obsidian/i18n/locales/index/package.json +6 -0
  62. package/obsidian/i18n/locales/package.json +6 -0
  63. package/obsidian/i18n/locales/translationsMap/package.json +6 -0
  64. package/obsidian/i18n/package.json +6 -0
  65. package/package.json +42 -1
@@ -13,6 +13,7 @@ import {
13
13
  isFile,
14
14
  isFolder
15
15
  } from "./FileSystem.mjs";
16
+ import { t } from "./i18n/i18n.mjs";
16
17
  import { getBacklinksForFileSafe } from "./MetadataCache.mjs";
17
18
  import {
18
19
  isEmptyFolder,
@@ -42,7 +43,7 @@ async function deleteSafe(app, pathOrFile, deletedNotePath, shouldReportUsedAtta
42
43
  }
43
44
  if (backlinks.count() !== 0) {
44
45
  if (shouldReportUsedAttachments) {
45
- new Notice(`Attachment ${file.path} is still used by other notes. It will not be deleted.`);
46
+ new Notice(t(($) => $.obsidianDevUtils.notices.attachmentIsStillUsed, { attachmentPath: file.path }));
46
47
  }
47
48
  canDelete = false;
48
49
  }
@@ -69,4 +70,4 @@ export {
69
70
  deleteEmptyFolderHierarchy,
70
71
  deleteSafe
71
72
  };
72
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1ZhdWx0RXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgYWRkaXRpb25hbCB1dGlsaXRpZXMgZm9yIHdvcmtpbmcgd2l0aCB0aGUgT2JzaWRpYW4gVmF1bHQuXG4gKlxuICogSXQgaGFzIHRvIGJlIGV4dHJhY3RlZCBmcm9tIGBWYXVsdGAgYmVjYXVzZSBvZiBjaXJjdWxhciBkZXBlbmRlbmNpZXMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUge1xuICBQYXRoT3JBYnN0cmFjdEZpbGUsXG4gIFBhdGhPckZvbGRlclxufSBmcm9tICcuL0ZpbGVTeXN0ZW0udHMnO1xuXG5pbXBvcnQgeyBwcmludEVycm9yIH0gZnJvbSAnLi4vRXJyb3IudHMnO1xuaW1wb3J0IHtcbiAgZ2V0QWJzdHJhY3RGaWxlT3JOdWxsLFxuICBnZXRGb2xkZXJPck51bGwsXG4gIGlzRmlsZSxcbiAgaXNGb2xkZXJcbn0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB7IGdldEJhY2tsaW5rc0ZvckZpbGVTYWZlIH0gZnJvbSAnLi9NZXRhZGF0YUNhY2hlLnRzJztcbmltcG9ydCB7XG4gIGlzRW1wdHlGb2xkZXIsXG4gIGxpc3RTYWZlXG59IGZyb20gJy4vVmF1bHQudHMnO1xuXG4vKipcbiAqIFJlbW92ZXMgZW1wdHkgZm9sZGVyIGhpZXJhcmNoeSBzdGFydGluZyBmcm9tIHRoZSBnaXZlbiBmb2xkZXIuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGb2xkZXIgLSBUaGUgZm9sZGVyIHRvIHN0YXJ0IHJlbW92aW5nIGVtcHR5IGhpZXJhcmNoeSBmcm9tLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBlbXB0eSBoaWVyYXJjaHkgaXMgZGVsZXRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRlbGV0ZUVtcHR5Rm9sZGVySGllcmFyY2h5KGFwcDogQXBwLCBwYXRoT3JGb2xkZXI6IG51bGwgfCBQYXRoT3JGb2xkZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgbGV0IGZvbGRlciA9IGdldEZvbGRlck9yTnVsbChhcHAsIHBhdGhPckZvbGRlcik7XG5cbiAgd2hpbGUgKGZvbGRlcikge1xuICAgIGlmICghYXdhaXQgaXNFbXB0eUZvbGRlcihhcHAsIGZvbGRlcikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcGFyZW50ID0gZm9sZGVyLnBhcmVudDtcbiAgICBhd2FpdCBkZWxldGVTYWZlKGFwcCwgZm9sZGVyLnBhdGgpO1xuICAgIGZvbGRlciA9IHBhcmVudDtcbiAgfVxufVxuXG4vKipcbiAqIERlbGV0ZXMgYWJzdHJhY3QgZmlsZSBzYWZlbHkgZnJvbSB0aGUgdmF1bHQuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgYWJzdHJhY3QgZmlsZSB0byBkZWxldGUuXG4gKiBAcGFyYW0gZGVsZXRlZE5vdGVQYXRoIC0gT3B0aW9uYWwuIFRoZSBwYXRoIG9mIHRoZSBub3RlIHRoYXQgdHJpZ2dlcmVkIHRoZSByZW1vdmFsLlxuICogQHBhcmFtIHNob3VsZFJlcG9ydFVzZWRBdHRhY2htZW50cyAtIE9wdGlvbmFsLiBJZiBgdHJ1ZWAsIGEgbm90aWNlIHdpbGwgYmUgc2hvd24gZm9yIGVhY2ggYXR0YWNobWVudCB0aGF0IGlzIHN0aWxsIHVzZWQgYnkgb3RoZXIgbm90ZXMuXG4gKiBAcGFyYW0gc2hvdWxkRGVsZXRlRW1wdHlGb2xkZXJzIC0gT3B0aW9uYWwuIElmIGB0cnVlYCwgZW1wdHkgZm9sZGVycyB3aWxsIGJlIGRlbGV0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHJlbW92YWwgd2FzIHN1Y2Nlc3NmdWwuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWxldGVTYWZlKFxuICBhcHA6IEFwcCxcbiAgcGF0aE9yRmlsZTogUGF0aE9yQWJzdHJhY3RGaWxlLFxuICBkZWxldGVkTm90ZVBhdGg/OiBzdHJpbmcsXG4gIHNob3VsZFJlcG9ydFVzZWRBdHRhY2htZW50cz86IGJvb2xlYW4sXG4gIHNob3VsZERlbGV0ZUVtcHR5Rm9sZGVycz86IGJvb2xlYW5cbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBmaWxlID0gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKGFwcCwgcGF0aE9yRmlsZSk7XG5cbiAgaWYgKCFmaWxlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbGV0IGNhbkRlbGV0ZSA9IGlzRmlsZShmaWxlKSB8fCAoc2hvdWxkRGVsZXRlRW1wdHlGb2xkZXJzID8/IHRydWUpO1xuXG4gIGlmIChpc0ZpbGUoZmlsZSkpIHtcbiAgICBjb25zdCBiYWNrbGlua3MgPSBhd2FpdCBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShhcHAsIGZpbGUpO1xuICAgIGlmIChkZWxldGVkTm90ZVBhdGgpIHtcbiAgICAgIGJhY2tsaW5rcy5jbGVhcihkZWxldGVkTm90ZVBhdGgpO1xuICAgIH1cbiAgICBpZiAoYmFja2xpbmtzLmNvdW50KCkgIT09IDApIHtcbiAgICAgIGlmIChzaG91bGRSZXBvcnRVc2VkQXR0YWNobWVudHMpIHtcbiAgICAgICAgbmV3IE5vdGljZShgQXR0YWNobWVudCAke2ZpbGUucGF0aH0gaXMgc3RpbGwgdXNlZCBieSBvdGhlciBub3Rlcy4gSXQgd2lsbCBub3QgYmUgZGVsZXRlZC5gKTtcbiAgICAgIH1cbiAgICAgIGNhbkRlbGV0ZSA9IGZhbHNlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpc0ZvbGRlcihmaWxlKSkge1xuICAgIGNvbnN0IGxpc3RlZEZpbGVzID0gYXdhaXQgbGlzdFNhZmUoYXBwLCBmaWxlKTtcbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIFsuLi5saXN0ZWRGaWxlcy5maWxlcywgLi4ubGlzdGVkRmlsZXMuZm9sZGVyc10pIHtcbiAgICAgIGNhbkRlbGV0ZSAmJj0gYXdhaXQgZGVsZXRlU2FmZShhcHAsIGNoaWxkLCBkZWxldGVkTm90ZVBhdGgsIHNob3VsZFJlcG9ydFVzZWRBdHRhY2htZW50cyk7XG4gICAgfVxuXG4gICAgY2FuRGVsZXRlICYmPSBhd2FpdCBpc0VtcHR5Rm9sZGVyKGFwcCwgZmlsZSk7XG4gIH1cblxuICBpZiAoY2FuRGVsZXRlKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGFwcC5maWxlTWFuYWdlci50cmFzaEZpbGUoZmlsZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKGF3YWl0IGFwcC52YXVsdC5leGlzdHMoZmlsZS5wYXRoKSkge1xuICAgICAgICBwcmludEVycm9yKG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlbGV0ZSAke2ZpbGUucGF0aH1gLCB7IGNhdXNlOiBlIH0pKTtcbiAgICAgICAgY2FuRGVsZXRlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNhbkRlbGV0ZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFVQSxTQUFTLGNBQWM7QUFPdkIsU0FBUyxrQkFBa0I7QUFDM0I7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsK0JBQStCO0FBQ3hDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBU1AsZUFBc0IsMkJBQTJCLEtBQVUsY0FBa0Q7QUFDM0csTUFBSSxTQUFTLGdCQUFnQixLQUFLLFlBQVk7QUFFOUMsU0FBTyxRQUFRO0FBQ2IsUUFBSSxDQUFDLE1BQU0sY0FBYyxLQUFLLE1BQU0sR0FBRztBQUNyQztBQUFBLElBQ0Y7QUFDQSxVQUFNLFNBQVMsT0FBTztBQUN0QixVQUFNLFdBQVcsS0FBSyxPQUFPLElBQUk7QUFDakMsYUFBUztBQUFBLEVBQ1g7QUFDRjtBQVlBLGVBQXNCLFdBQ3BCLEtBQ0EsWUFDQSxpQkFDQSw2QkFDQSwwQkFDa0I7QUFDbEIsUUFBTSxPQUFPLHNCQUFzQixLQUFLLFVBQVU7QUFFbEQsTUFBSSxDQUFDLE1BQU07QUFDVCxXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksWUFBWSxPQUFPLElBQUksTUFBTSw0QkFBNEI7QUFFN0QsTUFBSSxPQUFPLElBQUksR0FBRztBQUNoQixVQUFNLFlBQVksTUFBTSx3QkFBd0IsS0FBSyxJQUFJO0FBQ3pELFFBQUksaUJBQWlCO0FBQ25CLGdCQUFVLE1BQU0sZUFBZTtBQUFBLElBQ2pDO0FBQ0EsUUFBSSxVQUFVLE1BQU0sTUFBTSxHQUFHO0FBQzNCLFVBQUksNkJBQTZCO0FBQy9CLFlBQUksT0FBTyxjQUFjLEtBQUssSUFBSSx3REFBd0Q7QUFBQSxNQUM1RjtBQUNBLGtCQUFZO0FBQUEsSUFDZDtBQUFBLEVBQ0YsV0FBVyxTQUFTLElBQUksR0FBRztBQUN6QixVQUFNLGNBQWMsTUFBTSxTQUFTLEtBQUssSUFBSTtBQUM1QyxlQUFXLFNBQVMsQ0FBQyxHQUFHLFlBQVksT0FBTyxHQUFHLFlBQVksT0FBTyxHQUFHO0FBQ2xFLG9CQUFjLE1BQU0sV0FBVyxLQUFLLE9BQU8saUJBQWlCLDJCQUEyQjtBQUFBLElBQ3pGO0FBRUEsa0JBQWMsTUFBTSxjQUFjLEtBQUssSUFBSTtBQUFBLEVBQzdDO0FBRUEsTUFBSSxXQUFXO0FBQ2IsUUFBSTtBQUNGLFlBQU0sSUFBSSxZQUFZLFVBQVUsSUFBSTtBQUFBLElBQ3RDLFNBQVMsR0FBRztBQUNWLFVBQUksTUFBTSxJQUFJLE1BQU0sT0FBTyxLQUFLLElBQUksR0FBRztBQUNyQyxtQkFBVyxJQUFJLE1BQU0sb0JBQW9CLEtBQUssSUFBSSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUNuRSxvQkFBWTtBQUFBLE1BQ2Q7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
73
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1ZhdWx0RXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgYWRkaXRpb25hbCB1dGlsaXRpZXMgZm9yIHdvcmtpbmcgd2l0aCB0aGUgT2JzaWRpYW4gVmF1bHQuXG4gKlxuICogSXQgaGFzIHRvIGJlIGV4dHJhY3RlZCBmcm9tIGBWYXVsdGAgYmVjYXVzZSBvZiBjaXJjdWxhciBkZXBlbmRlbmNpZXMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUge1xuICBQYXRoT3JBYnN0cmFjdEZpbGUsXG4gIFBhdGhPckZvbGRlclxufSBmcm9tICcuL0ZpbGVTeXN0ZW0udHMnO1xuXG5pbXBvcnQgeyBwcmludEVycm9yIH0gZnJvbSAnLi4vRXJyb3IudHMnO1xuaW1wb3J0IHtcbiAgZ2V0QWJzdHJhY3RGaWxlT3JOdWxsLFxuICBnZXRGb2xkZXJPck51bGwsXG4gIGlzRmlsZSxcbiAgaXNGb2xkZXJcbn0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmltcG9ydCB7IHQgfSBmcm9tICcuL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSB9IGZyb20gJy4vTWV0YWRhdGFDYWNoZS50cyc7XG5pbXBvcnQge1xuICBpc0VtcHR5Rm9sZGVyLFxuICBsaXN0U2FmZVxufSBmcm9tICcuL1ZhdWx0LnRzJztcblxuLyoqXG4gKiBSZW1vdmVzIGVtcHR5IGZvbGRlciBoaWVyYXJjaHkgc3RhcnRpbmcgZnJvbSB0aGUgZ2l2ZW4gZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRm9sZGVyIC0gVGhlIGZvbGRlciB0byBzdGFydCByZW1vdmluZyBlbXB0eSBoaWVyYXJjaHkgZnJvbS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZW1wdHkgaGllcmFyY2h5IGlzIGRlbGV0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWxldGVFbXB0eUZvbGRlckhpZXJhcmNoeShhcHA6IEFwcCwgcGF0aE9yRm9sZGVyOiBudWxsIHwgUGF0aE9yRm9sZGVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGxldCBmb2xkZXIgPSBnZXRGb2xkZXJPck51bGwoYXBwLCBwYXRoT3JGb2xkZXIpO1xuXG4gIHdoaWxlIChmb2xkZXIpIHtcbiAgICBpZiAoIWF3YWl0IGlzRW1wdHlGb2xkZXIoYXBwLCBmb2xkZXIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHBhcmVudCA9IGZvbGRlci5wYXJlbnQ7XG4gICAgYXdhaXQgZGVsZXRlU2FmZShhcHAsIGZvbGRlci5wYXRoKTtcbiAgICBmb2xkZXIgPSBwYXJlbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBEZWxldGVzIGFic3RyYWN0IGZpbGUgc2FmZWx5IGZyb20gdGhlIHZhdWx0LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGFic3RyYWN0IGZpbGUgdG8gZGVsZXRlLlxuICogQHBhcmFtIGRlbGV0ZWROb3RlUGF0aCAtIE9wdGlvbmFsLiBUaGUgcGF0aCBvZiB0aGUgbm90ZSB0aGF0IHRyaWdnZXJlZCB0aGUgcmVtb3ZhbC5cbiAqIEBwYXJhbSBzaG91bGRSZXBvcnRVc2VkQXR0YWNobWVudHMgLSBPcHRpb25hbC4gSWYgYHRydWVgLCBhIG5vdGljZSB3aWxsIGJlIHNob3duIGZvciBlYWNoIGF0dGFjaG1lbnQgdGhhdCBpcyBzdGlsbCB1c2VkIGJ5IG90aGVyIG5vdGVzLlxuICogQHBhcmFtIHNob3VsZERlbGV0ZUVtcHR5Rm9sZGVycyAtIE9wdGlvbmFsLiBJZiBgdHJ1ZWAsIGVtcHR5IGZvbGRlcnMgd2lsbCBiZSBkZWxldGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSByZW1vdmFsIHdhcyBzdWNjZXNzZnVsLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVsZXRlU2FmZShcbiAgYXBwOiBBcHAsXG4gIHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSxcbiAgZGVsZXRlZE5vdGVQYXRoPzogc3RyaW5nLFxuICBzaG91bGRSZXBvcnRVc2VkQXR0YWNobWVudHM/OiBib29sZWFuLFxuICBzaG91bGREZWxldGVFbXB0eUZvbGRlcnM/OiBib29sZWFuXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgZmlsZSA9IGdldEFic3RyYWN0RmlsZU9yTnVsbChhcHAsIHBhdGhPckZpbGUpO1xuXG4gIGlmICghZmlsZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGxldCBjYW5EZWxldGUgPSBpc0ZpbGUoZmlsZSkgfHwgKHNob3VsZERlbGV0ZUVtcHR5Rm9sZGVycyA/PyB0cnVlKTtcblxuICBpZiAoaXNGaWxlKGZpbGUpKSB7XG4gICAgY29uc3QgYmFja2xpbmtzID0gYXdhaXQgZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmUoYXBwLCBmaWxlKTtcbiAgICBpZiAoZGVsZXRlZE5vdGVQYXRoKSB7XG4gICAgICBiYWNrbGlua3MuY2xlYXIoZGVsZXRlZE5vdGVQYXRoKTtcbiAgICB9XG4gICAgaWYgKGJhY2tsaW5rcy5jb3VudCgpICE9PSAwKSB7XG4gICAgICBpZiAoc2hvdWxkUmVwb3J0VXNlZEF0dGFjaG1lbnRzKSB7XG4gICAgICAgIG5ldyBOb3RpY2UodCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLm5vdGljZXMuYXR0YWNobWVudElzU3RpbGxVc2VkLCB7IGF0dGFjaG1lbnRQYXRoOiBmaWxlLnBhdGggfSkpO1xuICAgICAgfVxuICAgICAgY2FuRGVsZXRlID0gZmFsc2U7XG4gICAgfVxuICB9IGVsc2UgaWYgKGlzRm9sZGVyKGZpbGUpKSB7XG4gICAgY29uc3QgbGlzdGVkRmlsZXMgPSBhd2FpdCBsaXN0U2FmZShhcHAsIGZpbGUpO1xuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgWy4uLmxpc3RlZEZpbGVzLmZpbGVzLCAuLi5saXN0ZWRGaWxlcy5mb2xkZXJzXSkge1xuICAgICAgY2FuRGVsZXRlICYmPSBhd2FpdCBkZWxldGVTYWZlKGFwcCwgY2hpbGQsIGRlbGV0ZWROb3RlUGF0aCwgc2hvdWxkUmVwb3J0VXNlZEF0dGFjaG1lbnRzKTtcbiAgICB9XG5cbiAgICBjYW5EZWxldGUgJiY9IGF3YWl0IGlzRW1wdHlGb2xkZXIoYXBwLCBmaWxlKTtcbiAgfVxuXG4gIGlmIChjYW5EZWxldGUpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgYXBwLmZpbGVNYW5hZ2VyLnRyYXNoRmlsZShmaWxlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoYXdhaXQgYXBwLnZhdWx0LmV4aXN0cyhmaWxlLnBhdGgpKSB7XG4gICAgICAgIHByaW50RXJyb3IobmV3IEVycm9yKGBGYWlsZWQgdG8gZGVsZXRlICR7ZmlsZS5wYXRofWAsIHsgY2F1c2U6IGUgfSkpO1xuICAgICAgICBjYW5EZWxldGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2FuRGVsZXRlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7OztBQVVBLFNBQVMsY0FBYztBQU92QixTQUFTLGtCQUFrQjtBQUMzQjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxTQUFTO0FBQ2xCLFNBQVMsK0JBQStCO0FBQ3hDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBU1AsZUFBc0IsMkJBQTJCLEtBQVUsY0FBa0Q7QUFDM0csTUFBSSxTQUFTLGdCQUFnQixLQUFLLFlBQVk7QUFFOUMsU0FBTyxRQUFRO0FBQ2IsUUFBSSxDQUFDLE1BQU0sY0FBYyxLQUFLLE1BQU0sR0FBRztBQUNyQztBQUFBLElBQ0Y7QUFDQSxVQUFNLFNBQVMsT0FBTztBQUN0QixVQUFNLFdBQVcsS0FBSyxPQUFPLElBQUk7QUFDakMsYUFBUztBQUFBLEVBQ1g7QUFDRjtBQVlBLGVBQXNCLFdBQ3BCLEtBQ0EsWUFDQSxpQkFDQSw2QkFDQSwwQkFDa0I7QUFDbEIsUUFBTSxPQUFPLHNCQUFzQixLQUFLLFVBQVU7QUFFbEQsTUFBSSxDQUFDLE1BQU07QUFDVCxXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksWUFBWSxPQUFPLElBQUksTUFBTSw0QkFBNEI7QUFFN0QsTUFBSSxPQUFPLElBQUksR0FBRztBQUNoQixVQUFNLFlBQVksTUFBTSx3QkFBd0IsS0FBSyxJQUFJO0FBQ3pELFFBQUksaUJBQWlCO0FBQ25CLGdCQUFVLE1BQU0sZUFBZTtBQUFBLElBQ2pDO0FBQ0EsUUFBSSxVQUFVLE1BQU0sTUFBTSxHQUFHO0FBQzNCLFVBQUksNkJBQTZCO0FBQy9CLFlBQUksT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLGlCQUFpQixRQUFRLHVCQUF1QixFQUFFLGdCQUFnQixLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQUEsTUFDdEc7QUFDQSxrQkFBWTtBQUFBLElBQ2Q7QUFBQSxFQUNGLFdBQVcsU0FBUyxJQUFJLEdBQUc7QUFDekIsVUFBTSxjQUFjLE1BQU0sU0FBUyxLQUFLLElBQUk7QUFDNUMsZUFBVyxTQUFTLENBQUMsR0FBRyxZQUFZLE9BQU8sR0FBRyxZQUFZLE9BQU8sR0FBRztBQUNsRSxvQkFBYyxNQUFNLFdBQVcsS0FBSyxPQUFPLGlCQUFpQiwyQkFBMkI7QUFBQSxJQUN6RjtBQUVBLGtCQUFjLE1BQU0sY0FBYyxLQUFLLElBQUk7QUFBQSxFQUM3QztBQUVBLE1BQUksV0FBVztBQUNiLFFBQUk7QUFDRixZQUFNLElBQUksWUFBWSxVQUFVLElBQUk7QUFBQSxJQUN0QyxTQUFTLEdBQUc7QUFDVixVQUFJLE1BQU0sSUFBSSxNQUFNLE9BQU8sS0FBSyxJQUFJLEdBQUc7QUFDckMsbUJBQVcsSUFBSSxNQUFNLG9CQUFvQixLQUFLLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDbkUsb0JBQVk7QUFBQSxNQUNkO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * This file defines a custom type options base for `i18next`.
5
+ */
6
+ import type { PluginTypesBase } from '../Plugin/PluginTypesBase.mjs';
7
+ import { DEFAULT_NS } from './i18n.mjs';
8
+ /**
9
+ * A custom type options base for `i18next`.
10
+ *
11
+ * @typeParam PluginTypes - The plugin types.
12
+ */
13
+ export interface CustomTypeOptionsBase<PluginTypes extends PluginTypesBase> {
14
+ /**
15
+ * The default namespace.
16
+ */
17
+ defaultNS: typeof DEFAULT_NS;
18
+ /**
19
+ * Whether to enable the selector.
20
+ */
21
+ enableSelector: true;
22
+ /**
23
+ * The resources.
24
+ */
25
+ resources: {
26
+ /**
27
+ * The default namespace.
28
+ */
29
+ [DEFAULT_NS]: PluginTypes['defaultTranslations'];
30
+ };
31
+ }
@@ -0,0 +1,9 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd(){return"/"},env:{},platform:"android"};globalThis.process=browserProcess})();
7
+
8
+ import { DEFAULT_NS } from "./i18n.mjs";
9
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2kxOG4vQ3VzdG9tVHlwZU9wdGlvbnNCYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIGEgY3VzdG9tIHR5cGUgb3B0aW9ucyBiYXNlIGZvciBgaTE4bmV4dGAuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW5UeXBlc0Jhc2UgfSBmcm9tICcuLi9QbHVnaW4vUGx1Z2luVHlwZXNCYXNlLnRzJztcblxuaW1wb3J0IHsgREVGQVVMVF9OUyB9IGZyb20gJy4vaTE4bi50cyc7XG5cbi8qKlxuICogQSBjdXN0b20gdHlwZSBvcHRpb25zIGJhc2UgZm9yIGBpMThuZXh0YC5cbiAqXG4gKiBAdHlwZVBhcmFtIFBsdWdpblR5cGVzIC0gVGhlIHBsdWdpbiB0eXBlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDdXN0b21UeXBlT3B0aW9uc0Jhc2U8UGx1Z2luVHlwZXMgZXh0ZW5kcyBQbHVnaW5UeXBlc0Jhc2U+IHtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IG5hbWVzcGFjZS5cbiAgICovXG4gIGRlZmF1bHROUzogdHlwZW9mIERFRkFVTFRfTlM7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZW5hYmxlIHRoZSBzZWxlY3Rvci5cbiAgICovXG4gIGVuYWJsZVNlbGVjdG9yOiB0cnVlO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVzb3VyY2VzOiB7XG4gICAgLyoqXG4gICAgICogVGhlIGRlZmF1bHQgbmFtZXNwYWNlLlxuICAgICAqL1xuICAgIFtERUZBVUxUX05TXTogUGx1Z2luVHlwZXNbJ2RlZmF1bHRUcmFuc2xhdGlvbnMnXTtcbiAgfTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFRQSxTQUFTLGtCQUFrQjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * This file defines a default translations base for `i18next`.
5
+ */
6
+ import type { PluginTypesBase } from '../Plugin/PluginTypesBase.mjs';
7
+ import type { Translations } from './i18n.mjs';
8
+ import { en } from './locales/en.mjs';
9
+ /**
10
+ * A default plugin types for `i18next`.
11
+ */
12
+ export interface DefaultPluginTypes extends PluginTypesBase {
13
+ /**
14
+ * The default translations.
15
+ */
16
+ defaultTranslations: typeof en;
17
+ }
18
+ /**
19
+ * A default translations base for `i18next`.
20
+ */
21
+ export type DefaultTranslationsBase = Translations<DefaultPluginTypes>;
@@ -0,0 +1,9 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd(){return"/"},env:{},platform:"android"};globalThis.process=browserProcess})();
7
+
8
+ import { en } from "./locales/en.mjs";
9
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2kxOG4vRGVmYXVsdFRyYW5zbGF0aW9uc0Jhc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBmaWxlIGRlZmluZXMgYSBkZWZhdWx0IHRyYW5zbGF0aW9ucyBiYXNlIGZvciBgaTE4bmV4dGAuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW5UeXBlc0Jhc2UgfSBmcm9tICcuLi9QbHVnaW4vUGx1Z2luVHlwZXNCYXNlLnRzJztcbmltcG9ydCB0eXBlIHsgVHJhbnNsYXRpb25zIH0gZnJvbSAnLi9pMThuLnRzJztcblxuaW1wb3J0IHsgZW4gfSBmcm9tICcuL2xvY2FsZXMvZW4udHMnO1xuXG4vKipcbiAqIEEgZGVmYXVsdCBwbHVnaW4gdHlwZXMgZm9yIGBpMThuZXh0YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0UGx1Z2luVHlwZXMgZXh0ZW5kcyBQbHVnaW5UeXBlc0Jhc2Uge1xuICAvKipcbiAgICogVGhlIGRlZmF1bHQgdHJhbnNsYXRpb25zLlxuICAgKi9cbiAgZGVmYXVsdFRyYW5zbGF0aW9uczogdHlwZW9mIGVuO1xufVxuXG4vKipcbiAqIEEgZGVmYXVsdCB0cmFuc2xhdGlvbnMgYmFzZSBmb3IgYGkxOG5leHRgLlxuICovXG5leHBvcnQgdHlwZSBEZWZhdWx0VHJhbnNsYXRpb25zQmFzZSA9IFRyYW5zbGF0aW9uczxEZWZhdWx0UGx1Z2luVHlwZXM+O1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7OztBQVNBLFNBQVMsVUFBVTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * This file defines the `i18n` module for `i18next`.
5
+ */
6
+ import type { TFunction } from 'i18next';
7
+ import type { LiteralToPrimitiveDeep, PartialDeep } from 'type-fest';
8
+ import type { PluginTypesBase } from '../Plugin/PluginTypesBase.mjs';
9
+ /**
10
+ * The default namespace.
11
+ */
12
+ export declare const DEFAULT_NS = "translation";
13
+ /**
14
+ * The full translations.
15
+ */
16
+ export type FullTranslations<PluginTypes extends PluginTypesBase> = LiteralToPrimitiveDeep<PluginTypes['defaultTranslations']>;
17
+ /**
18
+ * The translations.
19
+ */
20
+ export type Translations<PluginTypes extends PluginTypesBase> = PartialDeep<FullTranslations<PluginTypes>>;
21
+ /**
22
+ * The translations map.
23
+ */
24
+ export type TranslationsMap<PluginTypes extends PluginTypesBase> = Record<string, Translations<PluginTypes>>;
25
+ /**
26
+ * Initializes the `i18n` module.
27
+ *
28
+ * @typeParam PluginTypes - The plugin types.
29
+ * @param translationsMap - The translations map.
30
+ * @returns A {@link Promise} that resolves when the `i18n` module is initialized.
31
+ */
32
+ export declare function initI18N<PluginTypes extends PluginTypesBase>(translationsMap: TranslationsMap<PluginTypes>): Promise<void>;
33
+ /**
34
+ * The `t` function.
35
+ */
36
+ export declare const t: TFunction;
@@ -0,0 +1,50 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd(){return"/"},env:{},platform:"android"};globalThis.process=browserProcess})();
7
+
8
+ import i18next, {
9
+ init,
10
+ t as tLib
11
+ } from "i18next";
12
+ import { getLanguage } from "obsidian";
13
+ import { en } from "./locales/en.mjs";
14
+ import { DEFAULT_LANGUAGE } from "./locales/translationsMap.mjs";
15
+ const DEFAULT_NS = "translation";
16
+ let isInitialized = false;
17
+ async function initI18N(translationsMap) {
18
+ if (isInitialized) {
19
+ return;
20
+ }
21
+ await init({
22
+ fallbackLng: DEFAULT_LANGUAGE,
23
+ lng: getLanguage(),
24
+ resources: Object.fromEntries(
25
+ Object.entries(translationsMap).map(([language, translations]) => [
26
+ language,
27
+ {
28
+ [DEFAULT_NS]: translations
29
+ }
30
+ ])
31
+ ),
32
+ returnEmptyString: false,
33
+ returnNull: false
34
+ });
35
+ i18next.addResourceBundle(DEFAULT_LANGUAGE, DEFAULT_NS, en, true, false);
36
+ isInitialized = true;
37
+ }
38
+ function tImpl(selector, options) {
39
+ if (!isInitialized) {
40
+ throw new Error("I18N is not initialized");
41
+ }
42
+ return tLib(selector, options);
43
+ }
44
+ const t = tImpl;
45
+ export {
46
+ DEFAULT_NS,
47
+ initI18N,
48
+ t
49
+ };
50
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2kxOG4vaTE4bi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgYGkxOG5gIG1vZHVsZSBmb3IgYGkxOG5leHRgLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgU2VsZWN0b3JGbixcbiAgU2VsZWN0b3JPcHRpb25zLFxuICBURnVuY3Rpb25cbn0gZnJvbSAnaTE4bmV4dCc7XG5pbXBvcnQgdHlwZSB7XG4gIExpdGVyYWxUb1ByaW1pdGl2ZURlZXAsXG4gIFBhcnRpYWxEZWVwLFxuICBSZWFkb25seURlZXBcbn0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IGkxOG5leHQsIHtcbiAgaW5pdCxcbiAgdCBhcyB0TGliXG59IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IHsgZ2V0TGFuZ3VhZ2UgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luVHlwZXNCYXNlIH0gZnJvbSAnLi4vUGx1Z2luL1BsdWdpblR5cGVzQmFzZS50cyc7XG5cbmltcG9ydCB7IGVuIH0gZnJvbSAnLi9sb2NhbGVzL2VuLnRzJztcbmltcG9ydCB7IERFRkFVTFRfTEFOR1VBR0UgfSBmcm9tICcuL2xvY2FsZXMvdHJhbnNsYXRpb25zTWFwLnRzJztcblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBuYW1lc3BhY2UuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX05TID0gJ3RyYW5zbGF0aW9uJztcblxuLyoqXG4gKiBUaGUgZnVsbCB0cmFuc2xhdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIEZ1bGxUcmFuc2xhdGlvbnM8UGx1Z2luVHlwZXMgZXh0ZW5kcyBQbHVnaW5UeXBlc0Jhc2U+ID0gTGl0ZXJhbFRvUHJpbWl0aXZlRGVlcDxQbHVnaW5UeXBlc1snZGVmYXVsdFRyYW5zbGF0aW9ucyddPjtcblxuLyoqXG4gKiBUaGUgdHJhbnNsYXRpb25zLlxuICovXG5leHBvcnQgdHlwZSBUcmFuc2xhdGlvbnM8UGx1Z2luVHlwZXMgZXh0ZW5kcyBQbHVnaW5UeXBlc0Jhc2U+ID0gUGFydGlhbERlZXA8RnVsbFRyYW5zbGF0aW9uczxQbHVnaW5UeXBlcz4+O1xuXG4vKipcbiAqIFRoZSB0cmFuc2xhdGlvbnMgbWFwLlxuICovXG5leHBvcnQgdHlwZSBUcmFuc2xhdGlvbnNNYXA8UGx1Z2luVHlwZXMgZXh0ZW5kcyBQbHVnaW5UeXBlc0Jhc2U+ID0gUmVjb3JkPHN0cmluZywgVHJhbnNsYXRpb25zPFBsdWdpblR5cGVzPj47XG5cbmxldCBpc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgdGhlIGBpMThuYCBtb2R1bGUuXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW5UeXBlcyAtIFRoZSBwbHVnaW4gdHlwZXMuXG4gKiBAcGFyYW0gdHJhbnNsYXRpb25zTWFwIC0gVGhlIHRyYW5zbGF0aW9ucyBtYXAuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGBpMThuYCBtb2R1bGUgaXMgaW5pdGlhbGl6ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbml0STE4TjxQbHVnaW5UeXBlcyBleHRlbmRzIFBsdWdpblR5cGVzQmFzZT4odHJhbnNsYXRpb25zTWFwOiBUcmFuc2xhdGlvbnNNYXA8UGx1Z2luVHlwZXM+KTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmIChpc0luaXRpYWxpemVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXdhaXQgaW5pdCh7XG4gICAgZmFsbGJhY2tMbmc6IERFRkFVTFRfTEFOR1VBR0UsXG4gICAgbG5nOiBnZXRMYW5ndWFnZSgpLFxuICAgIHJlc291cmNlczogT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXModHJhbnNsYXRpb25zTWFwKS5tYXAoKFtsYW5ndWFnZSwgdHJhbnNsYXRpb25zXSkgPT4gW1xuICAgICAgICBsYW5ndWFnZSxcbiAgICAgICAge1xuICAgICAgICAgIFtERUZBVUxUX05TXTogdHJhbnNsYXRpb25zIGFzIFBsdWdpblR5cGVzWydkZWZhdWx0VHJhbnNsYXRpb25zJ11cbiAgICAgICAgfVxuICAgICAgXSlcbiAgICApLFxuICAgIHJldHVybkVtcHR5U3RyaW5nOiBmYWxzZSxcbiAgICByZXR1cm5OdWxsOiBmYWxzZVxuICB9KTtcblxuICBpMThuZXh0LmFkZFJlc291cmNlQnVuZGxlKERFRkFVTFRfTEFOR1VBR0UsIERFRkFVTFRfTlMsIGVuLCB0cnVlLCBmYWxzZSk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlcXVpcmUtYXRvbWljLXVwZGF0ZXNcbiAgaXNJbml0aWFsaXplZCA9IHRydWU7XG59XG5cbmZ1bmN0aW9uIHRJbXBsKFxuICBzZWxlY3RvcjogU2VsZWN0b3JGbjxSZWFkb25seURlZXA8VHJhbnNsYXRpb25zPFBsdWdpblR5cGVzQmFzZT4+LCBzdHJpbmcsIFNlbGVjdG9yT3B0aW9uczxbdHlwZW9mIERFRkFVTFRfTlNdPj4sXG4gIG9wdGlvbnM/OiBTZWxlY3Rvck9wdGlvbnM8W3R5cGVvZiBERUZBVUxUX05TXT5cbik6IHN0cmluZyB7XG4gIGlmICghaXNJbml0aWFsaXplZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSTE4TiBpcyBub3QgaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIHJldHVybiB0TGliKHNlbGVjdG9yLCBvcHRpb25zKTtcbn1cblxuLyoqXG4gKiBUaGUgYHRgIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgdCA9IHRJbXBsIGFzIFRGdW5jdGlvbjtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFpQkEsT0FBTztBQUFBLEVBQ0w7QUFBQSxFQUNBLEtBQUs7QUFBQSxPQUNBO0FBQ1AsU0FBUyxtQkFBbUI7QUFJNUIsU0FBUyxVQUFVO0FBQ25CLFNBQVMsd0JBQXdCO0FBSzFCLE1BQU0sYUFBYTtBQWlCMUIsSUFBSSxnQkFBZ0I7QUFTcEIsZUFBc0IsU0FBOEMsaUJBQThEO0FBQ2hJLE1BQUksZUFBZTtBQUNqQjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLEtBQUs7QUFBQSxJQUNULGFBQWE7QUFBQSxJQUNiLEtBQUssWUFBWTtBQUFBLElBQ2pCLFdBQVcsT0FBTztBQUFBLE1BQ2hCLE9BQU8sUUFBUSxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUMsVUFBVSxZQUFZLE1BQU07QUFBQSxRQUNoRTtBQUFBLFFBQ0E7QUFBQSxVQUNFLENBQUMsVUFBVSxHQUFHO0FBQUEsUUFDaEI7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsSUFDQSxtQkFBbUI7QUFBQSxJQUNuQixZQUFZO0FBQUEsRUFDZCxDQUFDO0FBRUQsVUFBUSxrQkFBa0Isa0JBQWtCLFlBQVksSUFBSSxNQUFNLEtBQUs7QUFHdkUsa0JBQWdCO0FBQ2xCO0FBRUEsU0FBUyxNQUNQLFVBQ0EsU0FDUTtBQUNSLE1BQUksQ0FBQyxlQUFlO0FBQ2xCLFVBQU0sSUFBSSxNQUFNLHlCQUF5QjtBQUFBLEVBQzNDO0FBRUEsU0FBTyxLQUFLLFVBQVUsT0FBTztBQUMvQjtBQUtPLE1BQU0sSUFBSTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,4 @@
1
+ export * as CustomTypeOptionsBase from './CustomTypeOptionsBase.mjs';
2
+ export * as DefaultTranslationsBase from './DefaultTranslationsBase.mjs';
3
+ export * as i18n from './i18n.mjs';
4
+ export * as locales from './locales/index.mjs';
@@ -0,0 +1,18 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd(){return"/"},env:{},platform:"android"};globalThis.process=browserProcess})();
7
+
8
+ import * as CustomTypeOptionsBase from "./CustomTypeOptionsBase.mjs";
9
+ import * as DefaultTranslationsBase from "./DefaultTranslationsBase.mjs";
10
+ import * as i18n from "./i18n.mjs";
11
+ import * as locales from "./locales/index.mjs";
12
+ export {
13
+ CustomTypeOptionsBase,
14
+ DefaultTranslationsBase,
15
+ i18n,
16
+ locales
17
+ };
18
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2kxOG4vaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyBDdXN0b21UeXBlT3B0aW9uc0Jhc2UgZnJvbSAnLi9DdXN0b21UeXBlT3B0aW9uc0Jhc2UudHMnO1xuZXhwb3J0ICogYXMgRGVmYXVsdFRyYW5zbGF0aW9uc0Jhc2UgZnJvbSAnLi9EZWZhdWx0VHJhbnNsYXRpb25zQmFzZS50cyc7XG5leHBvcnQgKiBhcyBpMThuIGZyb20gJy4vaTE4bi50cyc7XG5leHBvcnQgKiBhcyBsb2NhbGVzIGZyb20gJy4vbG9jYWxlcy9pbmRleC50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBRUEsWUFBWSwyQkFBMkI7QUFDdkMsWUFBWSw2QkFBNkI7QUFDekMsWUFBWSxVQUFVO0FBQ3RCLFlBQVksYUFBYTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * This file defines the English translations for the `i18n` module.
5
+ */
6
+ /**
7
+ * The English translations.
8
+ */
9
+ export declare const en: {
10
+ readonly obsidianDevUtils: {
11
+ readonly buttons: {
12
+ readonly cancel: "Cancel";
13
+ readonly ok: "OK";
14
+ };
15
+ readonly dataview: {
16
+ readonly itemsPerPage: "Items per page:";
17
+ readonly jumpToPage: "Jump to page:";
18
+ };
19
+ readonly notices: {
20
+ readonly attachmentIsStillUsed: "Attachment {{attachmentPath}} is still used by other notes. It will not be deleted.";
21
+ readonly unhandledError: "An unhandled error occurred. Please check the console for more information.";
22
+ };
23
+ };
24
+ };
@@ -0,0 +1,27 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd(){return"/"},env:{},platform:"android"};globalThis.process=browserProcess})();
7
+
8
+ const en = {
9
+ obsidianDevUtils: {
10
+ buttons: {
11
+ cancel: "Cancel",
12
+ ok: "OK"
13
+ },
14
+ dataview: {
15
+ itemsPerPage: "Items per page:",
16
+ jumpToPage: "Jump to page:"
17
+ },
18
+ notices: {
19
+ attachmentIsStillUsed: "Attachment {{attachmentPath}} is still used by other notes. It will not be deleted.",
20
+ unhandledError: "An unhandled error occurred. Please check the console for more information."
21
+ }
22
+ }
23
+ };
24
+ export {
25
+ en
26
+ };
27
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2kxOG4vbG9jYWxlcy9lbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgRW5nbGlzaCB0cmFuc2xhdGlvbnMgZm9yIHRoZSBgaTE4bmAgbW9kdWxlLlxuICovXG5cbi8qKlxuICogVGhlIEVuZ2xpc2ggdHJhbnNsYXRpb25zLlxuICovXG5leHBvcnQgY29uc3QgZW4gPSB7XG4gIG9ic2lkaWFuRGV2VXRpbHM6IHtcbiAgICBidXR0b25zOiB7XG4gICAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgICAgb2s6ICdPSydcbiAgICB9LFxuICAgIGRhdGF2aWV3OiB7XG4gICAgICBpdGVtc1BlclBhZ2U6ICdJdGVtcyBwZXIgcGFnZTonLFxuICAgICAganVtcFRvUGFnZTogJ0p1bXAgdG8gcGFnZTonXG4gICAgfSxcbiAgICBub3RpY2VzOiB7XG4gICAgICBhdHRhY2htZW50SXNTdGlsbFVzZWQ6ICdBdHRhY2htZW50IHt7YXR0YWNobWVudFBhdGh9fSBpcyBzdGlsbCB1c2VkIGJ5IG90aGVyIG5vdGVzLiBJdCB3aWxsIG5vdCBiZSBkZWxldGVkLicsXG4gICAgICB1bmhhbmRsZWRFcnJvcjogJ0FuIHVuaGFuZGxlZCBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIGNoZWNrIHRoZSBjb25zb2xlIGZvciBtb3JlIGluZm9ybWF0aW9uLidcbiAgICB9XG4gIH1cbn0gYXMgY29uc3Q7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBU08sTUFBTSxLQUFLO0FBQUEsRUFDaEIsa0JBQWtCO0FBQUEsSUFDaEIsU0FBUztBQUFBLE1BQ1AsUUFBUTtBQUFBLE1BQ1IsSUFBSTtBQUFBLElBQ047QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLGNBQWM7QUFBQSxNQUNkLFlBQVk7QUFBQSxJQUNkO0FBQUEsSUFDQSxTQUFTO0FBQUEsTUFDUCx1QkFBdUI7QUFBQSxNQUN2QixnQkFBZ0I7QUFBQSxJQUNsQjtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,2 @@
1
+ export * as en from './en.mjs';
2
+ export * as translationsMap from './translationsMap.mjs';
@@ -0,0 +1,14 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd(){return"/"},env:{},platform:"android"};globalThis.process=browserProcess})();
7
+
8
+ import * as en from "./en.mjs";
9
+ import * as translationsMap from "./translationsMap.mjs";
10
+ export {
11
+ en,
12
+ translationsMap
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2kxOG4vbG9jYWxlcy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzIGVuIGZyb20gJy4vZW4udHMnO1xuZXhwb3J0ICogYXMgdHJhbnNsYXRpb25zTWFwIGZyb20gJy4vdHJhbnNsYXRpb25zTWFwLnRzJztcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFFQSxZQUFZLFFBQVE7QUFDcEIsWUFBWSxxQkFBcUI7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * This file defines the translations map for the `i18n` module.
5
+ */
6
+ import type { PluginTypesBase } from '../../Plugin/PluginTypesBase.mjs';
7
+ import type { TranslationsMap } from '../i18n.mjs';
8
+ /**
9
+ * The default language.
10
+ */
11
+ export declare const DEFAULT_LANGUAGE: keyof typeof translationsMapImpl;
12
+ declare const translationsMapImpl: {
13
+ readonly en: {
14
+ readonly obsidianDevUtils: {
15
+ readonly buttons: {
16
+ readonly cancel: "Cancel";
17
+ readonly ok: "OK";
18
+ };
19
+ readonly dataview: {
20
+ readonly itemsPerPage: "Items per page:";
21
+ readonly jumpToPage: "Jump to page:";
22
+ };
23
+ readonly notices: {
24
+ readonly attachmentIsStillUsed: "Attachment {{attachmentPath}} is still used by other notes. It will not be deleted.";
25
+ readonly unhandledError: "An unhandled error occurred. Please check the console for more information.";
26
+ };
27
+ };
28
+ };
29
+ };
30
+ /**
31
+ * The default translations map.
32
+ */
33
+ export declare const defaultTranslationsMap: TranslationsMap<PluginTypesBase>;
34
+ export {};
@@ -0,0 +1,18 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd(){return"/"},env:{},platform:"android"};globalThis.process=browserProcess})();
7
+
8
+ import { en } from "./en.mjs";
9
+ const DEFAULT_LANGUAGE = "en";
10
+ const translationsMapImpl = {
11
+ en
12
+ };
13
+ const defaultTranslationsMap = translationsMapImpl;
14
+ export {
15
+ DEFAULT_LANGUAGE,
16
+ defaultTranslationsMap
17
+ };
18
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2kxOG4vbG9jYWxlcy90cmFuc2xhdGlvbnNNYXAudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBmaWxlIGRlZmluZXMgdGhlIHRyYW5zbGF0aW9ucyBtYXAgZm9yIHRoZSBgaTE4bmAgbW9kdWxlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luVHlwZXNCYXNlIH0gZnJvbSAnLi4vLi4vUGx1Z2luL1BsdWdpblR5cGVzQmFzZS50cyc7XG5pbXBvcnQgdHlwZSB7IFRyYW5zbGF0aW9uc01hcCB9IGZyb20gJy4uL2kxOG4udHMnO1xuXG5pbXBvcnQgeyBlbiB9IGZyb20gJy4vZW4udHMnO1xuXG4vKipcbiAqIFRoZSBkZWZhdWx0IGxhbmd1YWdlLlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQU5HVUFHRToga2V5b2YgdHlwZW9mIHRyYW5zbGF0aW9uc01hcEltcGwgPSAnZW4nO1xuXG5jb25zdCB0cmFuc2xhdGlvbnNNYXBJbXBsID0ge1xuICBlblxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBUaGUgZGVmYXVsdCB0cmFuc2xhdGlvbnMgbWFwLlxuICovXG5leHBvcnQgY29uc3QgZGVmYXVsdFRyYW5zbGF0aW9uc01hcDogVHJhbnNsYXRpb25zTWFwPFBsdWdpblR5cGVzQmFzZT4gPSB0cmFuc2xhdGlvbnNNYXBJbXBsO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7OztBQVNBLFNBQVMsVUFBVTtBQUtaLE1BQU0sbUJBQXFEO0FBRWxFLE1BQU0sc0JBQXNCO0FBQUEsRUFDMUI7QUFDRjtBQUtPLE1BQU0seUJBQTJEOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -11,6 +11,7 @@ export * as FileManager from './FileManager.mjs';
11
11
  export * as FileSystem from './FileSystem.mjs';
12
12
  export * as Frontmatter from './Frontmatter.mjs';
13
13
  export * as FrontmatterLinkCacheWithOffsets from './FrontmatterLinkCacheWithOffsets.mjs';
14
+ export * as i18n from './i18n/index.mjs';
14
15
  export * as Link from './Link.mjs';
15
16
  export * as Logger from './Logger.mjs';
16
17
  export * as Loop from './Loop.mjs';
@@ -18,6 +18,7 @@ import * as FileManager from "./FileManager.mjs";
18
18
  import * as FileSystem from "./FileSystem.mjs";
19
19
  import * as Frontmatter from "./Frontmatter.mjs";
20
20
  import * as FrontmatterLinkCacheWithOffsets from "./FrontmatterLinkCacheWithOffsets.mjs";
21
+ import * as i18n from "./i18n/index.mjs";
21
22
  import * as Link from "./Link.mjs";
22
23
  import * as Logger from "./Logger.mjs";
23
24
  import * as Loop from "./Loop.mjs";
@@ -73,6 +74,7 @@ export {
73
74
  SettingEx,
74
75
  Validation,
75
76
  Vault,
76
- VaultEx
77
+ VaultEx,
78
+ i18n
77
79
  };
78
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgQXBwIGZyb20gJy4vQXBwLnRzJztcbmV4cG9ydCAqIGFzIEF0dGFjaG1lbnRQYXRoIGZyb20gJy4vQXR0YWNobWVudFBhdGgudHMnO1xuZXhwb3J0ICogYXMgQmFja2xpbmsgZnJvbSAnLi9CYWNrbGluay50cyc7XG5leHBvcnQgKiBhcyBDYWxsb3V0IGZyb20gJy4vQ2FsbG91dC50cyc7XG5leHBvcnQgKiBhcyBDb2RlQmxvY2tNYXJrZG93bkluZm9ybWF0aW9uIGZyb20gJy4vQ29kZUJsb2NrTWFya2Rvd25JbmZvcm1hdGlvbi50cyc7XG5leHBvcnQgKiBhcyBDb21wb25lbnRzIGZyb20gJy4vQ29tcG9uZW50cy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBEYXRhdmlldyBmcm9tICcuL0RhdGF2aWV3LnRzJztcbmV4cG9ydCAqIGFzIERhdGF2aWV3TGluayBmcm9tICcuL0RhdGF2aWV3TGluay50cyc7XG5leHBvcnQgKiBhcyBGaWxlQ2hhbmdlIGZyb20gJy4vRmlsZUNoYW5nZS50cyc7XG5leHBvcnQgKiBhcyBGaWxlTWFuYWdlciBmcm9tICcuL0ZpbGVNYW5hZ2VyLnRzJztcbmV4cG9ydCAqIGFzIEZpbGVTeXN0ZW0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmV4cG9ydCAqIGFzIEZyb250bWF0dGVyIGZyb20gJy4vRnJvbnRtYXR0ZXIudHMnO1xuZXhwb3J0ICogYXMgRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyBmcm9tICcuL0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMudHMnO1xuZXhwb3J0ICogYXMgTGluayBmcm9tICcuL0xpbmsudHMnO1xuZXhwb3J0ICogYXMgTG9nZ2VyIGZyb20gJy4vTG9nZ2VyLnRzJztcbmV4cG9ydCAqIGFzIExvb3AgZnJvbSAnLi9Mb29wLnRzJztcbmV4cG9ydCAqIGFzIE1hcmtkb3duIGZyb20gJy4vTWFya2Rvd24udHMnO1xuZXhwb3J0ICogYXMgTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3IgZnJvbSAnLi9NYXJrZG93bkNvZGVCbG9ja1Byb2Nlc3Nvci50cyc7XG5leHBvcnQgKiBhcyBNYXJrZG93blZpZXcgZnJvbSAnLi9NYXJrZG93blZpZXcudHMnO1xuZXhwb3J0ICogYXMgTWV0YWRhdGFDYWNoZSBmcm9tICcuL01ldGFkYXRhQ2FjaGUudHMnO1xuZXhwb3J0ICogYXMgTW9kYWxzIGZyb20gJy4vTW9kYWxzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIE1vbmtleUFyb3VuZCBmcm9tICcuL01vbmtleUFyb3VuZC50cyc7XG5leHBvcnQgKiBhcyBPYnNpZGlhblNldHRpbmdzIGZyb20gJy4vT2JzaWRpYW5TZXR0aW5ncy50cyc7XG5leHBvcnQgKiBhcyBQZGYgZnJvbSAnLi9QZGYudHMnO1xuZXhwb3J0ICogYXMgUGx1Z2luIGZyb20gJy4vUGx1Z2luL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIFF1ZXVlIGZyb20gJy4vUXVldWUudHMnO1xuZXhwb3J0ICogYXMgUmVhY3QgZnJvbSAnLi9SZWFjdC9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBSZWZlcmVuY2UgZnJvbSAnLi9SZWZlcmVuY2UudHMnO1xuZXhwb3J0ICogYXMgUmVuYW1lRGVsZXRlSGFuZGxlciBmcm9tICcuL1JlbmFtZURlbGV0ZUhhbmRsZXIudHMnO1xuZXhwb3J0ICogYXMgUmVzb3VyY2VVcmwgZnJvbSAnLi9SZXNvdXJjZVVybC50cyc7XG5leHBvcnQgKiBhcyBTZXR0aW5nRXggZnJvbSAnLi9TZXR0aW5nRXgudHMnO1xuZXhwb3J0ICogYXMgVmFsaWRhdGlvbiBmcm9tICcuL1ZhbGlkYXRpb24udHMnO1xuZXhwb3J0ICogYXMgVmF1bHQgZnJvbSAnLi9WYXVsdC50cyc7XG5leHBvcnQgKiBhcyBWYXVsdEV4IGZyb20gJy4vVmF1bHRFeC50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBRUEsWUFBWSxTQUFTO0FBQ3JCLFlBQVksb0JBQW9CO0FBQ2hDLFlBQVksY0FBYztBQUMxQixZQUFZLGFBQWE7QUFDekIsWUFBWSxrQ0FBa0M7QUFDOUMsWUFBWSxnQkFBZ0I7QUFDNUIsWUFBWSxjQUFjO0FBQzFCLFlBQVksa0JBQWtCO0FBQzlCLFlBQVksZ0JBQWdCO0FBQzVCLFlBQVksaUJBQWlCO0FBQzdCLFlBQVksZ0JBQWdCO0FBQzVCLFlBQVksaUJBQWlCO0FBQzdCLFlBQVkscUNBQXFDO0FBQ2pELFlBQVksVUFBVTtBQUN0QixZQUFZLFlBQVk7QUFDeEIsWUFBWSxVQUFVO0FBQ3RCLFlBQVksY0FBYztBQUMxQixZQUFZLGdDQUFnQztBQUM1QyxZQUFZLGtCQUFrQjtBQUM5QixZQUFZLG1CQUFtQjtBQUMvQixZQUFZLFlBQVk7QUFDeEIsWUFBWSxrQkFBa0I7QUFDOUIsWUFBWSxzQkFBc0I7QUFDbEMsWUFBWSxTQUFTO0FBQ3JCLFlBQVksWUFBWTtBQUN4QixZQUFZLFdBQVc7QUFDdkIsWUFBWSxXQUFXO0FBQ3ZCLFlBQVksZUFBZTtBQUMzQixZQUFZLHlCQUF5QjtBQUNyQyxZQUFZLGlCQUFpQjtBQUM3QixZQUFZLGVBQWU7QUFDM0IsWUFBWSxnQkFBZ0I7QUFDNUIsWUFBWSxXQUFXO0FBQ3ZCLFlBQVksYUFBYTsiLAogICJuYW1lcyI6IFtdCn0K
80
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgQXBwIGZyb20gJy4vQXBwLnRzJztcbmV4cG9ydCAqIGFzIEF0dGFjaG1lbnRQYXRoIGZyb20gJy4vQXR0YWNobWVudFBhdGgudHMnO1xuZXhwb3J0ICogYXMgQmFja2xpbmsgZnJvbSAnLi9CYWNrbGluay50cyc7XG5leHBvcnQgKiBhcyBDYWxsb3V0IGZyb20gJy4vQ2FsbG91dC50cyc7XG5leHBvcnQgKiBhcyBDb2RlQmxvY2tNYXJrZG93bkluZm9ybWF0aW9uIGZyb20gJy4vQ29kZUJsb2NrTWFya2Rvd25JbmZvcm1hdGlvbi50cyc7XG5leHBvcnQgKiBhcyBDb21wb25lbnRzIGZyb20gJy4vQ29tcG9uZW50cy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBEYXRhdmlldyBmcm9tICcuL0RhdGF2aWV3LnRzJztcbmV4cG9ydCAqIGFzIERhdGF2aWV3TGluayBmcm9tICcuL0RhdGF2aWV3TGluay50cyc7XG5leHBvcnQgKiBhcyBGaWxlQ2hhbmdlIGZyb20gJy4vRmlsZUNoYW5nZS50cyc7XG5leHBvcnQgKiBhcyBGaWxlTWFuYWdlciBmcm9tICcuL0ZpbGVNYW5hZ2VyLnRzJztcbmV4cG9ydCAqIGFzIEZpbGVTeXN0ZW0gZnJvbSAnLi9GaWxlU3lzdGVtLnRzJztcbmV4cG9ydCAqIGFzIEZyb250bWF0dGVyIGZyb20gJy4vRnJvbnRtYXR0ZXIudHMnO1xuZXhwb3J0ICogYXMgRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyBmcm9tICcuL0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMudHMnO1xuZXhwb3J0ICogYXMgaTE4biBmcm9tICcuL2kxOG4vaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgTGluayBmcm9tICcuL0xpbmsudHMnO1xuZXhwb3J0ICogYXMgTG9nZ2VyIGZyb20gJy4vTG9nZ2VyLnRzJztcbmV4cG9ydCAqIGFzIExvb3AgZnJvbSAnLi9Mb29wLnRzJztcbmV4cG9ydCAqIGFzIE1hcmtkb3duIGZyb20gJy4vTWFya2Rvd24udHMnO1xuZXhwb3J0ICogYXMgTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3IgZnJvbSAnLi9NYXJrZG93bkNvZGVCbG9ja1Byb2Nlc3Nvci50cyc7XG5leHBvcnQgKiBhcyBNYXJrZG93blZpZXcgZnJvbSAnLi9NYXJrZG93blZpZXcudHMnO1xuZXhwb3J0ICogYXMgTWV0YWRhdGFDYWNoZSBmcm9tICcuL01ldGFkYXRhQ2FjaGUudHMnO1xuZXhwb3J0ICogYXMgTW9kYWxzIGZyb20gJy4vTW9kYWxzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIE1vbmtleUFyb3VuZCBmcm9tICcuL01vbmtleUFyb3VuZC50cyc7XG5leHBvcnQgKiBhcyBPYnNpZGlhblNldHRpbmdzIGZyb20gJy4vT2JzaWRpYW5TZXR0aW5ncy50cyc7XG5leHBvcnQgKiBhcyBQZGYgZnJvbSAnLi9QZGYudHMnO1xuZXhwb3J0ICogYXMgUGx1Z2luIGZyb20gJy4vUGx1Z2luL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIFF1ZXVlIGZyb20gJy4vUXVldWUudHMnO1xuZXhwb3J0ICogYXMgUmVhY3QgZnJvbSAnLi9SZWFjdC9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBSZWZlcmVuY2UgZnJvbSAnLi9SZWZlcmVuY2UudHMnO1xuZXhwb3J0ICogYXMgUmVuYW1lRGVsZXRlSGFuZGxlciBmcm9tICcuL1JlbmFtZURlbGV0ZUhhbmRsZXIudHMnO1xuZXhwb3J0ICogYXMgUmVzb3VyY2VVcmwgZnJvbSAnLi9SZXNvdXJjZVVybC50cyc7XG5leHBvcnQgKiBhcyBTZXR0aW5nRXggZnJvbSAnLi9TZXR0aW5nRXgudHMnO1xuZXhwb3J0ICogYXMgVmFsaWRhdGlvbiBmcm9tICcuL1ZhbGlkYXRpb24udHMnO1xuZXhwb3J0ICogYXMgVmF1bHQgZnJvbSAnLi9WYXVsdC50cyc7XG5leHBvcnQgKiBhcyBWYXVsdEV4IGZyb20gJy4vVmF1bHRFeC50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBRUEsWUFBWSxTQUFTO0FBQ3JCLFlBQVksb0JBQW9CO0FBQ2hDLFlBQVksY0FBYztBQUMxQixZQUFZLGFBQWE7QUFDekIsWUFBWSxrQ0FBa0M7QUFDOUMsWUFBWSxnQkFBZ0I7QUFDNUIsWUFBWSxjQUFjO0FBQzFCLFlBQVksa0JBQWtCO0FBQzlCLFlBQVksZ0JBQWdCO0FBQzVCLFlBQVksaUJBQWlCO0FBQzdCLFlBQVksZ0JBQWdCO0FBQzVCLFlBQVksaUJBQWlCO0FBQzdCLFlBQVkscUNBQXFDO0FBQ2pELFlBQVksVUFBVTtBQUN0QixZQUFZLFVBQVU7QUFDdEIsWUFBWSxZQUFZO0FBQ3hCLFlBQVksVUFBVTtBQUN0QixZQUFZLGNBQWM7QUFDMUIsWUFBWSxnQ0FBZ0M7QUFDNUMsWUFBWSxrQkFBa0I7QUFDOUIsWUFBWSxtQkFBbUI7QUFDL0IsWUFBWSxZQUFZO0FBQ3hCLFlBQVksa0JBQWtCO0FBQzlCLFlBQVksc0JBQXNCO0FBQ2xDLFlBQVksU0FBUztBQUNyQixZQUFZLFlBQVk7QUFDeEIsWUFBWSxXQUFXO0FBQ3ZCLFlBQVksV0FBVztBQUN2QixZQUFZLGVBQWU7QUFDM0IsWUFBWSx5QkFBeUI7QUFDckMsWUFBWSxpQkFBaUI7QUFDN0IsWUFBWSxlQUFlO0FBQzNCLFlBQVksZ0JBQWdCO0FBQzVCLFlBQVksV0FBVztBQUN2QixZQUFZLGFBQWE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,4 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../../../dist/lib/cjs/obsidian/@types/i18next.d.cts"
4
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../dist/lib/cjs/obsidian/i18n/CustomTypeOptionsBase.cjs",
3
+ "module": "../../../dist/lib/esm/obsidian/i18n/CustomTypeOptionsBase.mjs",
4
+ "type": "module",
5
+ "types": "../../../dist/lib/cjs/obsidian/i18n/CustomTypeOptionsBase.d.cts"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../dist/lib/cjs/obsidian/i18n/DefaultTranslationsBase.cjs",
3
+ "module": "../../../dist/lib/esm/obsidian/i18n/DefaultTranslationsBase.mjs",
4
+ "type": "module",
5
+ "types": "../../../dist/lib/cjs/obsidian/i18n/DefaultTranslationsBase.d.cts"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../dist/lib/cjs/obsidian/i18n/i18n.cjs",
3
+ "module": "../../../dist/lib/esm/obsidian/i18n/i18n.mjs",
4
+ "type": "module",
5
+ "types": "../../../dist/lib/cjs/obsidian/i18n/i18n.d.cts"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../dist/lib/cjs/obsidian/i18n/index.cjs",
3
+ "module": "../../../dist/lib/esm/obsidian/i18n/index.mjs",
4
+ "type": "module",
5
+ "types": "../../../dist/lib/cjs/obsidian/i18n/index.d.cts"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../dist/lib/cjs/obsidian/i18n/locales/en.cjs",
3
+ "module": "../../../../dist/lib/esm/obsidian/i18n/locales/en.mjs",
4
+ "type": "module",
5
+ "types": "../../../../dist/lib/cjs/obsidian/i18n/locales/en.d.cts"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../dist/lib/cjs/obsidian/i18n/locales/index.cjs",
3
+ "module": "../../../../dist/lib/esm/obsidian/i18n/locales/index.mjs",
4
+ "type": "module",
5
+ "types": "../../../../dist/lib/cjs/obsidian/i18n/locales/index.d.cts"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../dist/lib/cjs/obsidian/i18n/locales/index.cjs",
3
+ "module": "../../../dist/lib/esm/obsidian/i18n/locales/index.mjs",
4
+ "type": "module",
5
+ "types": "../../../dist/lib/cjs/obsidian/i18n/locales/index.d.cts"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../dist/lib/cjs/obsidian/i18n/locales/translationsMap.cjs",
3
+ "module": "../../../../dist/lib/esm/obsidian/i18n/locales/translationsMap.mjs",
4
+ "type": "module",
5
+ "types": "../../../../dist/lib/cjs/obsidian/i18n/locales/translationsMap.d.cts"
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/lib/cjs/obsidian/i18n/index.cjs",
3
+ "module": "../../dist/lib/esm/obsidian/i18n/index.mjs",
4
+ "type": "module",
5
+ "types": "../../dist/lib/cjs/obsidian/i18n/index.d.cts"
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-dev-utils",
3
- "version": "40.2.0",
3
+ "version": "40.3.0",
4
4
  "description": "This is the collection of useful functions that you can use for your Obsidian plugin development",
5
5
  "keywords": [
6
6
  "obsidian"
@@ -408,6 +408,46 @@
408
408
  "types": "./dist/lib/cjs/obsidian/React/*.d.cts",
409
409
  "default": "./dist/lib/cjs/obsidian/React/*.cjs"
410
410
  }
411
+ },
412
+ "./obsidian/i18n": {
413
+ "import": {
414
+ "types": "./dist/lib/esm/obsidian/i18n/index.d.mts",
415
+ "default": "./dist/lib/esm/obsidian/i18n/index.mjs"
416
+ },
417
+ "require": {
418
+ "types": "./dist/lib/cjs/obsidian/i18n/index.d.cts",
419
+ "default": "./dist/lib/cjs/obsidian/i18n/index.cjs"
420
+ }
421
+ },
422
+ "./obsidian/i18n/*": {
423
+ "import": {
424
+ "types": "./dist/lib/esm/obsidian/i18n/*.d.mts",
425
+ "default": "./dist/lib/esm/obsidian/i18n/*.mjs"
426
+ },
427
+ "require": {
428
+ "types": "./dist/lib/cjs/obsidian/i18n/*.d.cts",
429
+ "default": "./dist/lib/cjs/obsidian/i18n/*.cjs"
430
+ }
431
+ },
432
+ "./obsidian/i18n/locales": {
433
+ "import": {
434
+ "types": "./dist/lib/esm/obsidian/i18n/locales/index.d.mts",
435
+ "default": "./dist/lib/esm/obsidian/i18n/locales/index.mjs"
436
+ },
437
+ "require": {
438
+ "types": "./dist/lib/cjs/obsidian/i18n/locales/index.d.cts",
439
+ "default": "./dist/lib/cjs/obsidian/i18n/locales/index.cjs"
440
+ }
441
+ },
442
+ "./obsidian/i18n/locales/*": {
443
+ "import": {
444
+ "types": "./dist/lib/esm/obsidian/i18n/locales/*.d.mts",
445
+ "default": "./dist/lib/esm/obsidian/i18n/locales/*.mjs"
446
+ },
447
+ "require": {
448
+ "types": "./dist/lib/cjs/obsidian/i18n/locales/*.d.cts",
449
+ "default": "./dist/lib/cjs/obsidian/i18n/locales/*.cjs"
450
+ }
411
451
  }
412
452
  },
413
453
  "main": "./dist/lib/cjs/index.cjs",
@@ -480,6 +520,7 @@
480
520
  "eslint-plugin-perfectionist": "^4.15.0",
481
521
  "eslint-plugin-tsdoc": "^0.4.0",
482
522
  "glob": "^11.0.3",
523
+ "i18next": "^25.5.2",
483
524
  "jiti": "^2.5.1",
484
525
  "localforage": "^1.10.0",
485
526
  "lru-cache": "^11.1.0",