@particle-network/connectkit
Version:
810 lines (798 loc) • 726 kB
JavaScript
"use client";
"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __esm = (fn, res) => function __init() {
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/types/index.ts
var EmailRegExp;
var init_types = __esm({
"src/types/index.ts"() {
"use strict";
EmailRegExp = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
}
});
// src/utils/theme.ts
function getSystemMode() {
if (typeof window !== "undefined" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches) {
return "dark";
} else {
return "light";
}
}
var init_theme = __esm({
"src/utils/theme.ts"() {
"use strict";
}
});
// src/utils/deepEqual.ts
function deepEqual(a, b) {
if (a === b)
return true;
if (a && b && typeof a === "object" && typeof b === "object") {
if (a.constructor !== b.constructor)
return false;
let length;
let i;
if (Array.isArray(a) && Array.isArray(b)) {
length = a.length;
if (length !== b.length)
return false;
for (i = length; i-- !== 0; )
if (!deepEqual(a[i], b[i]))
return false;
return true;
}
if (a.valueOf !== Object.prototype.valueOf)
return a.valueOf() === b.valueOf();
if (a.toString !== Object.prototype.toString)
return a.toString() === b.toString();
const keys = Object.keys(a);
length = keys.length;
if (length !== Object.keys(b).length)
return false;
for (i = length; i-- !== 0; )
if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
return false;
for (i = length; i-- !== 0; ) {
const key = keys[i];
if (key && !deepEqual(a[key], b[key]))
return false;
}
return true;
}
return a !== a && b !== b;
}
var init_deepEqual = __esm({
"src/utils/deepEqual.ts"() {
"use strict";
}
});
// src/actions/getAccount.ts
function getAccount(config) {
const state = config.state;
if (deepEqual(previousState, state))
return previousAccount;
const uid = config.state.current;
const connection = config.state.connections.get(uid);
let addresses = connection?.accounts;
if (addresses?.length && addresses.every((account) => (0, import_viem.isAddress)(account, { strict: false }))) {
addresses = addresses.map((item) => (0, import_viem.checksumAddress)(item));
}
const address = addresses?.[0];
const chain = config.chains.find((chain2) => chain2.id === connection?.chainId);
const status = config.state.status;
let result;
switch (status) {
case "connected":
result = {
address,
addresses,
chain,
chainId: connection?.chainId,
connector: connection?.connector,
isConnected: true,
isConnecting: false,
isDisconnected: false,
isReconnecting: false,
status
};
break;
case "reconnecting":
result = {
address,
addresses,
chain,
chainId: connection?.chainId,
connector: connection?.connector,
isConnected: !!address,
isConnecting: false,
isDisconnected: false,
isReconnecting: true,
status
};
break;
case "connecting":
result = {
address,
addresses,
chain,
chainId: connection?.chainId,
connector: connection?.connector,
isConnected: false,
isConnecting: true,
isDisconnected: false,
isReconnecting: false,
status
};
break;
case "disconnected":
result = {
address: void 0,
addresses: void 0,
chain: void 0,
chainId: void 0,
connector: void 0,
isConnected: false,
isConnecting: false,
isDisconnected: true,
isReconnecting: false,
status
};
break;
}
previousAccount = result;
return result;
}
var import_viem, previousAccount, previousState;
var init_getAccount = __esm({
"src/actions/getAccount.ts"() {
"use strict";
import_viem = require("viem");
init_deepEqual();
}
});
// src/actions/watchAccount.ts
function watchAccount(config, parameters) {
const { onChange } = parameters;
return config.subscribe(() => getAccount(config), onChange, {
equalityFn(a, b) {
const { connector: aConnector, ...aRest } = a;
const { connector: bConnector, ...bRest } = b;
return deepEqual(aRest, bRest) && aConnector?.id === bConnector?.id && aConnector?.uid === bConnector?.uid;
}
});
}
var init_watchAccount = __esm({
"src/actions/watchAccount.ts"() {
"use strict";
init_deepEqual();
init_getAccount();
}
});
// src/hooks/useSyncExternalStoreWithTracked.ts
function useSyncExternalStoreWithTracked(subscribe, getSnapshot, getServerSnapshot = getSnapshot, isEqual = deepEqual) {
const trackedKeys = (0, import_react.useRef)([]);
const result = (0, import_with_selector.useSyncExternalStoreWithSelector)(
subscribe,
getSnapshot,
getServerSnapshot,
(x) => x,
(a, b) => {
if (isPlainObject(a) && isPlainObject(b) && trackedKeys.current.length) {
for (const key of trackedKeys.current) {
const equal = isEqual(a[key], b[key]);
if (!equal)
return false;
}
return true;
}
return isEqual(a, b);
}
);
if (isPlainObject(result)) {
const trackedResult = { ...result };
let properties = {};
for (const [key, value] of Object.entries(trackedResult)) {
properties = {
...properties,
[key]: {
configurable: false,
enumerable: true,
get: () => {
if (!trackedKeys.current.includes(key)) {
trackedKeys.current.push(key);
}
return value;
}
}
};
}
Object.defineProperties(trackedResult, properties);
return trackedResult;
}
return result;
}
var import_react, import_with_selector, isPlainObject;
var init_useSyncExternalStoreWithTracked = __esm({
"src/hooks/useSyncExternalStoreWithTracked.ts"() {
"use strict";
import_react = require("react");
import_with_selector = require("use-sync-external-store/shim/with-selector.js");
init_deepEqual();
isPlainObject = (obj) => typeof obj === "object" && !Array.isArray(obj);
}
});
// src/hooks/useAccount.ts
function useAccount() {
const { config } = useContext();
return useSyncExternalStoreWithTracked(
(onChange) => watchAccount(config, { onChange }),
() => getAccount(config)
);
}
var init_useAccount = __esm({
"src/hooks/useAccount.ts"() {
"use strict";
init_getAccount();
init_watchAccount();
init_context();
init_useSyncExternalStoreWithTracked();
}
});
// src/locales/en-US.json
var en_US_default;
var init_en_US = __esm({
"src/locales/en-US.json"() {
en_US_default = {
connectWallet: "Connect Wallet",
disconnect: "Disconnect",
connected: "Connected",
preferPhone: "Prefer to use a phone number?",
preferEmail: "Prefer to use an email?",
usePhone: "Use phone",
useEmail: "Use email",
signupTitle: "Log in or sign up",
connectorsTitle: "Log in or sign up",
captchaTitle: "Confirm verification code",
walletconnectTitle: "Connect",
selectChainTitle: "Select Chain",
viewAllWallets: "View all wallets",
continueWithWallet: "Continue with a wallet",
connectingUnavailable: "Unsupported Browser",
connectingUnavailableDesc: "To connect your {0} wallet,\ninstall the extension on {0}.",
connectingInstall: "Install {0}",
connectingInstallDesc: "To connect your {0} wallet,\ninstall the browser extension.",
connectingRequest: "Requesting Connection",
connectingRequestDesc: "Click connect in your wallet popup.",
connectingConnected: "Already Connected",
connectingConnectedDesc: "It is now okay to close this popup",
connectingRejected: "Request Cancelled",
connectingRejectedDesc: "You cancelled the request.\nClick above to try again.",
connectingFailed: "Request Failed",
connectingFailedDesc: "Something went wrong. \nClick above to try again later.",
connectingNotconnected: "Login to {0}",
connectingNotconnectedDesc: "To continue, please login to your {0} extension.",
phoneNumber: "Phone Number",
email: "Email",
enterEmail: "Please enter your email address.",
enterValidEmail: "Please enter a valid email address.",
unknownError: "An unknown error occurred",
verificationCode: "We've sent a verification code to",
incorrectCode: "The code you entered is incorrect. Please try again.",
continue: "Continue",
didNotReceiveCode: "Did not receive your code yet?",
resendCode: "Re-send code",
enterValidPhoneNumber: "Please enter a valid phone number",
somethingWentWrong: "Something went wrong. Please try again.",
somethingWentWrongLater: "Something went wrong. Please try again later.",
emailFormatError: "Email format error.",
invalidOrIncorrectNumber: "Invalid or incorrect number. Please try again.",
recommended: "Recommended",
popular: "Popular",
installed: "Installed",
lastUsed: "Last Used",
multichain: "Multichain",
enterPhoneNumber: "Please enter your phone number",
copied: "Copied",
linkLoginAccount: "Link Login Account",
accountAndSecurity: "Account and Security",
copyQRURI: "Copy QR URI",
getWallet: "Get Wallet",
scanQRCode: "Scan this QR code from your mobile wallet or phone's camera to connect.",
connect: "Connect",
installToConnect: "Install {0} to connect",
selectPreferredOptions: "Select from your preferred options below:",
installExtension: "Install {0} extension",
refreshPageOnceInstalled: "Please refresh the page once installed.",
walletSupportsMultipleChains: "This wallet supports multiple chains.",
selectChainToConnect: "Select which chain you'd like to connect to.",
scanWithPhone: "Scan with phone",
connectingRequestAuthDesc: "Log in and grant permissions.",
or: "OR",
walletOnlyAvailableOnMobile: "This wallet is only available on mobile. Scan this QR code from your mobile phone to download this app.",
installBrowserFirst: "You need to Install {0} Browser first and then use {1} Wallet.",
wallet: "Wallet",
buy: "Buy",
switchNetwork: "Switch Network",
noData: "No data",
receive: "Receive",
send: "Send",
onlySupport: "Only support {0} related assets",
copyAddress: "Copy Address",
searchByNameOrCode: "Search by country name or code",
invalidOrIncorrectNumberMistype: "Invalid or incorrect number. Did you mistype it?",
networkError: "Network error, please try again",
invalidCode: "Invalid code",
codeDeleted: "Code has expired. Please send it again.",
sessionExpired: "Your session has expired, please login again to continue.",
loginWithPasskey: "Log in with passkey",
usePasskeyToLogin: "Passkey Smart Wallet",
usePasskeyToLoginSmartAccount: "Use a passkey to create or access a Smart Wallet.",
createNewPasskey: "Create a Passkey Smart Wallet",
gotWallet: "Log in with passkey",
requestingPasskey: "Requesting Connection",
passkeyPrompt: "Follow the prompts to verify your passkey.",
setupPasskeyPrompt: "Follow the prompts to set up a passkey.",
requestCancelled: "You cancelled the request.\nClick above to try again.",
tryAgain: "Try Again",
setupPasskey: "Set up a passkey",
passkeyStorageInfo: "Passkeys are stored in your device and can only be accessed by you.",
passkeyDeletionWarning: "WARNING: Please avoid bulk clean-ups and passkey deletions to avoid accidental deletion.",
convenientAndFast: "Fast and convenient",
biometricTransactionInfo: "Use Face ID or Touch ID to quickly authenticate transactions.",
increasedSecurity: "Increased security",
passkeySecurityInfo: "Passkeys are end-to-end encrypted in your device or password manager to prevent phishing attempts.",
continueWithSmartWalletPasskey: "Continue with Passkey Smart Wallet",
connectingPasskeyUnavailable: "Request Failed",
connectingPasskeyUnavailableDesc: "Passkey is not available here. Please try another login method or change devices (e.g.browser, terminal)."
};
}
});
// src/locales/ja-JP.json
var ja_JP_default;
var init_ja_JP = __esm({
"src/locales/ja-JP.json"() {
ja_JP_default = {
connectWallet: "\u30A6\u30A9\u30EC\u30C3\u30C8\u306E\u63A5\u7D9A",
disconnect: "\u63A5\u7D9A\u89E3\u9664",
connected: "\u63A5\u7D9A\u6E08\u307F",
preferPhone: "\u512A\u5148\u7684\u306B\u643A\u5E2F\u756A\u53F7\u3067\u767B\u9332\u3059\u308B\uFF1F",
preferEmail: "\u512A\u5148\u7684\u306BE\u30E1\u30FC\u30EB\u3067\u767B\u9332\u3057\u307E\u3059\u304B\uFF1F",
usePhone: "\u643A\u5E2F\u756A\u53F7\u3092\u4F7F\u3046",
useEmail: "\u96FB\u5B50\u30E1\u30FC\u30EB\u306E\u4F7F\u7528",
signupTitle: "\u30ED\u30B0\u30A4\u30F3\u307E\u305F\u306F\u767B\u9332",
connectorsTitle: "\u30ED\u30B0\u30A4\u30F3\u307E\u305F\u306F\u767B\u9332",
captchaTitle: "\u691C\u8A3C\u30B3\u30FC\u30C9\u306E\u78BA\u8A8D",
walletconnectTitle: "\u305B\u3064\u305E\u304F",
selectChainTitle: "\u305B\u3093\u305F\u304F\u30C1\u30A7\u30FC\u30F3",
viewAllWallets: "\u3059\u3079\u3066\u306E\u30A6\u30A9\u30EC\u30C3\u30C8\u306E\u8868\u793A",
continueWithWallet: "\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u4F7F\u7528\u3057\u305F\u30ED\u30B0\u30A4\u30F3",
connectingUnavailable: "\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u30D6\u30E9\u30A6\u30B6",
connectingUnavailableDesc: "\u30A6\u30A9\u30EC\u30C3\u30C8\u306B\u63A5\u7D9A\u3059\u308B\u306B\u306F\u3001\n\u62E1\u5F35\u30D7\u30ED\u30B0\u30E9\u30E0\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u307E\u3059\u3002",
connectingInstall: "\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB{0}",
connectingInstallDesc: "\u30A6\u30A9\u30EC\u30C3\u30C8\u306B\u63A5\u7D9A\u3059\u308B\u306B\u306F\u3001\n\u30D6\u30E9\u30A6\u30B6\u62E1\u5F35\u30D7\u30ED\u30B0\u30E9\u30E0\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u307E\u3059\u3002",
connectingRequest: "\u8981\u6C42\u63A5\u7D9A",
connectingRequestDesc: "\u30A6\u30A9\u30EC\u30C3\u30C8\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u63A5\u7D9A\u3059\u308B\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u307E\u3059\u3002",
connectingConnected: "\u5B8C\u4E86\u3057\u305F\u63A5\u7D9A",
connectingConnectedDesc: "\u3053\u306E\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u9589\u3058\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059",
connectingRejected: "\u8981\u6C42\u304C\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F",
connectingRejectedDesc: "\u3042\u306A\u305F\u306F\u8981\u8ACB\u3092\u53D6\u308A\u6D88\u3057\u307E\u3057\u305F\u3002\n\u4E0A\u306E\u30EA\u30F3\u30AF\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u518D\u8A66\u884C\u3057\u307E\u3059\u3002",
connectingFailed: "\u30EA\u30AF\u30A8\u30B9\u30C8\u304C\u5931\u6557\u3057\u307E\u3057\u305F",
connectingFailedDesc: "\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\n\u5F8C\u3067\u3082\u3046\u4E00\u5EA6\u4E0A\u306E\u30DC\u30BF\u30F3\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
connectingNotconnected: "\u30ED\u30B0\u30A4\u30F3\u5148{0}",
connectingNotconnectedDesc: "\u3042\u306A\u305F\u306E{0}\u306B\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
phoneNumber: "\u643A\u5E2F\u756A\u53F7",
email: "\u30E1\u30FC\u30EB\u30DC\u30C3\u30AF\u30B9",
enterEmail: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
enterValidEmail: "\u6709\u52B9\u306A\u30E1\u30FC\u30EB\u30DC\u30C3\u30AF\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
unknownError: "\u4E0D\u660E\u306A\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F",
verificationCode: "\u8A8D\u8A3C\u30B3\u30FC\u30C9\u306E\u9001\u4FE1\u5148",
incorrectCode: "\u5165\u529B\u3057\u305F\u8A8D\u8A3C\u30B3\u30FC\u30C9\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\u3002\u518D\u8A66\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
continue: "\u7D9A\u884C",
didNotReceiveCode: "\u8A8D\u8A3C\u30B3\u30FC\u30C9\u3092\u53D7\u3051\u53D6\u3063\u3066\u3044\u307E\u305B\u3093\u304B\uFF1F",
resendCode: "\u8A8D\u8A3C\u30B3\u30FC\u30C9\u306E\u518D\u9001\u4FE1",
enterValidPhoneNumber: "\u6709\u52B9\u306A\u96FB\u8A71\u756A\u53F7\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
somethingWentWrong: "\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u518D\u8A66\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
somethingWentWrongLater: "\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u5F8C\u3067\u3084\u308A\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
emailFormatError: "\u30E1\u30FC\u30EB\u30DC\u30C3\u30AF\u30B9\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u5165\u529B\u30A8\u30E9\u30FC",
invalidOrIncorrectNumber: "\u643A\u5E2F\u756A\u53F7\u306E\u5165\u529B\u30DF\u30B9\u3001\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
recommended: "\u63A8\u5968",
popular: "\u4EBA\u6C17\u304C\u3042\u308B",
installed: "\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F",
lastUsed: "\u6700\u7D42\u4F7F\u7528",
multichain: "\u30DE\u30EB\u30C1\u30C1\u30A7\u30FC\u30F3",
enterPhoneNumber: "\u643A\u5E2F\u756A\u53F7\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
copied: "\u30B3\u30D4\u30FC\u6E08\u307F",
linkLoginAccount: "\u30ED\u30B0\u30A4\u30F3\u30A2\u30AB\u30A6\u30F3\u30C8\u3078\u306E\u63A5\u7D9A",
accountAndSecurity: "\u30A2\u30AB\u30A6\u30F3\u30C8\u3068\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3",
copyQRURI: "QR URI\u3092\u30B3\u30D4\u30FC",
getWallet: "\u30A6\u30A9\u30EC\u30C3\u30C8\u306E\u53D6\u5F97",
scanQRCode: "\u304A\u8CA1\u5E03\u3084\u643A\u5E2F\u30AB\u30E1\u30E9\u3067QR\u30B3\u30FC\u30C9\u3092\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u63A5\u7D9A\u3059\u308B",
connect: "\u305B\u3064\u305E\u304F",
installToConnect: "\u30DD\u30B9\u30C8\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044",
selectPreferredOptions: "\u6B21\u306E\u3044\u305A\u308C\u304B\u306E\u65B9\u6CD5\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002",
installExtension: "\u62E1\u5F35\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB",
refreshPageOnceInstalled: "\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u5F8C\u306B\u30DA\u30FC\u30B8\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
walletSupportsMultipleChains: "\u3053\u306E\u30A6\u30A9\u30EC\u30C3\u30C8\u306F\u8907\u6570\u306E\u30C1\u30A7\u30FC\u30F3\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059\u3002",
selectChainToConnect: "\u63A5\u7D9A\u3059\u308B\u30C1\u30A7\u30FC\u30F3\u3092\u9078\u629E\u3057\u307E\u3059\u3002",
scanWithPhone: "\u643A\u5E2F\u96FB\u8A71\u3067\u30B9\u30AD\u30E3\u30F3",
connectingRequestAuthDesc: "\u6A29\u9650\u3092\u4ED8\u4E0E\u3057\u3066\u30ED\u30B0\u30A4\u30F3\u3057\u307E\u3059\u3002",
or: "\u307E\u305F\u306F",
walletOnlyAvailableOnMobile: "\u3053\u306E\u8CA1\u5E03\u306F\u643A\u5E2F\u96FB\u8A71\u306B\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002\u3053\u306EQR\u30B3\u30FC\u30C9\u3092\u643A\u5E2F\u96FB\u8A71\u3067\u30B9\u30AD\u30E3\u30F3\u3057\u3066\u3053\u306E\u30A2\u30D7\u30EA\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002",
installBrowserFirst: "\u30D6\u30E9\u30A6\u30B6\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304B\u3089\u3001\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u4F7F\u7528\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002",
wallet: "\u30A6\u30A9\u30EC\u30C3\u30C8",
buy: "\u8CFC\u5165",
switchNetwork: "\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u3092\u5207\u308A\u66FF\u3048\u308B",
noData: "\u30C7\u30FC\u30BF\u306A\u3057",
receive: "\u53D7\u3051\u53D6\u308B",
send: "\u9001\u4FE1",
onlySupport: "{0}\u95A2\u9023\u306E\u8CC7\u7523\u306E\u307F\u5BFE\u5FDC",
copyAddress: "\u30A2\u30C9\u30EC\u30B9\u3092\u30B3\u30D4\u30FC",
searchByNameOrCode: "\u56FD\u540D\u307E\u305F\u306F\u30B3\u30FC\u30C9\u3067\u691C\u7D22",
invalidOrIncorrectNumberMistype: "\u7121\u52B9\u306A\u756A\u53F7\u3067\u3059\u3002\u5165\u529B\u30DF\u30B9\u3067\u3059\u304B\uFF1F",
networkError: "\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u30A8\u30E9\u30FC\u3067\u3059\u3002\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044",
invalidCode: "\u30B3\u30FC\u30C9\u304C\u7121\u52B9\u3067\u3059",
codeDeleted: "\u30B3\u30FC\u30C9\u306E\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u307E\u3057\u305F\u3002\u518D\u9001\u4FE1\u3057\u3066\u304F\u3060\u3055\u3044",
sessionExpired: "\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u307E\u3057\u305F\u3002\u7D9A\u884C\u3059\u308B\u306B\u306F\u518D\u5EA6\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
loginWithPasskey: "Passkey\u3067\u30ED\u30B0\u30A4\u30F3",
usePasskeyToLogin: "Passkey\u30B9\u30DE\u30FC\u30C8\u30A6\u30A9\u30EC\u30C3\u30C8",
usePasskeyToLoginSmartAccount: "Passkey\u3092\u4F7F\u7528\u3057\u3066\u30B9\u30DE\u30FC\u30C8\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u4F5C\u6210\u307E\u305F\u306F\u30A2\u30AF\u30BB\u30B9\u3057\u307E\u3059\u3002",
createNewPasskey: "Passkey\u30B9\u30DE\u30FC\u30C8\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u4F5C\u6210",
gotWallet: "Passkey\u3067\u30ED\u30B0\u30A4\u30F3",
requestingPasskey: "\u8981\u6C42\u63A5\u7D9A",
passkeyPrompt: "\u6307\u793A\u306B\u5F93\u3063\u3066Passkey\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
setupPasskeyPrompt: "\u6307\u793A\u306B\u5F93\u3063\u3066Passkey\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
requestCancelled: "\u3042\u306A\u305F\u306F\u8981\u8ACB\u3092\u53D6\u308A\u6D88\u3057\u307E\u3057\u305F\u3002\n\u4E0A\u306E\u30EA\u30F3\u30AF\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u518D\u8A66\u884C\u3057\u307E\u3059\u3002",
tryAgain: "\u3082\u3046\u4E00\u5EA6\u8A66\u3059",
setupPasskey: "Passkey\u3092\u8A2D\u5B9A",
passkeyStorageInfo: "Passkey\u306F\u30C7\u30D0\u30A4\u30B9\u306B\u4FDD\u5B58\u3055\u308C\u3001\u3042\u306A\u305F\u3060\u3051\u304C\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u3059\u3002",
passkeyDeletionWarning: "\u8B66\u544A\uFF1APasskey\u3092\u4E00\u62EC\u524A\u9664\u3059\u308B\u3068\u8AA4\u3063\u3066\u524A\u9664\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308B\u305F\u3081\u3001\u907F\u3051\u3066\u304F\u3060\u3055\u3044\u3002",
convenientAndFast: "\u8FC5\u901F\u3067\u4FBF\u5229",
biometricTransactionInfo: "Face ID\u307E\u305F\u306FTouch ID\u3092\u4F7F\u7528\u3057\u3066\u3001\u8FC5\u901F\u306B\u53D6\u5F15\u3092\u8A8D\u8A3C\u3057\u307E\u3059\u3002",
increasedSecurity: "\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u5411\u4E0A",
passkeySecurityInfo: "Passkey\u306F\u30C7\u30D0\u30A4\u30B9\u307E\u305F\u306F\u30D1\u30B9\u30EF\u30FC\u30C9\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC\u3067\u30A8\u30F3\u30C9\u30C4\u30FC\u30A8\u30F3\u30C9\u6697\u53F7\u5316\u3055\u308C\u3001\u30D5\u30A3\u30C3\u30B7\u30F3\u30B0\u653B\u6483\u3092\u9632\u304E\u307E\u3059\u3002",
continueWithSmartWalletPasskey: "Passkey\u30B9\u30DE\u30FC\u30C8\u30A6\u30A9\u30EC\u30C3\u30C8\u3067\u7D9A\u884C",
connectingPasskeyUnavailable: "\u30EA\u30AF\u30A8\u30B9\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
connectingPasskeyUnavailableDesc: "\u3053\u3053\u3067\u306FPasskey\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u5225\u306E\u30ED\u30B0\u30A4\u30F3\u65B9\u6CD5\u3092\u8A66\u3059\u304B\u3001\u30C7\u30D0\u30A4\u30B9\u3092\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u4F8B\uFF1A\u30D6\u30E9\u30A6\u30B6\u3001\u7AEF\u672B\uFF09\u3002"
};
}
});
// src/locales/ko-KR.json
var ko_KR_default;
var init_ko_KR = __esm({
"src/locales/ko-KR.json"() {
ko_KR_default = {
connectWallet: "\uC9C0\uAC11 \uC5F0\uACB0",
disconnect: "\uC5F0\uACB0 \uD574\uC81C",
connected: "\uC811\uC18D\uB428",
preferPhone: "\uC6B0\uC120 \uD578\uB4DC\uD3F0 \uBC88\uD638\uB85C \uB4F1\uB85D\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",
preferEmail: "\uC804\uC790 \uBA54\uC77C \uB4F1\uB85D\uC774 \uC6B0\uC120\uC785\uB2C8\uAE4C?",
usePhone: "\uD578\uB4DC\uD3F0 \uBC88\uD638 \uC0AC\uC6A9",
useEmail: "\uC804\uC790 \uBA54\uC77C \uC0AC\uC6A9",
signupTitle: "\uB85C\uADF8\uC778 \uB610\uB294 \uB4F1\uB85D",
connectorsTitle: "\uB85C\uADF8\uC778 \uB610\uB294 \uB4F1\uB85D",
captchaTitle: "\uC778\uC99D \uCF54\uB4DC \uD655\uC778",
walletconnectTitle: "\uC5F0\uACB0",
selectChainTitle: "\uCCB4\uC778 \uC120\uD0DD",
viewAllWallets: "\uBAA8\uB4E0 \uC9C0\uAC11 \uBCF4\uAE30",
continueWithWallet: "\uC9C0\uAC11\uC73C\uB85C \uB85C\uADF8\uC778",
connectingUnavailable: "\uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uBE0C\uB77C\uC6B0\uC800",
connectingUnavailableDesc: "{0} \uC9C0\uAC11\uC744 \uC5F0\uACB0\uD558\uB824\uBA74\n{0}\uC5D0 \uD655\uC7A5 \uD504\uB85C\uADF8\uB7A8\uC744 \uC124\uCE58\uD558\uC2ED\uC2DC\uC624.",
connectingInstall: "{0} \uC124\uCE58",
connectingInstallDesc: "{0} \uC9C0\uAC11\uC5D0 \uC5F0\uACB0\uD558\uB824\uBA74 \n\uBE0C\uB77C\uC6B0\uC800 \uD655\uC7A5 \uD504\uB85C\uADF8\uB7A8\uC744 \uC124\uCE58\uD558\uC2ED\uC2DC\uC624.",
connectingRequest: "\uC5F0\uACB0 \uC694\uCCAD",
connectingRequestDesc: "\uC9C0\uAC11 \uD31D\uC5C5 \uCC3D\uC5D0\uC11C \uC9C0\uAC11 \uC5F0\uACB0\uC744 \uD074\uB9AD\uD569\uB2C8\uB2E4.",
connectingConnected: "\uC5F0\uACB0 \uC644\uB8CC",
connectingConnectedDesc: "\uC774\uC81C \uC774 \uD31D\uC5C5 \uCC3D\uC744 \uB2EB\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",
connectingRejected: "\uC694\uCCAD\uC774 \uCDE8\uC18C\uB428",
connectingRejectedDesc: "\uB2F9\uC2E0\uC740 \uC694\uCCAD\uC744 \uCDE8\uC18C\uD588\uC2B5\uB2C8\uB2E4.\n\uC704\uC758 \uB9C1\uD06C\uB97C \uD074\uB9AD\uD558\uC5EC \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC2ED\uC2DC\uC624.",
connectingFailed: "\uC694\uCCAD \uC2E4\uD328",
connectingFailedDesc: "\uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \n\uB098\uC911\uC5D0 \uC704 \uBC84\uD2BC\uC744 \uD074\uB9AD\uD558\uC5EC \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC138\uC694.",
connectingNotconnected: "{0}\uC5D0 \uB85C\uADF8\uC778",
connectingNotconnectedDesc: "{0} \uC5D0 \uB85C\uADF8\uC778\uD558\uC2ED\uC2DC\uC624.",
phoneNumber: "\uD578\uB4DC\uD3F0 \uBC88\uD638",
email: "\uBA54\uC77C\uBC15\uC2A4",
enterEmail: "\uC774\uBA54\uC77C\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624.",
enterValidEmail: "\uC62C\uBC14\uB978 \uBA54\uC77C\uBC15\uC2A4\uB97C \uC785\uB825\uD558\uC2ED\uC2DC\uC624.",
unknownError: "\uC54C \uC218 \uC5C6\uB294 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.",
verificationCode: "\uC778\uC99D \uCF54\uB4DC\uAC00 \uC5D0 \uC804\uC1A1\uB428",
incorrectCode: "\uC785\uB825\uD55C \uC778\uC99D \uCF54\uB4DC\uAC00 \uC815\uD655\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC2ED\uC2DC\uC624.",
continue: "\uACC4\uC18D",
didNotReceiveCode: "\uC778\uC99D\uBC88\uD638\uB97C \uBC1B\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uAE4C?",
resendCode: "\uC778\uC99D \uCF54\uB4DC \uB2E4\uC2DC \uBCF4\uB0B4\uAE30",
enterValidPhoneNumber: "\uC62C\uBC14\uB978 \uC804\uD654 \uBC88\uD638\uB97C \uC785\uB825\uD558\uC2ED\uC2DC\uC624.",
somethingWentWrong: "\uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC2ED\uC2DC\uC624.",
somethingWentWrongLater: "\uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uB098\uC911\uC5D0 \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC2ED\uC2DC\uC624.",
emailFormatError: "\uBA54\uC77C\uBC15\uC2A4 \uD615\uC2DD \uC785\uB825 \uC624\uB958",
invalidOrIncorrectNumber: "\uD578\uB4DC\uD3F0 \uBC88\uD638 \uC785\uB825\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uC785\uB825\uD558\uC2ED\uC2DC\uC624.",
recommended: "\uCD94\uCC9C",
popular: "\uC778\uAE30",
installed: "\uC124\uCE58\uB428",
lastUsed: "\uB9C8\uC9C0\uB9C9 \uC0AC\uC6A9",
multichain: "\uB2E4\uC911 \uCCB4\uC778",
enterPhoneNumber: "\uD578\uB4DC\uD3F0 \uBC88\uD638\uB97C \uC785\uB825\uD558\uC138\uC694.",
copied: "\uBCF5\uC0AC\uB428",
linkLoginAccount: "\uB85C\uADF8\uC778 \uACC4\uC815 \uC5F0\uACB0",
accountAndSecurity: "\uACC4\uC815 \uBC0F \uBCF4\uC548",
copyQRURI: "QR URI \uBCF5\uC0AC",
getWallet: "\uC9C0\uAC11 \uAC00\uC838\uC624\uAE30",
scanQRCode: "\uD578\uB4DC\uD3F0 \uC9C0\uAC11\uC774\uB098 \uD578\uB4DC\uD3F0 \uCE74\uBA54\uB77C\uB85C \uC774 QR\uCF54\uB4DC\uB97C \uC2A4\uCE94\uD558\uC5EC \uC5F0\uACB0\uD569\uB2C8\uB2E4",
connect: "\uC5F0\uACB0",
installToConnect: "{0} \uC744 (\uB97C) \uC124\uCE58\uD55C \uD6C4 \uC5F0\uACB0\uD558\uC2ED\uC2DC\uC624.",
selectPreferredOptions: "\uB2E4\uC74C \uBC29\uBC95 \uC911 \uD558\uB098\uB97C \uC0AC\uC6A9\uD558\uC2ED\uC2DC\uC624.",
installExtension: "\uD655\uC7A5 \uD504\uB85C\uADF8\uB7A8 \uC124\uCE58",
refreshPageOnceInstalled: "\uC124\uCE58 \uD6C4 \uD398\uC774\uC9C0\uB97C \uC0C8\uB85C \uACE0\uCE58\uC2ED\uC2DC\uC624.",
walletSupportsMultipleChains: "\uC774 \uC9C0\uAC11\uC740 \uC5EC\uB7EC \uCCB4\uC778\uC744 \uC9C0\uC6D0\uD569\uB2C8\uB2E4.",
selectChainToConnect: "\uC5F0\uACB0\uD560 \uCCB4\uC778\uC744 \uC120\uD0DD\uD569\uB2C8\uB2E4.",
scanWithPhone: "\uD578\uB4DC\uD3F0\uC73C\uB85C \uC2A4\uCE94\uD558\uB2E4",
connectingRequestAuthDesc: "\uB77C\uC774\uC13C\uC2A4\uB97C \uBD80\uC5EC\uD558\uACE0 \uB85C\uADF8\uC778\uD569\uB2C8\uB2E4.",
or: "\uB610\uB294",
walletOnlyAvailableOnMobile: "\uC774 \uC9C0\uAC11\uC740 \uD734\uB300\uD3F0\uC5D0\uB9CC \uC801\uC6A9\uB429\uB2C8\uB2E4.\uD734\uB300\uD3F0\uC73C\uB85C \uC774 QR\uCF54\uB4DC\uB97C \uC2A4\uCE94\uD558\uC5EC \uC774 \uC571\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD558\uC2ED\uC2DC\uC624.",
installBrowserFirst: "\uBA3C\uC800 {0} \uBE0C\uB77C\uC6B0\uC800\uB97C \uC124\uCE58\uD55C \uB2E4\uC74C {1} \uC9C0\uAC11\uC744 \uC0AC\uC6A9\uD574\uC57C \uD569\uB2C8\uB2E4.",
wallet: "\uC9C0\uAC11",
buy: "\uAD6C\uB9E4",
switchNetwork: "\uB124\uD2B8\uC6CC\uD06C \uC804\uD658",
noData: "\uB370\uC774\uD130 \uC5C6\uC74C",
receive: "\uBC1B\uAE30",
send: "\uBCF4\uB0B4\uAE30",
onlySupport: "{0} \uAD00\uB828 \uC790\uC0B0\uB9CC \uC9C0\uC6D0",
copyAddress: "\uC8FC\uC18C \uBCF5\uC0AC",
searchByNameOrCode: "\uAD6D\uAC00 \uC774\uB984 \uB610\uB294 \uCF54\uB4DC\uB85C \uAC80\uC0C9",
invalidOrIncorrectNumberMistype: "\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uBC88\uD638\uC785\uB2C8\uB2E4. \uC798\uBABB \uC785\uB825\uD558\uC168\uB098\uC694?",
networkError: "\uB124\uD2B8\uC6CC\uD06C \uC624\uB958\uC785\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694",
invalidCode: "\uC778\uC99D \uCF54\uB4DC\uAC00 \uBB34\uD6A8\uC785\uB2C8\uB2E4",
codeDeleted: "\uC778\uC99D \uCF54\uB4DC\uAC00 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uBCF4\uB0B4\uC8FC\uC138\uC694",
sessionExpired: "\uC138\uC158\uC774 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uACC4\uC18D\uD558\uB824\uBA74 \uB2E4\uC2DC \uB85C\uADF8\uC778\uD574 \uC8FC\uC138\uC694.",
loginWithPasskey: "Passkey\uB85C \uB85C\uADF8\uC778",
usePasskeyToLogin: "Passkey \uC2A4\uB9C8\uD2B8 \uC9C0\uAC11",
usePasskeyToLoginSmartAccount: "Passkey\uB97C \uC0AC\uC6A9\uD558\uC5EC \uC2A4\uB9C8\uD2B8 \uC9C0\uAC11\uC744 \uB9CC\uB4E4\uAC70\uB098 \uC561\uC138\uC2A4\uD558\uC138\uC694.",
createNewPasskey: "Passkey \uC2A4\uB9C8\uD2B8 \uC9C0\uAC11 \uB9CC\uB4E4\uAE30",
gotWallet: "Passkey\uB85C \uB85C\uADF8\uC778",
requestingPasskey: "\uC5F0\uACB0 \uC694\uCCAD",
passkeyPrompt: "\uC9C0\uC2DC\uC5D0 \uB530\uB77C Passkey\uB97C \uD655\uC778\uD558\uC138\uC694.",
setupPasskeyPrompt: "\uC9C0\uC2DC\uC5D0 \uB530\uB77C Passkey\uB97C \uC124\uC815\uD558\uC138\uC694.",
requestCancelled: "\uB2F9\uC2E0\uC740 \uC694\uCCAD\uC744 \uCDE8\uC18C\uD588\uC2B5\uB2C8\uB2E4.\n\uC704\uC758 \uB9C1\uD06C\uB97C \uD074\uB9AD\uD558\uC5EC \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC2ED\uC2DC\uC624.",
tryAgain: "\uB2E4\uC2DC \uC2DC\uB3C4",
setupPasskey: "Passkey \uC124\uC815",
passkeyStorageInfo: "Passkey\uB294 \uADC0\uD558\uC758 \uC7A5\uCE58\uC5D0 \uC800\uC7A5\uB418\uBA70, \uC624\uC9C1 \uADC0\uD558\uB9CC \uC811\uADFC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",
passkeyDeletionWarning: "\uACBD\uACE0: Passkey\uB97C \uB300\uB7C9 \uC0AD\uC81C\uD560 \uB54C \uC2E4\uC218\uB85C \uC0AD\uC81C\uB418\uB294 \uAC83\uC744 \uBC29\uC9C0\uD558\uAE30 \uC704\uD574 \uC8FC\uC758\uD574 \uC8FC\uC138\uC694.",
convenientAndFast: "\uBE60\uB974\uACE0 \uD3B8\uB9AC\uD568",
biometricTransactionInfo: "Face ID \uB610\uB294 Touch ID\uB97C \uC0AC\uC6A9\uD558\uC5EC \uBE60\uB974\uAC8C \uAC70\uB798\uB97C \uC778\uC99D\uD558\uC138\uC694.",
increasedSecurity: "\uBCF4\uC548 \uAC15\uD654",
passkeySecurityInfo: "Passkey\uB294 \uC7A5\uCE58 \uB610\uB294 \uBE44\uBC00\uBC88\uD638 \uAD00\uB9AC \uD504\uB85C\uADF8\uB7A8\uC5D0\uC11C \uC5D4\uB4DC \uD22C \uC5D4\uB4DC\uB85C \uC554\uD638\uD654\uB418\uC5B4 \uD53C\uC2F1 \uACF5\uACA9\uC744 \uBC29\uC9C0\uD569\uB2C8\uB2E4.",
continueWithSmartWalletPasskey: "Passkey \uC2A4\uB9C8\uD2B8 \uC9C0\uAC11\uC73C\uB85C \uACC4\uC18D\uD558\uAE30",
connectingPasskeyUnavailable: "\uC694\uCCAD \uC2E4\uD328",
connectingPasskeyUnavailableDesc: "\uC5EC\uAE30\uC5D0\uC11C\uB294 Passkey\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E4\uB978 \uB85C\uADF8\uC778 \uBC29\uBC95\uC744 \uC2DC\uB3C4\uD558\uAC70\uB098 \uAE30\uAE30(\uC608: \uBE0C\uB77C\uC6B0\uC800, \uD130\uBBF8\uB110)\uB97C \uBCC0\uACBD\uD574 \uC8FC\uC138\uC694."
};
}
});
// src/locales/zh-CN.json
var zh_CN_default;
var init_zh_CN = __esm({
"src/locales/zh-CN.json"() {
zh_CN_default = {
connectWallet: "\u8FDE\u63A5\u94B1\u5305",
disconnect: "\u65AD\u5F00\u8FDE\u63A5",
connected: "\u5DF2\u8FDE\u63A5",
preferPhone: "\u4F18\u5148\u4F7F\u7528\u624B\u673A\u53F7\u6CE8\u518C\uFF1F",
preferEmail: "\u4F18\u5148\u4F7F\u7528\u90AE\u7BB1\u6CE8\u518C\uFF1F",
usePhone: "\u4F7F\u7528\u624B\u673A\u53F7",
useEmail: "\u4F7F\u7528\u90AE\u7BB1",
signupTitle: "\u767B\u5F55\u6216\u6CE8\u518C",
connectorsTitle: "\u767B\u5F55\u6216\u6CE8\u518C",
captchaTitle: "\u786E\u8BA4\u9A8C\u8BC1\u7801",
walletconnectTitle: "\u8FDE\u63A5",
selectChainTitle: "\u9009\u62E9\u94FE",
viewAllWallets: "\u67E5\u770B\u6240\u6709\u94B1\u5305",
continueWithWallet: "\u4F7F\u7528\u94B1\u5305\u767B\u5F55",
connectingUnavailable: "\u4E0D\u652F\u6301\u7684\u6D4F\u89C8\u5668",
connectingUnavailableDesc: "\u8981\u8FDE\u63A5\u4F60\u7684 {0} \u94B1\u5305\uFF0C\n\u5728 {0} \u4E0A\u5B89\u88C5\u6269\u5C55\u7A0B\u5E8F\u3002",
connectingInstall: "\u5B89\u88C5 {0}",
connectingInstallDesc: "\u8981\u8FDE\u63A5\u4F60\u7684 {0} \u94B1\u5305\uFF0C\n\u5B89\u88C5\u6D4F\u89C8\u5668\u6269\u5C55\u7A0B\u5E8F\u3002",
connectingRequest: "\u8BF7\u6C42\u8FDE\u63A5",
connectingRequestDesc: "\u5728\u94B1\u5305\u5F39\u51FA\u7A97\u53E3\u4E2D\u70B9\u51FB\u8FDE\u63A5\u94B1\u5305\u3002",
connectingConnected: "\u5DF2\u5B8C\u6210\u8FDE\u63A5",
connectingConnectedDesc: "\u73B0\u5728\u53EF\u4EE5\u5173\u95ED\u6B64\u5F39\u51FA\u7A97\u53E3",
connectingRejected: "\u8BF7\u6C42\u5DF2\u53D6\u6D88",
connectingRejectedDesc: "\u4F60\u53D6\u6D88\u4E86\u8BF7\u6C42\u3002\n\u70B9\u51FB\u4E0A\u9762\u7684\u94FE\u63A5\u91CD\u8BD5\u3002",
connectingFailed: "\u8BF7\u6C42\u5931\u8D25",
connectingFailedDesc: "\u51FA\u9519\u4E86\u3002\n\u8BF7\u7A0D\u540E\u5355\u51FB\u4E0A\u9762\u7684\u6309\u94AE\u91CD\u8BD5\u3002",
connectingNotconnected: "\u767B\u5F55\u5230 {0}",
connectingNotconnectedDesc: "\u8BF7\u767B\u5F55\u4F60\u7684 {0} \u3002",
phoneNumber: "\u624B\u673A\u53F7",
email: "\u90AE\u7BB1",
enterEmail: "\u8BF7\u8F93\u5165\u4F60\u7684\u90AE\u7BB1\u3002",
enterValidEmail: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u90AE\u7BB1\u3002",
unknownError: "\u51FA\u73B0\u672A\u77E5\u9519\u8BEF",
verificationCode: "\u5DF2\u53D1\u9001\u9A8C\u8BC1\u7801\u5230",
incorrectCode: "\u4F60\u8F93\u5165\u7684\u9A8C\u8BC1\u7801\u4E0D\u6B63\u786E\uFF0C\u8BF7\u91CD\u8BD5\u3002",
continue: "\u7EE7\u7EED",
didNotReceiveCode: "\u5C1A\u672A\u6536\u5230\u9A8C\u8BC1\u7801\uFF1F",
resendCode: "\u91CD\u65B0\u53D1\u9001\u9A8C\u8BC1\u7801",
enterValidPhoneNumber: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u7535\u8BDD\u53F7\u7801",
somethingWentWrong: "\u51FA\u9519\u4E86\uFF0C\u8BF7\u91CD\u8BD5\u3002",
somethingWentWrongLater: "\u51FA\u9519\u4E86\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002",
emailFormatError: "\u90AE\u7BB1\u683C\u5F0F\u8F93\u5165\u9519\u8BEF",
invalidOrIncorrectNumber: "\u624B\u673A\u53F7\u8F93\u5165\u9519\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165",
recommended: "\u63A8\u8350",
popular: "\u70ED\u95E8",
installed: "\u5DF2\u5B89\u88C5",
lastUsed: "\u4E0A\u6B21\u4F7F\u7528",
multichain: "\u591A\u94FE",
enterPhoneNumber: "\u8BF7\u8F93\u5165\u4F60\u7684\u624B\u673A\u53F7",
copied: "\u5DF2\u590D\u5236",
linkLoginAccount: "\u8FDE\u63A5\u767B\u5F55\u8D26\u6237",
accountAndSecurity: "\u8D26\u6237\u4E0E\u5B89\u5168",
copyQRURI: "\u590D\u5236 QR URI",
getWallet: "\u83B7\u53D6\u94B1\u5305",
scanQRCode: "\u7528\u624B\u673A\u94B1\u5305\u6216\u624B\u673A\u6444\u50CF\u5934\u626B\u63CF\u6B64\u4E8C\u7EF4\u7801\u8FDB\u884C\u8FDE\u63A5",
connect: "\u8FDE\u63A5",
installToConnect: "\u8BF7\u5B89\u88C5 {0} \u540E\u8FDE\u63A5",
selectPreferredOptions: "\u8BF7\u4F7F\u7528\u4E0B\u9762\u4EFB\u610F\u65B9\u5F0F\uFF1A",
installExtension: "\u5B89\u88C5 {0} \u6269\u5C55\u7A0B\u5E8F",
refreshPageOnceInstalled: "\u5B89\u88C5\u540E\u8BF7\u5237\u65B0\u9875\u9762\u3002",
walletSupportsMultipleChains: "\u6B64\u94B1\u5305\u652F\u6301\u591A\u4E2A\u94FE\u3002",
selectChainToConnect: "\u9009\u62E9\u8981\u8FDE\u63A5\u7684\u94FE\u3002",
scanWithPhone: "\u7528\u624B\u673A\u626B\u63CF",
connectingRequestAuthDesc: "\u6388\u6743\u5E76\u767B\u5F55\u3002",
or: "\u6216",
walletOnlyAvailableOnMobile: "\u6B64\u94B1\u5305\u4EC5\u9002\u7528\u4E8E\u624B\u673A\u3002\u7528\u624B\u673A\u626B\u63CF\u6B64\u4E8C\u7EF4\u7801\u4E0B\u8F7D\u6B64\u5E94\u7528\u7A0B\u5E8F\u3002",
installBrowserFirst: "\u4F60\u9700\u8981\u5148\u5B89\u88C5 {0} \u6D4F\u89C8\u5668\uFF0C\u7136\u540E\u4F7F\u7528 {1} \u94B1\u5305\u3002",
wallet: "\u94B1\u5305",
buy: "\u8D2D\u4E70",
switchNetwork: "\u5207\u6362\u7F51\u7EDC",
noData: "\u65E0\u6570\u636E",
receive: "\u63A5\u6536",
send: "\u53D1\u9001",
onlySupport: "\u4EC5\u652F\u6301{0}\u76F8\u5173\u8D44\u4EA7",
copyAddress: "\u590D\u5236\u5730\u5740",
searchByNameOrCode: "\u6309\u56FD\u5BB6\u540D\u79F0\u6216\u4EE3\u7801\u641C\u7D22",
invalidOrIncorrectNumberMistype: "\u65E0\u6548\u6216\u9519\u8BEF\u7684\u53F7\u7801\u3002\u4F60\u662F\u5426\u8F93\u5165\u9519\u8BEF\uFF1F",
networkError: "\u7F51\u7EDC\u9519\u8BEF\uFF0C\u8BF7\u91CD\u8BD5",
invalidCode: "\u9A8C\u8BC1\u7801\u65E0\u6548",
codeDeleted: "\u9A8C\u8BC1\u7801\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u53D1\u9001",
sessionExpired: "\u60A8\u7684\u4F1A\u8BDD\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55\u4EE5\u7EE7\u7EED\u64CD\u4F5C\u3002",
loginWithPasskey: "\u4F7F\u7528Passkey\u767B\u5F55",
usePasskeyToLogin: "Passkey\u667A\u80FD\u94B1\u5305",
usePasskeyToLoginSmartAccount: "\u4F7F\u7528Passkey\u521B\u5EFA\u6216\u8BBF\u95EE\u667A\u80FD\u94B1\u5305\u3002",
createNewPasskey: "\u521B\u5EFAPasskey\u667A\u80FD\u94B1\u5305",
gotWallet: "\u4F7F\u7528Passkey\u767B\u5F55",
requestingPasskey: "\u8BF7\u6C42\u8FDE\u63A5",
passkeyPrompt: "\u6309\u7167\u63D0\u793A\u9A8C\u8BC1\u60A8\u7684Passkey\u3002",
setupPasskeyPrompt: "\u6309\u7167\u63D0\u793A\u8BBE\u7F6EPasskey\u3002",
requestCancelled: "\u4F60\u53D6\u6D88\u4E86\u8BF7\u6C42\u3002\n\u70B9\u51FB\u4E0A\u9762\u7684\u94FE\u63A5\u91CD\u8BD5\u3002",
tryAgain: "\u518D\u8BD5\u4E00\u6B21",
setupPasskey: "\u8BBE\u7F6EPasskey",
passkeyStorageInfo: "Passkey\u5B58\u50A8\u5728\u60A8\u7684\u8BBE\u5907\u4E2D\uFF0C\u4EC5\u60A8\u53EF\u4EE5\u8BBF\u95EE\u3002",
passkeyDeletionWarning: "\u8B66\u544A\uFF1A\u8BF7\u907F\u514D\u6279\u91CF\u6E05\u7406\u548C\u5220\u9664Passkey\uFF0C\u4EE5\u9632\u8BEF\u5220\u3002",
convenientAndFast: "\u5FEB\u901F\u4FBF\u6377",
biometricTransactionInfo: "\u4F7F\u7528Face ID\u6216Touch ID\u5FEB\u901F\u9A8C\u8BC1\u4EA4\u6613\u3002",
increasedSecurity: "\u63D0\u9AD8\u5B89\u5168\u6027",
passkeySecurityInfo: "Passkey\u5728\u60A8\u7684\u8BBE\u5907\u6216\u5BC6\u7801\u7BA1\u7406\u5668\u4E2D\u8FDB\u884C\u7AEF\u5230\u7AEF\u52A0\u5BC6\uFF0C\u4EE5\u9632\u6B62\u7F51\u7EDC\u9493\u9C7C\u653B\u51FB\u3002",
continueWithSmartWalletPasskey: "\u4F7F\u7528Passkey\u667A\u80FD\u94B1\u5305\u7EE7\u7EED",
connectingPasskeyUnavailable: "\u8BF7\u6C42\u5931\u8D25",
connectingPasskeyUnavailableDesc: "\u6B64\u5904Passkey\u4E0D\u53EF\u7528\u3002\u8BF7\u5C1D\u8BD5\u5176\u4ED6\u767B\u5F55\u65B9\u5F0F\u6216\u66F4\u6362\u8BBE\u5907\uFF08\u5982\u6D4F\u89C8\u5668\u3001\u7EC8\u7AEF\uFF09\u3002"
};
}
});
// src/locales/zh-TW.json
var zh_TW_default;
var init_zh_TW = __esm({
"src/locales/zh-TW.json"() {
zh_TW_default = {
connectWallet: "\u9023\u63A5\u9322\u5305",
disconnect: "\u65B7\u958B\u9023\u63A5",
connected: "\u5DF2\u9023\u63A5",
preferPhone: "\u512A\u5148\u4F7F\u7528\u624B\u6A5F\u865F\u6CE8\u518C\uFF1F",
preferEmail: "\u512A\u5148\u4F7F\u7528\u90F5\u7BB1\u6CE8\u518C\uFF1F",
usePhone: "\u4F7F\u7528\u624B\u6A5F\u865F",
useEmail: "\u4F7F\u7528\u90F5\u7BB1",
signupTitle: "\u767B\u5165\u6216\u6CE8\u518C",
connectorsTitle: "\u767B\u5165\u6216\u6CE8\u518C",
captchaTitle: "\u78BA\u8A8D\u9A57\u8B49\u78BC",
walletconnectTitle: "\u9023\u63A5",
selectChainTitle: "\u9078\u64C7\u93C8",
viewAllWallets: "\u67E5\u770B\u6240\u6709\u9322\u5305",
continueWithWallet: "\u4F7F\u7528\u9322\u5305\u767B\u5165",
connectingUnavailable: "\u4E0D\u652F\u6301\u7684\u700F\u89BD\u5668",
connectingUnavailableDesc: "\u8981\u9023\u63A5\u4F60\u7684{0}\u9322\u5305\uFF0C\n\u5728{0}\u4E0A\u5B89\u88DD\u64F4\u5C55\u7A0B\u5F0F\u3002",
connectingInstall: "\u5B89\u88DD{0}",
connectingInstallDesc: "\u8981\u9023\u63A5\u4F60\u7684{0}\u9322\u5305\uFF0C\n\u5B89\u88DD\u700F\u89BD\u5668\u64F4\u5C55\u7A0B\u5F0F\u3002",
connectingRequest: "\u8ACB\u6C42\u9023\u63A5",
connectingRequestDesc: "\u5728\u9322\u5305\u5FEB\u986F\u8996\u7A97\u4E2D\u9EDE\u64CA\u9023\u63A5\u9322\u5305\u3002",
connectingConnected: "\u5DF2\u5B8C\u6210\u9023\u63A5",
connectingConnectedDesc: "\u73FE\u5728\u53EF\u4EE5\u95DC\u9589\u6B64\u5FEB\u986F\u8996\u7A97",
connectingRejected: "\u8ACB\u6C42\u5DF2\u53D6\u6D88",
connectingRejectedDesc: "\u4F60\u53D6\u6D88\u4E86\u8ACB\u6C42\u3002\n\u9EDE\u64CA\u4E0A\u9762\u7684\u9023\u7D50\u91CD\u8A66\u3002 ",
connectingFailed: "\u8ACB\u6C42\u5931\u6557",
connectingFailedDesc: "\u51FA\u932F\u4E86\u3002\n\u8BF7\u7A0D\u5F8C\u9EDE\u64CA\u4E0A\u9762\u7684\u6309\u9215\u91CD\u8A66\u3002",
connectingNotconnected: "\u767B\u5165\u5230{0}",
connectingNotconnectedDesc: "\u8ACB\u767B\u5165\u4F60\u7684{0}\u3002",
phoneNumber: "\u624B\u6A5F\u865F",
email: "\u90F5\u7BB1",
enterEmail: "\u8ACB\u8F38\u5165\u4F60\u7684\u90F5\u7BB1\u3002",
enterValidEmail: "\u8ACB\u8F38\u5165\u6709\u6548\u7684\u90F5\u7BB1\u3002",
unknownError: "\u51FA\u73FE\u672A\u77E5\u932F\u8AA4",
verificationCode: "\u5DF2\u767C\u9001\u9A57\u8B49\u78BC\u5230",
incorrectCode: "\u4F60\u8F38\u5165\u7684\u9A57\u8B49\u78BC\u4E0D\u6B63\u78BA\uFF0C\u8ACB\u91CD\u8A66\u3002",
continue: "\u7E7C\u7E8C",
didNotReceiveCode: "\u5C1A\u672A\u6536\u5230\u9A57\u8B49\u78BC\uFF1F",
resendCode: "\u91CD\u65B0\u767C\u9001\u9A57\u8B49\u78BC",
enterValidPhoneNumber: "\u8ACB\u8F38\u5165\u6709\u6548\u7684\u96FB\u8A71\u865F\u78BC",
somethingWentWrong: "\u51FA\u932F\u4E86\uFF0C\u8ACB\u91CD\u8A66\u3002",
somethingWentWrongLater: "\u51FA\u932F\u4E86\uFF0C\u8ACB\u7A0D\u5F8C\u518D\u8A66\u3002",
emailFormatError: "\u90F5\u7BB1\u683C\u5F0F\u8F38\u5165\u932F\u8AA4",
invalidOrIncorrectNumber: "\u624B\u6A5F\u865F\u8F38\u5165\u932F\u8AA4\uFF0C\u8ACB\u91CD\u65B0\u8F38\u5165",
recommended: "\u63A8\u85A6",
popular: "\u71B1\u9580",
installed: "\u5DF2\u5B89\u88DD",
lastUsed: "\u4E0A\u6B21\u4F7F\u7528",
multichain: "\u591A\u93C8",
enterPhoneNumber: "\u8ACB\u8F38\u5165\u4F60\u7684\u624B\u6A5F\u865F",
copied: "\u5DF2\u8907\u88FD",
linkLoginAccount: "\u9023\u63A5\u767B\u5165\u5E33\u6236",
accountAndSecurity: "\u5E33\u6236\u8207\u5B89\u5168",
copyQRURI: "\u8907\u88FDQR URI",
getWallet: "\u7372\u53D6\u9322\u5305",
scanQRCode: "\u7528\u624B\u6A5F\u9322\u5305\u6216\u624B\u6A5F\u76E3\u8996\u5668\u6383\u63CF\u6B64\u4E8C\u7DAD\u78BC\u9032\u884C\u9023\u63A5",
connect: "\u9023\u63A5",
installToConnect: "\u8ACB\u5B89\u88DD{0}\u5F8C\u9023\u63A5",
selectPreferredOptions: "\u8ACB\u4F7F\u7528\u4E0B\u9EB5\u4EFB\u610F\u7BA1\u9053\uFF1A",
installExtension: "\u5B89\u88DD{0}\u64F4\u5C55\u7A0B\u5F0F",
refreshPageOnceInstalled: "\u5B89\u88DD\u5F8C\u8ACB\u5237\u65B0\u9801\u9762\u3002",
walletSupportsMultipleChains: "\u6B64\u9322\u5305\u652F\u6301\u591A\u500B\u93C8\u3002",
selectChainToConnect: "\u9078\u64C7\u8981\u9023\u63A5\u7684\u93C8\u3002",
scanWithPhone: "\u7528\u624B\u6A5F\u6383\u63CF",
connectingRequestAuthDesc: "\u6388\u6B0A\u4E26\u767B\u5165\u3002",
or: "\u6216",
walletOnlyAvailableOnMobile: "\u6B64\u9322\u5305\u50C5\u9069\u7528\u65BC\u624B\u6A5F\u3002 \u7528\u624B\u6A5F\u6383\u63CF\u6B64\u4E8C\u7DAD\u78BC\u4E0B\u8F09\u6B64\u61C9\u7528\u7A0B\u5E8F\u3002",
installBrowserFirst: "\u4F60\u9700\u8981\u5148\u5B89\u88DD{0}\u700F\u89BD\u5668\uFF0C\u7136\u5F8C\u4F7F\u7528{1}\u9322\u5305\u3002",
wallet: "\u9322\u5305",
buy: "\u8CFC\u8CB7",
switchNetwork: "\u5207\u63DB\u7DB2\u8DEF",
noData: "\u7121\u6578\u64DA",
receive: "\u63A5\u6536",
send: "\u767C\u9001",
onlySupport: "\u50C5\u652F\u6301{0}\u76F8\u95DC\u8CC7\u7522",
copyAddress: "\u8907\u88FD\u5730\u5740",
searchByNameOrCode: "\u6309\u570B\u5BB6\u540D\u7A31\u6216\u4EE3\u78BC\u641C\u7D22",
invalidOrIncorrectNumberMistype: "\u7121\u6548\u6216\u932F\u8AA4\u7684\u865F\u78BC\u3002\u4F60\u662F\u5426\u8F38\u5165\u932F\u8AA4\uFF1F",
networkError: "\u7DB2\u8DEF\u932F\u8AA4\uFF0C\u8ACB\u91CD\u8A66",
invalidCode: "\u9A57\u8B49\u78BC\u7121\u6548",
codeDeleted: "\u9A57\u8B49\u78BC\u5DF2\u904E\u671F\uFF0C\u8ACB\u91CD\u65B0\u767C\u9001",
sessionExpired: "\u60A8\u7684\u6703\u8A71\u5DF2\u904E\u671F\uFF0C\u8ACB\u91CD\u65B0\u767B\u5165\u4EE5\u7E7C\u7E8C\u64CD\u4F5C\u3002",
loginWithPasskey: "\u4F7F\u7528Passkey\u767B\u5165",
usePasskeyToLogin: "Passkey\u667A\u80FD\u9322\u5305",
usePasskeyToLoginSmartAccount: "\u4F7F\u7528Passkey\u5275\u5EFA\u6216\u8A2A\u554F\u667A\u80FD\u9322\u5305\u3002",
createNewPasskey: "\u5275\u5EFAPasskey\u667A\u80FD\u9322\u5305",
gotWallet: "\u4F7F\u7528Passkey\u767B\u5165",
requestingPasskey: "\u8ACB\u6C42\u9023\u63A5",
passkeyPrompt: "\u6309\u7167\u63D0\u793A\u9A8C\u8BC1\u60A8\u7684Passkey\u3002",
setupPasskeyPrompt: "\u6309\u7167\u63D0\u793A\u8BBE\u7F6EPasskey\u3002",
requestCancelled: "\u4F60\u53D6\u6D88\u4E86\u8ACB\u6C42\u3002\n\u9EDE\u64CA\u4E0A\u9762\u7684\u9023\u7D50\u91CD\u8A66\u3002 ",
tryAgain: "\u518D\u8A66\u4E00\u6B21",
setupPasskey: "\u8A2D\u7F6EPasskey",
passkeyStorageInfo: "Passkey\u5B58\u5132\u5728\u