@matchain/matchid-sdk-react 0.1.30 → 0.1.31
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.d.mts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +552 -56
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +552 -56
- package/dist/index.mjs.map +1 -1
- package/example/src/App.tsx +13 -3
- package/example/src/config/index.ts +3 -0
- package/package.json +2 -1
- package/readme.md +29 -3
package/dist/index.mjs
CHANGED
|
@@ -806,7 +806,9 @@ var persistedState = persist(
|
|
|
806
806
|
setTheme: (theme) => set({ theme }),
|
|
807
807
|
setEndpoints: (endpoints) => set({ endpoints }),
|
|
808
808
|
address: "",
|
|
809
|
-
setAddress: (address) => set({ address })
|
|
809
|
+
setAddress: (address) => set({ address }),
|
|
810
|
+
locale: "en",
|
|
811
|
+
setLocale: (locale) => set({ locale })
|
|
810
812
|
}),
|
|
811
813
|
{ name: "match-local" }
|
|
812
814
|
);
|
|
@@ -855,6 +857,19 @@ var getAppid = () => {
|
|
|
855
857
|
return "";
|
|
856
858
|
}
|
|
857
859
|
};
|
|
860
|
+
var getLocale = () => {
|
|
861
|
+
try {
|
|
862
|
+
const store = localStore.getState();
|
|
863
|
+
const locale = store?.locale;
|
|
864
|
+
if (locale) {
|
|
865
|
+
return locale;
|
|
866
|
+
} else {
|
|
867
|
+
return "en";
|
|
868
|
+
}
|
|
869
|
+
} catch (e) {
|
|
870
|
+
return "en";
|
|
871
|
+
}
|
|
872
|
+
};
|
|
858
873
|
var getToken = () => {
|
|
859
874
|
try {
|
|
860
875
|
const store = localStore.getState();
|
|
@@ -903,6 +918,7 @@ var request = async (config) => {
|
|
|
903
918
|
if (token) {
|
|
904
919
|
instance.defaults.headers.common["Authorization"] = token;
|
|
905
920
|
}
|
|
921
|
+
instance.defaults.headers.common["Accept-Language"] = getLocale();
|
|
906
922
|
const { data } = await instance.request(config);
|
|
907
923
|
matchlog_default.log("api", data);
|
|
908
924
|
if (data.code == 401001) {
|
|
@@ -1123,9 +1139,6 @@ function truncateAddress(address) {
|
|
|
1123
1139
|
const end = address.slice(-2);
|
|
1124
1140
|
return `${start}...${end}`;
|
|
1125
1141
|
}
|
|
1126
|
-
function firstUpperCase(str) {
|
|
1127
|
-
return str.toString()[0].toUpperCase() + str.toString().slice(1);
|
|
1128
|
-
}
|
|
1129
1142
|
|
|
1130
1143
|
// src/store/useModalStore.ts
|
|
1131
1144
|
import { create as create2 } from "zustand";
|
|
@@ -1514,6 +1527,7 @@ function useCopyClipboard(timeout = 500) {
|
|
|
1514
1527
|
}
|
|
1515
1528
|
|
|
1516
1529
|
// src/components/PasswordModal/index.tsx
|
|
1530
|
+
import { FormattedMessage, useIntl } from "react-intl";
|
|
1517
1531
|
import { jsx as jsx40, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
1518
1532
|
function PasswordModal({
|
|
1519
1533
|
title,
|
|
@@ -1527,13 +1541,20 @@ function PasswordModal({
|
|
|
1527
1541
|
const [rePassword, setRePassword] = useState3("");
|
|
1528
1542
|
const [error, setError] = useState3("");
|
|
1529
1543
|
const { generateWallet } = useWallet();
|
|
1544
|
+
const intl = useIntl();
|
|
1530
1545
|
const passwordError = useMemo2(() => {
|
|
1531
|
-
if (password.length < 6) return
|
|
1546
|
+
if (password.length < 6) return intl.formatMessage({
|
|
1547
|
+
id: "passwordMinError"
|
|
1548
|
+
}, {
|
|
1549
|
+
length: 6
|
|
1550
|
+
});
|
|
1532
1551
|
return "";
|
|
1533
1552
|
}, [password]);
|
|
1534
1553
|
const rePasswordError = useMemo2(() => {
|
|
1535
1554
|
if (rePassword != password) {
|
|
1536
|
-
return
|
|
1555
|
+
return intl.formatMessage({
|
|
1556
|
+
id: "passwordMatchError"
|
|
1557
|
+
});
|
|
1537
1558
|
}
|
|
1538
1559
|
return "";
|
|
1539
1560
|
}, [rePassword, password]);
|
|
@@ -1560,26 +1581,32 @@ function PasswordModal({
|
|
|
1560
1581
|
setIsSubmitting(false);
|
|
1561
1582
|
}
|
|
1562
1583
|
};
|
|
1563
|
-
return /* @__PURE__ */ jsx40(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title ||
|
|
1584
|
+
return /* @__PURE__ */ jsx40(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
1585
|
+
id: "passwordTitle"
|
|
1586
|
+
}), children: /* @__PURE__ */ jsxs26("div", { className: "matchid-password-box", children: [
|
|
1564
1587
|
/* @__PURE__ */ jsxs26("div", { className: "matchid-password-header", children: [
|
|
1565
1588
|
/* @__PURE__ */ jsx40("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ jsx40(PasswordRoundIcon, {}) }),
|
|
1566
|
-
/* @__PURE__ */ jsx40("div", { className: "matchid-password-header-content", children:
|
|
1589
|
+
/* @__PURE__ */ jsx40("div", { className: "matchid-password-header-content", children: /* @__PURE__ */ jsx40(FormattedMessage, { id: "passwordTips" }) })
|
|
1567
1590
|
] }),
|
|
1568
1591
|
/* @__PURE__ */ jsxs26("div", { className: "matchid-password-content", children: [
|
|
1569
|
-
/* @__PURE__ */ jsx40(Field, { label: "
|
|
1592
|
+
/* @__PURE__ */ jsx40(Field, { label: intl.formatMessage({ id: "password" }), error: password.length > 0 && passwordError, children: /* @__PURE__ */ jsx40(
|
|
1570
1593
|
Input,
|
|
1571
1594
|
{
|
|
1572
|
-
placeholder:
|
|
1595
|
+
placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
|
|
1573
1596
|
maxLength: 32,
|
|
1574
1597
|
type: "password",
|
|
1575
1598
|
onChange: (e) => setPassword(e.target.value),
|
|
1576
1599
|
value: password
|
|
1577
1600
|
}
|
|
1578
1601
|
) }),
|
|
1579
|
-
/* @__PURE__ */ jsx40(Field, { label:
|
|
1602
|
+
/* @__PURE__ */ jsx40(Field, { label: intl.formatMessage({
|
|
1603
|
+
id: "rePassword"
|
|
1604
|
+
}), error: rePassword.length > 0 ? rePasswordError || error : error, children: /* @__PURE__ */ jsx40(
|
|
1580
1605
|
Input,
|
|
1581
1606
|
{
|
|
1582
|
-
placeholder:
|
|
1607
|
+
placeholder: intl.formatMessage({
|
|
1608
|
+
id: "rePasswordPlaceholder"
|
|
1609
|
+
}),
|
|
1583
1610
|
maxLength: 32,
|
|
1584
1611
|
onChange: (e) => setRePassword(e.target.value),
|
|
1585
1612
|
value: rePassword,
|
|
@@ -1596,7 +1623,7 @@ function PasswordModal({
|
|
|
1596
1623
|
size: "lg",
|
|
1597
1624
|
onClick: onContinue,
|
|
1598
1625
|
loading: isSubmitting,
|
|
1599
|
-
children: "
|
|
1626
|
+
children: /* @__PURE__ */ jsx40(FormattedMessage, { id: "continue" })
|
|
1600
1627
|
}
|
|
1601
1628
|
)
|
|
1602
1629
|
] }) });
|
|
@@ -1604,6 +1631,7 @@ function PasswordModal({
|
|
|
1604
1631
|
|
|
1605
1632
|
// src/components/RecoveryModal/index.tsx
|
|
1606
1633
|
import { useEffect as useEffect4, useMemo as useMemo3, useState as useState4 } from "react";
|
|
1634
|
+
import { FormattedMessage as FormattedMessage2, useIntl as useIntl2 } from "react-intl";
|
|
1607
1635
|
import { jsx as jsx41, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
1608
1636
|
function RecoveryModal({
|
|
1609
1637
|
title,
|
|
@@ -1616,8 +1644,13 @@ function RecoveryModal({
|
|
|
1616
1644
|
const [password, setPassword] = useState4("");
|
|
1617
1645
|
const { recoveryWallet } = useWallet();
|
|
1618
1646
|
const [error, setError] = useState4("");
|
|
1647
|
+
const intl = useIntl2();
|
|
1619
1648
|
const passwordError = useMemo3(() => {
|
|
1620
|
-
if (password.length < 6) return
|
|
1649
|
+
if (password.length < 6) return intl.formatMessage({
|
|
1650
|
+
id: "passwordMinError"
|
|
1651
|
+
}, {
|
|
1652
|
+
length: 6
|
|
1653
|
+
});
|
|
1621
1654
|
return "";
|
|
1622
1655
|
}, [password]);
|
|
1623
1656
|
useEffect4(() => {
|
|
@@ -1640,15 +1673,17 @@ function RecoveryModal({
|
|
|
1640
1673
|
setIsSubmitting(false);
|
|
1641
1674
|
}
|
|
1642
1675
|
};
|
|
1643
|
-
return /* @__PURE__ */ jsx41(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title ||
|
|
1676
|
+
return /* @__PURE__ */ jsx41(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
1677
|
+
id: "recoverTitle"
|
|
1678
|
+
}), children: /* @__PURE__ */ jsxs27("div", { className: "matchid-password-box", children: [
|
|
1644
1679
|
/* @__PURE__ */ jsxs27("div", { className: "matchid-password-header", children: [
|
|
1645
1680
|
/* @__PURE__ */ jsx41("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ jsx41(PasswordRoundIcon, {}) }),
|
|
1646
|
-
/* @__PURE__ */ jsx41("div", { className: "matchid-password-header-content", children:
|
|
1681
|
+
/* @__PURE__ */ jsx41("div", { className: "matchid-password-header-content", children: /* @__PURE__ */ jsx41(FormattedMessage2, { id: "recoverTips" }) })
|
|
1647
1682
|
] }),
|
|
1648
|
-
/* @__PURE__ */ jsx41("div", { className: "matchid-password-content", children: /* @__PURE__ */ jsx41(Field, { label: "
|
|
1683
|
+
/* @__PURE__ */ jsx41("div", { className: "matchid-password-content", children: /* @__PURE__ */ jsx41(Field, { label: intl.formatMessage({ id: "password" }), error: password.length > 0 ? passwordError || error : error, children: /* @__PURE__ */ jsx41(
|
|
1649
1684
|
Input,
|
|
1650
1685
|
{
|
|
1651
|
-
placeholder:
|
|
1686
|
+
placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
|
|
1652
1687
|
maxLength: 32,
|
|
1653
1688
|
type: "password",
|
|
1654
1689
|
onChange: (e) => setPassword(e.target.value),
|
|
@@ -1664,7 +1699,7 @@ function RecoveryModal({
|
|
|
1664
1699
|
size: "lg",
|
|
1665
1700
|
onClick: onContinue,
|
|
1666
1701
|
loading: isSubmitting,
|
|
1667
|
-
children: "
|
|
1702
|
+
children: /* @__PURE__ */ jsx41(FormattedMessage2, { id: "continue" })
|
|
1668
1703
|
}
|
|
1669
1704
|
)
|
|
1670
1705
|
] }) });
|
|
@@ -1697,8 +1732,10 @@ import { useEffect as useEffect7, useState as useState7 } from "react";
|
|
|
1697
1732
|
|
|
1698
1733
|
// src/components/EmailModal/StepEmail.tsx
|
|
1699
1734
|
import { useEffect as useEffect5, useMemo as useMemo4, useState as useState5 } from "react";
|
|
1735
|
+
import { FormattedMessage as FormattedMessage3, useIntl as useIntl3 } from "react-intl";
|
|
1700
1736
|
import { jsx as jsx42, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
1701
1737
|
function StepEmail(props) {
|
|
1738
|
+
const intl = useIntl3();
|
|
1702
1739
|
const [emailVal, setEmailVal] = useState5("");
|
|
1703
1740
|
useEffect5(() => {
|
|
1704
1741
|
if (props.email) {
|
|
@@ -1712,17 +1749,21 @@ function StepEmail(props) {
|
|
|
1712
1749
|
props.onContinue(emailVal);
|
|
1713
1750
|
};
|
|
1714
1751
|
return /* @__PURE__ */ jsxs28("div", { className: "matchid-email-email-box", children: [
|
|
1715
|
-
/* @__PURE__ */ jsx42(Field, { label:
|
|
1752
|
+
/* @__PURE__ */ jsx42(Field, { label: intl.formatMessage({
|
|
1753
|
+
id: "emailAddress"
|
|
1754
|
+
}), children: /* @__PURE__ */ jsx42(
|
|
1716
1755
|
Input,
|
|
1717
1756
|
{
|
|
1718
|
-
placeholder:
|
|
1757
|
+
placeholder: intl.formatMessage({
|
|
1758
|
+
id: "emailAddressPlaceholder"
|
|
1759
|
+
}),
|
|
1719
1760
|
onChange: (e) => setEmailVal(e.target.value),
|
|
1720
1761
|
value: emailVal
|
|
1721
1762
|
}
|
|
1722
1763
|
) }),
|
|
1723
1764
|
/* @__PURE__ */ jsx42(Button, { disabled: !canContinue, style: {
|
|
1724
1765
|
marginTop: "64px"
|
|
1725
|
-
}, onClick: onContinue, size: "lg", block: true, highlight: true, children: "
|
|
1766
|
+
}, onClick: onContinue, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ jsx42(FormattedMessage3, { id: "continue" }) })
|
|
1726
1767
|
] });
|
|
1727
1768
|
}
|
|
1728
1769
|
|
|
@@ -1734,15 +1775,19 @@ var EMAIL_INTERVAL = 60;
|
|
|
1734
1775
|
var EMAIL_CODE_LENGTH = 6;
|
|
1735
1776
|
|
|
1736
1777
|
// src/components/EmailModal/StepVerify.tsx
|
|
1778
|
+
import { FormattedMessage as FormattedMessage4, useIntl as useIntl4 } from "react-intl";
|
|
1737
1779
|
import { jsx as jsx43, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
1738
1780
|
function StepVerify(props) {
|
|
1781
|
+
const intl = useIntl4();
|
|
1739
1782
|
const { getLoginEmailCode, loginByEmail } = useUserInfo();
|
|
1740
1783
|
const [error, setError] = useState6("");
|
|
1741
1784
|
const [code, setCode] = useState6("");
|
|
1742
1785
|
const [sending, setSending] = useState6(false);
|
|
1743
1786
|
const [submitting, setSubmitting] = useState6(false);
|
|
1744
1787
|
const sendTimeRef = useRef(0);
|
|
1745
|
-
const [sendBtnText, setSendBtnText] = useState6(
|
|
1788
|
+
const [sendBtnText, setSendBtnText] = useState6(intl.formatMessage({
|
|
1789
|
+
id: "send"
|
|
1790
|
+
}));
|
|
1746
1791
|
const intervalTime = EMAIL_INTERVAL;
|
|
1747
1792
|
const codeLength = EMAIL_CODE_LENGTH;
|
|
1748
1793
|
const intervalRef = useRef(null);
|
|
@@ -1760,14 +1805,18 @@ function StepVerify(props) {
|
|
|
1760
1805
|
sendTimeRef.current--;
|
|
1761
1806
|
setSendBtnText(`${sendTimeRef.current}s`);
|
|
1762
1807
|
if (sendTimeRef.current <= 0) {
|
|
1763
|
-
setSendBtnText(
|
|
1808
|
+
setSendBtnText(intl.formatMessage({
|
|
1809
|
+
id: "Resend"
|
|
1810
|
+
}));
|
|
1764
1811
|
clearInterval(intervalRef.current);
|
|
1765
1812
|
setSending(false);
|
|
1766
1813
|
}
|
|
1767
1814
|
}, 1e3);
|
|
1768
1815
|
} catch (err) {
|
|
1769
1816
|
console.error("Send email error", err);
|
|
1770
|
-
setError(
|
|
1817
|
+
setError(intl.formatMessage({
|
|
1818
|
+
id: "sendCodeErrorTip"
|
|
1819
|
+
}, { error: err.message }));
|
|
1771
1820
|
setSending(false);
|
|
1772
1821
|
}
|
|
1773
1822
|
};
|
|
@@ -1808,13 +1857,17 @@ function StepVerify(props) {
|
|
|
1808
1857
|
/* @__PURE__ */ jsx43("div", { className: "matchid-email-verify-header-icon", children: /* @__PURE__ */ jsx43(EmailLineIcon, {}) }),
|
|
1809
1858
|
/* @__PURE__ */ jsxs29("div", { className: "matchid-email-verify-header-content", children: [
|
|
1810
1859
|
/* @__PURE__ */ jsx43("div", { className: "matchid-email-verify-header-value", children: props.email }),
|
|
1811
|
-
/* @__PURE__ */ jsx43("div", { className: "matchid-email-verify-header-tips", children:
|
|
1860
|
+
/* @__PURE__ */ jsx43("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ jsx43(FormattedMessage4, { id: "sendEmailTips" }) })
|
|
1812
1861
|
] })
|
|
1813
1862
|
] }),
|
|
1814
|
-
/* @__PURE__ */ jsx43(Field, { label:
|
|
1863
|
+
/* @__PURE__ */ jsx43(Field, { label: intl.formatMessage({
|
|
1864
|
+
id: "verificationCode"
|
|
1865
|
+
}), error, children: /* @__PURE__ */ jsx43(
|
|
1815
1866
|
Input,
|
|
1816
1867
|
{
|
|
1817
|
-
placeholder:
|
|
1868
|
+
placeholder: intl.formatMessage({
|
|
1869
|
+
id: "codePlaceholder"
|
|
1870
|
+
}),
|
|
1818
1871
|
maxLength: codeLength,
|
|
1819
1872
|
onChange: (e) => setCode(e.target.value),
|
|
1820
1873
|
value: code,
|
|
@@ -1837,11 +1890,12 @@ function StepVerify(props) {
|
|
|
1837
1890
|
)
|
|
1838
1891
|
}
|
|
1839
1892
|
) }),
|
|
1840
|
-
/* @__PURE__ */ jsx43(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: "
|
|
1893
|
+
/* @__PURE__ */ jsx43(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: /* @__PURE__ */ jsx43(FormattedMessage4, { id: "continue" }) })
|
|
1841
1894
|
] });
|
|
1842
1895
|
}
|
|
1843
1896
|
|
|
1844
1897
|
// src/components/EmailModal/index.tsx
|
|
1898
|
+
import { useIntl as useIntl5 } from "react-intl";
|
|
1845
1899
|
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
1846
1900
|
function EmailModal({
|
|
1847
1901
|
isOpen = false,
|
|
@@ -1852,6 +1906,7 @@ function EmailModal({
|
|
|
1852
1906
|
}) {
|
|
1853
1907
|
const [step, setStep] = useState7("input");
|
|
1854
1908
|
const [emailVal, setEmailVal] = useState7("");
|
|
1909
|
+
const intl = useIntl5();
|
|
1855
1910
|
useEffect7(() => {
|
|
1856
1911
|
if (!isOpen) {
|
|
1857
1912
|
setStep("input");
|
|
@@ -1864,7 +1919,9 @@ function EmailModal({
|
|
|
1864
1919
|
isOpen,
|
|
1865
1920
|
width,
|
|
1866
1921
|
onClose,
|
|
1867
|
-
title:
|
|
1922
|
+
title: intl.formatMessage({
|
|
1923
|
+
id: "email"
|
|
1924
|
+
}),
|
|
1868
1925
|
onBack: step == "verify" ? () => setStep("input") : onBack,
|
|
1869
1926
|
children: step === "input" ? /* @__PURE__ */ jsx44(StepEmail, { email: emailVal, onContinue: (email) => {
|
|
1870
1927
|
setEmailVal(email);
|
|
@@ -1907,6 +1964,7 @@ function Popover({
|
|
|
1907
1964
|
|
|
1908
1965
|
// src/components/LoginBox/index.tsx
|
|
1909
1966
|
import { useState as useState9 } from "react";
|
|
1967
|
+
import { FormattedMessage as FormattedMessage5, useIntl as useIntl6 } from "react-intl";
|
|
1910
1968
|
import { Fragment as Fragment2, jsx as jsx46, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
1911
1969
|
var RecommendItem = ({
|
|
1912
1970
|
icon,
|
|
@@ -1961,16 +2019,17 @@ function LoginBox({
|
|
|
1961
2019
|
const [emailOpen, setEmailOpen] = useState9(false);
|
|
1962
2020
|
const { login } = useUserInfo();
|
|
1963
2021
|
const [showWallet, setShowWallet] = useState9(false);
|
|
2022
|
+
const intl = useIntl6();
|
|
1964
2023
|
const methodMap = {
|
|
1965
2024
|
wallet: {
|
|
1966
2025
|
icon: /* @__PURE__ */ jsx46(WalletIcon, {}),
|
|
1967
|
-
name: "
|
|
2026
|
+
name: intl.formatMessage({ id: "wallet" }),
|
|
1968
2027
|
onClick: () => setShowWallet(!showWallet),
|
|
1969
2028
|
type: "wallet"
|
|
1970
2029
|
},
|
|
1971
2030
|
email: {
|
|
1972
2031
|
icon: /* @__PURE__ */ jsx46(EmailIcon, {}),
|
|
1973
|
-
name: "
|
|
2032
|
+
name: intl.formatMessage({ id: "email" }),
|
|
1974
2033
|
onClick: () => {
|
|
1975
2034
|
setEmailOpen(true);
|
|
1976
2035
|
}
|
|
@@ -2080,7 +2139,7 @@ function LoginBox({
|
|
|
2080
2139
|
);
|
|
2081
2140
|
}) }),
|
|
2082
2141
|
methods.length > 0 && /* @__PURE__ */ jsxs31("div", { className: "matchid-login-other", children: [
|
|
2083
|
-
/* @__PURE__ */ jsx46("div", { className: "matchid-login-other-text", children:
|
|
2142
|
+
/* @__PURE__ */ jsx46("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ jsx46(FormattedMessage5, { id: "otherLoginMethods" }) }),
|
|
2084
2143
|
/* @__PURE__ */ jsx46("div", { className: "matchid-login-method-box", children: methods.map((m) => {
|
|
2085
2144
|
return /* @__PURE__ */ jsx46(
|
|
2086
2145
|
"div",
|
|
@@ -2114,6 +2173,7 @@ function LoginBox({
|
|
|
2114
2173
|
import { useState as useState11 } from "react";
|
|
2115
2174
|
|
|
2116
2175
|
// src/components/LoginPanel/index.tsx
|
|
2176
|
+
import { FormattedMessage as FormattedMessage6 } from "react-intl";
|
|
2117
2177
|
import { jsx as jsx47, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
2118
2178
|
function LoginPanel({
|
|
2119
2179
|
header,
|
|
@@ -2123,8 +2183,8 @@ function LoginPanel({
|
|
|
2123
2183
|
return /* @__PURE__ */ jsxs32("div", { className: "matchid-login-panel", children: [
|
|
2124
2184
|
header ? header : /* @__PURE__ */ jsxs32("div", { className: "matchid-login-panel-header", children: [
|
|
2125
2185
|
/* @__PURE__ */ jsxs32("div", { className: "matchid-login-panel-header-content", children: [
|
|
2126
|
-
/* @__PURE__ */ jsx47("div", { className: "matchid-login-panel-header-title", children:
|
|
2127
|
-
/* @__PURE__ */ jsx47("div", { className: "matchid-login-panel-header-subtilte", children:
|
|
2186
|
+
/* @__PURE__ */ jsx47("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ jsx47(FormattedMessage6, { id: "loginTitle" }) }),
|
|
2187
|
+
/* @__PURE__ */ jsx47("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ jsx47(FormattedMessage6, { id: "loginTips" }) })
|
|
2128
2188
|
] }),
|
|
2129
2189
|
onClose && /* @__PURE__ */ jsx47("div", { className: "matchid-login-panel-header-close", onClick: onClose, children: /* @__PURE__ */ jsx47(CloseRoundIcon, {}) })
|
|
2130
2190
|
] }),
|
|
@@ -2180,6 +2240,7 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
|
|
|
2180
2240
|
}
|
|
2181
2241
|
|
|
2182
2242
|
// src/components/UserPopover/index.tsx
|
|
2243
|
+
import { FormattedMessage as FormattedMessage7, useIntl as useIntl7 } from "react-intl";
|
|
2183
2244
|
import { jsx as jsx50, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
2184
2245
|
function UserContent() {
|
|
2185
2246
|
const { logout, address, username } = useUserInfo();
|
|
@@ -2214,6 +2275,7 @@ function UserContent() {
|
|
|
2214
2275
|
};
|
|
2215
2276
|
const [usernameOpen, setUsernameOpen] = useState10(false);
|
|
2216
2277
|
const [copied, setCopied] = useCopyClipboard();
|
|
2278
|
+
const intl = useIntl7();
|
|
2217
2279
|
return /* @__PURE__ */ jsxs34("div", { className: "matchid-user-popover-content", children: [
|
|
2218
2280
|
/* @__PURE__ */ jsxs34("div", { className: "matchid-user-popover-list", children: [
|
|
2219
2281
|
/* @__PURE__ */ jsx50(UserItem, { onClick: () => {
|
|
@@ -2222,9 +2284,11 @@ function UserContent() {
|
|
|
2222
2284
|
/* @__PURE__ */ jsx50(UserDivider, {}),
|
|
2223
2285
|
/* @__PURE__ */ jsx50(UserItem, { onClick: () => {
|
|
2224
2286
|
setUsernameOpen(true);
|
|
2225
|
-
}, icon: /* @__PURE__ */ jsx50(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ jsx50(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username ||
|
|
2287
|
+
}, icon: /* @__PURE__ */ jsx50(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ jsx50(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username || intl.formatMessage({
|
|
2288
|
+
id: "setUsername"
|
|
2289
|
+
}) })
|
|
2226
2290
|
] }),
|
|
2227
|
-
/* @__PURE__ */ jsx50(Button, { onClick: onLogout, loading: logouting, children: "
|
|
2291
|
+
/* @__PURE__ */ jsx50(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ jsx50(FormattedMessage7, { id: "disconnect" }) }),
|
|
2228
2292
|
/* @__PURE__ */ jsx50(UsernameModal, { isOpen: usernameOpen, onClose: () => {
|
|
2229
2293
|
setUsernameOpen(false);
|
|
2230
2294
|
}, onSuccess: () => {
|
|
@@ -2240,6 +2304,7 @@ function UserPopover({
|
|
|
2240
2304
|
}
|
|
2241
2305
|
|
|
2242
2306
|
// src/components/LoginButton/index.tsx
|
|
2307
|
+
import { FormattedMessage as FormattedMessage8, useIntl as useIntl8 } from "react-intl";
|
|
2243
2308
|
import { Fragment as Fragment3, jsx as jsx51, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
2244
2309
|
function LoginButton({
|
|
2245
2310
|
loginRender,
|
|
@@ -2251,6 +2316,7 @@ function LoginButton({
|
|
|
2251
2316
|
popoverGap = 20,
|
|
2252
2317
|
...props
|
|
2253
2318
|
}) {
|
|
2319
|
+
const intl = useIntl8();
|
|
2254
2320
|
const { isLogin, username } = useUserInfo();
|
|
2255
2321
|
const [loginOpen, setLoginOpen] = useState11(false);
|
|
2256
2322
|
if (!isLogin) {
|
|
@@ -2258,13 +2324,15 @@ function LoginButton({
|
|
|
2258
2324
|
/* @__PURE__ */ jsx51(LoginModal, { methods, recommendMethods, isOpen: loginOpen, onClose: () => setLoginOpen(false) }),
|
|
2259
2325
|
/* @__PURE__ */ jsxs35(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
|
|
2260
2326
|
/* @__PURE__ */ jsx51(UnLoginIcon_default, {}),
|
|
2261
|
-
/* @__PURE__ */ jsx51("span", { children: "
|
|
2327
|
+
/* @__PURE__ */ jsx51("span", { children: /* @__PURE__ */ jsx51(FormattedMessage8, { id: "login" }) })
|
|
2262
2328
|
] })
|
|
2263
2329
|
] });
|
|
2264
2330
|
}
|
|
2265
2331
|
return loginRender ? /* @__PURE__ */ jsx51(Fragment3, { children: loginRender }) : /* @__PURE__ */ jsx51(UserPopover, { position: popoverPosition, type: popoverType, gap: popoverGap, children: /* @__PURE__ */ jsxs35(Button, { onClick: onLoginClick, className: "matchid-login-btn", ...props, children: [
|
|
2266
2332
|
/* @__PURE__ */ jsx51(LoginIcon_default, {}),
|
|
2267
|
-
/* @__PURE__ */ jsx51("span", { children: username ? truncateAddress(username) : "MatchID
|
|
2333
|
+
/* @__PURE__ */ jsx51("span", { children: username ? truncateAddress(username) : "MatchID " + intl.formatMessage({
|
|
2334
|
+
id: "user"
|
|
2335
|
+
}) })
|
|
2268
2336
|
] }) });
|
|
2269
2337
|
}
|
|
2270
2338
|
|
|
@@ -2293,6 +2361,7 @@ function InfoRoundIcon({
|
|
|
2293
2361
|
}
|
|
2294
2362
|
|
|
2295
2363
|
// src/components/UsernameModal/index.tsx
|
|
2364
|
+
import { FormattedMessage as FormattedMessage9, useIntl as useIntl9 } from "react-intl";
|
|
2296
2365
|
import { jsx as jsx53, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
2297
2366
|
var ValidItem = ({
|
|
2298
2367
|
success = false,
|
|
@@ -2346,11 +2415,18 @@ function UsernameModal({
|
|
|
2346
2415
|
setIsSubmitting(false);
|
|
2347
2416
|
}
|
|
2348
2417
|
};
|
|
2349
|
-
|
|
2350
|
-
|
|
2418
|
+
const intl = useIntl9();
|
|
2419
|
+
return /* @__PURE__ */ jsx53(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
2420
|
+
id: username ? "editUsernameTitle" : "setUsernameTitle"
|
|
2421
|
+
}), children: /* @__PURE__ */ jsxs37("div", { className: "matchid-username-box", children: [
|
|
2422
|
+
/* @__PURE__ */ jsx53(Field, { label: intl.formatMessage({
|
|
2423
|
+
id: "username"
|
|
2424
|
+
}), error, children: /* @__PURE__ */ jsx53(
|
|
2351
2425
|
Input,
|
|
2352
2426
|
{
|
|
2353
|
-
placeholder:
|
|
2427
|
+
placeholder: intl.formatMessage({
|
|
2428
|
+
id: "usernamePlaceholder"
|
|
2429
|
+
}),
|
|
2354
2430
|
onChange: (e) => {
|
|
2355
2431
|
setVal(e.target.value);
|
|
2356
2432
|
setError("");
|
|
@@ -2363,17 +2439,21 @@ function UsernameModal({
|
|
|
2363
2439
|
ValidItem,
|
|
2364
2440
|
{
|
|
2365
2441
|
success: isValid,
|
|
2366
|
-
text:
|
|
2442
|
+
text: intl.formatMessage({
|
|
2443
|
+
id: "usernameValidError"
|
|
2444
|
+
})
|
|
2367
2445
|
}
|
|
2368
2446
|
),
|
|
2369
|
-
/* @__PURE__ */ jsx53(ValidItem, { success: isLength, text:
|
|
2447
|
+
/* @__PURE__ */ jsx53(ValidItem, { success: isLength, text: intl.formatMessage({
|
|
2448
|
+
id: "usernameLengthError"
|
|
2449
|
+
}) })
|
|
2370
2450
|
] }),
|
|
2371
2451
|
/* @__PURE__ */ jsx53(Button, { disabled: !isSafe, loading: isSubmitting, style: {
|
|
2372
2452
|
marginTop: "64px"
|
|
2373
|
-
}, onClick: onSubmit, size: "lg", block: true, highlight: true, children: "
|
|
2453
|
+
}, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ jsx53(FormattedMessage9, { id: "confirm" }) }),
|
|
2374
2454
|
/* @__PURE__ */ jsx53(Button, { style: {
|
|
2375
2455
|
marginTop: "24px"
|
|
2376
|
-
}, onClick: props.onClose, size: "lg", block: true, children:
|
|
2456
|
+
}, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ jsx53(FormattedMessage9, { id: "nextTime" }) })
|
|
2377
2457
|
] }) });
|
|
2378
2458
|
}
|
|
2379
2459
|
|
|
@@ -2437,6 +2517,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
|
|
|
2437
2517
|
var walletSigningImage = "data:image/png;base64,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";
|
|
2438
2518
|
|
|
2439
2519
|
// src/components/SOLModal/index.tsx
|
|
2520
|
+
import { useIntl as useIntl10 } from "react-intl";
|
|
2440
2521
|
import { jsx as jsx54, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
2441
2522
|
function WalletContent({
|
|
2442
2523
|
onSuccess,
|
|
@@ -2634,7 +2715,12 @@ function SOLModal({
|
|
|
2634
2715
|
onSuccess,
|
|
2635
2716
|
...props
|
|
2636
2717
|
}) {
|
|
2637
|
-
|
|
2718
|
+
const intl = useIntl10();
|
|
2719
|
+
return /* @__PURE__ */ jsx54(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
2720
|
+
id: type == "bind" ? "bindWith" : "loginWith"
|
|
2721
|
+
}, {
|
|
2722
|
+
name: "SOL"
|
|
2723
|
+
}), children: /* @__PURE__ */ jsx54(ConnectionProvider, { endpoint: clusterApiUrl("devnet"), children: /* @__PURE__ */ jsx54(WalletProvider, { wallets, autoConnect: true, children: /* @__PURE__ */ jsx54(WalletModalProvider, { children: /* @__PURE__ */ jsx54(WalletContent, { onSuccess, type }) }) }) }) });
|
|
2638
2724
|
}
|
|
2639
2725
|
|
|
2640
2726
|
// src/context/BusinessProvider.tsx
|
|
@@ -2817,7 +2903,8 @@ function useInit({
|
|
|
2817
2903
|
theme,
|
|
2818
2904
|
appid,
|
|
2819
2905
|
events,
|
|
2820
|
-
endpoints
|
|
2906
|
+
endpoints,
|
|
2907
|
+
locale
|
|
2821
2908
|
}) {
|
|
2822
2909
|
const {
|
|
2823
2910
|
setAppid,
|
|
@@ -2826,7 +2913,9 @@ function useInit({
|
|
|
2826
2913
|
setMid,
|
|
2827
2914
|
token,
|
|
2828
2915
|
setOverview,
|
|
2829
|
-
setTheme
|
|
2916
|
+
setTheme,
|
|
2917
|
+
setLocale,
|
|
2918
|
+
locale: realLocale
|
|
2830
2919
|
} = useLocalStore_default();
|
|
2831
2920
|
const overviewLoadingRef = useRef2(false);
|
|
2832
2921
|
const searchParams = new URLSearchParams(window.location.search);
|
|
@@ -2841,6 +2930,9 @@ function useInit({
|
|
|
2841
2930
|
useEffect11(() => {
|
|
2842
2931
|
setEndpoints(realEndpoints);
|
|
2843
2932
|
}, [realEndpoints]);
|
|
2933
|
+
useEffect11(() => {
|
|
2934
|
+
setLocale(locale || "en");
|
|
2935
|
+
}, [locale]);
|
|
2844
2936
|
useEffect11(() => {
|
|
2845
2937
|
if (matchToken) {
|
|
2846
2938
|
const tokenData = JSON.parse(atob(matchToken));
|
|
@@ -2913,26 +3005,429 @@ function useInit({
|
|
|
2913
3005
|
return {
|
|
2914
3006
|
loadOverview,
|
|
2915
3007
|
login,
|
|
2916
|
-
endpoints: realEndpoints
|
|
3008
|
+
endpoints: realEndpoints,
|
|
3009
|
+
locale: realLocale
|
|
2917
3010
|
};
|
|
2918
3011
|
}
|
|
2919
3012
|
|
|
2920
3013
|
// src/MatchContext.tsx
|
|
2921
3014
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
3015
|
+
import { IntlProvider } from "react-intl";
|
|
3016
|
+
|
|
3017
|
+
// src/i18n/en.json
|
|
3018
|
+
var en_default = {
|
|
3019
|
+
email: "Email",
|
|
3020
|
+
emailAddress: "Email Address",
|
|
3021
|
+
emailAddressPlaceholder: "Enter Your Email Address",
|
|
3022
|
+
continue: "Continue",
|
|
3023
|
+
send: "Send",
|
|
3024
|
+
resend: "Resend",
|
|
3025
|
+
sendCodeErrorTip: "Failed to send code: {error}",
|
|
3026
|
+
sendEmailTips: "We have sent a verification code to your email",
|
|
3027
|
+
verificationCode: "Verification Code",
|
|
3028
|
+
codePlaceholder: "Enter the code",
|
|
3029
|
+
wallet: "Wallet",
|
|
3030
|
+
otherLoginMethods: "Other login methods",
|
|
3031
|
+
login: "Login",
|
|
3032
|
+
user: "User",
|
|
3033
|
+
loginTitle: "Log in / Sign up",
|
|
3034
|
+
loginTips: "You can use the following methods",
|
|
3035
|
+
passwordMinError: "Password must be at least {length} characters",
|
|
3036
|
+
passwordMatchError: "The password you entered twice do not match",
|
|
3037
|
+
passwordTitle: "Set Password",
|
|
3038
|
+
passwordTips: "Please set the wallet password that will be used to recover the wallet",
|
|
3039
|
+
password: "Password",
|
|
3040
|
+
passwordPlaceholder: "Enter Your Password",
|
|
3041
|
+
rePassword: "Re Password",
|
|
3042
|
+
rePasswordPlaceholder: "Re Enter the Password",
|
|
3043
|
+
recoverTitle: "Recover Wallet",
|
|
3044
|
+
recoverTips: "Please enter your password to recover your wallet",
|
|
3045
|
+
bindWith: "Bind with {name} Wallet",
|
|
3046
|
+
loginWith: "Login with {name} Wallet",
|
|
3047
|
+
editUsernameTitle: "Edit User Name",
|
|
3048
|
+
setUsernameTitle: "Set User Name",
|
|
3049
|
+
username: "User Name",
|
|
3050
|
+
usernamePlaceholder: "Enter Your User Name",
|
|
3051
|
+
usernameValidError: "Name can be composed of numbers and letters as well as characters",
|
|
3052
|
+
usernameLengthError: "No less than 2 characters",
|
|
3053
|
+
confirm: "Confirm",
|
|
3054
|
+
nextTime: "Next time",
|
|
3055
|
+
setUsername: "Set a User Name",
|
|
3056
|
+
disconnect: "Disconnect"
|
|
3057
|
+
};
|
|
3058
|
+
|
|
3059
|
+
// src/i18n/zh.json
|
|
3060
|
+
var zh_default = {
|
|
3061
|
+
email: "\u90AE\u7BB1",
|
|
3062
|
+
emailAddress: "\u90AE\u7BB1\u5730\u5740",
|
|
3063
|
+
emailAddressPlaceholder: "\u8BF7\u8F93\u5165\u60A8\u7684\u90AE\u7BB1\u5730\u5740",
|
|
3064
|
+
continue: "\u7EE7\u7EED",
|
|
3065
|
+
send: "\u53D1\u9001",
|
|
3066
|
+
resend: "\u91CD\u65B0\u53D1\u9001",
|
|
3067
|
+
sendCodeErrorTip: "\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25\uFF1A{error}",
|
|
3068
|
+
sendEmailTips: "\u6211\u4EEC\u5DF2\u5411\u60A8\u7684\u90AE\u7BB1\u53D1\u9001\u9A8C\u8BC1\u7801",
|
|
3069
|
+
verificationCode: "\u9A8C\u8BC1\u7801",
|
|
3070
|
+
codePlaceholder: "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801",
|
|
3071
|
+
wallet: "\u94B1\u5305",
|
|
3072
|
+
otherLoginMethods: "\u5176\u4ED6\u767B\u5F55\u65B9\u5F0F",
|
|
3073
|
+
login: "\u767B\u5F55",
|
|
3074
|
+
user: "\u7528\u6237",
|
|
3075
|
+
loginTitle: "\u767B\u5F55 / \u6CE8\u518C",
|
|
3076
|
+
loginTips: "\u60A8\u53EF\u4EE5\u4F7F\u7528\u4EE5\u4E0B\u65B9\u5F0F\u767B\u5F55",
|
|
3077
|
+
passwordMinError: "\u5BC6\u7801\u5FC5\u987B\u81F3\u5C11\u5305\u542B {length} \u4E2A\u5B57\u7B26",
|
|
3078
|
+
passwordMatchError: "\u4E24\u6B21\u8F93\u5165\u7684\u5BC6\u7801\u4E0D\u4E00\u81F4",
|
|
3079
|
+
passwordTitle: "\u8BBE\u7F6E\u5BC6\u7801",
|
|
3080
|
+
passwordTips: "\u8BF7\u8BBE\u7F6E\u7528\u4E8E\u6062\u590D\u94B1\u5305\u7684\u94B1\u5305\u5BC6\u7801",
|
|
3081
|
+
password: "\u5BC6\u7801",
|
|
3082
|
+
passwordPlaceholder: "\u8BF7\u8F93\u5165\u60A8\u7684\u5BC6\u7801",
|
|
3083
|
+
rePassword: "\u786E\u8BA4\u5BC6\u7801",
|
|
3084
|
+
rePasswordPlaceholder: "\u8BF7\u518D\u6B21\u8F93\u5165\u5BC6\u7801",
|
|
3085
|
+
recoverTitle: "\u6062\u590D\u94B1\u5305",
|
|
3086
|
+
recoverTips: "\u8BF7\u8F93\u5165\u60A8\u7684\u5BC6\u7801\u4EE5\u6062\u590D\u94B1\u5305",
|
|
3087
|
+
bindWith: "\u7ED1\u5B9A {name} \u94B1\u5305",
|
|
3088
|
+
loginWith: "\u4F7F\u7528 {name} \u94B1\u5305\u767B\u5F55",
|
|
3089
|
+
editUsernameTitle: "\u4FEE\u6539\u7528\u6237\u540D",
|
|
3090
|
+
setUsernameTitle: "\u8BBE\u7F6E\u7528\u6237\u540D",
|
|
3091
|
+
username: "\u7528\u6237\u540D",
|
|
3092
|
+
usernamePlaceholder: "\u8BF7\u8F93\u5165\u60A8\u7684\u7528\u6237\u540D",
|
|
3093
|
+
usernameValidError: "\u7528\u6237\u540D\u53EF\u4EE5\u7531\u6570\u5B57\u3001\u5B57\u6BCD\u548C\u5B57\u7B26\u7EC4\u6210",
|
|
3094
|
+
usernameLengthError: "\u7528\u6237\u540D\u4E0D\u5F97\u5C11\u4E8E 2 \u4E2A\u5B57\u7B26",
|
|
3095
|
+
confirm: "\u786E\u8BA4",
|
|
3096
|
+
nextTime: "\u4E0B\u6B21\u518D\u8BF4",
|
|
3097
|
+
setUsername: "\u8BBE\u7F6E\u7528\u6237\u540D",
|
|
3098
|
+
disconnect: "\u65AD\u5F00\u8FDE\u63A5"
|
|
3099
|
+
};
|
|
3100
|
+
|
|
3101
|
+
// src/i18n/tw.json
|
|
3102
|
+
var tw_default = {
|
|
3103
|
+
email: "\u90F5\u7BB1",
|
|
3104
|
+
emailAddress: "\u90F5\u7BB1\u5730\u5740",
|
|
3105
|
+
emailAddressPlaceholder: "\u8ACB\u8F38\u5165\u60A8\u7684\u90F5\u7BB1\u5730\u5740",
|
|
3106
|
+
continue: "\u7E7C\u7E8C",
|
|
3107
|
+
send: "\u767C\u9001",
|
|
3108
|
+
resend: "\u91CD\u65B0\u767C\u9001",
|
|
3109
|
+
sendCodeErrorTip: "\u767C\u9001\u9A57\u8B49\u78BC\u5931\u6557\uFF1A{error}",
|
|
3110
|
+
sendEmailTips: "\u6211\u5011\u5DF2\u5411\u60A8\u7684\u90F5\u7BB1\u767C\u9001\u9A57\u8B49\u78BC",
|
|
3111
|
+
verificationCode: "\u9A57\u8B49\u78BC",
|
|
3112
|
+
codePlaceholder: "\u8ACB\u8F38\u5165\u9A57\u8B49\u78BC",
|
|
3113
|
+
wallet: "\u9322\u5305",
|
|
3114
|
+
otherLoginMethods: "\u5176\u4ED6\u767B\u5165\u65B9\u5F0F",
|
|
3115
|
+
login: "\u767B\u5165",
|
|
3116
|
+
user: "\u7528\u6236",
|
|
3117
|
+
loginTitle: "\u767B\u5165 / \u8A3B\u518A",
|
|
3118
|
+
loginTips: "\u60A8\u53EF\u4EE5\u4F7F\u7528\u4EE5\u4E0B\u65B9\u5F0F\u767B\u5165",
|
|
3119
|
+
passwordMinError: "\u5BC6\u78BC\u5FC5\u9808\u81F3\u5C11\u5305\u542B {length} \u500B\u5B57\u7B26",
|
|
3120
|
+
passwordMatchError: "\u5169\u6B21\u8F38\u5165\u7684\u5BC6\u78BC\u4E0D\u4E00\u81F4",
|
|
3121
|
+
passwordTitle: "\u8A2D\u7F6E\u5BC6\u78BC",
|
|
3122
|
+
passwordTips: "\u8ACB\u8A2D\u7F6E\u7528\u65BC\u6062\u5FA9\u9322\u5305\u7684\u5BC6\u78BC",
|
|
3123
|
+
password: "\u5BC6\u78BC",
|
|
3124
|
+
passwordPlaceholder: "\u8ACB\u8F38\u5165\u60A8\u7684\u5BC6\u78BC",
|
|
3125
|
+
rePassword: "\u78BA\u8A8D\u5BC6\u78BC",
|
|
3126
|
+
rePasswordPlaceholder: "\u8ACB\u518D\u6B21\u8F38\u5165\u5BC6\u78BC",
|
|
3127
|
+
recoverTitle: "\u6062\u5FA9\u9322\u5305",
|
|
3128
|
+
recoverTips: "\u8ACB\u8F38\u5165\u60A8\u7684\u5BC6\u78BC\u4EE5\u6062\u5FA9\u9322\u5305",
|
|
3129
|
+
bindWith: "\u7D81\u5B9A {name} \u9322\u5305",
|
|
3130
|
+
loginWith: "\u4F7F\u7528 {name} \u9322\u5305\u767B\u5165",
|
|
3131
|
+
editUsernameTitle: "\u4FEE\u6539\u7528\u6236\u540D",
|
|
3132
|
+
setUsernameTitle: "\u8A2D\u7F6E\u7528\u6236\u540D",
|
|
3133
|
+
username: "\u7528\u6236\u540D",
|
|
3134
|
+
usernamePlaceholder: "\u8ACB\u8F38\u5165\u60A8\u7684\u7528\u6236\u540D",
|
|
3135
|
+
usernameValidError: "\u7528\u6236\u540D\u53EF\u4EE5\u7531\u6578\u5B57\u3001\u5B57\u6BCD\u548C\u5B57\u7B26\u7D44\u6210",
|
|
3136
|
+
usernameLengthError: "\u7528\u6236\u540D\u4E0D\u5F97\u5C11\u65BC 2 \u500B\u5B57\u7B26",
|
|
3137
|
+
confirm: "\u78BA\u8A8D",
|
|
3138
|
+
nextTime: "\u4E0B\u6B21\u518D\u8AAA",
|
|
3139
|
+
setUsername: "\u8A2D\u7F6E\u7528\u6236\u540D",
|
|
3140
|
+
disconnect: "\u65B7\u958B\u9023\u63A5"
|
|
3141
|
+
};
|
|
3142
|
+
|
|
3143
|
+
// src/i18n/fr.json
|
|
3144
|
+
var fr_default = {
|
|
3145
|
+
email: "Email",
|
|
3146
|
+
emailAddress: "Adresse Email",
|
|
3147
|
+
emailAddressPlaceholder: "Entrez votre adresse email",
|
|
3148
|
+
continue: "Continuer",
|
|
3149
|
+
send: "Envoyer",
|
|
3150
|
+
resend: "Renvoyer",
|
|
3151
|
+
sendCodeErrorTip: "\xC9chec de l'envoi du code : {error}",
|
|
3152
|
+
sendEmailTips: "Un code de v\xE9rification a \xE9t\xE9 envoy\xE9 \xE0 votre email",
|
|
3153
|
+
verificationCode: "Code de v\xE9rification",
|
|
3154
|
+
codePlaceholder: "Entrez le code",
|
|
3155
|
+
wallet: "Portefeuille",
|
|
3156
|
+
otherLoginMethods: "Autres m\xE9thodes de connexion",
|
|
3157
|
+
login: "Connexion",
|
|
3158
|
+
user: "Utilisateur",
|
|
3159
|
+
loginTitle: "Connexion / Inscription",
|
|
3160
|
+
loginTips: "Vous pouvez utiliser les m\xE9thodes suivantes",
|
|
3161
|
+
passwordMinError: "Le mot de passe doit contenir au moins {length} caract\xE8res",
|
|
3162
|
+
passwordMatchError: "Les mots de passe ne correspondent pas",
|
|
3163
|
+
passwordTitle: "D\xE9finir un mot de passe",
|
|
3164
|
+
passwordTips: "Veuillez d\xE9finir le mot de passe pour restaurer le portefeuille",
|
|
3165
|
+
password: "Mot de passe",
|
|
3166
|
+
passwordPlaceholder: "Entrez votre mot de passe",
|
|
3167
|
+
rePassword: "Confirmer le mot de passe",
|
|
3168
|
+
rePasswordPlaceholder: "Ressaisissez le mot de passe",
|
|
3169
|
+
recoverTitle: "Restaurer le portefeuille",
|
|
3170
|
+
recoverTips: "Entrez votre mot de passe pour restaurer le portefeuille",
|
|
3171
|
+
bindWith: "Lier avec le portefeuille {name}",
|
|
3172
|
+
loginWith: "Connexion avec le portefeuille {name}",
|
|
3173
|
+
editUsernameTitle: "Modifier le nom d'utilisateur",
|
|
3174
|
+
setUsernameTitle: "D\xE9finir un nom d'utilisateur",
|
|
3175
|
+
username: "Nom d'utilisateur",
|
|
3176
|
+
usernamePlaceholder: "Entrez votre nom d'utilisateur",
|
|
3177
|
+
usernameValidError: "Le nom peut contenir des lettres, chiffres et caract\xE8res",
|
|
3178
|
+
usernameLengthError: "Le nom doit comporter au moins 2 caract\xE8res",
|
|
3179
|
+
confirm: "Confirmer",
|
|
3180
|
+
nextTime: "La prochaine fois",
|
|
3181
|
+
setUsername: "D\xE9finir un nom d'utilisateur",
|
|
3182
|
+
disconnect: "D\xE9connecter"
|
|
3183
|
+
};
|
|
3184
|
+
|
|
3185
|
+
// src/i18n/ja.json
|
|
3186
|
+
var ja_default = {
|
|
3187
|
+
email: "\u30E1\u30FC\u30EB",
|
|
3188
|
+
emailAddress: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",
|
|
3189
|
+
emailAddressPlaceholder: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3190
|
+
continue: "\u7D9A\u3051\u308B",
|
|
3191
|
+
send: "\u9001\u4FE1",
|
|
3192
|
+
resend: "\u518D\u9001\u4FE1",
|
|
3193
|
+
sendCodeErrorTip: "\u30B3\u30FC\u30C9\u9001\u4FE1\u306B\u5931\u6557\u3057\u307E\u3057\u305F: {error}",
|
|
3194
|
+
sendEmailTips: "\u78BA\u8A8D\u30B3\u30FC\u30C9\u3092\u30E1\u30FC\u30EB\u306B\u9001\u4FE1\u3057\u307E\u3057\u305F",
|
|
3195
|
+
verificationCode: "\u78BA\u8A8D\u30B3\u30FC\u30C9",
|
|
3196
|
+
codePlaceholder: "\u30B3\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3197
|
+
wallet: "\u30A6\u30A9\u30EC\u30C3\u30C8",
|
|
3198
|
+
otherLoginMethods: "\u305D\u306E\u4ED6\u306E\u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5",
|
|
3199
|
+
login: "\u30ED\u30B0\u30A4\u30F3",
|
|
3200
|
+
user: "\u30E6\u30FC\u30B6\u30FC",
|
|
3201
|
+
loginTitle: "\u30ED\u30B0\u30A4\u30F3 / \u767B\u9332",
|
|
3202
|
+
loginTips: "\u4EE5\u4E0B\u306E\u65B9\u6CD5\u3067\u30ED\u30B0\u30A4\u30F3\u3067\u304D\u307E\u3059",
|
|
3203
|
+
passwordMinError: "\u30D1\u30B9\u30EF\u30FC\u30C9\u306F\u6700\u4F4E {length} \u6587\u5B57\u5FC5\u8981\u3067\u3059",
|
|
3204
|
+
passwordMatchError: "\u5165\u529B\u3055\u308C\u305F\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u4E00\u81F4\u3057\u307E\u305B\u3093",
|
|
3205
|
+
passwordTitle: "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8A2D\u5B9A",
|
|
3206
|
+
passwordTips: "\u30A6\u30A9\u30EC\u30C3\u30C8\u5FA9\u5143\u7528\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3207
|
+
password: "\u30D1\u30B9\u30EF\u30FC\u30C9",
|
|
3208
|
+
passwordPlaceholder: "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3209
|
+
rePassword: "\u30D1\u30B9\u30EF\u30FC\u30C9\u78BA\u8A8D",
|
|
3210
|
+
rePasswordPlaceholder: "\u518D\u5EA6\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3211
|
+
recoverTitle: "\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u5FA9\u5143",
|
|
3212
|
+
recoverTips: "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u5FA9\u5143\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3213
|
+
bindWith: "{name}\u30A6\u30A9\u30EC\u30C3\u30C8\u3068\u9023\u643A",
|
|
3214
|
+
loginWith: "{name}\u30A6\u30A9\u30EC\u30C3\u30C8\u3067\u30ED\u30B0\u30A4\u30F3",
|
|
3215
|
+
editUsernameTitle: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u7DE8\u96C6",
|
|
3216
|
+
setUsernameTitle: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u8A2D\u5B9A",
|
|
3217
|
+
username: "\u30E6\u30FC\u30B6\u30FC\u540D",
|
|
3218
|
+
usernamePlaceholder: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3219
|
+
usernameValidError: "\u540D\u524D\u306F\u6587\u5B57\u3001\u6570\u5B57\u3001\u8A18\u53F7\u3067\u69CB\u6210\u3067\u304D\u307E\u3059",
|
|
3220
|
+
usernameLengthError: "2\u6587\u5B57\u4EE5\u4E0A\u3067\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
3221
|
+
confirm: "\u78BA\u8A8D",
|
|
3222
|
+
nextTime: "\u6B21\u56DE",
|
|
3223
|
+
setUsername: "\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u8A2D\u5B9A",
|
|
3224
|
+
disconnect: "\u5207\u65AD"
|
|
3225
|
+
};
|
|
3226
|
+
|
|
3227
|
+
// src/i18n/ko.json
|
|
3228
|
+
var ko_default = {
|
|
3229
|
+
email: "\uC774\uBA54\uC77C",
|
|
3230
|
+
emailAddress: "\uC774\uBA54\uC77C \uC8FC\uC18C",
|
|
3231
|
+
emailAddressPlaceholder: "\uC774\uBA54\uC77C \uC8FC\uC18C\uB97C \uC785\uB825\uD558\uC138\uC694",
|
|
3232
|
+
continue: "\uACC4\uC18D\uD558\uAE30",
|
|
3233
|
+
send: "\uBCF4\uB0B4\uAE30",
|
|
3234
|
+
resend: "\uC7AC\uC804\uC1A1",
|
|
3235
|
+
sendCodeErrorTip: "\uCF54\uB4DC \uC804\uC1A1 \uC2E4\uD328: {error}",
|
|
3236
|
+
sendEmailTips: "\uC778\uC99D \uCF54\uB4DC\uB97C \uC774\uBA54\uC77C\uB85C \uBCF4\uB0C8\uC2B5\uB2C8\uB2E4",
|
|
3237
|
+
verificationCode: "\uC778\uC99D \uCF54\uB4DC",
|
|
3238
|
+
codePlaceholder: "\uCF54\uB4DC\uB97C \uC785\uB825\uD558\uC138\uC694",
|
|
3239
|
+
wallet: "\uC9C0\uAC11",
|
|
3240
|
+
otherLoginMethods: "\uB2E4\uB978 \uB85C\uADF8\uC778 \uBC29\uBC95",
|
|
3241
|
+
login: "\uB85C\uADF8\uC778",
|
|
3242
|
+
user: "\uC0AC\uC6A9\uC790",
|
|
3243
|
+
loginTitle: "\uB85C\uADF8\uC778 / \uD68C\uC6D0\uAC00\uC785",
|
|
3244
|
+
loginTips: "\uB2E4\uC74C \uBC29\uBC95\uC73C\uB85C \uB85C\uADF8\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4",
|
|
3245
|
+
passwordMinError: "\uBE44\uBC00\uBC88\uD638\uB294 \uCD5C\uC18C {length}\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4",
|
|
3246
|
+
passwordMatchError: "\uB450 \uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",
|
|
3247
|
+
passwordTitle: "\uBE44\uBC00\uBC88\uD638 \uC124\uC815",
|
|
3248
|
+
passwordTips: "\uC9C0\uAC11 \uBCF5\uAD6C\uC5D0 \uC0AC\uC6A9\uD560 \uBE44\uBC00\uBC88\uD638\uB97C \uC124\uC815\uD558\uC138\uC694",
|
|
3249
|
+
password: "\uBE44\uBC00\uBC88\uD638",
|
|
3250
|
+
passwordPlaceholder: "\uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694",
|
|
3251
|
+
rePassword: "\uBE44\uBC00\uBC88\uD638 \uD655\uC778",
|
|
3252
|
+
rePasswordPlaceholder: "\uBE44\uBC00\uBC88\uD638\uB97C \uB2E4\uC2DC \uC785\uB825\uD558\uC138\uC694",
|
|
3253
|
+
recoverTitle: "\uC9C0\uAC11 \uBCF5\uAD6C",
|
|
3254
|
+
recoverTips: "\uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD574 \uC9C0\uAC11\uC744 \uBCF5\uAD6C\uD558\uC138\uC694",
|
|
3255
|
+
bindWith: "{name} \uC9C0\uAC11\uACFC \uC5F0\uACB0",
|
|
3256
|
+
loginWith: "{name} \uC9C0\uAC11\uC73C\uB85C \uB85C\uADF8\uC778",
|
|
3257
|
+
editUsernameTitle: "\uC0AC\uC6A9\uC790 \uC774\uB984 \uC218\uC815",
|
|
3258
|
+
setUsernameTitle: "\uC0AC\uC6A9\uC790 \uC774\uB984 \uC124\uC815",
|
|
3259
|
+
username: "\uC0AC\uC6A9\uC790 \uC774\uB984",
|
|
3260
|
+
usernamePlaceholder: "\uC0AC\uC6A9\uC790 \uC774\uB984\uC744 \uC785\uB825\uD558\uC138\uC694",
|
|
3261
|
+
usernameValidError: "\uC774\uB984\uC740 \uBB38\uC790, \uC22B\uC790 \uBC0F \uD2B9\uC218\uBB38\uC790\uB85C \uAD6C\uC131\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4",
|
|
3262
|
+
usernameLengthError: "\uC774\uB984\uC740 \uCD5C\uC18C 2\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4",
|
|
3263
|
+
confirm: "\uD655\uC778",
|
|
3264
|
+
nextTime: "\uB2E4\uC74C\uC5D0",
|
|
3265
|
+
setUsername: "\uC0AC\uC6A9\uC790 \uC774\uB984 \uC124\uC815",
|
|
3266
|
+
disconnect: "\uC5F0\uACB0 \uB04A\uAE30"
|
|
3267
|
+
};
|
|
3268
|
+
|
|
3269
|
+
// src/i18n/vi.json
|
|
3270
|
+
var vi_default = {
|
|
3271
|
+
email: "Email",
|
|
3272
|
+
emailAddress: "\u0110\u1ECBa ch\u1EC9 Email",
|
|
3273
|
+
emailAddressPlaceholder: "Nh\u1EADp \u0111\u1ECBa ch\u1EC9 Email c\u1EE7a b\u1EA1n",
|
|
3274
|
+
continue: "Ti\u1EBFp t\u1EE5c",
|
|
3275
|
+
send: "G\u1EEDi",
|
|
3276
|
+
resend: "G\u1EEDi l\u1EA1i",
|
|
3277
|
+
sendCodeErrorTip: "G\u1EEDi m\xE3 th\u1EA5t b\u1EA1i: {error}",
|
|
3278
|
+
sendEmailTips: "Ch\xFAng t\xF4i \u0111\xE3 g\u1EEDi m\xE3 x\xE1c minh \u0111\u1EBFn email c\u1EE7a b\u1EA1n",
|
|
3279
|
+
verificationCode: "M\xE3 x\xE1c minh",
|
|
3280
|
+
codePlaceholder: "Nh\u1EADp m\xE3",
|
|
3281
|
+
wallet: "V\xED",
|
|
3282
|
+
otherLoginMethods: "Ph\u01B0\u01A1ng th\u1EE9c \u0111\u0103ng nh\u1EADp kh\xE1c",
|
|
3283
|
+
login: "\u0110\u0103ng nh\u1EADp",
|
|
3284
|
+
user: "Ng\u01B0\u1EDDi d\xF9ng",
|
|
3285
|
+
loginTitle: "\u0110\u0103ng nh\u1EADp / \u0110\u0103ng k\xFD",
|
|
3286
|
+
loginTips: "B\u1EA1n c\xF3 th\u1EC3 s\u1EED d\u1EE5ng c\xE1c ph\u01B0\u01A1ng th\u1EE9c sau",
|
|
3287
|
+
passwordMinError: "M\u1EADt kh\u1EA9u ph\u1EA3i c\xF3 \xEDt nh\u1EA5t {length} k\xFD t\u1EF1",
|
|
3288
|
+
passwordMatchError: "Hai m\u1EADt kh\u1EA9u kh\xF4ng kh\u1EDBp",
|
|
3289
|
+
passwordTitle: "T\u1EA1o m\u1EADt kh\u1EA9u",
|
|
3290
|
+
passwordTips: "Vui l\xF2ng \u0111\u1EB7t m\u1EADt kh\u1EA9u \u0111\u1EC3 kh\xF4i ph\u1EE5c v\xED",
|
|
3291
|
+
password: "M\u1EADt kh\u1EA9u",
|
|
3292
|
+
passwordPlaceholder: "Nh\u1EADp m\u1EADt kh\u1EA9u c\u1EE7a b\u1EA1n",
|
|
3293
|
+
rePassword: "X\xE1c nh\u1EADn m\u1EADt kh\u1EA9u",
|
|
3294
|
+
rePasswordPlaceholder: "Nh\u1EADp l\u1EA1i m\u1EADt kh\u1EA9u",
|
|
3295
|
+
recoverTitle: "Kh\xF4i ph\u1EE5c v\xED",
|
|
3296
|
+
recoverTips: "Nh\u1EADp m\u1EADt kh\u1EA9u \u0111\u1EC3 kh\xF4i ph\u1EE5c v\xED",
|
|
3297
|
+
bindWith: "Li\xEAn k\u1EBFt v\u1EDBi v\xED {name}",
|
|
3298
|
+
loginWith: "\u0110\u0103ng nh\u1EADp b\u1EB1ng v\xED {name}",
|
|
3299
|
+
editUsernameTitle: "Ch\u1EC9nh s\u1EEDa t\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3300
|
+
setUsernameTitle: "\u0110\u1EB7t t\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3301
|
+
username: "T\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3302
|
+
usernamePlaceholder: "Nh\u1EADp t\xEAn ng\u01B0\u1EDDi d\xF9ng c\u1EE7a b\u1EA1n",
|
|
3303
|
+
usernameValidError: "T\xEAn ch\u1EC9 \u0111\u01B0\u1EE3c ch\u1EE9a ch\u1EEF, s\u1ED1 v\xE0 k\xFD t\u1EF1",
|
|
3304
|
+
usernameLengthError: "T\xEAn ph\u1EA3i d\xE0i \xEDt nh\u1EA5t 2 k\xFD t\u1EF1",
|
|
3305
|
+
confirm: "X\xE1c nh\u1EADn",
|
|
3306
|
+
nextTime: "L\u1EA7n sau",
|
|
3307
|
+
setUsername: "\u0110\u1EB7t t\xEAn ng\u01B0\u1EDDi d\xF9ng",
|
|
3308
|
+
disconnect: "Ng\u1EAFt k\u1EBFt n\u1ED1i"
|
|
3309
|
+
};
|
|
3310
|
+
|
|
3311
|
+
// src/i18n/es.json
|
|
3312
|
+
var es_default = {
|
|
3313
|
+
email: "Correo",
|
|
3314
|
+
emailAddress: "Direcci\xF3n de correo",
|
|
3315
|
+
emailAddressPlaceholder: "Introduce tu direcci\xF3n de correo",
|
|
3316
|
+
continue: "Continuar",
|
|
3317
|
+
send: "Enviar",
|
|
3318
|
+
resend: "Reenviar",
|
|
3319
|
+
sendCodeErrorTip: "Error al enviar el c\xF3digo: {error}",
|
|
3320
|
+
sendEmailTips: "Hemos enviado un c\xF3digo de verificaci\xF3n a tu correo",
|
|
3321
|
+
verificationCode: "C\xF3digo de verificaci\xF3n",
|
|
3322
|
+
codePlaceholder: "Introduce el c\xF3digo",
|
|
3323
|
+
wallet: "Cartera",
|
|
3324
|
+
otherLoginMethods: "Otros m\xE9todos de inicio de sesi\xF3n",
|
|
3325
|
+
login: "Iniciar sesi\xF3n",
|
|
3326
|
+
user: "Usuario",
|
|
3327
|
+
loginTitle: "Iniciar sesi\xF3n / Registrarse",
|
|
3328
|
+
loginTips: "Puedes usar los siguientes m\xE9todos",
|
|
3329
|
+
passwordMinError: "La contrase\xF1a debe tener al menos {length} caracteres",
|
|
3330
|
+
passwordMatchError: "Las contrase\xF1as no coinciden",
|
|
3331
|
+
passwordTitle: "Establecer contrase\xF1a",
|
|
3332
|
+
passwordTips: "Configura la contrase\xF1a para recuperar tu cartera",
|
|
3333
|
+
password: "Contrase\xF1a",
|
|
3334
|
+
passwordPlaceholder: "Introduce tu contrase\xF1a",
|
|
3335
|
+
rePassword: "Confirmar contrase\xF1a",
|
|
3336
|
+
rePasswordPlaceholder: "Repite la contrase\xF1a",
|
|
3337
|
+
recoverTitle: "Recuperar cartera",
|
|
3338
|
+
recoverTips: "Introduce tu contrase\xF1a para recuperar la cartera",
|
|
3339
|
+
bindWith: "Vincular con la cartera {name}",
|
|
3340
|
+
loginWith: "Iniciar sesi\xF3n con la cartera {name}",
|
|
3341
|
+
editUsernameTitle: "Editar nombre de usuario",
|
|
3342
|
+
setUsernameTitle: "Establecer nombre de usuario",
|
|
3343
|
+
username: "Nombre de usuario",
|
|
3344
|
+
usernamePlaceholder: "Introduce tu nombre de usuario",
|
|
3345
|
+
usernameValidError: "El nombre puede contener letras, n\xFAmeros y caracteres",
|
|
3346
|
+
usernameLengthError: "El nombre debe tener al menos 2 caracteres",
|
|
3347
|
+
confirm: "Confirmar",
|
|
3348
|
+
nextTime: "La pr\xF3xima vez",
|
|
3349
|
+
setUsername: "Establecer nombre de usuario",
|
|
3350
|
+
disconnect: "Desconectar"
|
|
3351
|
+
};
|
|
3352
|
+
|
|
3353
|
+
// src/i18n/pt.json
|
|
3354
|
+
var pt_default = {
|
|
3355
|
+
email: "Email",
|
|
3356
|
+
emailAddress: "Endere\xE7o de Email",
|
|
3357
|
+
emailAddressPlaceholder: "Digite seu endere\xE7o de email",
|
|
3358
|
+
continue: "Continuar",
|
|
3359
|
+
send: "Enviar",
|
|
3360
|
+
resend: "Reenviar",
|
|
3361
|
+
sendCodeErrorTip: "Falha ao enviar c\xF3digo: {error}",
|
|
3362
|
+
sendEmailTips: "Enviamos um c\xF3digo de verifica\xE7\xE3o para seu email",
|
|
3363
|
+
verificationCode: "C\xF3digo de Verifica\xE7\xE3o",
|
|
3364
|
+
codePlaceholder: "Digite o c\xF3digo",
|
|
3365
|
+
wallet: "Carteira",
|
|
3366
|
+
otherLoginMethods: "Outros m\xE9todos de login",
|
|
3367
|
+
login: "Entrar",
|
|
3368
|
+
user: "Usu\xE1rio",
|
|
3369
|
+
loginTitle: "Entrar / Registrar",
|
|
3370
|
+
loginTips: "Voc\xEA pode usar os m\xE9todos abaixo",
|
|
3371
|
+
passwordMinError: "A senha deve ter pelo menos {length} caracteres",
|
|
3372
|
+
passwordMatchError: "As senhas digitadas n\xE3o coincidem",
|
|
3373
|
+
passwordTitle: "Definir Senha",
|
|
3374
|
+
passwordTips: "Configure uma senha para recuperar sua carteira",
|
|
3375
|
+
password: "Senha",
|
|
3376
|
+
passwordPlaceholder: "Digite sua senha",
|
|
3377
|
+
rePassword: "Confirmar Senha",
|
|
3378
|
+
rePasswordPlaceholder: "Digite a senha novamente",
|
|
3379
|
+
recoverTitle: "Recuperar Carteira",
|
|
3380
|
+
recoverTips: "Digite sua senha para recuperar a carteira",
|
|
3381
|
+
bindWith: "Vincular com Carteira {name}",
|
|
3382
|
+
loginWith: "Entrar com Carteira {name}",
|
|
3383
|
+
editUsernameTitle: "Editar Nome de Usu\xE1rio",
|
|
3384
|
+
setUsernameTitle: "Definir Nome de Usu\xE1rio",
|
|
3385
|
+
username: "Nome de Usu\xE1rio",
|
|
3386
|
+
usernamePlaceholder: "Digite seu nome de usu\xE1rio",
|
|
3387
|
+
usernameValidError: "O nome pode conter letras, n\xFAmeros e caracteres",
|
|
3388
|
+
usernameLengthError: "Deve ter no m\xEDnimo 2 caracteres",
|
|
3389
|
+
confirm: "Confirmar",
|
|
3390
|
+
nextTime: "Pr\xF3xima vez",
|
|
3391
|
+
setUsername: "Definir Nome de Usu\xE1rio",
|
|
3392
|
+
disconnect: "Desconectar"
|
|
3393
|
+
};
|
|
3394
|
+
|
|
3395
|
+
// src/i18n/index.ts
|
|
3396
|
+
var messages = {
|
|
3397
|
+
en: en_default,
|
|
3398
|
+
zh: zh_default,
|
|
3399
|
+
tw: tw_default,
|
|
3400
|
+
fr: fr_default,
|
|
3401
|
+
ja: ja_default,
|
|
3402
|
+
ko: ko_default,
|
|
3403
|
+
vi: vi_default,
|
|
3404
|
+
es: es_default,
|
|
3405
|
+
pt: pt_default
|
|
3406
|
+
};
|
|
3407
|
+
|
|
3408
|
+
// src/MatchContext.tsx
|
|
2922
3409
|
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
2923
3410
|
var queryClient = new QueryClient();
|
|
2924
3411
|
var MatchContext = createContext(void 0);
|
|
2925
|
-
var MatchProvider = ({ children, appid, events, theme = "light", endpoints }) => {
|
|
2926
|
-
const { loadOverview, login, endpoints: realEndPoints } = useInit({
|
|
3412
|
+
var MatchProvider = ({ children, appid, events, theme = "light", endpoints, locale }) => {
|
|
3413
|
+
const { loadOverview, login, endpoints: realEndPoints, locale: realLocale } = useInit({
|
|
2927
3414
|
theme,
|
|
2928
3415
|
appid,
|
|
2929
3416
|
events,
|
|
2930
|
-
endpoints
|
|
3417
|
+
endpoints,
|
|
3418
|
+
locale
|
|
3419
|
+
});
|
|
3420
|
+
matchlog_default.log("config", {
|
|
3421
|
+
appid,
|
|
3422
|
+
theme,
|
|
3423
|
+
endpoints,
|
|
3424
|
+
locale,
|
|
3425
|
+
realLocale
|
|
2931
3426
|
});
|
|
2932
3427
|
useWalletInit({
|
|
2933
3428
|
refreshOverview: loadOverview
|
|
2934
3429
|
});
|
|
2935
|
-
return /* @__PURE__ */ jsx57(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx57(
|
|
3430
|
+
return /* @__PURE__ */ jsx57(IntlProvider, { locale: realLocale, messages: messages[realLocale], children: /* @__PURE__ */ jsx57(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx57(
|
|
2936
3431
|
MatchContext.Provider,
|
|
2937
3432
|
{
|
|
2938
3433
|
value: {
|
|
@@ -2940,11 +3435,12 @@ var MatchProvider = ({ children, appid, events, theme = "light", endpoints }) =>
|
|
|
2940
3435
|
endpoints: realEndPoints,
|
|
2941
3436
|
events,
|
|
2942
3437
|
login,
|
|
2943
|
-
theme
|
|
3438
|
+
theme,
|
|
3439
|
+
locale: realLocale
|
|
2944
3440
|
},
|
|
2945
3441
|
children: /* @__PURE__ */ jsx57(context_default, { children })
|
|
2946
3442
|
}
|
|
2947
|
-
) });
|
|
3443
|
+
) }) });
|
|
2948
3444
|
};
|
|
2949
3445
|
var useMatch = () => {
|
|
2950
3446
|
const context = useContext(MatchContext);
|