@orderly.network/i18n 3.0.4 → 3.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.
Files changed (44) hide show
  1. package/dist/{constant-CIx423sl.d.mts → constant-C85biO-A.d.mts} +6 -0
  2. package/dist/{constant-CIx423sl.d.ts → constant-C85biO-A.d.ts} +6 -0
  3. package/dist/constant.d.mts +1 -1
  4. package/dist/constant.d.ts +1 -1
  5. package/dist/constant.js +9 -0
  6. package/dist/constant.js.map +1 -1
  7. package/dist/constant.mjs +9 -0
  8. package/dist/constant.mjs.map +1 -1
  9. package/dist/index.d.mts +3 -3
  10. package/dist/index.d.ts +3 -3
  11. package/dist/index.js +31 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/index.mjs +30 -1
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/locale.csv +1270 -1270
  16. package/dist/locales/ar.json +1271 -0
  17. package/dist/locales/de.json +2 -2
  18. package/dist/locales/es.json +2 -2
  19. package/dist/locales/fa.json +1271 -0
  20. package/dist/locales/fr.json +2 -2
  21. package/dist/locales/he.json +1271 -0
  22. package/dist/locales/id.json +2 -2
  23. package/dist/locales/it.json +2 -2
  24. package/dist/locales/ja.json +2 -2
  25. package/dist/locales/ko.json +2 -2
  26. package/dist/locales/nl.json +2 -2
  27. package/dist/locales/pl.json +2 -2
  28. package/dist/locales/pt.json +2 -2
  29. package/dist/locales/ru.json +2 -2
  30. package/dist/locales/tc.json +2 -2
  31. package/dist/locales/tr.json +1 -1
  32. package/dist/locales/uk.json +2 -2
  33. package/dist/locales/vi.json +2 -2
  34. package/dist/locales/zh.json +2 -2
  35. package/dist/utils.d.mts +8 -2
  36. package/dist/utils.d.ts +8 -2
  37. package/dist/utils.js +15 -0
  38. package/dist/utils.js.map +1 -1
  39. package/dist/utils.mjs +14 -1
  40. package/dist/utils.mjs.map +1 -1
  41. package/docs/guide/integration.md +6 -6
  42. package/package.json +2 -2
  43. package/scripts/mergeAiLocaleChunks.js +77 -0
  44. package/scripts/splitEnLocaleChunks.js +42 -0
package/dist/index.mjs CHANGED
@@ -11,6 +11,9 @@ import { jsx, Fragment } from 'react/jsx-runtime';
11
11
  // src/constant.ts
12
12
  var LocaleEnum = /* @__PURE__ */ ((LocaleEnum2) => {
13
13
  LocaleEnum2["en"] = "en";
14
+ LocaleEnum2["ar"] = "ar";
15
+ LocaleEnum2["fa"] = "fa";
16
+ LocaleEnum2["he"] = "he";
14
17
  LocaleEnum2["zh"] = "zh";
15
18
  LocaleEnum2["ja"] = "ja";
16
19
  LocaleEnum2["es"] = "es";
@@ -32,6 +35,12 @@ var LocaleEnum = /* @__PURE__ */ ((LocaleEnum2) => {
32
35
  var defaultLanguages = [
33
36
  { localCode: "en" /* en */, displayName: "English" },
34
37
  // English
38
+ { localCode: "ar" /* ar */, displayName: "\u0627\u0644\u0639\u0631\u0628\u064A\u0629" },
39
+ // Arabic
40
+ { localCode: "fa" /* fa */, displayName: "\u0641\u0627\u0631\u0633\u06CC" },
41
+ // Persian
42
+ { localCode: "he" /* he */, displayName: "\u05E2\u05D1\u05E8\u05D9\u05EA" },
43
+ // Hebrew
35
44
  { localCode: "zh" /* zh */, displayName: "\u4E2D\u6587" },
36
45
  // Chinese
37
46
  { localCode: "ja" /* ja */, displayName: "\u65E5\u672C\u8A9E" },
@@ -1651,6 +1660,16 @@ async function importLocaleJsonModule(loader) {
1651
1660
  }
1652
1661
 
1653
1662
  // src/utils.ts
1663
+ var isRTLDirectionLanguage = (lang) => /^(?:ar|fa|he)(?:-|$)/i.test(lang ?? "");
1664
+ var syncDocumentDirection = (lang) => {
1665
+ if (typeof document === "undefined") {
1666
+ return;
1667
+ }
1668
+ document.documentElement.setAttribute(
1669
+ "dir",
1670
+ isRTLDirectionLanguage(lang) ? "rtl" : "ltr"
1671
+ );
1672
+ };
1654
1673
  function parseI18nLang(lang, localeCodes, defaultLang) {
1655
1674
  localeCodes = localeCodes || Object.values(LocaleEnum);
1656
1675
  defaultLang = defaultLang || "en" /* en */;
@@ -1720,6 +1739,16 @@ var LanguageProvider = (props) => {
1720
1739
  };
1721
1740
  initLanguage();
1722
1741
  }, [i18n_default.language]);
1742
+ useEffect(() => {
1743
+ syncDocumentDirection(i18n_default.language);
1744
+ const handleLanguageChange = (lang) => {
1745
+ syncDocumentDirection(lang);
1746
+ };
1747
+ i18n_default.on("languageChanged", handleLanguageChange);
1748
+ return () => {
1749
+ i18n_default.off("languageChanged", handleLanguageChange);
1750
+ };
1751
+ }, []);
1723
1752
  const languageBeforeChangedHandle = useCallback(
1724
1753
  async (lang) => {
1725
1754
  await onLanguageBeforeChanged?.(lang);
@@ -1842,6 +1871,6 @@ var preloadDefaultResource = (messages) => {
1842
1871
  i18n_default.addResourceBundle(defaultLng, defaultNS, messages, true, true);
1843
1872
  };
1844
1873
 
1845
- export { Backend, ExternalLocaleProvider, LanguageContext, LanguageProvider, LocaleEnum, LocaleProvider, asMessageRecord, createI18nInstance, defaultLanguages, defaultLng, defaultNS, en, generatePath, getLocalePathFromPathname, i18n_default as i18n, i18nCookieKey, i18nLocalStorageKey, importLocaleJsonModule, parseI18nLang, preloadDefaultResource, registerDefaultResource, registerResources, removeLangPrefix, useLanguageContext, useLocaleCode, useRegisterExternalResources, useTranslation };
1874
+ export { Backend, ExternalLocaleProvider, LanguageContext, LanguageProvider, LocaleEnum, LocaleProvider, asMessageRecord, createI18nInstance, defaultLanguages, defaultLng, defaultNS, en, generatePath, getLocalePathFromPathname, i18n_default as i18n, i18nCookieKey, i18nLocalStorageKey, importLocaleJsonModule, isRTLDirectionLanguage, parseI18nLang, preloadDefaultResource, registerDefaultResource, registerResources, removeLangPrefix, syncDocumentDirection, useLanguageContext, useLocaleCode, useRegisterExternalResources, useTranslation };
1846
1875
  //# sourceMappingURL=index.mjs.map
1847
1876
  //# sourceMappingURL=index.mjs.map