@orderly.network/i18n 2.10.2 → 3.0.0-beta.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 (49) hide show
  1. package/README.md +193 -34
  2. package/bin/cli.js +92 -37
  3. package/dist/{constant-UZhfXyyb.d.mts → constant-BeXwHrGj.d.mts} +27 -0
  4. package/dist/{constant-UZhfXyyb.d.ts → constant-BeXwHrGj.d.ts} +27 -0
  5. package/dist/constant.d.mts +1 -1
  6. package/dist/constant.d.ts +1 -1
  7. package/dist/index.d.mts +34 -9
  8. package/dist/index.d.ts +34 -9
  9. package/dist/index.js +80 -17
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.mjs +79 -19
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/locale.csv +30 -3
  14. package/dist/locales/de.json +30 -3
  15. package/dist/locales/en.json +30 -3
  16. package/dist/locales/es.json +30 -3
  17. package/dist/locales/fr.json +30 -3
  18. package/dist/locales/id.json +30 -3
  19. package/dist/locales/it.json +30 -3
  20. package/dist/locales/ja.json +30 -3
  21. package/dist/locales/ko.json +30 -3
  22. package/dist/locales/nl.json +30 -3
  23. package/dist/locales/pl.json +30 -3
  24. package/dist/locales/pt.json +30 -3
  25. package/dist/locales/ru.json +30 -3
  26. package/dist/locales/tc.json +30 -3
  27. package/dist/locales/tr.json +30 -3
  28. package/dist/locales/uk.json +30 -3
  29. package/dist/locales/vi.json +30 -3
  30. package/dist/locales/zh.json +30 -3
  31. package/dist/utils.d.mts +1 -1
  32. package/dist/utils.d.ts +1 -1
  33. package/dist/utils.js +46 -12
  34. package/dist/utils.js.map +1 -1
  35. package/dist/utils.mjs +46 -12
  36. package/dist/utils.mjs.map +1 -1
  37. package/package.json +7 -7
  38. package/script/copyLocales.js +0 -11
  39. package/script/csv2json.js +0 -28
  40. package/script/diffCsv.js +0 -175
  41. package/script/fillJson.js +0 -33
  42. package/script/generateCsv.js +0 -36
  43. package/script/generateEnJson.js +0 -11
  44. package/script/generateMissingKeys.js +0 -49
  45. package/script/json-csv-converter.js +0 -286
  46. package/script/json2csv.js +0 -38
  47. package/script/mergeJson.js +0 -67
  48. package/script/separateJson.js +0 -50
  49. package/script/utils.js +0 -88
package/dist/index.mjs CHANGED
@@ -4,7 +4,7 @@ import { I18nextProvider, I18nContext, useTranslation as useTranslation$1 } from
4
4
  export * from 'react-i18next';
5
5
  import LanguageDetector from 'i18next-browser-languagedetector';
6
6
  import { createContext, useContext, useState, useRef, useEffect, useCallback, useMemo } from 'react';
7
- import { jsx } from 'react/jsx-runtime';
7
+ import { jsx, Fragment } from 'react/jsx-runtime';
8
8
 
9
9
  // src/types.ts
10
10
 
@@ -232,6 +232,7 @@ var chart = {
232
232
  // src/locale/module/common.ts
233
233
  var common = {
234
234
  "common.cancel": "Cancel",
235
+ "common.close": "Close",
235
236
  "common.confirm": "Confirm",
236
237
  "common.ok": "OK",
237
238
  "common.yes": "Yes",
@@ -614,6 +615,21 @@ var orderEntry = {
614
615
  "orderEntry.slTriggerPrice.error.max": "SL Price must be less than {{value}}",
615
616
  "orderEntry.total.error.min": "The order value should be greater or equal to {{value}} USDC",
616
617
  "orderEntry.initialMarginTotal.error.min": "The initial margin should be greater or equal to {{value}} USDC",
618
+ // Margin mode (Cross / Isolated)
619
+ "marginMode.switchMarginMode": "Switch Margin Mode",
620
+ "marginMode.cross": "Cross",
621
+ "marginMode.isolated": "Isolated",
622
+ "marginMode.crossMargin": "Cross Margin",
623
+ "marginMode.isolatedMargin": "Isolated Margin",
624
+ "marginMode.crossMarginDescription": "Margin and PnL are shared across positions. You may lose all positions if liquidation occurs.",
625
+ "marginMode.isolatedMarginDescription": "Margin and PnL are independent for each position. You'll only lose the current position if liquidation occurs.",
626
+ "marginMode.current": "Current",
627
+ "marginMode.marginModeSettings": "Margin mode settings",
628
+ "marginMode.updatedSuccessfully": "Updated successfully",
629
+ "marginMode.perpetualFutures": "Perpetual futures",
630
+ "marginMode.searchPlaceholder": "Search",
631
+ "marginMode.selectAll": "Select all",
632
+ "marginMode.setAs": "Set as",
617
633
  "orderEntry.startPrice.error.required": "Start price is required",
618
634
  "orderEntry.startPrice.error.min": "Start price must be greater than {{value}}",
619
635
  "orderEntry.startPrice.error.max": "Start price must be less than {{value}}",
@@ -808,9 +824,9 @@ var positions = {
808
824
  "positions.column.liqPrice": "Liq. price",
809
825
  "positions.column.unrealPnl.tooltip": "Current unrealized profit or loss on your open positions across all widgets calculated using Mark Price.",
810
826
  "positions.column.unrealPnl.priceBasis": "Unrealized PnL Price Basis",
811
- "positions.column.margin": "Maintenance Margin",
812
- "positions.column.margin.tooltip": "The minimum equity to keep your position.",
813
- "positions.column.margin.formula": "Margin = Position size * Mark price * MMR",
827
+ "positions.column.margin": "Margin",
828
+ "positions.column.margin.tooltip": "Isolated margin locked in the position",
829
+ "positions.column.margin.formula": "Margin = Position size * Open price * IMR",
814
830
  "positions.column.close": "Close",
815
831
  "positions.limitClose": "Limit close",
816
832
  "positions.limitClose.description": "You agree closing {{quantity}} {{base}} position at limit price.",
@@ -858,7 +874,19 @@ var positions = {
858
874
  "positions.reverse.marketOpenLong": "Market Open Long",
859
875
  "positions.reverse.marketOpenShort": "Market Open Short",
860
876
  "positions.reverse.reverseToLong": "Reverse to Long",
861
- "positions.reverse.reverseToShort": "Reverse to Short"
877
+ "positions.reverse.reverseToShort": "Reverse to Short",
878
+ // Adjust Margin
879
+ "positions.adjustMargin.title": "Adjust Margin",
880
+ "positions.adjustMargin.add": "Add Margin",
881
+ "positions.adjustMargin.reduce": "Reduce Margin",
882
+ "positions.adjustMargin.quantity": "Quantity",
883
+ "positions.adjustMargin.max": "Max",
884
+ "positions.adjustMargin.currentMargin": "Current margin:",
885
+ "positions.adjustMargin.liqPriceAfter": "Liquidation price after adjustment:",
886
+ "positions.adjustMargin.leverageAfter": "Effective leverage after adjustment:",
887
+ "positions.adjustMargin.success": "Margin adjusted successfully",
888
+ "positions.adjustMargin.failed": "Failed to adjust margin",
889
+ "positions.adjustMargin.marginCannotMoreThanMax": "Margin cannot be more than max"
862
890
  };
863
891
 
864
892
  // src/locale/module/scaffold.ts
@@ -1278,6 +1306,7 @@ var transfer = {
1278
1306
  "transfer.LTV.description": `LTV (Loan-to-Value) is the ratio between your negative USDC and the current value of your collateral. If your LTV exceeds {{threshold}}, your collateral will be automatically converted to USDC.`,
1279
1307
  "transfer.LTV.tooltip": `If your LTV exceeds {{threshold}}% or your USDC balance plus Unsettled PnL falls below {{usdcThreshold}}, your collateral will be automatically converted with a haircut. To avoid this, you can manually convert assets to USDC.`,
1280
1308
  "transfer.LTV.currentLTV": "Current LTV",
1309
+ "transfer.LTV.isolatedModeUsdcOnly": "Only USDC can be used as margin in Isolated Mode.",
1281
1310
  "transfer.convert": "Convert",
1282
1311
  // "transfer.convert.note": "Please note that convert fees will be charged.",
1283
1312
  "transfer.deposit.globalMaxQty.error": "Your deposit couldn't be processed because the global deposit cap for {{token}} on {{chain}} has been reached. This is typically resolved after rebalancing, which takes around 1 hour. Please try again later, or use a smaller amount or a different chain. <0>Learn more</0>",
@@ -1460,15 +1489,20 @@ var languageDetector = new LanguageDetector(null, {
1460
1489
  lookupCookie: i18nCookieKey,
1461
1490
  caches: ["localStorage", "cookie"]
1462
1491
  });
1463
- var i18n = createInstance({
1464
- // lng: defaultLng,
1465
- fallbackLng: defaultLng,
1466
- // debug: true,
1467
- interpolation: {
1468
- escapeValue: false
1469
- },
1492
+ function createI18nInstance(options) {
1493
+ return createInstance({
1494
+ // lng: defaultLng,
1495
+ fallbackLng: defaultLng,
1496
+ // debug: true,
1497
+ interpolation: {
1498
+ escapeValue: false
1499
+ },
1500
+ ...options
1501
+ }).use(languageDetector);
1502
+ }
1503
+ var i18n = createI18nInstance({
1470
1504
  resources
1471
- }).use(languageDetector);
1505
+ });
1472
1506
  i18n.init();
1473
1507
  var i18n_default = i18n;
1474
1508
 
@@ -1580,8 +1614,7 @@ var LocaleProvider = (props) => {
1580
1614
  supportedLanguages,
1581
1615
  onLanguageChanged,
1582
1616
  convertDetectedLanguage,
1583
- onLanguageBeforeChanged,
1584
- onLocaleChange
1617
+ onLanguageBeforeChanged
1585
1618
  } = props;
1586
1619
  const [languages, setLanguages] = useState(defaultLanguages);
1587
1620
  const backendRef = useRef(new Backend(backend));
@@ -1632,9 +1665,8 @@ var LocaleProvider = (props) => {
1632
1665
  const languageChangedHandle = useCallback(
1633
1666
  async (lang) => {
1634
1667
  onLanguageChanged?.(lang);
1635
- onLocaleChange?.(lang);
1636
1668
  },
1637
- [onLanguageChanged, onLocaleChange]
1669
+ [onLanguageChanged]
1638
1670
  );
1639
1671
  const memoizedValue = useMemo(() => {
1640
1672
  return {
@@ -1657,7 +1689,9 @@ function useTranslation(ns, options) {
1657
1689
  });
1658
1690
  }
1659
1691
  function useLocaleCode() {
1660
- const [loacaleCode, setLoacaleCode] = useState(i18n_default.language);
1692
+ const [loacaleCode, setLoacaleCode] = useState(
1693
+ parseI18nLang(i18n_default.language)
1694
+ );
1661
1695
  useEffect(() => {
1662
1696
  const handleLanguageChange = (lng) => {
1663
1697
  setLoacaleCode(lng);
@@ -1670,6 +1704,32 @@ function useLocaleCode() {
1670
1704
  return loacaleCode;
1671
1705
  }
1672
1706
 
1673
- export { I18nProvider, LocaleContext, LocaleEnum, LocaleProvider, defaultLanguages, defaultLng, defaultNS, en, generatePath, getLocalePathFromPathname, i18n_default as i18n, i18nCookieKey, i18nLocalStorageKey, parseI18nLang, removeLangPrefix, useLocaleCode, useLocaleContext, useTranslation };
1707
+ // src/external/utils.ts
1708
+ var preloadDefaultResource = (messages) => {
1709
+ i18n_default.addResourceBundle(defaultLng, defaultNS, messages, true, true);
1710
+ };
1711
+ var asyncAddResource = async (localeCode, resources2) => {
1712
+ const resource = await resources2(localeCode, defaultNS);
1713
+ i18n_default.addResourceBundle(localeCode, defaultNS, resource, true, true);
1714
+ };
1715
+ var ExternalLocaleProvider = (props) => {
1716
+ const { resources: resources2 } = props;
1717
+ const localeCode = useLocaleCode();
1718
+ useEffect(() => {
1719
+ if (typeof resources2 === "function") {
1720
+ asyncAddResource(localeCode, resources2);
1721
+ return;
1722
+ }
1723
+ if (resources2) {
1724
+ Object.entries(resources2).forEach(([locale, messages]) => {
1725
+ i18n_default.addResourceBundle(locale, defaultNS, messages, true, true);
1726
+ });
1727
+ return;
1728
+ }
1729
+ }, [localeCode, resources2]);
1730
+ return /* @__PURE__ */ jsx(Fragment, { children: props.children });
1731
+ };
1732
+
1733
+ export { ExternalLocaleProvider, I18nProvider, LocaleContext, LocaleEnum, LocaleProvider, createI18nInstance, defaultLanguages, defaultLng, defaultNS, en, generatePath, getLocalePathFromPathname, i18n_default as i18n, i18nCookieKey, i18nLocalStorageKey, parseI18nLang, preloadDefaultResource, removeLangPrefix, useLocaleCode, useLocaleContext, useTranslation };
1674
1734
  //# sourceMappingURL=index.mjs.map
1675
1735
  //# sourceMappingURL=index.mjs.map