diff --git a/apps/browser-extension-wallet/src/components/MainLoader/MainLoader.tsx b/apps/browser-extension-wallet/src/components/MainLoader/MainLoader.tsx index 2e38db01c1..e05e448b2d 100644 --- a/apps/browser-extension-wallet/src/components/MainLoader/MainLoader.tsx +++ b/apps/browser-extension-wallet/src/components/MainLoader/MainLoader.tsx @@ -5,18 +5,17 @@ import { useTranslation } from 'react-i18next'; import styles from './MainLoader.module.scss'; export interface MainLoaderProps { - text?: string; overlay?: boolean; } -export const MainLoader = ({ text, overlay = false }: MainLoaderProps): React.ReactElement => { +export const MainLoader = ({ overlay = false }: MainLoaderProps): React.ReactElement => { const { t } = useTranslation(); return (

- {text ?? t('general.loading')} + {t('general.loading')}

); diff --git a/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/DropdownMenuOverlay.tsx b/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/DropdownMenuOverlay.tsx index 83c979d10c..ef8d3515ae 100644 --- a/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/DropdownMenuOverlay.tsx +++ b/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/DropdownMenuOverlay.tsx @@ -8,6 +8,8 @@ import { Links, LockWallet, NetworkChoise, + LanguageChoice, + LanguageInfo, RenameWalletDrawer, Separator, SettingsLink, @@ -98,6 +100,11 @@ export const DropdownMenuOverlay: VFC = ({ sendAnalyticsEvent(PostHogAction.UserWalletProfileNetworkClick); }; + const handleLanguageChoice = () => { + setCurrentSection(Sections.Language); + sendAnalyticsEvent(PostHogAction.UserWalletProfileLanguageClick); + }; + const goBackToMainSection = useCallback(() => setCurrentSection(Sections.Main), []); useEffect(() => { @@ -209,6 +216,7 @@ export const DropdownMenuOverlay: VFC = ({ /> )} + {lockWalletButton && ( <> @@ -219,6 +227,7 @@ export const DropdownMenuOverlay: VFC = ({ )} {currentSection === Sections.NetworkInfo && } + {currentSection === Sections.Language && } {currentSection === Sections.WalletAccounts && } {isRenamingWallet && ( setIsRenamingWallet(false)} /> diff --git a/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/components/LanguageChoice.tsx b/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/components/LanguageChoice.tsx new file mode 100644 index 0000000000..6f0a4a1379 --- /dev/null +++ b/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/components/LanguageChoice.tsx @@ -0,0 +1,40 @@ +import React, { useEffect, useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import cn from 'classnames'; +import styles from '../DropdownMenuOverlay.module.scss'; +import { useBackgroundServiceAPIContext } from '@providers'; +import { storage as webStorage } from 'webextension-polyfill'; + +type LanguageChoiceProps = { + onClick: () => void; +}; + +export const LanguageChoice = ({ onClick }: LanguageChoiceProps): React.ReactElement => { + const { t } = useTranslation(); + const { getBackgroundStorage } = useBackgroundServiceAPIContext(); + const [language, setLanguage] = useState(); + + useEffect(() => { + const getLanguage = async () => { + const { languageChoice } = await getBackgroundStorage(); + if (languageChoice) setLanguage(languageChoice); + }; + getLanguage(); + webStorage.onChanged.addListener(getLanguage); + }, [getBackgroundStorage]); + + return ( +
onClick()} + > +
+ {t('browserView.topNavigationBar.links.language')} + + {language || 'en'} + +
+
+ ); +}; diff --git a/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/components/LanguageInfo.tsx b/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/components/LanguageInfo.tsx new file mode 100644 index 0000000000..1c76652aad --- /dev/null +++ b/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/components/LanguageInfo.tsx @@ -0,0 +1,69 @@ +import React, { useCallback, useEffect, useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { NavigationButton, PostHogAction } from '@lace/common'; +import styles from './NetworkInfo.module.scss'; +import { useBackgroundServiceAPIContext } from '@providers'; +import { Radio, RadioChangeEvent } from 'antd'; +import { usePostHogClientContext } from '@providers/PostHogClientProvider'; +import { storage as webStorage } from 'webextension-polyfill'; + +type LanguageChoiceProps = { + onBack: () => void; +}; + +const LANG_CHOICES = ['en', 'ja']; // hardcoding for v1 only + +export const LanguageInfo = ({ onBack }: LanguageChoiceProps): React.ReactElement => { + const { t } = useTranslation(); + const [language, setLanguage] = useState('en'); // default + const posthog = usePostHogClientContext(); + + const { getBackgroundStorage, handleChangeLanguage } = useBackgroundServiceAPIContext(); + + useEffect(() => { + const getLanguage = async () => { + const { languageChoice } = await getBackgroundStorage(); + if (languageChoice) setLanguage(languageChoice); + }; + webStorage.onChanged.addListener(getLanguage); + getLanguage(); + }, [getBackgroundStorage]); + + const handleLanguageChangeRequest = useCallback( + (e: RadioChangeEvent) => { + handleChangeLanguage(e.target.value); + posthog.sendEvent(PostHogAction.UserWalletProfileLanguageSelectClick, { language: e.target.value }); + }, + [handleChangeLanguage, posthog] + ); + + return ( +
+
+ +
+
+
+ {t('browserView.settings.wallet.language.title')} +
+
+ {t('browserView.settings.wallet.language.drawerDescription')} +
+
+
+ + {LANG_CHOICES.map((choice) => ( + + {choice} + + ))} + +
+
+ ); +}; diff --git a/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/components/index.ts b/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/components/index.ts index 83a1cedd44..d5aae19376 100644 --- a/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/components/index.ts +++ b/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/components/index.ts @@ -12,3 +12,5 @@ export * from './NetworkInfo'; export * from './AddNewWalletLink'; export * from './AddNewBitcoinWalletLink'; export * from './RenameWalletDrawer'; +export * from './LanguageInfo'; +export * from './LanguageChoice'; diff --git a/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/types.ts b/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/types.ts index 232d2156ad..6c06239768 100644 --- a/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/types.ts +++ b/apps/browser-extension-wallet/src/components/MainMenu/DropdownMenuOverlay/types.ts @@ -1,5 +1,6 @@ export enum Sections { Main = 'main', NetworkInfo = 'network_info', - WalletAccounts = 'wallet_accounts' + WalletAccounts = 'wallet_accounts', + Language = 'language' } diff --git a/apps/browser-extension-wallet/src/hooks/useAppInit.ts b/apps/browser-extension-wallet/src/hooks/useAppInit.ts index 5db80a87e1..955994171b 100644 --- a/apps/browser-extension-wallet/src/hooks/useAppInit.ts +++ b/apps/browser-extension-wallet/src/hooks/useAppInit.ts @@ -9,6 +9,9 @@ import { setBackgroundStorage } from '@lib/scripts/background/storage'; import { useCustomSubmitApi } from '@hooks/useCustomSubmitApi'; import { bitcoinWalletManager } from '@lib/wallet-api-ui'; import { useCurrentBlockchain } from '@src/multichain'; +import { useBackgroundServiceAPIContext } from '@providers'; +import { initI18n } from '@lace/translation'; +import { Message, MessageTypes } from '@lib/scripts/types'; export const useAppInit = (): void => { const { @@ -26,6 +29,28 @@ export const useAppInit = (): void => { const walletState = useWalletState(); const { environmentName, currentChain } = useWalletStore(); const { getCustomSubmitApiForNetwork } = useCustomSubmitApi(); + const backgroundServices = useBackgroundServiceAPIContext(); + + useEffect(() => { + const subscription = backgroundServices.requestMessage$?.subscribe(({ type, data }: Message): void => { + if (type === MessageTypes.CHANGE_LANGUAGE) { + initI18n(data); + backgroundServices.setBackgroundStorage({ languageChoice: data }); + } + }); + + backgroundServices + .getBackgroundStorage() + .then((bs) => { + initI18n(bs.languageChoice ?? globalThis.navigator.language ?? 'en'); + }) + .catch((error) => { + // eslint-disable-next-line no-console + console.log(error); + }); + + return () => subscription.unsubscribe(); + }, [backgroundServices]); useEffect(() => { setWalletState(walletState); diff --git a/apps/browser-extension-wallet/src/lib/scripts/background/config.ts b/apps/browser-extension-wallet/src/lib/scripts/background/config.ts index 8277d1d129..2dd90e932a 100644 --- a/apps/browser-extension-wallet/src/lib/scripts/background/config.ts +++ b/apps/browser-extension-wallet/src/lib/scripts/background/config.ts @@ -23,6 +23,7 @@ export const backgroundServiceProperties: RemoteApiProperties handleOpenNamiBrowser: RemoteApiPropertyType.MethodReturningPromise, closeAllTabsAndOpenPopup: RemoteApiPropertyType.MethodReturningPromise, handleChangeTheme: RemoteApiPropertyType.MethodReturningPromise, + handleChangeLanguage: RemoteApiPropertyType.MethodReturningPromise, handleChangeMode: RemoteApiPropertyType.MethodReturningPromise, clearBackgroundStorage: RemoteApiPropertyType.MethodReturningPromise, getBackgroundStorage: RemoteApiPropertyType.MethodReturningPromise, diff --git a/apps/browser-extension-wallet/src/lib/scripts/background/services/utilityServices.ts b/apps/browser-extension-wallet/src/lib/scripts/background/services/utilityServices.ts index 1cf1b1d83d..11bff277af 100644 --- a/apps/browser-extension-wallet/src/lib/scripts/background/services/utilityServices.ts +++ b/apps/browser-extension-wallet/src/lib/scripts/background/services/utilityServices.ts @@ -42,6 +42,7 @@ import { POPUP_WINDOW_NAMI_TITLE } from '@utils/constants'; import { catchAndBrandExtensionApiError } from '@utils/catch-and-brand-extension-api-error'; import { initCardanoTokenPrices } from './cardanoTokenPrices'; import { pollController$ } from '../session/poll-controller'; +import { Language } from '@lace/translation'; export const requestMessage$ = new Subject(); export const backendFailures$ = new BehaviorSubject(0); @@ -181,6 +182,8 @@ const closeAllTabsAndOpenPopup = async () => { const handleChangeTheme = (data: ChangeThemeData) => requestMessage$.next({ type: MessageTypes.CHANGE_THEME, data }); +const handleChangeLanguage = (data: Language) => requestMessage$.next({ type: MessageTypes.CHANGE_LANGUAGE, data }); + const handleChangeMode = (data: ChangeModeData) => requestMessage$.next({ type: MessageTypes.CHANGE_MODE, data }); const { ADA_PRICE_CHECK_INTERVAL, SAVED_PRICE_DURATION } = config(); @@ -352,6 +355,7 @@ export const exposeBackgroundService = (wallet$: Observable): void migrationState$, coinPrices, handleChangeTheme, + handleChangeLanguage, handleChangeMode, clearBackgroundStorage, getBackgroundStorage, diff --git a/apps/browser-extension-wallet/src/lib/scripts/types/background-service.ts b/apps/browser-extension-wallet/src/lib/scripts/types/background-service.ts index f95e4cd541..9175034986 100644 --- a/apps/browser-extension-wallet/src/lib/scripts/types/background-service.ts +++ b/apps/browser-extension-wallet/src/lib/scripts/types/background-service.ts @@ -3,6 +3,7 @@ import { themes } from '@providers/ThemeProvider'; import { BackgroundStorage, MigrationState } from './storage'; import { CoinPrices } from './prices'; import type { clearBackgroundStorage } from '../background/storage'; +import { Language } from '@lace/translation'; export enum BaseChannels { BACKGROUND_ACTIONS = 'background-actions' @@ -31,7 +32,8 @@ export enum MessageTypes { HTTP_CONNECTION = 'http-connnection', WS_CONNECTION = 'ws-connnection', OPEN_COLLATERAL_SETTINGS = 'open-collateral-settings', - CHANGE_MODE = 'change-mode' + CHANGE_MODE = 'change-mode', + CHANGE_LANGUAGE = 'change-language' } export enum BrowserViewSections { @@ -84,12 +86,22 @@ interface ChangeMode { type: MessageTypes.CHANGE_MODE; data: ChangeModeData; } +interface ChangeThemeMessage { + type: MessageTypes.CHANGE_THEME; + data: ChangeThemeData; +} + +interface ChangeLanguageMessage { + type: MessageTypes.CHANGE_LANGUAGE; + data: Language; +} export type Message = | ChangeThemeMessage | HTTPConnectionMessage | WSConnectionMessage | OpenBrowserMessage - | ChangeMode; + | ChangeMode + | ChangeLanguageMessage; export type UnhandledError = { type: 'error' | 'unhandledrejection'; @@ -104,6 +116,7 @@ export type BackgroundService = { migrationState$: BehaviorSubject; coinPrices: CoinPrices; handleChangeTheme: (data: ChangeThemeData) => void; + handleChangeLanguage: (data: Language) => void; handleChangeMode: (data: ChangeModeData) => void; setBackgroundStorage: (data: BackgroundStorage) => Promise; getBackgroundStorage: () => Promise; diff --git a/apps/browser-extension-wallet/src/lib/scripts/types/storage.ts b/apps/browser-extension-wallet/src/lib/scripts/types/storage.ts index 7d0de03948..b612fbbccb 100644 --- a/apps/browser-extension-wallet/src/lib/scripts/types/storage.ts +++ b/apps/browser-extension-wallet/src/lib/scripts/types/storage.ts @@ -8,6 +8,7 @@ import { RawFeatureFlagPayloads } from '@lib/scripts/types/feature-flags'; import { LogLevelString } from '@lace/common'; +import { Language } from '@lace/translation'; export interface PendingMigrationState { from: string; @@ -49,6 +50,7 @@ export interface BackgroundStorage { dappInjectCompatibilityMode?: boolean; optedInBeta?: boolean; logLevel?: LogLevelString; + languageChoice?: Language; } export type BackgroundStorageKeys = keyof BackgroundStorage; diff --git a/apps/browser-extension-wallet/src/views/bitcoin-mode/features/activity/components/Activity.tsx b/apps/browser-extension-wallet/src/views/bitcoin-mode/features/activity/components/Activity.tsx index 57b8c2f82d..cf0dc763b7 100644 --- a/apps/browser-extension-wallet/src/views/bitcoin-mode/features/activity/components/Activity.tsx +++ b/apps/browser-extension-wallet/src/views/bitcoin-mode/features/activity/components/Activity.tsx @@ -173,7 +173,7 @@ export const Activity = (): React.ReactElement => { id: transaction.transactionHash, formattedTimestamp: transaction.status === Bitcoin.TransactionStatus.Pending - ? 'PENDING' + ? t('browserView.activity.entry.name.pending') : formattedTimestamp(new Date(transaction.timestamp * 1000)), amount: `${new BigNumber(net.toString()).dividedBy(100_000_000).toFixed(8, BigNumber.ROUND_HALF_UP)} BTC`, fiatAmount: `${computeBalance(Number(net) / SATS_IN_BTC, fiatCurrency.code, bitcoinPrice)} ${ @@ -194,7 +194,7 @@ export const Activity = (): React.ReactElement => { items }; }); - }, [addresses, recentTransactions, bitcoinPrice, explorerBaseUrl, pendingTransaction, fiatCurrency]); + }, [addresses, recentTransactions, bitcoinPrice, explorerBaseUrl, pendingTransaction, fiatCurrency, t]); const isLoading = addresses.length === 0 || explorerBaseUrl.length === 0 || currentCursor === null || !activityFetched; diff --git a/apps/browser-extension-wallet/src/views/bitcoin-mode/features/multi-wallet/restore-wallet/steps/EnterPgpPrivateKey.tsx b/apps/browser-extension-wallet/src/views/bitcoin-mode/features/multi-wallet/restore-wallet/steps/EnterPgpPrivateKey.tsx index 3d23758716..77c8355257 100644 --- a/apps/browser-extension-wallet/src/views/bitcoin-mode/features/multi-wallet/restore-wallet/steps/EnterPgpPrivateKey.tsx +++ b/apps/browser-extension-wallet/src/views/bitcoin-mode/features/multi-wallet/restore-wallet/steps/EnterPgpPrivateKey.tsx @@ -19,6 +19,7 @@ import { TextArea } from '@lace/common'; import { ShieldedPgpKeyData } from '@src/types'; import { useWalletOnboarding } from '../../walletOnboardingContext'; import { useAnalyticsContext } from '@providers'; +import { useTranslation } from 'react-i18next'; interface Validation { error?: string; @@ -53,6 +54,7 @@ const decryptQrCodeMnemonicWithPrivateKey = async ({ pgpInfo }: DecryptProps): P }; export const EnterPgpPrivateKey: VFC = () => { + const { t } = useTranslation(); const { postHogActions } = useWalletOnboarding(); const analytics = useAnalyticsContext(); const { back, createWalletData, next, pgpInfo, setPgpInfo, setMnemonic } = useRestoreWallet(); @@ -74,7 +76,7 @@ export const EnterPgpPrivateKey: VFC = () => { pgpPrivateKey: e.target.value, privateKeyIsDecrypted: privateKey.isDecrypted() }); - setValidation({ success: 'valid PGP private key' }); + setValidation({ success: t('pgp.validPrivateKey') }); } catch (error) { if (error.message === 'Misformed armored text') { setValidation({ error: i18n.t('pgp.error.misformedArmoredText') }); @@ -84,7 +86,7 @@ export const EnterPgpPrivateKey: VFC = () => { } } }, - [setValidation, pgpInfo, setPgpInfo] + [setValidation, pgpInfo, setPgpInfo, t] ); const handleNext = () => { @@ -127,7 +129,7 @@ export const EnterPgpPrivateKey: VFC = () => { pgpPrivateKey: fileinfo as string, privateKeyIsDecrypted: pk.isDecrypted() }); - setValidation({ error: null, success: 'valid PGP private key' }); + setValidation({ error: null, success: t('pgp.validPrivateKey') }); setPrivateKeyFile(keyFile?.name); }) .catch((error) => { @@ -145,7 +147,7 @@ export const EnterPgpPrivateKey: VFC = () => { setValidation({ error: error.message }); } }, - [setValidation, setPrivateKeyFile, setPgpInfo, pgpInfo] + [setValidation, setPrivateKeyFile, setPgpInfo, pgpInfo, t] ); useEffect(() => { diff --git a/apps/browser-extension-wallet/src/views/bitcoin-mode/features/multi-wallet/restore-wallet/steps/ScanShieldedMessage.tsx b/apps/browser-extension-wallet/src/views/bitcoin-mode/features/multi-wallet/restore-wallet/steps/ScanShieldedMessage.tsx index 8c72014b52..dfb64080da 100644 --- a/apps/browser-extension-wallet/src/views/bitcoin-mode/features/multi-wallet/restore-wallet/steps/ScanShieldedMessage.tsx +++ b/apps/browser-extension-wallet/src/views/bitcoin-mode/features/multi-wallet/restore-wallet/steps/ScanShieldedMessage.tsx @@ -18,7 +18,7 @@ import { } from '@input-output-hk/lace-ui-toolkit'; import { i18n } from '@lace/translation'; import jsQR, { QRCode } from 'jsqr'; -import { Trans } from 'react-i18next'; +import { Trans, useTranslation } from 'react-i18next'; import styles from './ScanShieldedMessage.module.scss'; import cn from 'classnames'; import { useAnalyticsContext } from '@providers'; @@ -46,6 +46,7 @@ interface ByteChunk { type ScannedCode = [ByteChunk, ByteChunk, ByteChunk]; export const ScanShieldedMessage: VFC = () => { + const { t } = useTranslation(); const { postHogActions } = useWalletOnboarding(); const analytics = useAnalyticsContext(); const { back, next, pgpInfo, setPgpInfo, setWalletMetadata } = useRestoreWallet(); @@ -59,7 +60,7 @@ export const ScanShieldedMessage: VFC = () => { const endVideoTracks = () => { if (streamRef.current) { - streamRef.current.getVideoTracks().forEach((t) => t.stop()); + streamRef.current.getVideoTracks().forEach((track) => track.stop()); streamRef.current = null; } }; @@ -155,7 +156,7 @@ export const ScanShieldedMessage: VFC = () => { // User may have scanned the wallet address QR code if (Wallet.Cardano.Address.fromString(code.data)) { setValidation({ - error: { title: 'Wrong QR code identified', description: 'Scan paper wallet private QR code' } + error: { title: t('pgp.wrongQrCodeHeading'), description: t('pgp.scanWalletPrivateQrCode') } }); void analytics.sendEventToPostHog(postHogActions.restore.SCAN_QR_CODE_READ_ERROR); } else if (isCodeDataCorrectFormatForPaperWallet) { @@ -164,12 +165,14 @@ export const ScanShieldedMessage: VFC = () => { next(); // Immediately move to next step } else { - setValidation({ error: { title: 'Unidentified QR code', description: 'Scan your Lace paper wallet' } }); + setValidation({ + error: { title: t('pgp.unidentifiedQrCodeHeading'), description: t('pgp.scanWalletPrivateQrCode') } + }); await analytics.sendEventToPostHog(postHogActions.restore.SCAN_QR_CODE_READ_ERROR); } setScanState('scanning'); }, - [next, setValidation, setScanState, onScanSuccess, analytics, postHogActions.restore.SCAN_QR_CODE_READ_ERROR] + [next, setValidation, setScanState, onScanSuccess, analytics, postHogActions.restore.SCAN_QR_CODE_READ_ERROR, t] ); useEffect(() => { diff --git a/apps/browser-extension-wallet/src/views/bitcoin-mode/features/multi-wallet/restore-wallet/steps/WalletOverview.tsx b/apps/browser-extension-wallet/src/views/bitcoin-mode/features/multi-wallet/restore-wallet/steps/WalletOverview.tsx index e76c36091e..d6e69209cb 100644 --- a/apps/browser-extension-wallet/src/views/bitcoin-mode/features/multi-wallet/restore-wallet/steps/WalletOverview.tsx +++ b/apps/browser-extension-wallet/src/views/bitcoin-mode/features/multi-wallet/restore-wallet/steps/WalletOverview.tsx @@ -26,6 +26,7 @@ import styles from './WalletOverview.module.scss'; import { useAnalyticsContext } from '@providers'; import { useWalletOnboarding } from '../../walletOnboardingContext'; import { useFetchCoinPrice } from '@hooks'; +import { useTranslation } from 'react-i18next'; const TOAST_DEFAULT_DURATION = 3; @@ -34,6 +35,7 @@ const handleOpenCoingeckoLink = () => { }; export const WalletOverview = (): JSX.Element => { + const { t } = useTranslation(); const coinPricing = useFetchCoinPrice(); const { postHogActions } = useWalletOnboarding(); const analytics = useAnalyticsContext(); @@ -136,10 +138,10 @@ export const WalletOverview = (): JSX.Element => { let subtitle = `${Wallet.util.lovelacesToAdaString(walletBalances.ada.toString())} ${adaSymbol}`; if (walletBalances.otherItems.size > 0) { - subtitle += ` +${walletBalances.otherItems.size} other asset(s)`; + subtitle += ` +${walletBalances.otherItems.size} ${t('generic.otherAssets')}`; } return subtitle; - }, [walletBalances.ada, walletBalances.otherItems, walletMetadata.chain, walletBalances.fetched, isLoading]); + }, [walletBalances.ada, walletBalances.otherItems, walletMetadata.chain, walletBalances.fetched, isLoading, t]); return ( void; @@ -101,13 +94,23 @@ export const SendStepOne: React.FC = ({ const [feeRate, setFeeRate] = useState(1); const handleResolver = useHandleResolver(); + const fees: RecommendedFee[] = useMemo( + () => [ + { key: 'fast', label: t('bitcoinSendMode.fee.high'), feeRate: 10, estimatedTime: '~10 min' }, + { key: 'standard', label: t('bitcoinSendMode.fee.average'), feeRate: 5, estimatedTime: '~30 min' }, + { key: 'slow', label: t('bitcoinSendMode.fee.slow'), feeRate: 1, estimatedTime: '~60 min' }, + { key: 'custom', label: t('bitcoinSendMode.fee.custom'), estimatedTime: '~?? min' } + ], + [t] + ); + const getFees = useCallback( () => fees.map((fee) => ({ ...fee, feeRate: fee.key !== 'custom' ? feeMarkets?.[fee.key]?.feeRate || fee.feeRate : fee.feeRate })), - [feeMarkets] + [feeMarkets, fees] ); const [handleVerificationState, setHandleVerificationState] = useState(); @@ -332,11 +335,7 @@ export const SendStepOne: React.FC = ({ {isPopupView && {t('browserView.transaction.send.title')}} {hasUtxosInMempool && ( - + )} = ({ setIsSummaryOpen(!isSummaryOpen)} open={isSummaryOpen} - title="Transaction hash" + title={t('generic.transactionHash')} plain > diff --git a/apps/browser-extension-wallet/src/views/browser-view/features/dapp/ui/components/filters/search/Search.component.tsx b/apps/browser-extension-wallet/src/views/browser-view/features/dapp/ui/components/filters/search/Search.component.tsx index 583be2dbf8..689a9afc57 100644 --- a/apps/browser-extension-wallet/src/views/browser-view/features/dapp/ui/components/filters/search/Search.component.tsx +++ b/apps/browser-extension-wallet/src/views/browser-view/features/dapp/ui/components/filters/search/Search.component.tsx @@ -1,5 +1,6 @@ import { SearchBox } from '@input-output-hk/lace-ui-toolkit'; import React, { useEffect, useState } from 'react'; +import { useTranslation } from 'react-i18next'; type SearchProps = { onChange?: (value: string) => void; @@ -8,10 +9,11 @@ type SearchProps = { export const Search: React.FC = ({ onChange, initialValue = '' }) => { const [searchValue, setSearchValue] = useState(initialValue); + const { t } = useTranslation(); useEffect(() => onChange?.(searchValue), [onChange, searchValue]); return ( setSearchValue('')} diff --git a/apps/browser-extension-wallet/src/views/browser-view/features/multi-wallet/restore-wallet/steps/EnterPgpPrivateKey.tsx b/apps/browser-extension-wallet/src/views/browser-view/features/multi-wallet/restore-wallet/steps/EnterPgpPrivateKey.tsx index 3d23758716..77c8355257 100644 --- a/apps/browser-extension-wallet/src/views/browser-view/features/multi-wallet/restore-wallet/steps/EnterPgpPrivateKey.tsx +++ b/apps/browser-extension-wallet/src/views/browser-view/features/multi-wallet/restore-wallet/steps/EnterPgpPrivateKey.tsx @@ -19,6 +19,7 @@ import { TextArea } from '@lace/common'; import { ShieldedPgpKeyData } from '@src/types'; import { useWalletOnboarding } from '../../walletOnboardingContext'; import { useAnalyticsContext } from '@providers'; +import { useTranslation } from 'react-i18next'; interface Validation { error?: string; @@ -53,6 +54,7 @@ const decryptQrCodeMnemonicWithPrivateKey = async ({ pgpInfo }: DecryptProps): P }; export const EnterPgpPrivateKey: VFC = () => { + const { t } = useTranslation(); const { postHogActions } = useWalletOnboarding(); const analytics = useAnalyticsContext(); const { back, createWalletData, next, pgpInfo, setPgpInfo, setMnemonic } = useRestoreWallet(); @@ -74,7 +76,7 @@ export const EnterPgpPrivateKey: VFC = () => { pgpPrivateKey: e.target.value, privateKeyIsDecrypted: privateKey.isDecrypted() }); - setValidation({ success: 'valid PGP private key' }); + setValidation({ success: t('pgp.validPrivateKey') }); } catch (error) { if (error.message === 'Misformed armored text') { setValidation({ error: i18n.t('pgp.error.misformedArmoredText') }); @@ -84,7 +86,7 @@ export const EnterPgpPrivateKey: VFC = () => { } } }, - [setValidation, pgpInfo, setPgpInfo] + [setValidation, pgpInfo, setPgpInfo, t] ); const handleNext = () => { @@ -127,7 +129,7 @@ export const EnterPgpPrivateKey: VFC = () => { pgpPrivateKey: fileinfo as string, privateKeyIsDecrypted: pk.isDecrypted() }); - setValidation({ error: null, success: 'valid PGP private key' }); + setValidation({ error: null, success: t('pgp.validPrivateKey') }); setPrivateKeyFile(keyFile?.name); }) .catch((error) => { @@ -145,7 +147,7 @@ export const EnterPgpPrivateKey: VFC = () => { setValidation({ error: error.message }); } }, - [setValidation, setPrivateKeyFile, setPgpInfo, pgpInfo] + [setValidation, setPrivateKeyFile, setPgpInfo, pgpInfo, t] ); useEffect(() => { diff --git a/apps/browser-extension-wallet/src/views/browser-view/features/multi-wallet/restore-wallet/steps/WalletOverview.tsx b/apps/browser-extension-wallet/src/views/browser-view/features/multi-wallet/restore-wallet/steps/WalletOverview.tsx index e76c36091e..d6e69209cb 100644 --- a/apps/browser-extension-wallet/src/views/browser-view/features/multi-wallet/restore-wallet/steps/WalletOverview.tsx +++ b/apps/browser-extension-wallet/src/views/browser-view/features/multi-wallet/restore-wallet/steps/WalletOverview.tsx @@ -26,6 +26,7 @@ import styles from './WalletOverview.module.scss'; import { useAnalyticsContext } from '@providers'; import { useWalletOnboarding } from '../../walletOnboardingContext'; import { useFetchCoinPrice } from '@hooks'; +import { useTranslation } from 'react-i18next'; const TOAST_DEFAULT_DURATION = 3; @@ -34,6 +35,7 @@ const handleOpenCoingeckoLink = () => { }; export const WalletOverview = (): JSX.Element => { + const { t } = useTranslation(); const coinPricing = useFetchCoinPrice(); const { postHogActions } = useWalletOnboarding(); const analytics = useAnalyticsContext(); @@ -136,10 +138,10 @@ export const WalletOverview = (): JSX.Element => { let subtitle = `${Wallet.util.lovelacesToAdaString(walletBalances.ada.toString())} ${adaSymbol}`; if (walletBalances.otherItems.size > 0) { - subtitle += ` +${walletBalances.otherItems.size} other asset(s)`; + subtitle += ` +${walletBalances.otherItems.size} ${t('generic.otherAssets')}`; } return subtitle; - }, [walletBalances.ada, walletBalances.otherItems, walletMetadata.chain, walletBalances.fetched, isLoading]); + }, [walletBalances.ada, walletBalances.otherItems, walletMetadata.chain, walletBalances.fetched, isLoading, t]); return ( - Import transaction - - To co-sign a transaction initiated by another shared wallet member, upload the transaction JSON file you - received. - + {t('core.sharedWallets.importTransaction')} + {t('core.sharedWallets.importTransactionDescription')} setLoadedFileName('')} /> diff --git a/packages/core/src/ui/components/AssetSelector/AssetSelectorOverlay.tsx b/packages/core/src/ui/components/AssetSelector/AssetSelectorOverlay.tsx index f75e5b15ab..aa65fdf1e9 100644 --- a/packages/core/src/ui/components/AssetSelector/AssetSelectorOverlay.tsx +++ b/packages/core/src/ui/components/AssetSelector/AssetSelectorOverlay.tsx @@ -168,7 +168,7 @@ export const AssetSelectorOverlay = ({ setValue(''); }} withSearchIcon - inputPlaceholder="Search by ID or name" + inputPlaceholder={t('core.asset.searchPlaceholder')} onChange={handleSearch} value={value} onFocus={() => setFocus(true)} diff --git a/packages/core/src/ui/components/Nft/NftDetail.tsx b/packages/core/src/ui/components/Nft/NftDetail.tsx index e33ae9e467..bdc4f084c8 100644 --- a/packages/core/src/ui/components/Nft/NftDetail.tsx +++ b/packages/core/src/ui/components/Nft/NftDetail.tsx @@ -8,6 +8,7 @@ import { FolderOutlined, RightOutlined } from '@ant-design/icons'; import { Box, ControlButton, Flex } from '@input-output-hk/lace-ui-toolkit'; import { ReactComponent as ProfileIcon } from '../../assets/icons/profile-icon.component.svg'; import { ReactComponent as PrintNftIcon } from '../../assets/icons/print-nft.component.svg'; +import { useTranslation } from 'react-i18next'; export interface NftDetailProps { title?: ReactNode; @@ -43,80 +44,86 @@ export const NftDetail = ({ onSetAsAvatar, onPrintNft, isPopup -}: NftDetailProps): React.ReactElement => ( -
- {title} -
-
- {Number(amount) > 1 && ( -
- {amount} -
- )} - +}: NftDetailProps): React.ReactElement => { + const { t } = useTranslation(); + const rootKey = t('core.nftFolderName.root'); + return ( +
+ {title} +
+
+ {Number(amount) > 1 && ( +
+ {amount} +
+ )} + +
-
- - } - onClick={() => image && onSetAsAvatar?.(image)} - data-testid="nft-set-as-avatar-button" - /> - {onPrintNft && ( + } - onClick={() => onPrintNft()} - data-testid="nft-print-button" + label={translations.setAsAvatar} + icon={} + onClick={() => image && onSetAsAvatar?.(image)} + data-testid="nft-set-as-avatar-button" /> - )} - -
-
-

{translations.tokenInformation}

- ${folder}` : 'Root', - renderValueAs: !isPopup ? ( - }> - - - Root - - {folder && ( + {onPrintNft && ( + } + onClick={() => onPrintNft()} + data-testid="nft-print-button" + /> + )} + +
+
+

{translations.tokenInformation}

+ ${folder}` : rootKey, + renderValueAs: !isPopup ? ( + }> - + + Root - )} - - ) : ( - - Root - {folder && {'>'}} - {folder && } - - ) - } - ]} - /> + {folder && ( + + + + )} + + ) : ( + + {rootKey} + {folder && {'>'}} + {folder && ( + + )} + + ) + } + ]} + /> +
+ {attributes && ( + <> +
+
+

{translations.attributes}

+ +
+ + )}
- {attributes && ( - <> -
-
-

{translations.attributes}

- -
- - )}
-
-); + ); +}; diff --git a/packages/staking/src/features/Drawer/preferences/PoolDetailsCard/PoolDetailsCard.tsx b/packages/staking/src/features/Drawer/preferences/PoolDetailsCard/PoolDetailsCard.tsx index b8d6b7184a..082386c1ec 100644 --- a/packages/staking/src/features/Drawer/preferences/PoolDetailsCard/PoolDetailsCard.tsx +++ b/packages/staking/src/features/Drawer/preferences/PoolDetailsCard/PoolDetailsCard.tsx @@ -80,9 +80,11 @@ export const PoolDetailsCard = ({ /> - Edit saved ratio + + {t('details.editSavedRatio')} + - Ratio + {t('details.ratio')} { + const code = String(input).toLowerCase(); + const base = code.split(/[_-]/)[0]; // "en-GB" -> "en", "ja-JP" -> "ja" + switch (base) { + case 'en': { + return Language.en; + } + case 'ja': { + return Language.ja; + } + default: { + return DEFAULT_LANG; + } + } +}; + +export const initI18n = async ( + lang?: Language | string, +): Promise => { + const resolved = normalizeNavigatorLanguage(lang ?? DEFAULT_LANG); + + if (i18n.isInitialized) { + return i18n.changeLanguage(resolved).then(() => i18n); + } + + return i18n + .use(initReactI18next) + .init({ + lng: resolved, + fallbackLng: DEFAULT_LANG, + resources, + supportedLngs: Object.values(Language) as string[], + nonExplicitSupportedLngs: true, + lowerCaseLng: true, + interpolation: { escapeValue: false }, + react: { + useSuspense: false, + transSupportBasicHtmlNodes: true, + }, + }) + .then(() => i18n); +}; + i18n.use(initReactI18next).init({ fallbackLng: DEFAULT_LANG, interpolation: { diff --git a/packages/translation/src/lib/translations/browser-extension-wallet/en.json b/packages/translation/src/lib/translations/browser-extension-wallet/en.json index d8c9541d73..5c552d107a 100644 --- a/packages/translation/src/lib/translations/browser-extension-wallet/en.json +++ b/packages/translation/src/lib/translations/browser-extension-wallet/en.json @@ -155,7 +155,6 @@ "browserView.assets.topupWallet.disclaimer.full.part1": "If you click the “CONTINUE” button below, you will be redirected to Banxa's website and you also understand and acknowledge that Lace is not responsible for the services provided by Banxa (a third-party service provider) or on", "browserView.assets.topupWallet.disclaimer.full.part2": "Please contact Banxa for all questions and support inquiries regarding services provided by Banxa or on", "browserView.assets.topupWallet.disclaimer.full.banxaLinkCaption": "Banxa’s website", - "browserView.assets.topupWallet.modal.content": "", "browserView.assets.topupWallet.modal.continue": "Continue", "browserView.assets.topupWallet.modal.goBack": "Go Back", "browserView.assets.topupWallet.modal.title": "You’re leaving Lace for Banxa", @@ -370,8 +369,10 @@ "browserView.settings.wallet.midnight.prelaunch.title": "Midnight Token Distribution", "browserView.settings.wallet.network.description": "Switch from mainnet to testnet", "browserView.settings.wallet.network.drawerDescription": "Select the network you would like your wallet to operate on.", + "browserView.settings.wallet.language.drawerDescription": "Select the language you want to use.", "browserView.settings.wallet.network.networkSwitched": "Switched network", "browserView.settings.wallet.network.title": "Network", + "browserView.settings.wallet.language.title": "Language", "browserView.settings.wallet.title": "Wallet", "browserView.settings.wallet.walletSync.ctaLabel": "Sync", "browserView.settings.wallet.walletSync.description": "Sync new addresses of your HD wallet. This may be needed if you're using other HD wallets at the same time as Lace", @@ -391,6 +392,7 @@ "browserView.sideMenu.links.voting": "Voting Center", "browserView.sideMenu.mode.dark": "Dark mode", "browserView.sideMenu.mode.light": "Light mode", + "browserView.sideMenu.mode.language": "Language", "browserView.sidePanel.aboutStaking": "About staking", "browserView.sidePanel.aboutYourWallet": "About your wallet", "browserView.sidePanel.learnAbout": "Learn about", @@ -478,6 +480,7 @@ "browserView.staking.title": "Staking", "browserView.topNavigationBar.links.lockWallet": "Lock wallet", "browserView.topNavigationBar.links.network": "Network", + "browserView.topNavigationBar.links.language": "Language", "browserView.topNavigationBar.links.settings": "Settings", "browserView.topNavigationBar.links.signMessage": "Sign message", "browserView.topNavigationBar.walletStatus.notSyncedToTheBlockchain": "Not synced to the blockchain", @@ -959,5 +962,19 @@ "paperWallet.SettingsDrawer.passphraseStage.subtitle": "This is the password you use to unlock your wallet and make transactions", "dapp.connector.btc.error.title": "Bitcoin Wallet", "dapp.connector.btc.error.description": "DApp connector for Bitcoin wallet is not supported in this version of the extension.", - "dapp.connector.btc.error.closeButton": "Close" + "dapp.connector.btc.error.closeButton": "Close", + "languageChoice.english": "English", + "languageChoice.japanese": "Japanese", + "asset.searchPlaceholder": "Search by ID or name", + "bitcoinSendMode.fee.high": "High", + "bitcoinSendMode.fee.average": "Average", + "bitcoinSendMode.fee.slow": "Slow", + "bitcoinSendMode.fee.custom": "Custom", + "bitcoinSendMode.previousTxSendError": "You cannot send transactions while previous transactions are still pending.", + "pgp.validPrivateKey": "valid PGP private key", + "generic.otherAssets": "other asset(s)", + "pgp.wrongQrCodeHeading": "Wrong QR code identified", + "pgp.scanWalletPrivateQrCode": "Scan paper wallet private QR code", + "pgp.unidentifiedQrCodeHeading": "Unidentified QR code", + "generic.transactionHash": "Transaction hash" } diff --git a/packages/translation/src/lib/translations/browser-extension-wallet/ja.json b/packages/translation/src/lib/translations/browser-extension-wallet/ja.json new file mode 100644 index 0000000000..71c0d5c8a9 --- /dev/null +++ b/packages/translation/src/lib/translations/browser-extension-wallet/ja.json @@ -0,0 +1,958 @@ +{ + "account.disable.cancel": "キャンセル", + "account.disable.confirm": "無効にする", + "account.disable.description": "このアカウントを無効にしますか。あとで再度有効にすることもできます", + "account.disable.title": "お待ちください", + "account.edit.title": "アカウント名を編集", + "account.edit.input.label": "アカウント名", + "account.edit.footer.save": "保存", + "account.edit.footer.cancel": "キャンセル", + "account.enable.title": "アカウントを有効にする", + "account.enable.inMemory.headline": "操作を確認", + "account.enable.inMemory.description": "パスワードを入力して、この操作を確認してください。", + "account.enable.inMemory.passwordPlaceholder": "パスワード", + "account.enable.inMemory.wrongPassword": "パスワードが間違っています", + "account.enable.inMemory.cancel": "キャンセル", + "account.enable.inMemory.confirm": "確認", + "account.enable.hw.headline": "ハードウェアウォレットで確認", + "account.enable.hw.description": "デバイスを接続してロックを解除してください。その後、指示に従って操作を確認してください。", + "account.enable.hw.errorHeadline": "エラーが発生しました", + "account.enable.hw.errorDescription": "デバイスが正しく接続され、ロックが解除されていることを確認してください。", + "account.enable.hw.errorHelpLink": "お困りですか。", + "account.enable.hw.buttons.waiting": "{{device}}を待っています", + "account.enable.hw.buttons.signing": "署名中", + "account.enable.hw.buttons.cancel": "キャンセル", + "account.enable.hw.buttons.tryAgain": "もう一度試してください", + "dappdiscovery.side_panel.about_this_dapp": "このDAppについて", + "dappdiscovery.side_panel.gallery": "ギャラリー", + "dappdiscovery.side_panel.more_details": "詳細を見る", + "dappdiscovery.side_panel.summary": "概要", + "dappdiscovery.side_panel.dapp_description": "DAppの説明", + "dappdiscovery.side_panel.contact": "連絡先", + "dappdiscovery.side_panel.email": "メールアドレス", + "dappdiscovery.side_panel.company_website": "企業ウェブサイト", + "dappdiscovery.side_panel.social_links": "ソーシャルリンク", + "dappdiscovery.show_all": "すべて表示", + "dappdiscovery.empty_state.no_dapps_title": "使用可能なDAppsがありません", + "dappdiscovery.empty_state.no_dapps_content1": "現在、条件に一致するDAppがありません。", + "dappdiscovery.empty_state.no_dapps_content2": "状況は頻繁に更新されますので、またすぐにお試しください。", + "dappdiscovery.general_info": "

DappRadar が提供するDapp Explorer、DAppは人気順(ユニークなアクティブウォレット)でソートされています。

LaceをサポートしていないDAppに接続しようとしていますか。 Xでタグ付けして、Laceのサポートを希望していることを知らせましょう

Dappが見つかりませんか。あなたのDAppをDappRadarに登録すれば、Lace Dappエクスプローラーに自動的に含まれます

", + "addressBook.addressDetail.btn.copy": "コピー", + "addressBook.deleteModal.buttons.cancel": "いいえ", + "addressBook.deleteModal.description": "実行しますかこの操作は元に戻せません", + "addressBook.deleteModal.title": "このアドレスを削除しますか", + "addressBook.editModal.title": "アドレスを保存", + "addressBook.empty.addNewAddress": "アドレスを追加", + "addressBook.empty.sendSecurelyBySavingYourFavouriteAddresses": "お気に入りのアドレスを保存して安全に送信", + "addressBook.errors.givenAddressAlreadyExist": "指定された住所はすでに存在しています", + "addressBook.errors.givenNameAlreadyExist": "指定された名前はすでに存在しています", + "addressBook.errors.nameTooLong": "名前が長すぎます(最大{{ maxLength }}文字)", + "addressBook.reviewModal.actualAddress.description": "新しいリンク先アドレス", + "addressBook.reviewModal.banner.browserDescription": "このハンドルは{{name}}に属していない可能性があります。確認してから続行してください。", + "addressBook.reviewModal.banner.confirmReview.button": "確認", + "addressBook.reviewModal.banner.confirmReview.link": "確認", + "addressBook.reviewModal.banner.popUpDescription": "このハンドルは{{name}}に属していない可能性があります。", + "addressBook.reviewModal.banner.popUpDescriptionEnd": "続行してください。", + "addressBook.reviewModal.cancelUpdate.button": "連絡先を削除", + "addressBook.reviewModal.confirmUpdate.button": "変更を承認", + "addressBook.reviewModal.previousAddress.description": "旧リンク先アドレス", + "addressBook.reviewModal.title": "{{name}}のハンドルの変更を確認", + "addressBook.sectionTitle": "アドレスブック", + "addressBook.updateModal.button.confirm": "続行", + "addressBook.updateModal.description": "このアドレスの新しい所有権を確認してください。", + "addressBook.updateModal.title": "実行しますか", + "addressesDiscovery.overlay.title": "ウォレットを同期しています。数分かかる場合があります", + "addressesDiscovery.toast.errorText": "ウォレットの同期に失敗しました", + "addressesDiscovery.toast.successText": "ウォレットは同期されました", + "analyticsConfirmationBanner.learnMore": "もっと知る", + "analyticsConfirmationBanner.message": "ブラウザーから分析データを共有して、Laceの品質とパフォーマンスの向上にご協力ください。", + "announcement.cta": "OK", + "announcement.description.linktext": "ここ", + "announcement.description.text": "最新の更新情報を見る", + "announcement.title.badge": "New", + "announcement.title.text": "{{version}}リリース", + "privacyPolicyUpdate.title.text": "プライバシーポリシーの更新", + "privacyPolicyUpdate.description.text": "プライバシーポリシーが更新されました。最新バージョンはここで確認できます。", + "privacyPolicyUpdate.cta": "OK", + "browserView.activity.entry.asset": "アセット", + "browserView.activity.entry.name.delegation": "委任", + "browserView.activity.entry.name.delegationDeregistration": "ステークキーの登録解除", + "browserView.activity.entry.name.delegationRegistration": "ステークキーの登録", + "browserView.activity.entry.name.incoming": "受信", + "browserView.activity.entry.name.outgoing": "送信済み", + "browserView.activity.entry.name.self": "セルフトランザクション", + "browserView.activity.entry.name.sending": "送信中", + "browserView.activity.entry.name.pending": "承認待ち", + "browserView.activity.entry.name.withdrawal": "引き出し", + "browserView.activity.entry.staking": "ステーキング", + "browserView.activity.entry.token": "トークン", + "browserView.activity.entry.tokens": "トークン", + "browserView.activity.fundWalletBanner.subtitle": "資金を移すにはこのアドレスを使用するかQRコードをスキャンしてください", + "browserView.activity.fundWalletBanner.title": "資金を追加してWeb3を始める", + "browserView.activity.learnAbout.doesLaceHaveFees": "Laceには手数料がかかりますか", + "browserView.activity.learnAbout.title": "詳細を見る", + "browserView.activity.learnAbout.transactionBundles": "トランザクションバンドル", + "browserView.activity.learnAbout.whatAreActivityDetails": "アクティビティの詳細とは何ですか", + "browserView.activity.learnAbout.whatIsAnUnconfirmedTransaction": "未承認トランザクションとは何ですか", + "browserView.activity.title": "アクティビティ", + "browserView.addFundsToStartYourCryptoJourney": "資金を追加してクリプト体験を始める", + "browserView.addressBook.addressDetail.btn.copy": "コピー", + "browserView.addressBook.addressDetail.btn.delete": "削除", + "browserView.addressBook.addressDetail.btn.edit": "編集", + "browserView.addressBook.addressDetail.title": "アドレスの詳細", + "browserView.addressBook.addressForm.title.add": "アドレスを追加", + "browserView.addressBook.addressForm.title.edit": "アドレスを編集", + "browserView.addressBook.addressList.addItem.button": "アドレスを追加", + "browserView.addressBook.addressList.addItem.title": "保存したアドレス", + "browserView.addressBook.deleteModal.buttons.cancel": "キャンセル", + "browserView.addressBook.deleteModal.buttons.confirm": "削除", + "browserView.addressBook.deleteModal.description": "このアドレスを削除しますか。この操作を取り消すことはできません。", + "browserView.addressBook.deleteModal.description1": "このアドレスを削除しますか。", + "browserView.addressBook.deleteModal.description2": "この操作を取り消すことはできません。", + "browserView.addressBook.deleteModal.title": "お待ちください", + "browserView.addressBook.editAddress.title": "アドレスを編集", + "browserView.addressBook.emptyState.button": "アドレスを追加", + "browserView.addressBook.emptyState.message": "お気に入りをアドレスブックに保存すると、ここから簡単にアクセスできるようになります。", + "browserView.addressBook.emptyState.title": "アドレスが保存されていません", + "browserView.addressBook.form.addNewAddress": "新しいアドレスを追加", + "browserView.addressBook.form.addNewSubtitle": "お気に入りのアドレスを保存すると、簡単に見つけられるようになります", + "browserView.addressBook.form.addressHasWhiteSpace": "アドレスに不要なスペースがあります", + "browserView.addressBook.form.addressMissing": "アドレスフィールドは必須フィールドです", + "browserView.addressBook.form.invalidCardanoAddress": "無効なCardanoアドレスです", + "browserView.addressBook.form.nameHasWhiteSpace": "名前に不要なスペースがあります", + "browserView.addressBook.form.nameIsTooLong": "最大{{maxLength}}文字", + "browserView.addressBook.form.nameMissing": "名前フィールドは必須フィールドです", + "browserView.addressBook.title": "アドレスブック", + "browserView.addressBook.toast.addAddress": "アドレスを追加しました", + "browserView.addressBook.toast.deleteAddress": "アドレスを削除しました", + "browserView.addressBook.toast.editAddress": "編集しました", + "browserView.assetDetails.assetBalance": "トークン残高", + "browserView.assetDetails.assetPrice": "トークン価格", + "browserView.assetDetails.fingerprint": "フィンガープリント", + "browserView.assetDetails.policyId": "ポリシーID", + "browserView.assetDetails.price": "価格", + "browserView.assetDetails.recentTransactions": "最近のトランザクション", + "browserView.assetDetails.title": "トークンの詳細", + "browserView.assetDetails.tokenInformation": "トークン情報", + "browserView.assetDetails.viewAll": "すべてを表示する", + "browserView.assets.add": "追加", + "browserView.assets.addFundsToStartYourCryptoJourney": "資金を追加してクリプト体験を始める", + "browserView.assets.emptySearch": "該当する結果はありません", + "browserView.assets.portfolioBalanceToolTip": "使用可能なフィアットペアを持つすべてのトークンの概算値", + "browserView.assets.searchPlaceholder": "名前、ポリシーID、またはフィンガープリントで検索", + "browserView.assets.send": "送信", + "browserView.assets.startYourWeb3Journey": "Web3の旅を始めましょう。まずデジタル資産を追加してください。", + "browserView.assets.title": "トークン", + "browserView.assets.token": "トークン", + "browserView.assets.topupWallet.buyButton.title": "BanxaでフィアットからADAにオンランプ。", + "browserView.assets.topupWallet.buyButtonBtc.title": "BanxaでフィアットからBTCにオンランプ。", + "browserView.assets.topupWallet.buyButton.caption": "ADAを購入", + "browserView.assets.topupWallet.buyButton.captionBtc": "BTCを購入", + "browserView.assets.topupWallet.card.badge": "New", + "browserView.assets.topupWallet.card.title": "Banxaでオンランプ", + "browserView.assets.topupWallet.disclaimer.short": "[ADAを購入]をクリックすると、Banxaのウェブサイトにリダイレクトされます", + "browserView.assets.topupWallet.disclaimer.shortBtc": "[BTCを購入]をクリックすると、Banxaのウェブサイトにリダイレクトされます", + "browserView.assets.topupWallet.disclaimer.full.part1": "下の[続ける]ボタンをクリックすると、Banxaのウェブサイトにリダイレクトされます。なお、あなたは、Banxa(サードパーティサービスプロバイダー)が提供するサービスについて、Laceが責任を負わないことを理解し、承諾するものとします。", + "browserView.assets.topupWallet.disclaimer.full.part2": "Banxaが提供するサービスに関するご質問やサポートのお問い合わせは、Banxaにご連絡ください。", + "browserView.assets.topupWallet.disclaimer.full.banxaLinkCaption": "Banxaのウェブサイト", + "browserView.assets.topupWallet.modal.continue": "続ける", + "browserView.assets.topupWallet.modal.goBack": "戻る", + "browserView.assets.topupWallet.modal.title": "Laceを離れてBanxaに移動します", + "browserView.assets.totalWalletBalance": "ウォレット総残高", + "browserView.assets.welcome": "ようこそ", + "browserView.crypto.dashboard.adaBalance": "ADA残高", + "browserView.crypto.dashboard.emptyRewards": "資金をステーキングしてADAで報酬を受け取りましょう", + "browserView.crypto.dashboard.faqBanner.subtitle": "よくある質問を見る", + "browserView.crypto.dashboard.faqBanner.title": "質問がありますか", + "browserView.crypto.dashboard.glossaryBanner.subtitle": "用語集を見る", + "browserView.crypto.dashboard.glossaryBanner.title": "この言葉がわかりません", + "browserView.crypto.dashboard.lastTxsTitle": "最新のトランザクション", + "browserView.crypto.dashboard.rewards": "報酬", + "browserView.crypto.dashboard.staking": "ステーキング", + "browserView.crypto.dashboard.topAssetsTitle": "トップアセット", + "browserView.crypto.emptyDashboard.addSomeFundsYoStartYourJourney": "資金を追加して始めましょう", + "browserView.crypto.emptyDashboard.copyAddress": "アドレスをコピーする", + "browserView.crypto.emptyDashboard.useThisAddressOrScanTheQRCodeToTransferFunds": "資金を移すにはこのアドレスを使用するかQRコードをスキャンしてください", + "browserView.crypto.emptyDashboard.welcome": "ようこそ", + "browserView.crypto.nft.send": "NFTを送信", + "browserView.fundWalletBanner.copyAddress": "アドレスをコピー", + "browserView.fundWalletBanner.prompt": "資金を移すにはこのアドレスを使用するかQRコードをスキャンしてください", + "browserView.fundWalletBanner.walletAddress": "ウォレットアドレス", + "browserView.multiAddressWallet.modal.confirm": "OK", + "browserView.multiAddressWallet.modal.content": "Laceは他のアプリケーションで作成されたウォレットを含むマルチアドレス対応。だから、表示アドレスで所有してないトークンを表示して使用できるようになりました。あなたのすべてのアドレスを見つけて復元しました。今後、設定からHDウォレットの新しいアドレスを同期することができます", + "browserView.multiAddressWallet.modal.title": "マルチアドレスのウォレット残高が表示されるようになりました", + "browserView.nfts.contextMenu.delete": "削除", + "browserView.nfts.contextMenu.rename": "名前の変更", + "browserView.nfts.createFolder": "フォルダーを作成", + "browserView.nfts.deleteFolderModal.cancel": "キャンセル", + "browserView.nfts.deleteFolderModal.confirm": "確認", + "browserView.nfts.deleteFolderModal.description1": "本当に削除してもいいですか。\nこの操作を取り消すことはできません。", + "browserView.nfts.deleteFolderModal.description2": "NFTが失われる心配はありません。メインギャラリーに復元されます。", + "browserView.nfts.deleteFolderModal.header": "お待ちください", + "browserView.nfts.deleteFolderSuccess": "フォルダーを削除しました", + "browserView.nfts.educationalList.title": "NFTについて", + "browserView.nfts.exitModal.cancel": "キャンセル", + "browserView.nfts.exitModal.confirm": "同意する", + "browserView.nfts.exitModal.description": "本当に中止してもいいですか。これは保存されません", + "browserView.nfts.exitModal.header": "もう一度初めからやり直してください", + "browserView.nfts.folderDrawer.assetPicker.title": "NFTを選択する", + "browserView.nfts.folderDrawer.contextMenu.remove": "フォルダーから削除", + "browserView.nfts.folderDrawer.cta.create": "次へ", + "browserView.nfts.folderDrawer.cta.update": "選択したNFTを追加", + "browserView.nfts.folderDrawer.existingFolderHeader": "NFTフォルダー", + "browserView.nfts.folderDrawer.header": "NFTフォルダーを作成", + "browserView.nfts.folderDrawer.nameForm.givenNameAlreadyExist": "指定された名前はすでに存在しています", + "browserView.nfts.folderDrawer.nameForm.inputError": "最大{{length}}文字", + "browserView.nfts.folderDrawer.nameForm.inputPlaceholder": "フォルダー名", + "browserView.nfts.folderDrawer.nameForm.title": "フォルダー名を指定", + "browserView.nfts.folderDrawer.toast.create": "フォルダーを作成しました", + "browserView.nfts.folderDrawer.toast.delete": "NFTを削除しました", + "browserView.nfts.folderDrawer.toast.update": "NFTをフォルダーに追加しました", + "browserView.nfts.fundWalletBanner.prompt": "NFTを移すにはこのアドレスを使用するかQRコードをスキャンしてください", + "browserView.nfts.fundWalletBanner.subtitle": "NFTを移すにはこのアドレスを使用するかQRコードをスキャンしてください", + "browserView.nfts.fundWalletBanner.title": "NFTがありません", + "browserView.nfts.pageTitle": "NFT", + "browserView.nfts.renameFolderSuccess": "フォルダー名を変更しました", + "browserView.nfts.renameYourFolder": "フォルダー名を変更", + "browserView.nfts.searchPlaceholder": "名前、ポリシーID、またはアセットIDで検索", + "browserView.nfts.printlab.modal.title": "Laceを離れてNFTPrintLab.ioに移動します", + "browserView.nfts.printlab.disclaimer.full.part1": "下の[続ける]ボタンをクリックすると、NFTPrintLabのウェブサイトにリダイレクトされます。なお、あなたは、NFTPrintLab(サードパーティサービスプロバイダー)が提供するサービスについて、Laceが責任を負わないことを理解し、承諾するものとします。NFTPrintLabが提供するサービスに関するご質問やサポートのお問い合わせは、NFTPrintLabにご連絡ください。", + "browserView.nfts.printlab.disclaimer.full.nftprintlabLinkCaption": "NFTPrintLab.io", + "browserView.nfts.printlab.modal.cancel": "キャンセル", + "browserView.nfts.printlab.modal.continue": "続ける", + "browserView.onboarding.errorDialog.cta": "OK", + "browserView.onboarding.errorDialog.messageDeviceDisconnected": "ハードウェアデバイスの接続を確認し、Ledgerの場合にはCardanoアプリが起動しているかを確認してください", + "browserView.onboarding.errorDialog.messageGeneric": "デバイスの接続を再試行", + "browserView.onboarding.errorDialog.messagePublicKeyExportRejected": "公開鍵のエクスポートに失敗しました。ユーザーがハードウェアウォレットデバイスでのアクションを拒否しました。", + "browserView.onboarding.errorDialog.title": "エラーが発生しました", + "browserView.onboarding.hardwareWalletSendTransition.cancel": "キャンセル", + "browserView.onboarding.hardwareWalletSendTransition.description": "Ledgerのトランザクションは詳細ビューで確認が必要です。", + "browserView.onboarding.hardwareWalletSendTransition.ok": "OK", + "browserView.onboarding.hardwareWalletSendTransition.title": "このトランザクションは詳細ビューを開きます", + "browserView.onboarding.hardwareWalletStakingTransition.cancel": "キャンセル", + "browserView.onboarding.hardwareWalletStakingTransition.description": "ステーキング確認には詳細ビューでの確認が必要です", + "browserView.onboarding.hardwareWalletStakingTransition.ok": "OK", + "browserView.onboarding.hardwareWalletStakingTransition.title": "詳細ビューを開きます", + "browserView.onboarding.sendTransitionAcknowledgment.description": "ハードウェアウォレットのトランザクションは詳細ビューで確認する必要があります。", + "browserView.onboarding.sendTransitionAcknowledgment.dontShowAgain": "今後表示しない", + "browserView.onboarding.sendTransitionAcknowledgment.iUnderstand": "了解しました", + "browserView.onboarding.sendTransitionAcknowledgment.title": "注意", + "browserView.onboarding.stakingTransitionAcknowledgment.description": "プールへのステーキングは、詳細ビューで確認する必要があります。", + "browserView.onboarding.stakingTransitionAcknowledgment.iUnderstand": "了解しました", + "browserView.onboarding.stakingTransitionAcknowledgment.title": "注意", + "browserView.onboarding.startOver.cancel": "キャンセル", + "browserView.onboarding.startOver.description": "このデバイスへの接続はキャンセルされ、再接続が必要になります。", + "browserView.onboarding.startOver.gotIt": "OK", + "browserView.onboarding.startOver.title": "初めからやり直しますか。", + "browserView.pinExtension.prompt": "をクリックしてピン止めします", + "browserView.pinExtension.title": "ウォレット拡張機能を固定する", + "browserView.settings.heading": "設定", + "browserView.settings.help.faqs.description": "よくある質問への回答を表示します", + "browserView.settings.help.faqs.drawer.description": "ウォレットとブロックチェーン関連の質問に関する情報が見つかります", + "browserView.settings.help.faqs.drawer.title": "よくある質問", + "browserView.settings.help.faqs.title": "よくある質問", + "browserView.settings.help.support.createASupportTicket": "サポートチケットを作成します", + "browserView.settings.help.support.description": "よくある質問に答えが見つからない場合は、ZenDeskチケットを作成してください。できるだけ早く問題を解決できるようサポートします。", + "browserView.settings.help.support.help": "ヘルプ", + "browserView.settings.help.support.iogZenDesk": "IOG ZenDesk", + "browserView.settings.help.support.title": "サポート", + "browserView.settings.help.title": "サポート", + "browserView.settings.legacyMode.section": "Namiモード", + "browserView.settings.legacyMode.confirmation.title": "Namiモードを起動します。", + "browserView.settings.legacyMode.confirmation.description": "Lace機能の一部はレガシーモードでは使用できません。Laceにはいつでも戻ることができます。", + "browserView.settings.legacyMode.confirmation.cancel": "戻る", + "browserView.settings.legacyMode.confirmation.confirm": "続ける", + "browserView.settings.legal.cookiePolicy.description": "Cookieポリシーを表示します", + "browserView.settings.legal.cookiePolicy.title": "Cookieポリシー", + "browserView.settings.legal.downloadNow": "今すぐダウンロード", + "browserView.settings.legal.privacyPolicy.description": "プライバシーポリシーを表示します", + "browserView.settings.legal.privacyPolicy.title": "プライバシーポリシー", + "browserView.settings.legal.title": "法務関係", + "browserView.settings.legal.tnc.description": "利用規約を表示します", + "browserView.settings.legal.tnc.title": "利用規約", + "browserView.settings.preferences.currency.description": "希望する通貨を選択します", + "browserView.settings.preferences.currency.list.ADA": "Cardano", + "browserView.settings.preferences.currency.list.AUD": "オーストラリア ドル", + "browserView.settings.preferences.currency.list.BRL": "レアル", + "browserView.settings.preferences.currency.list.CAD": "カナダ ドル", + "browserView.settings.preferences.currency.list.CHF": "スイス フラン", + "browserView.settings.preferences.currency.list.EUR": "ユーロ", + "browserView.settings.preferences.currency.list.GBP": "英国 ポンド", + "browserView.settings.preferences.currency.list.INR": "インド ルピー", + "browserView.settings.preferences.currency.list.JPY": "円", + "browserView.settings.preferences.currency.list.KRW": "ウォン", + "browserView.settings.preferences.currency.list.tADA": "Cardano", + "browserView.settings.preferences.currency.list.USD": "米国 ドル", + "browserView.settings.preferences.currency.list.VND": "ドン", + "browserView.settings.preferences.currency.title": "通貨", + "browserView.settings.preferences.currency.toast": "通貨が更新されました", + "browserView.settings.preferences.theme.description": "ワークステーションのテーマ、ライトまたはダークを選択します", + "browserView.settings.preferences.theme.title": "テーマ", + "browserView.settings.preferences.title": "環境設定", + "browserView.settings.preferences.betaProgram.description": "新機能をテストし、使用性の向上に協力してください", + "browserView.settings.preferences.betaProgram.title": "ベータプログラム", + "browserView.settings.preferences.debugging.title": "デバッグ", + "browserView.settings.preferences.debugging.description": "詳細コンソールロギングを有効にします", + "browserView.settings.security.2fa": "2要素認証", + "browserView.settings.security.passphrasePeriodicVerification.description": "パスフレーズの確認を求める頻度を設定します", + "browserView.settings.security.passphrasePeriodicVerification.title": "パスフレーズの確認", + "browserView.settings.security.periodicVerification.description": "パスフレーズの確認を求める頻度を設定します", + "browserView.settings.security.periodicVerification.success": "編集しました", + "browserView.settings.security.periodicVerification.title": "定期確認", + "browserView.settings.security.showPassphrase.description": "ウォレットに関連付けられている復元フレーズを表示します", + "browserView.settings.security.showPassphrase.title": "復元フレーズを表示", + "browserView.settings.security.showPassphraseDrawer.description": "ウォレットに関連付けられている復元フレーズですウォレットの復元またはインポートに使用します。", + "browserView.settings.security.showPassphraseDrawer.hidePassphrase": "復元フレーズを非表示にする", + "browserView.settings.security.showPassphraseDrawer.showPassphrase": "復元フレーズを表示する", + "browserView.settings.security.showPassphraseDrawer.title": "パスワードを入力してください", + "browserView.settings.security.showPassphraseDrawer.warning": "これは機密情報です。画面を誰にも見られていないことを確認してください。", + "browserView.settings.security.showPassphraseDrawer.YourRecoveryPhrase": "復元フレーズ(秘密にしておきましょう)", + "browserView.settings.security.title": "セキュリティ", + "browserView.settings.wallet.about.content.commit": "コミット", + "browserView.settings.wallet.about.content.currentVersion": "現在のバージョン", + "browserView.settings.wallet.about.content.network": "ネットワーク", + "browserView.settings.wallet.about.content.title": "{{name}}について", + "browserView.settings.wallet.about.description": "Laceアプリに関する情報を入手する", + "browserView.settings.wallet.about.title": "概要", + "browserView.settings.wallet.accounts.description": "アクティブにするアカウントを選択してください。", + "browserView.settings.wallet.accounts.lockLabel": "無効にする", + "browserView.settings.wallet.accounts.title": "アカウント", + "browserView.settings.wallet.accounts.unlockLabel": "有効にする", + "browserView.settings.wallet.authorizedDApps.description": "承認済みDAppの表示や管理を行います", + "browserView.settings.wallet.authorizedDApps.title": "承認済みDApp", + "browserView.settings.wallet.collateral.active": "アクティブ", + "browserView.settings.wallet.collateral.amountDescription": "Cardanoでスマートコントラクトを使用するための担保を追加します。推奨担保額は5₳です。", + "browserView.settings.wallet.collateral.close": "閉じる", + "browserView.settings.wallet.collateral.confirm": "確認", + "browserView.settings.wallet.collateral.confirmWithDevice": "{{ hardwareWallet }}のトランザクションを確認する", + "browserView.settings.wallet.collateral.continueInAdvancedView": "詳細ビューで続ける", + "browserView.settings.wallet.collateral.description": "Cardanoでスマートコントラクトを使用するための担保を追加または削除します", + "browserView.settings.wallet.collateral.inactive": "非アクティブ", + "browserView.settings.wallet.collateral.notEnoughAda": "トランザクションを続けるためのADAが不足しています。", + "browserView.settings.wallet.collateral.reclaimBanner": "担保金額を削除すると、口座残高に戻され、スマートコントラクトとやり取りできなくなります", + "browserView.settings.wallet.collateral.reclaimCollateral": "担保を回収", + "browserView.settings.wallet.collateral.reclaimDescription": "担保額は5₳です。", + "browserView.settings.wallet.collateral.title": "担保", + "browserView.settings.wallet.collateral.toast.add": "担保が追加されました", + "browserView.settings.wallet.collateral.toast.claim": "担保が回収されました", + "browserView.settings.wallet.customSubmitApi.defaultAddress": "デフォルトのアドレス: {{url}}", + "browserView.settings.wallet.customSubmitApi.description": "ローカルノードがウォレットと同じネットワーク上にあり、トランザクションを送信するために完全に同期されていることを確認してください。", + "browserView.settings.wallet.customSubmitApi.descriptionLink": "Cardano-submit-APIについてもっと知る", + "browserView.settings.wallet.customSubmitApi.disable": "無効にする", + "browserView.settings.wallet.customSubmitApi.disabled": "無効", + "browserView.settings.wallet.customSubmitApi.enable": "有効にする", + "browserView.settings.wallet.customSubmitApi.enabled": "有効", + "browserView.settings.wallet.customSubmitApi.inputLabel": "URLをここに挿入", + "browserView.settings.wallet.customSubmitApi.settingsLinkDescription": "ローカルのCardanoノードとCardano-submit-APIを介してトランザクションを送信する", + "browserView.settings.wallet.customSubmitApi.settingsLinkTitle": "カスタム送信API", + "browserView.settings.wallet.customSubmitApi.title": "カスタム送信API", + "browserView.settings.wallet.customSubmitApi.usingCustomTxSubmitEndpoint": "カスタムsubmit APIは有効です。Laceはトランザクションの送信に使用します。", + "browserView.settings.wallet.customSubmitApi.usingStandardTxSubmitEndpoint": "カスタムsubmit APIは無効です。Laceはトランザクションの送信に独自のインフラを使用します。", + "browserView.settings.wallet.customSubmitApi.validationError": "無効なURL", + "browserView.settings.wallet.general.description": "公開鍵とステークキーの表示やコピーを行います", + "browserView.settings.wallet.general.exportPubKey": "公開鍵をエクスポート", + "browserView.settings.wallet.general.exportPubKeyAction": "公開鍵をエクスポート", + "browserView.settings.wallet.general.exportPubKeyDescription": "ウォレットを他のブラウザー/デバイスに簡単にインポートしたり、あとで復元したりできるようになります", + "browserView.settings.wallet.general.removeAction": "ウォレットを削除する", + "browserView.settings.wallet.general.removeWallet": "ウォレットを削除する", + "browserView.settings.wallet.general.removeWalletAlert.cancel": "戻る", + "browserView.settings.wallet.general.removeWalletAlert.confirm": "ウォレットを削除する", + "browserView.settings.wallet.general.removeWalletAlert.content": "ウォレットを削除しますか。再びアクセスするには、秘密のパスフレーズで復元する必要があります。", + "browserView.settings.wallet.general.removeWalletAlert.title": "お待ちください", + "browserView.settings.wallet.general.removeWalletDescription": "削除してもウォレット残高は変わりません。また、いつでも復元することができます。", + "browserView.settings.wallet.general.removeSharedWalletDescription": "このウォレットは共有ウォレットにリンクされているため削除できません。削除するには、はじめにリンクされているすべての共有ウォレットを削除してください。", + "browserView.settings.wallet.general.showPubKey": "公開鍵を表示する", + "browserView.settings.wallet.general.showPubKeyAction": "公開鍵を表示する", + "browserView.settings.wallet.general.showPubKeyDescription": "ウォレットを他のブラウザーやデバイスにインポートしたり、あとで復元したりできるようになります", + "browserView.settings.wallet.general.title": "鍵", + "browserView.settings.wallet.midnight.prelaunch.description": "請求方法とよくある質問を確認します", + "browserView.settings.wallet.midnight.prelaunch.title": "Midnightトークン配布", + "browserView.settings.wallet.network.description": "メインネットからテストネットへ切り替えます", + "browserView.settings.wallet.network.drawerDescription": "ウォレットを接続するネットワークを選んでください。", + "browserView.settings.wallet.network.networkSwitched": "ネットワーク切り替え", + "browserView.settings.wallet.network.title": "ネットワーク", + "browserView.settings.wallet.title": "ウォレット", + "browserView.settings.wallet.walletSync.ctaLabel": "同期", + "browserView.settings.wallet.walletSync.description": "HDウォレットの新しいアドレスを同期します。Laceと同時に他のHDウォレットを使用している場合に必要になる場合があります", + "browserView.settings.wallet.walletSync.title": "HDウォレット同期", + "browserView.sideMenu.dapps.header": "DAppを開く", + "browserView.sideMenu.links.activity": "アクティビティ", + "browserView.sideMenu.links.addNewWallet": "新しいウォレットを追加", + "browserView.sideMenu.links.addBitcoinWallet": "ビットコインウォレットを追加", + "browserView.sideMenu.links.addressBook": "アドレスブック", + "browserView.sideMenu.links.addSharedWallet": "共有ウォレットを追加", + "browserView.sideMenu.links.dappExplorer": "DApp", + "browserView.sideMenu.links.general": "一般", + "browserView.sideMenu.links.nfts": "NFT", + "browserView.sideMenu.links.staking": "ステーキング", + "browserView.sideMenu.links.tokens": "トークン", + "browserView.sideMenu.links.voting": "投票センター", + "browserView.sideMenu.mode.dark": "ダークモード", + "browserView.sideMenu.mode.light": "ライトモード", + "browserView.sidePanel.aboutStaking": "ステーキングについて", + "browserView.sidePanel.aboutYourWallet": "ウォレットについて", + "browserView.sidePanel.learnAbout": "詳細を見る", + "browserView.staking.details.clickOnAPoolFromTheListInTheMainPage": "メインページのリストからプールをクリックする", + "browserView.staking.details.clickOnTheStakeToThisPoolButtonInTheDetailPage": "詳細ページの[このプールにステーキング]ボタンをクリックする", + "browserView.staking.details.confirmation.button.confirm": "次へ", + "browserView.staking.details.confirmation.button.confirmWithDevice": "{{hardwareWallet}}で確認", + "browserView.staking.details.confirmation.button.continueInAdvancedView": "詳細ビューで続ける", + "browserView.staking.details.confirmation.button.signing": "署名中", + "browserView.staking.details.confirmation.cardanoName": "Cardano", + "browserView.staking.details.confirmation.subTitle": "ステークプールを確認", + "browserView.staking.details.confirmation.title": "ステーキングの確認", + "browserView.staking.details.confirmation.transactionCost.title": "トランザクションコスト", + "browserView.staking.details.confirmation.transactionReturn.title": "トランザクションリターン", + "browserView.staking.details.confirmation.transactionTotal.title": "合計", + "browserView.staking.details.errors.utxoBalanceInsufficient": "残高不足", + "browserView.staking.details.errors.utxoFullyDepleted": "UTXOは全部使い切っています", + "browserView.staking.details.exitStakingModal.buttons.cancel": "キャンセル", + "browserView.staking.details.exitStakingModal.buttons.confirm": "終了", + "browserView.staking.details.exitStakingModal.description": "終了しますか。これは保存されません。", + "browserView.staking.details.exitStakingModal.title": "初めからやり直す必要があります", + "browserView.staking.details.fail.btn.back": "戻る", + "browserView.staking.details.fail.btn.close": "閉じる", + "browserView.staking.details.fail.btn.retry": "再試行", + "browserView.staking.details.fail.description": "トランザクションは失敗しました。もう一度やり直してください。", + "browserView.staking.details.fail.subTitle": "トランザクションは失敗しました。もう一度やり直してください。", + "browserView.staking.details.fail.text": "エラーが発生しました", + "browserView.staking.details.fail.title": "エラーが発生しました…", + "browserView.staking.details.followTheIstructionsInTheStakingFlow": "ステーキングフローの指示に従ってください", + "browserView.staking.details.information.title": "情報", + "browserView.staking.details.noFundsModal.buttons.cancel": "閉じる", + "browserView.staking.details.noFundsModal.buttons.confirm": "資金を追加する", + "browserView.staking.details.noFundsModal.description": "ステーキングには、最低2ADAと手数料が必要です。", + "browserView.staking.details.noFundsModal.title": "ステーキングの資金が不足しています…", + "browserView.staking.details.owners.title": "オーナー", + "browserView.staking.details.poolIds.title": "プールID", + "browserView.staking.details.poolOversaturatedModal.buttons.confirm": "OK", + "browserView.staking.details.poolOversaturatedModal.description": "ステーキングしているステークプールは飽和しています。報酬を逃さないように、別のプールに資金をステーキングしてください。", + "browserView.staking.details.poolOversaturatedModal.title": "変更しましょう", + "browserView.staking.details.poolRetiredModal.buttons.confirm": "OK", + "browserView.staking.details.poolRetiredModal.description": "あなたがステーキングしているステークプールは廃止されました。報酬を逃さないように、別のプールに資金をステーキングしてください。", + "browserView.staking.details.poolRetiredModal.title": "変更しましょう", + "browserView.staking.details.sign.subTitle": "パスワードを使ってトランザクションに署名してください。", + "browserView.staking.details.sign.title": "ステーキングの確認", + "browserView.staking.details.social.title": "ソーシャルリンク", + "browserView.staking.details.stakeButtonText": "このプールにステーキングする", + "browserView.staking.details.statistics.title": "統計", + "browserView.staking.details.success.description": "トランザクションの承認を待っています。まもなく[あなたのプール]パネルがダッシュボードに表示されます", + "browserView.staking.details.success.subTitle": "ステーキング報酬の受け取りは、2エポック後に開始されます。", + "browserView.staking.details.success.text": "このパネルを閉じても安全です", + "browserView.staking.details.success.title": "おめでとうございます。資金がステーキングされました", + "browserView.staking.details.switchedPools.subTitle": "新しいプールからのステーキング報酬の受け取りは2エポック後に開始されます。それまでは、前のプールからの報酬を受け取り続けます。", + "browserView.staking.details.switchedPools.title": "おめでとうございます。プールが変更されました", + "browserView.staking.details.switchingPoolsModal.buttons.cancel": "キャンセル", + "browserView.staking.details.switchingPoolsModal.buttons.confirm": "問題なし", + "browserView.staking.details.switchingPoolsModal.description": "まったく問題ありません。ただ、2エポックの間は前のプールからの報酬を受け取り続けるということに注意してください。その後、新しいプールから報酬を受け取るようになります。", + "browserView.staking.details.switchingPoolsModal.title": "プールを変更しますか", + "browserView.staking.details.title": "ステークプールの詳細", + "browserView.staking.details.titleSecond": "ステーキングの管理", + "browserView.staking.details.unstakingIsNotYetAvailableFollowTheseStepsIfYouWishToChangeStakePool": "ステーキングの解除はまだできません。ステークプールを変更するには、次の手順に従ってください", + "browserView.staking.faqBanner.subtitle": "ステーキングとは", + "browserView.staking.faqBanner.title": "深く掘り下げる", + "browserView.staking.fundWalletBanner.prompt": "資金を移すにはこのアドレスをコピーするかQRコードをスキャンしてください", + "browserView.staking.fundWalletBanner.subtitle": "資金を追加してステーキングを始める", + "browserView.staking.glossaryBanner.subtitle": "用語集を見る", + "browserView.staking.glossaryBanner.title": "この言葉がわかりません", + "browserView.staking.stakePoolsTable.emptyMessage": "該当する結果はありません", + "browserView.staking.stakePoolsTable.searchPlaceholder": "プール名、ティッカー、またはIDを入力してください", + "browserView.staking.stakePoolsTable.title": "ステークプール", + "browserView.staking.stakingInfo.lastReward.title": "最新の報酬", + "browserView.staking.stakingInfo.StakeFundsBanner.balanceTitle": "利用可能残高", + "browserView.staking.stakingInfo.StakeFundsBanner.description": "資金をプールにステーキングして報酬を受け取り始めましょう。", + "browserView.staking.stakingInfo.StakeFundsBanner.title": "ステーキングを開始する", + "browserView.staking.stakingInfo.RegisterAsDRepBanner.title": "投票パワーを委任する", + "browserView.staking.stakingInfo.RegisterAsDRepBanner.description": "Laceでステーキング委任報酬を利用するために、DRepとして登録するか、投票センターでDRepに投票パワーを委任してください。 もっと知る", + "browserView.staking.stakingInfo.RegisterAsDRepBanner.cta": "今すぐ登録する", + "browserView.staking.stakingInfo.stats.Fee": "手数料", + "browserView.staking.stakingInfo.stats.Margin": "マージン", + "browserView.staking.stakingInfo.stats.stakeKey": "ステークキー", + "browserView.staking.stakingInfo.stats.ros": "推定ROS", + "browserView.staking.stakingInfo.title": "現在のステーキング先:", + "browserView.staking.stakingInfo.tooltip.title": "米ドル換算額", + "browserView.staking.stakingInfo.totalRewards.title": "報酬総額", + "browserView.staking.stakingInfo.totalStaked.title": "ステーキング総額", + "browserView.staking.title": "ステーキング", + "browserView.topNavigationBar.links.lockWallet": "ウォレットをロックする", + "browserView.topNavigationBar.links.network": "ネットワーク", + "browserView.topNavigationBar.links.settings": "設定", + "browserView.topNavigationBar.links.signMessage": "メッセージに署名する", + "browserView.topNavigationBar.walletStatus.notSyncedToTheBlockchain": "ブロックチェーンに同期されていません", + "browserView.topNavigationBar.walletStatus.walletSynced": "ウォレット同期済み", + "browserView.topNavigationBar.walletStatus.walletSyncing": "ウォレット同期中", + "browserView.transaction.fail.clickBackAndTryAgain": "[戻る]をクリックしてやり直してください。", + "browserView.transaction.fail.oopsSomethingWentWrong": "エラーが発生しました", + "browserView.transaction.fail.error-details.label": "問題の詳細を表示", + "browserView.transaction.fail.error-details.error-name-fallback": "エラー", + "browserView.transaction.fail.problemSubmittingYourTransaction": "トランザクションの送信中に問題が発生しました。", + "browserView.transaction.fail.theTransactionHasNotBeenProceedPleasetryagain": "トランザクションの送信中に問題が発生しました。[トランザクションの概要に戻る]をクリックしてやり直してください", + "browserView.transaction.fail.unauthorizedTransaction": "トランザクションは承認されませんでした。", + "browserView.transaction.send.adaAllocation": "ADAの割り当て", + "browserView.transaction.send.advanced.asset": "トークンまたはNFTを追加", + "browserView.transaction.send.advanced.bundleTitle": "バンドル{{ index }}", + "browserView.transaction.send.advanced.output": "バンドルを追加", + "browserView.transaction.send.advancedFlowText": "このトランザクションで別の受信者にアセットを送信するには、[バンドルを追加]をクリックします。", + "browserView.transaction.send.advancedTransaction": "高度なトランザクション", + "browserView.transaction.send.confirmationTitle": "トランザクションの確認", + "browserView.transaction.send.utxoDepletedBannerErrorText": "ネイティブアセットのminUTXO要件のため、一部のADAは使用できません。", + "browserView.transaction.send.utxoDepletedBannerMaxButtonText": "[最大]ボタンを使用して、最大使用可能額を選択してください。", + "browserView.transaction.send.drawer.send": "送信", + "browserView.transaction.send.drawer.coSignTransaction": "トランザクションへの共同署名", + "browserView.transaction.send.drawer.addBundle": "バンドルを追加", + "browserView.transaction.send.drawer.addressBook": "アドレスブック", + "browserView.transaction.send.drawer.addressBookEmpty": "アドレスが保存されていません", + "browserView.transaction.send.drawer.addressForm": "アドレスを追加", + "browserView.transaction.send.drawer.addressList": "アドレスを選択", + "browserView.transaction.send.drawer.advanced": "詳細", + "browserView.transaction.send.drawer.allDone": "完了しました", + "browserView.transaction.send.drawer.breakdownOfYourTransactionCost": "トランザクションコストの明細", + "browserView.transaction.send.drawer.cancelEditAddressModal.cancel": "戻る", + "browserView.transaction.send.drawer.cancelEditAddressModal.confirm": "知っています", + "browserView.transaction.send.drawer.cancelEditAddressModal.description1": "終了しますか。", + "browserView.transaction.send.drawer.cancelEditAddressModal.description2": "アドレスは保存されません", + "browserView.transaction.send.drawer.cancelEditAddressModal.title": "あれ⁈", + "browserView.transaction.send.drawer.newTransaction": "送信", + "browserView.transaction.send.drawer.signTransaction": "トランザクションへの署名", + "browserView.transaction.send.drawer.transactionError": "トランザクションエラー", + "browserView.transaction.send.drawer.transactionSummary": "トランザクションの概要", + "browserView.transaction.send.drawer.coSignerTransactionConfirmation": "トランザクションの確認:{{cosigners}}", + "browserView.transaction.send.drawer.coSignerTransactionConfirmationSubtitle": "{{walletName}のパスワードを使ってトランザクションに署名してください", + "browserView.transaction.send.enterWalletPasswordToConfirmTransaction": "ウォレットパスワードを入力してトランザクションを確認してください", + "browserView.transaction.send.error.insufficientBalance": "残高が不足しています", + "browserView.transaction.send.error.invalidAddress": "無効なアドレスです", + "browserView.transaction.send.error.invalidPassword": "パスワードが間違っています", + "browserView.transaction.send.footer.cancel": "キャンセル", + "browserView.transaction.send.footer.close": "閉じる", + "browserView.transaction.send.footer.confirm": "確認", + "browserView.transaction.send.footer.confirmWithDevice": "{{hardwareWallet}}で確認", + "browserView.transaction.send.footer.continueInAdvancedView": "詳細ビューで続ける", + "browserView.transaction.send.footer.fail": "戻る", + "browserView.transaction.send.footer.review": "トランザクションをレビュー", + "browserView.transaction.send.coSign.footer.continue": "続ける", + "browserView.transaction.send.footer.save": "保存", + "browserView.transaction.send.footer.signing": "署名中", + "browserView.transaction.send.footer.unauthorized": "戻る", + "browserView.transaction.send.footer.view": "表示", + "browserView.transaction.send.footer.viewTransaction": "トランザクションを表示", + "browserView.transaction.send.group.label1": "シンプル", + "browserView.transaction.send.group.label2": "詳細", + "browserView.transaction.send.metadata.addANote": "メモを追加(最大160文字)", + "browserView.transaction.send.metadata.addAOpReturnNote": "メモを追加(最大80文字)", + "browserView.transaction.send.metadata.count": "{{count}}文字", + "browserView.transaction.send.metadata.note": "メモ", + "browserView.transaction.send.password.placeholder": "パスワード", + "browserView.transaction.send.signTransactionWithPassword": "パスワードを使ってトランザクションに署名してください。", + "browserView.transaction.send.simple.enterYourSpendingPassword": "送信時パスワードを入力", + "browserView.transaction.send.simple.to": "送信先", + "browserView.transaction.send.title": "送信", + "browserView.transaction.send.totalFee": "総手数料", + "browserView.transaction.send.transactionCosts": "トランザクションコスト", + "browserView.transaction.send.transactionFee": "トランザクション手数料", + "browserView.transaction.btc.send.time": "時間", + "browserView.transaction.btc.send.balance": "残高", + "browserView.transaction.btc.send.feeRate": "手数料レートを選択", + "browserView.transaction.btc.send.feeRateCustom": "カスタム手数料レート(SAT/VB)を設定", + "browserView.transaction.btc.send.error.feeTooLow": "カスタム手数料が推奨最低額よりも低くなっています。トランザクションがかなり遅延する可能性があります。", + "browserView.transaction.btc.send.error.feeTooHigh": "カスタム手数料が推奨最高額よりも高くなっています。このトランザクションが過払いの可能性があります。", + "browserView.transaction.success.localNodeBanner.buttonText": "もっと知る", + "browserView.transaction.success.localNodeBanner.headline": "ローカルノードを有効にする", + "browserView.transaction.success.localNodeBanner.infoText": "このウォレットのローカルノードを有効化することで、トランザクションを高速化し、セキュリティを向上します。", + "browserView.transaction.success.thisMayTakeAFewMinutes": "トランザクションはまもなく完了しアクティビティに表示されます。", + "browserView.transaction.success.thisMayTakeAFewMinutesToProcessYouCanViewTheStatusByClickingViewTransaction": "この処理には数分かかる場合があります。ステータスを表示するには、[トランザクションを表示]をクリックします。", + "browserView.transaction.success.youCanSafelyCloseThisPanel": "完了しました", + "browserView.dataSign.success.youCanSafelyCloseThisPanel": "完了しました", + "browserView.receiveDrawer.title": "受信", + "browserView.voting.alert.insufficientBalance.action": "資金を追加", + "browserView.voting.alert.insufficientBalance.message": "投票に十分なADAがないため、スナップショットの前に資金を追加してください", + "browserView.voting.alert.insufficientBalanceDuringSnapshot.message": "スナップショットの作成中、ウォレットの資金が不足していました。参加するには500ADAがあることを確認してください", + "browserView.voting.alert.registrationEnded.action": "登録", + "browserView.voting.alert.registrationEnded.message": "登録フェーズは終了しました。登録は可能ですが、参加は次回Fundまでお待ちください", + "browserView.voting.canNotParticipate": "参加できない", + "browserView.voting.catalystRegistrationFlow.title": "ウォレット登録", + "browserView.voting.educationalList.title": "ガバナンスについて", + "browserView.voting.fundWalletBanner.subtitle": "資金を追加してクリプト体験を始める", + "browserView.voting.fundWalletBanner.title": "資金を追加して投票する", + "browserView.voting.pageTitle": "投票", + "browserView.voting.phase": "フェーズ", + "browserView.voting.register": "登録", + "browserView.voting.registered": "登録済み", + "browserView.voting.registerYourWallet": "Fundに投票するには、ウォレットを登録する必要があります。登録が必要なのは一度だけです。", + "browserView.voting.registration": "登録", + "browserView.voting.snapshot": "スナップショット", + "browserView.voting.snapshotExplanation": "投票可能なウォレットを確認するためのスナップショットが作成されます。参加するには少なくとも{{amount}}ADAが必要です", + "browserView.voting.voteForChallenges": "Catalystアプリでさまざまな提案やチャレンジを参照して投票する", + "browserView.voting.votePrompt": "投票しましょう", + "browserView.voting.voting": "投票", + "browserView.voting.votingPhase": "投票フェーズ", + "browserView.voting-beta.modal.title": "投票センターは近日公開されます", + "browserView.voting-beta.modal.description": "ユーザーが意思決定プロセスをより細かく管理できるよう、Laceはまもなく統合されたガバナンス投票を導入します。現在は、サードパーティのプラットフォームを通じて投票を委任することで、自分の意見を反映させることができます", + "browserView.voting-beta.modal.description-popup": "Laceはまもなく統合されたガバナンス投票を導入します。

現在は、サードパーティのプラットフォームを通じて投票を委任することで、自分の意見を反映させることができます", + "browserView.voting-beta.modal.govTool.cta": "Gov.toolにアクセス", + "browserView.voting-beta.modal.tempoVote.cta": "Tempo.Voteにアクセス", + "browserView.walletSetup.mnemonicResetModal.cancel": "キャンセル", + "browserView.walletSetup.mnemonicResetModal.confirm": "OK", + "browserView.walletSetup.mnemonicResetModal.content": "安全を確保するため、新しく24個の単語を表示します。", + "browserView.walletSetup.mnemonicResetModal.header": "初めからやり直しますか。", + "browserView.walletSetup.support": "ヘルプとサポート", + "browserView.welcome": "ようこそ", + "browserView.renameWalletDrawer.title": "ウォレットを編集", + "browserView.renameWalletDrawer.walletSettings": "ウォレットの設定", + "browserView.renameWalletDrawer.walletName": "ウォレット名", + "browserView.renameWalletDrawer.renameWallet": "ウォレット名の変更", + "browserView.renameWalletDrawer.renameEnabledAccounts": "有効なアカウント名の変更", + "browserView.renameWalletDrawer.renameSuccessful": "ウォレット名が変更されました", + "browserView.renameWalletDrawer.renameFailed": "ウォレット名を変更できませんでした", + "browserView.renameWalletDrawer.inputLengthError": "最大{{length}}文字", + "browserView.renameWalletDrawer.inputEmptyError": "名前は入力必須です", + "browserView.renameWalletDrawer.save": "保存", + "browserView.renameWalletDrawer.cancel": "キャンセル", + "corruptedData.actionDescription": "復元フレーズを使ってウォレットをもう一度復元してください。", + "corruptedData.btn.confirm": "ウォレットを復元", + "corruptedData.errorDescription": "データの一部が失われているか無効であるようです。資金は無事ですのでご安心ください。", + "corruptedData.title": "データが壊れています", + "dapp.collateral.amountSeparated": "この金額はアカウント残高から切り離されています。いつでも残高に戻すことができます。", + "dapp.collateral.calculating": "担保を計算しています", + "dapp.collateral.create.header": "担保を作成", + "dapp.collateral.insufficientFunds.add": "資金を追加", + "dapp.collateral.insufficientFunds.description": "ウォレットに資金を追加して、担保の問題を回避してください", + "dapp.collateral.insufficientFunds.title": "資金不足", + "dapp.collateral.request": "{{dapp}}の処理を続行するには{{{ requestedAmount}}{{ symbol}}の担保が必要です。{{ lockableAmount}}{{ symbol}}はさらなるトランザクションなしでロックできます。", + "dapp.collateral.set.header": "担保を設定", + "dapp.confirm.btn.cancel": "キャンセル", + "dapp.confirm.btn.confirm": "確認", + "dapp.confirm.details.amount": "額", + "dapp.confirm.details.fee": "手数料", + "dapp.confirm.details.header": "トランザクション", + "dapp.confirm.details.recepient": "受信者", + "dapp.confirm.header": "トランザクションの確認", + "dapp.confirm.header.confirmData": "データの確認", + "dapp.confirm.address.title": "アドレス:", + "dapp.confirm.data.title": "データ", + "dapp.confirm.header.signData": "データに署名", + "dapp.connect.btn.accept": "承認", + "dapp.connect.btn.cancel": "キャンセル", + "dapp.connect.btn.confirm": "確認", + "dapp.connect.btn.justOnce": "1回", + "dapp.connect.header": "DAppを承認", + "dapp.connect.modal.allowAlways": "常時", + "dapp.connect.modal.allowOnce": "1回のみ", + "dapp.connect.modal.description": "ウォレットにアクセスするために、このDAppをホワイトリストに登録することに同意するものとします。", + "dapp.connect.modal.header": "DApp接続", + "dapp.dappErrorPage.closeButton": "キャンセル", + "dapp.delete.cancel": "戻る", + "dapp.delete.confirm": "DAppを切断", + "dapp.delete.description": "DAppを切断しますか。もう一度承認する必要があります。", + "dapp.delete.title": "お待ちください", + "dapp.educationBanner.title": "DAppガイド", + "dapp.list.empty.text": "承認したDAppはありません。", + "dapp.list.removedFailure": "DAppの切断に失敗しました", + "dapp.list.removedSuccess": "DAppが切断されました", + "dapp.list.subTitle": "これらのDAppsは、あなたのすべてのウォレットおよびアカウントとやり取りすることを承認されています。これはいつでも変更できます。", + "dapp.list.subTitleEmpty": "あなたのすべてのウォレットおよびアカウントとやり取りすることを承認されているDAppは、ここに表示されます。", + "dapp.list.title": "承認済みDApp", + "dapp.sharedWallet.closeButton": "了解しました", + "dapp.sharedWallet.description": "このバージョンでは、共有ウォレットとDApp間のトランザクションへの署名はサポートされていません。\n次のイテレーションでこのトランザクションをサポートするには、DAppはcip30 [CIP-0106]への拡張を実装する必要があります。", + "dapp.sharedWallet.heading": "DAppはサポートされていません", + "dapp.noWallet.closeButton": "ウォレットを作成または復元", + "dapp.noWallet.description": "DAppに接続したり、トランザクションを行うには、ウォレットを作成または復元する必要があります。", + "dapp.noWallet.heading": "現在ウォレットがありません", + "dapp.sign.data.failure.description": "署名に失敗しました。もう一度やり直してください", + "dapp.sign.data.success.description": "データに署名しました", + "dapp.sign.failure.description": "トランザクションは処理されていません。もう一度やり直してください", + "dapp.signData.failure.description": "データは署名されていません。もう一度やり直してください", + "dapp.sign.failure.title": "エラーが発生しました。", + "dapp.sign.header": "トランザクションへ署名する", + "dapp.sign.success.description": "トランザクションの承認を待っています。まもなく詳細がアクティビティに表示されます", + "dapp.sign.success.header": "完了しました。", + "dapp.sign.success.title": "このパネルを閉じても安全です", + "dapp.transactions.confirm.title": "トランザクションの確認", + "educationalBanners.subtitle.buyAnNft": "NFTはどのように購入しますか", + "educationalBanners.subtitle.collections": "コレクションとは何ですか", + "educationalBanners.subtitle.connectingDApps": "LaceでDAppsに接続", + "educationalBanners.subtitle.conwayEra": "LaceはどのようにConway台帳期(またはガバナンス期)をサポートしていますか", + "educationalBanners.subtitle.enterNFTGallery": "LaceでNFTギャラリーに入る", + "educationalBanners.subtitle.governanceActions": "Laceではどの種類のガバナンスアクションがサポートされていますか", + "educationalBanners.subtitle.governanceFeatures": "Laceではどの種類のガバナンス機能がサポートされていますか", + "educationalBanners.subtitle.howManyPools": "マルチステーキングまたはマルチ委任機能を使用して、いくつのステークプールに委任できますか", + "educationalBanners.subtitle.howToSendReceiveFunds": "資産の送受信方法を教えてください", + "educationalBanners.subtitle.ledgerSupport": "Ledgerハードウェアウォレットはマルチステーキングをサポートしていますか", + "educationalBanners.subtitle.secureSelfCustody": "Laceで安全にセルフカストディ", + "educationalBanners.subtitle.stakeDistribution": "ステーク分布は変わりませんか", + "educationalBanners.subtitle.stakingAndDelegation": "ステーキング、委任とは何ですか", + "educationalBanners.subtitle.whatIsADigitalAsset": "デジタル資産とは何ですか", + "educationalBanners.subtitle.whatIsLaceAddressBook": "Laceのアドレスブックとは何ですか", + "educationalBanners.subtitle.whatIsSavedAddress": "保存されたアドレスとは何ですか", + "educationalBanners.title.faq": "よくある質問", + "educationalBanners.title.glossary": "用語", + "educationalBanners.title.learn": "知る", + "educationalBanners.title.more": "詳細", + "educationalBanners.title.video": "動画", + "educationalBanners.title.videoBlog": "動画/ブログ", + "expandPopup": "拡張ビュー", + "forgotPassword.cancel": "キャンセル", + "forgotPassword.confirm": "続ける", + "forgotPassword.description": "この操作を確認すると、ウォレットのペアリングは解除され復元フレーズの入力が要求されます。", + "forgotPassword.title": "パスワードを忘れた", + "general.adaFollowingNumericValue": "ADA", + "general.button.agree": "同意する", + "general.button.authorize": "承認", + "general.button.cancel": "キャンセル", + "general.button.close": "閉じる", + "general.button.confirm": "確認", + "general.button.continue": "続ける", + "general.button.copied": "コピーしました", + "general.button.copy": "コピー", + "general.button.home": "ホーム", + "general.button.reload": "リロード", + "general.buttons.back": "戻る", + "general.clipboard.copiedToClipboard": "クリップボードにコピーしました", + "general.credit.coinGecko": "CoinGecko", + "general.credit.poweredBy": "提供:", + "general.errors.bundleAmountIsEmpty": "金額が入力されていません", + "general.errors.handleConflict": "アドレスが競合しています。{{receivedAddress}}を想定していましたが{{ actualAddress}}を取得しました。", + "general.errors.incorrectAddress": "アドレスが間違っています", + "general.errors.incorrectAddressNetwork": "間違ったネットワーク用アドレスです", + "general.errors.incorrectHandle": "ハンドルが見つかりません", + "general.errors.insufficientBalance": "残高が不足しています", + "general.errors.insufficientAvailableBalance": "アクションが必要です", + "general.errors.invalidHandle": "無効な$handleです", + "general.errors.invalidMnemonic": "無効なニーモニックです", + "general.errors.invalidPassword": "無効なパスワードです", + "general.errors.maximumInputCountExceeded": "最大入力数を超過しています", + "general.errors.networkError": "ネットワークエラー", + "general.errors.somethingWentWrong": "エラーが発生しました。もう一度やり直してください", + "general.errors.crash": "エラーが発生しました", + "general.errors.reloadExtension": "拡張機能をリロードしてください", + "general.errors.tryAgain": "もう一度やり直してください", + "general.errors.uhoh": "ああ!", + "general.errors.utxoFullyDepleted": "UTXOは全部使い切っています", + "general.errors.utxoNotFragmentedEnough": "UTXOが十分に断片化されていません", + "general.errors.wrongAddressEra": "Byronのアドレスはサポートされていません。代わりにShelleyのアドレスを使用してください。", + "general.errors.wrongNetworkAddress": "このアドレスは別のネットワークに属しています", + "general.errors.lockedStakeRewards.description": "合計残高に、ロックされて引き出すことができないステーキング報酬が含まれています。<0>ステーキングセンターにアクセスして投票パワーを登録し、ロックを解除してください", + "general.errors.lockedStakeRewards.cta": "ステーキングセンター", + "general.loading": "ロードしています", + "general.lock.helpAndSupport": "ヘルプとサポート", + "general.lock.toUnlockOpenPopUp": "ロックを解除するには、拡張機能を開いてください", + "general.lock.yourWalletIsLocked": "ウォレットはロックされています", + "general.lock.namiMode.message": "Namiモードが有効です", + "general.lock.namiMode.description": "このブラウザウィンドウを閉じて、Lace<0>拡張機能に移動します。
一度開いたら、Lace内でNamiモードを使い続けることができます。", + "general.networks.connectionUnavailable.error": "オンライン状態ですが当方に問題があり、現在解決に向けて取り組んでいます。資金は無事ですのでご安心ください。", + "general.networks.connectionUnavailable.title": "接続不良", + "general.networks.custom": "カスタム設定", + "general.networks.error": "インターネットに接続されていません。最後の接続に基づいてウォレットをナビゲートすることができます。", + "general.networks.mainnet": "メインネット", + "general.networks.offline": "オフライン", + "general.networks.preprod": "プリプロ", + "general.networks.preview": "プレビュー", + "general.networks.sanchonet": "Sanchonet", + "general.warnings.areYouSureYouWantToExit": "終了しますか。", + "general.warnings.cannotFetchPrice": "フィアット値を取得できません。問題はありませんので、あとでもう一度お試しください。", + "general.warnings.priceDataExpired": "価格データの有効期限が切れています。最新の価格情報を取得できません。\n最後に記録されたADA値の詳細: {{ date }}", + "general.warnings.thisWillNotBeSaved": "これは保存されません", + "general.warnings.walletIsOffline": "ウォレットがオフラインです。インターネットが接続されていないようです。ご心配なく。最後の接続に基づいてウォレットをナビゲートすることができます。", + "general.warnings.youHaveToStartAgain": "初めからやり直す必要があります", + "migrations.failed.actionDescription": "復元フレーズを使ってウォレットをもう一度復元してください", + "migrations.failed.btn.confirm": "OK", + "migrations.failed.errorDescription": "ウォレットをLace最新版に自動更新しようとしましたが、うまくいきませんでした。", + "migrations.failed.subtitle": "データの移行に失敗しました。", + "migrations.failed.title": "申し訳ございません。", + "migrations.inProgress.applying": "更新を適用しています...", + "migrations.inProgress.browser.description.1": "Laceは最新バージョンに更新されましたが、更新を完全に適用するには、いくつかの変更を加える必要があります", + "migrations.inProgress.browser.description.2": "続けるには拡張機能を開いてください。", + "migrations.inProgress.browser.title": "更新しています", + "multipleSelection.addToTransaction": "トランザクションに追加", + "multipleSelection.cancel": "キャンセル", + "multipleSelection.clear": "リセット", + "multipleSelection.deselect": "選択を解除", + "multipleSelection.gotIt": "OK", + "multipleSelection.noOtherTokensCanBeAdded": "このトランザクションに追加できるトークンはありません。", + "multipleSelection.reachedTheTxLimit": "トランザクションサイズ制限に達しました", + "multipleSelection.selectMultiple": "複数選択する", + "multiWallet.activated.account": "アカウント\"{{accountName}}\"が有効になりました", + "multiWallet.activated.wallet": "ウォレット\"{{walletName}}\"が有効になりました", + "multiWallet.errorDialog.commonError.description": "ハードウェアデバイスを確認してください。", + "multiWallet.errorDialog.commonError.ok": "OK", + "multiWallet.errorDialog.commonError.title": "エラーが発生しました", + "multiWallet.errorDialog.notDetectedError.agree": "同意する", + "multiWallet.errorDialog.notDetectedError.description": "デバイスのロックが解除されており、Cardanoアプリが開いていることを確認してください。", + "multiWallet.errorDialog.notDetectedError.title": "デバイスが検出できません", + "multiWallet.errorDialog.notDetectedError.trezorDescription": "デバイスのロックが解除されていることを確認してください。", + "multiWallet.popupHwAccountEnable": "ハードウェアウォレットでアカウントを有効にするには、<0>拡張ビューが必要です", + "multiWallet.walletAlreadyExists": "既存のウォレット", + "poolDetails.delegate": "このプールに委任する", + "poolDetails.sectionTitle": "プールの詳細", + "qrInfo.publicKey": "公開鍵を表示する", + "qrInfo.receive": "受信", + "qrInfo.scanQRCodeToConnectWallet": "QRコードをスキャンする、または、アドレスをコピーする", + "qrInfo.title": "ウォレットアドレス", + "qrInfo.walletAddress": "ウォレットアドレス", + "qrInfo.advancedMode.toggle.label": "詳細モード", + "qrInfo.advancedMode.toggle.description": "詳細モードでは、ウォレットに関連付けられているすべてのアドレスを、それぞれが保持するトークンの概要とともに表示することができます。", + "qrInfo.advancedMode.additionalAddresses.title": "その他のアドレス", + "qrInfo.advancedMode.newAddress.button": "アドレスを追加", + "qrInfo.advancedMode.newAddress.description": "トークンやトランザクション履歴を持たない新しいアドレスは、DAppによって要求されることがあります。トークンを受信すると、他のアドレスと一緒に表示されます。 このアドレスはプライバシーを向上させるものではありません。そのためには、新しいアカウントを作成してください。", + "qrInfo.advancedMode.newAddress.warning": "新しいアドレスを追加できるのは、最新版を使用したあとです", + "qrInfo.advancedMode.tags.unused": "New", + "qrInfo.advancedMode.tags.main": "メイン", + "qrInfo.advancedMode.modal.title": "拡張ビューへの切り替え", + "qrInfo.advancedMode.modal.description": "詳細モードを完全に体験するために、拡張ビューを開きます。", + "qrInfo.advancedMode.modal.confirm": "OK", + "qrInfo.advancedMode.modal.cancel": "キャンセル", + "send.addressBook.nameLabel": "ウォレット名", + "send.addressBook.title": "アドレスブック", + "send.balanceAmount": "残高: {{ amount }}", + "send.availableBalanceAmount": "利用可能残高:{{ amount }}", + "send.lockedStakeRewardsAmount": "ロックされたステーキング報酬:{{ amount }}", + "send.cancelModal.description": "[キャンセル]ボタンを押すと、ホームページにリダイレクトされます", + "send.cancelModal.iUnderstandGoBack": "了解して戻る", + "send.cancelModal.title": "ホームページに戻りますか", + "send.cancelModal.woopsWrongButton": "ボタンが間違っています", + "send.confirmation.enterYourSpendingPassword": "送信時パスワードを入力", + "send.connectYourLedger": "Ledgerデバイスをコンピューターに直接接続してください。デバイスのロックを解除し、Cardanoアプリを開きます。確認をクリックします。", + "send.connectYourTrezor": "デバイスとコンピューターに接続してください。続けるには、デバイスのロックを解除し、[確認]をクリックしてください", + "send.form.addrTitle": "送信先", + "send.form.cancel": "キャンセル", + "send.form.next": "次へ", + "send.networkFee": "ネットワーク手数料", + "send.sectionTitle.confirmTransaction": "トランザクションの確認", + "send.sectionTitle.sendFund": "送金", + "send.sectionTitle.TransactionSummary": "トランザクションの概要", + "send.sendMultipleOutputsAtTheSameTime": "複数のアウトプットを同時に送信し、メタデータを追加します。つまり、1つのトランザクションで複数のアセットを異なるアドレスに送信できます", + "send.summary.youSign": "署名:", + "send.theAmountYoullBeChargedToProcessYourTransaction": "トランザクションを処理するための額です", + "send.toSendAnNFTOrNativeToken": "有効なトランザクションには最低ADA額が必要です。この[ADAの割り当て]で、必要な最低ADA額を満たすためのADAがトランザクションに追加されます。これはCardano要件であり、このウォレットの手数料ではありません。", + "send.trezorDoesNotDupportDecimals": "TrezorはCardanoトークンの小数をサポートしていないため、デバイスのソフトウェアがこれらのトークンを送信するときに誤った金額が表示されることがあります(例:3トークンユニットが3,000,000と表示されるなど)。", + "settings.copyAddress": "アドレスをコピー", + "settings.copyHandle": "ハンドルをコピー", + "settings.legals.cookiePolicy": "Cookieポリシー", + "settings.legals.privacyPolicy": "プライバシーポリシー", + "settings.legals.termsAndConditions": "利用規約", + "settings.legals.termsOfService": "利用規約", + "settings.legals.title": "法務関係", + "settings.passphraseVerificationSection.title": "パスフレーズの確認", + "settings.security.passphraseVerificationIntervals": "パスフレーズ確認の間隔", + "settings.security.title": "セキュリティ", + "settings.support.faqs": "よくある質問", + "settings.support.feesExplained": "手数料の説明", + "settings.support.title": "サポート", + "settings.title": "設定", + "staking.authorization.delegateBtnLabel": "委任する", + "staking.authorization.title": "承認", + "staking.confirmation.stakingDeposit": "ステーキングデポジット", + "staking.confirmation.theAmountYoullBeChargedForRegisteringYourStakeKey": "ステークキーの登録料です。", + "staking.confirmation.title": "確認", + "staking.confirmation.transactionFee": "トランザクション手数料", + "staking.details.confirmation.button.confirm": "次へ", + "staking.expandView.button": "拡張ビュー", + "staking.expandView.description": "ブラウザーのタブビューで、ネットワークとプールについての詳細情報を表示できます", + "staking.expandView.title": "詳細情報", + "staking.notEnoughFunds.text": "ステーキングを始めるには最低10ADAが必要です", + "staking.notEnoughFunds.title": "資金不足", + "staking.notStaking.text": "検索バーにステークプール名またはIDを入力してください。[委任]ボタンをクリックして資金をプールに委任する", + "staking.notStaking.title": "委任するプールを検索する", + "staking.sectionTitle": "ステーキング", + "staking.stakePools.sectionTitle": "ステークプール", + "tab.main.title": "タブ拡張", + "transactions.detail.blockInfo": "ブロック情報", + "transactions.detail.title": "アクティビティの詳細", + "unlock.button": "ロック解除", + "unlock.forgotPassword": "パスワードを忘れた", + "unlock.input.placeholder": "パスワード", + "unlock.sectionTitle": "おかえりなさい", + "walletActivity.sectionTitle": "アクティビティ", + "walletSetup.backModal.iUnderstandGoBack": "キャンセル", + "walletSetup.backModal.ohOkLetsContinue": "OK", + "walletSetup.backModal.youllHaveToStartAgain": "初めからやり直す必要があります", + "walletSetup.backModal.youWillBeShowANewRecoveryPhraseThePreviousOneWillBeDeleted": "新しい復元フレーズが表示され、前の復元フレーズは削除されます", + "walletSetup.layout.btns.back": "戻る", + "walletSetup.layout.btns.next": "次へ", + "walletSetup.password.capitalLetter": "大文字1文字", + "walletSetup.password.characterMin": "8文字以上", + "walletSetup.password.createYourWalletPassword": "ウォレットパスワードを作成してください", + "walletSetup.password.looksLikeThePasswordsYouHaveEnteredAreNotMatching": "入力したパスワードが一致していません", + "walletSetup.password.lowecasseLetter": "小文字1文字", + "walletSetup.password.number": "数字1文字", + "walletSetup.recoveryPhrase.confirm": "確認", + "walletSetup.recoveryPhrase.currentSet": "Set {{set}} - words {{start}} to {{end}}", + "walletSetup.recoveryPhrase.enterYourSecretRecoveryPhrase": "秘密の復元フレーズを入力してください", + "walletSetup.recoveryPhrase.howOftenWouldYouLikeToVerifyYourPassphrase": "パスフレーズはどのくらいの間隔で確認しますか", + "walletSetup.recoveryPhrase.iHaveWrittenDownAll24Word": "24の単語をすべて書き留めました", + "walletSetup.recoveryPhrase.verificationFrequencyDecription": "定期的にパスフレーズを確認してウォレットを安全に保ちましょう", + "walletSetup.restore.recoveryPassphrasesFromOtherWalletsWillNotWork": "他のウォレットの復元パスフレーズは使用できません", + "walletSetup.setupOptions.createDescription": "新しいウォレットで始める", + "walletSetup.setupOptions.createNewWallet": "ウォレットを新規作成", + "walletSetup.setupOptions.getStarted": "はじめる", + "walletSetup.setupOptions.restoreDescription": "秘密のフレーズの入力", + "walletSetup.setupOptions.restoreWallet": "ウォレットの復元", + "walletSetup.walletName.pleaseNameYourWallet": "ウォレット名を付けてください", + "walletSetup.walletName.walletNameDescription": "Lorem ipsum dolor sit amet", + "midnightEventBanner.title": "Midnightトークンの配布について確認する", + "midnightEventBanner.description": "Midnightネットワークの未来を構築する広範で多様なコミュニティ強化を目的とした、複数フェーズにわたるNIGHTトークンの無料配布", + "midnightEventBanner.learnMore": "もっと知る", + "midnightEventBanner.reminder": "あとで通知する", + "midnightEventBanner.dialog.title": "注意", + "midnightEventBanner.dialog.description": "Midnightトークン配布の詳細は、設定からいつでも確認できます", + "midnightEventBanner.dialog.confirm": "了解しました", + "midnightEventBanner.dialog.cancel": "キャンセル", + "paperWallet.savePaperWallet.title": "ペーパーウォレットを保存する", + "paperWallet.savePaperWallet.description": "ペーパーウォレットが作成されました。このファイルを安全な場所に保存するか、印刷して安全に保管してください。", + "paperWallet.savePaperWallet.downloadBtnLabel": "ダウンロード", + "paperWallet.savePaperWallet.printBtnLabel": "印刷", + "paperWallet.savePaperWallet.pleaseSaveOrPrintLabel": "続けるには、ペーパーウォレットをダウンロードまたは印刷してください。ウォレットを復元するには、このプリントアウトが必要です", + "paperWallet.chooseRecoveryMethod.mnemonicDescription": "ウォレット用の24語の復元フレーズです。大切に保管してください。", + "browserView.settings.generatePaperWallet.title": "ペーパーウォレットを生成する", + "paperWallet.chooseRecoveryMethod.title": "復元方法を選択する", + "paperWallet.chooseRecoveryMethod.description": "まず、新しいウォレットの復元方法を選択してください。バックアップとして使用する、または、新しいデバイスにウォレットを追加する際に使用します。もっと知る", + "paperWallet.chooseRecoveryMethod.advanced": "詳細", + "paperWallet.chooseRecoveryMethod.pgpKeysRequired": "PGPキーが必要です", + "paperWallet.chooseRecoveryMethod.paperWallet.title": "ペーパーウォレット", + "paperWallet.chooseRecoveryMethod.paperWallet.description": "スキャン可能なQRコードには、PGPキーで暗号化された復元情報が含まれます。", + "paperWallet.securePaperWallet.title": "ペーパーウォレットを安全に保管する", + "paperWallet.securePaperWallet.description": "Laceは、QRコードで読み取り可能な形式で復元情報を保護するために、既存のPGP公開鍵を使用しています。", + "paperWallet.scanShieldedMessage.title": "プライベートQRコードをスキャンする", + "paperWallet.scanShieldedMessage.description": "カメラのフレーム内にプライベートQRコードが見えるようにペーパーウォレットをかざしてください。", + "paperWallet.scanShieldedMessage.cameraAccessBlocked": "Laceのカメラの使用がブロックされています。", + "paperWallet.scanShieldedMessage.waitingForCameraAccess": "QRコードをスキャンするためにカメラのアクセス許可を有効にしてください", + "paperWallet.scanShieldedMessage.lookingForWallet": "QRコードを検索中...", + "paperWallet.chooseRestoreMethod.title": "復元方法を選択する", + "paperWallet.chooseRestoreMethod.description": "ウォレットを作成したときに選択した回復方法を選択してください。", + "paperWallet.walletOverview.title": "ウォレットの概要を確認する", + "paperWallet.walletOverview.description": "特定されたウォレットアドレスとトークン残高を確認して、正しいウォレットが復元されていることを確認してください。", + "paperWallet.WalletOverview.balanceTitle": "残高", + "paperWallet.WalletOverview.otherItemsHeading": "その他", + "paperWallet.WalletOverview.otherItemsTooltip": "ウォレット内のADAを除くアイテム数(NFTなど)", + "paperWallet.chooseRestoreMethod.option.paper": "ペーパーウォレット", + "pgp.error.misformedArmoredText": "不正なPGPキーブロックです。", + "pgp.error.privateKeySuppliedInsteadOfPublic": "自分のPGP公開鍵を使用してください。", + "pgp.error.noValidEncryptionKeyPacket": "鍵の中に有効な暗号化キーパケットが見つかりません。", + "pgp.error.rsaKeyTooWeak": "2047ビットより短いRSAキーは弱すぎるとみなされます。", + "paperWallet.enterPgpPrivateKey.title": "PGP秘密鍵を入力する", + "paperWallet.enterPgpPrivateKey.description": "ウォレットの復元情報を復号化するには、ペーパーウォレットの作成中に使用したPGPキーの秘密鍵を使用します。", + "paperWallet.enterPgpPrivateKey.toggleOption.fileUpload": "ファイルのアップロード", + "paperWallet.enterPgpPrivateKey.toggleOption.fromClipboard": "クリップボードから貼り付け", + "paperWallet.enterPgpPrivateKey.fileUploadLabel": "アップロードするファイルを選択", + "paperWallet.enterPgpPrivateKey.supportedFileUploadFormats": "サポートされている形式:.asc", + "paperWallet.enterPgpPrivateKey.keyNotPrivate": "PGP秘密鍵を使用してください", + "paperWallet.enterPgpPrivateKey.restoreSuccess": "成功しました", + "paperWallet.enterPgpPrivateKey.restoreSuccess.summary": "このウォレットの復元情報は正常に復号化されました。ウォレットを復元できます。", + "browserView.settings.generatePaperWallet.description": "復元フレーズの暗号化されたバックアップをペーパーウォレットとしてダウンロードする", + "paperWallet.WalletOverview.accountZero": "アカウント#0", + "paperWallet.SettingsDrawer.ExitWarningTitle": "ペーパーウォレットの設定を終了しますか", + "paperWallet.SettingsDrawer.ExitWarningDescription": "ペーパーウォレットは生成されましたが、ダウンロードしていません。次回は新しいウォレットを生成する必要があります。", + "paperWallet.SettingsDrawer.ExitButton": "終了", + "paperWallet.SettingsDrawer.passphraseStage.title": "パスワードを入力してください", + "paperWallet.SettingsDrawer.passphraseStage.subtitle": "ウォレットのロックを解除してトランザクションを実行するために使用するパスワードです", + "dapp.connector.btc.error.title": "ビットコインウォレット", + "dapp.connector.btc.error.description": "ビットコインウォレット用DAppコネクターは、本バージョンの拡張機能ではサポートされていません。", + "dapp.connector.btc.error.closeButton": "閉じる", + "languageChoice.english": "英語", + "languageChoice.japanese": "日本語", + "asset.searchPlaceholder": "IDまたは名前で検索", + "bitcoinSendMode.fee.high": "High", + "bitcoinSendMode.fee.average": "Average", + "bitcoinSendMode.fee.slow": "Slow", + "bitcoinSendMode.fee.custom": "Custom", + "bitcoinSendMode.previousTxSendError": "You cannot send transactions while previous transactions are still pending." +} diff --git a/packages/translation/src/lib/translations/browser-extension-wallet/ja.ts b/packages/translation/src/lib/translations/browser-extension-wallet/ja.ts new file mode 100644 index 0000000000..927ad68b4c --- /dev/null +++ b/packages/translation/src/lib/translations/browser-extension-wallet/ja.ts @@ -0,0 +1,5 @@ +import jajson from './ja.json'; + +export const ja = { + ...jajson, +}; diff --git a/packages/translation/src/lib/translations/cardano/ja.json b/packages/translation/src/lib/translations/cardano/ja.json new file mode 100644 index 0000000000..3315cf2ec9 --- /dev/null +++ b/packages/translation/src/lib/translations/cardano/ja.json @@ -0,0 +1,71 @@ +{ + "cardano.catalystConfirmationStep.confirmBody": "有権者登録トランザクションに署名してください。投票パワーの証拠としてウォレットの残高をリンクします。資金がウォレットから移されることはありませんが、画面下部に表示されるトランザクション手数料が必要です。", + "cardano.catalystConfirmationStep.confirmHeader": "登録トランザクションを確認する", + "cardano.catalystConfirmationStep.register": "有権者登録", + "cardano.catalystConfirmationStep.totalFee": "総手数料", + "cardano.catalystPinStep.confirmPin": "PINコードを確認する", + "cardano.catalystPinStep.pinNotMatching": "PINが一致しません", + "cardano.catalystPinStep.resetPin": "PINをリセットしますか", + "cardano.catalystPinStep.setPin": "PINコードを設定してください。Catalystアプリにアクセスして投票するたびに必要になります", + "cardano.catalystRegistrationStep.registerNow": "Catalystアプリで、[Register Now](今すぐ登録)ボタンをクリックしてください", + "cardano.catalystScanStep.body1": "以下のQRコードは、Cardanoの投票プロセスに参加するためにCatalystアプリで必要となる生成された証明書です。", + "cardano.catalystScanStep.body2": "QRコードのスクリーンショットをバックアップとして撮ることが推奨されます。[完了]をクリックするとアクセスできなくなります。", + "cardano.catalystScanStep.doneButton": "完了", + "cardano.catalystScanStep.downloadButton": "QRコードをダウンロード", + "cardano.catalystScanStep.header": "Catalyst Voting Appを使用してQRコードをスキャンする", + "cardano.currentCatalystFund.endOfRegistration": "登録終了まで", + "cardano.general.cancelButton": "キャンセル", + "cardano.general.confirmButton": "確認", + "cardano.general.nextButton": "次へ", + "cardano.networkInfo.averageMargin": "平均マージン", + "cardano.networkInfo.averageRos": "平均ROS", + "cardano.networkInfo.currentEpoch": "現在のエポック", + "cardano.networkInfo.epochEnd": "エポック終了まで", + "cardano.networkInfo.percentageStaked": "%ステーキング済み", + "cardano.networkInfo.title": "ネットワーク情報", + "cardano.networkInfo.totalPools": "プール総数", + "cardano.stakePoolMetricsBrowser.activeStake": "アクティブステーク", + "cardano.stakePoolMetricsBrowser.blocks": "ブロック", + "cardano.stakePoolMetricsBrowser.cost": "エポックごとのコスト", + "cardano.stakePoolMetricsBrowser.delegators": "デリゲーター", + "cardano.stakePoolMetricsBrowser.liveStake": "ライブステーク", + "cardano.stakePoolMetricsBrowser.margin": "プールマージン", + "cardano.stakePoolMetricsBrowser.pledge": "出資", + "cardano.stakePoolMetricsBrowser.ros": "ROS", + "cardano.stakePoolMetricsBrowser.saturation": "飽和", + "cardano.stakePoolSearch.gettingSaturated": "このプールは飽和し始めています", + "cardano.stakePoolSearch.overSaturated": "このプールは過剰飽和状態です", + "cardano.stakePoolSearch.saturated": "このプールは飽和状態です", + "cardano.stakePoolSearch.searchPlaceholder": "IDまたは名称を入力してください", + "cardano.stakePoolSearch.staking": "あなたはこのプールにステーキングしています", + "cardano.stakePoolStatusLogo.delegating": "このプールに委任しています", + "cardano.stakePoolStatusLogo.retired": "このプールは廃止されました。報酬を受け取るには、他のプールに再委任してください", + "cardano.stakePoolStatusLogo.retiring": "このプールは廃止されます。報酬の損失を避けるために、他のプールに再委任してください", + "cardano.stakePoolStatusLogo.saturated": "このプールは過剰飽和しています。報酬の損失を避けるために、別のプールにステーキングしてください", + "cardano.stakePoolTableBrowser.tableHeader.blocks.title": "ブロック", + "cardano.stakePoolTableBrowser.tableHeader.blocks.tooltip": "プールによって作成されたブロック数合計。", + "cardano.stakePoolTableBrowser.tableHeader.cost.title": "コスト", + "cardano.stakePoolTableBrowser.tableHeader.cost.tooltip": "コストは、デリゲーターから直接支払われるのではなく、プールの報酬から差し引かれます。これは固定コストと変動コストで構成され、プールの運用コストをカバーします", + "cardano.stakePoolTableBrowser.tableHeader.liveStake.title": "ライブステーク", + "cardano.stakePoolTableBrowser.tableHeader.liveStake.tooltip": "特定のステークプールに現在ステーキングされている暗号資産の合計量", + "cardano.stakePoolTableBrowser.tableHeader.margin.title": "マージン", + "cardano.stakePoolTableBrowser.tableHeader.margin.tooltip": "固定コストを差し引いた後、報酬が分配される前にステークプールオペレータが受け取る報酬の割合", + "cardano.stakePoolTableBrowser.tableHeader.pledge.title": "出資", + "cardano.stakePoolTableBrowser.tableHeader.pledge.tooltip": "プールが稼働している間、プールにステーキングされたままになることを目的とした自己担保資産量", + "cardano.stakePoolTableBrowser.tableHeader.ros.title": "ROS", + "cardano.stakePoolTableBrowser.tableHeader.ros.tooltip": "意図したステーク量を委任した場合にエポックごとに得られると見込まれる報酬額の見積もりで、システムはプールのパラメーターとパフォーマンスデータの履歴を考慮し、見込み報酬額を算出しますが、その際、プールが飽和値に達していることを想定しています。", + "cardano.stakePoolTableBrowser.tableHeader.saturation.title": "飽和", + "cardano.stakePoolTableBrowser.tableHeader.saturation.tooltip": "ステークプールが飽和に達すると、その後の報酬は減少していきます", + "cardano.stakePoolTableBrowser.tableHeader.ticker.title": "ティッカー", + "cardano.stakePoolTableBrowser.tableHeader.ticker.tooltip": "ステークプールの一意の識別子を参照します", + "cardano.stakingConfirmationInfo.delegateTo": "委任先", + "cardano.stakingConfirmationInfo.deposit": "デポジット", + "cardano.stakingConfirmationInfo.poolId": "プールID", + "cardano.stakingConfirmationInfo.transactionFee": "トランザクション手数料", + "cardano.votingParticipation.walletStatus": "ウォレットステータス", + "cardano.waitForNextFundCard.message": "ウォレットを登録していない場合は、次回Fundを待つ間に登録できます", + "cardano.waitForNextFundCard.phase0": "第0フェーズ", + "cardano.waitForNextFundCard.register": "登録", + "cardano.waitForNextFundCard.registered": "登録済み", + "cardano.waitForNextFundCard.title": "次回Fundを待っています" +} diff --git a/packages/translation/src/lib/translations/cardano/ja.ts b/packages/translation/src/lib/translations/cardano/ja.ts new file mode 100644 index 0000000000..927ad68b4c --- /dev/null +++ b/packages/translation/src/lib/translations/cardano/ja.ts @@ -0,0 +1,5 @@ +import jajson from './ja.json'; + +export const ja = { + ...jajson, +}; diff --git a/packages/translation/src/lib/translations/core/en.json b/packages/translation/src/lib/translations/core/en.json index bebd9dc4b1..5ef0dd9e3a 100644 --- a/packages/translation/src/lib/translations/core/en.json +++ b/packages/translation/src/lib/translations/core/en.json @@ -706,6 +706,8 @@ "core.namiMigration.allDone.title": "All done!", "core.namiMigration.allDone.message": "You can now close this tab and reload the extension", "core.namiMigration.allDone.close": "Close", + "core.nftFolderName.root": "Root", + "core.asset.searchPlaceholder": "Search by ID or name", "core.derivationType.icarus": "Icarus (default)", "core.derivationType.icarusDescription": "Recommended for new wallets", "core.derivationType.icarusTrezor": "Icarus Trezor", @@ -713,5 +715,10 @@ "core.derivationType.ledger": "Ledger", "core.derivationType.ledgerDescription": "Select if connecting a Ledger-created wallet", "core.derivationType.selectDerivationType": "Derivation type", - "core.derivationType.infoTooltip": "Determines how accounts and addresses are generated from your seed phrase." + "core.derivationType.infoTooltip": "Determines how accounts and addresses are generated from your seed phrase.", + "asset.searchPlaceholder": "Search by ID or name", + "core.sharedWallets.importTransaction": "Import transaction", + "core.sharedWallets.importTransactionDescription": "To co-sign a transaction initiated by another shared wallet member, upload the transaction JSON file you received.", + "core.sharedWallets.importTransactionSupportedFormat": "Supported formats: JSON", + "core.sharedWallets.removeBtnLabel": "Remove" } diff --git a/packages/translation/src/lib/translations/core/ja.json b/packages/translation/src/lib/translations/core/ja.json new file mode 100644 index 0000000000..471382d53c --- /dev/null +++ b/packages/translation/src/lib/translations/core/ja.json @@ -0,0 +1,719 @@ +{ + "core.activity.loaderError.message": "その他のアクティビティのロードに失敗しました", + "core.activity.loaderError.buttonLabel": "再試行", + "core.activityDetails.address": "アドレス", + "core.activityDetails.AuthorizeCommitteeHotCertificate": "承認委員会", + "core.activityDetails.certificate": "証明書", + "core.activityDetails.certificates": "証明書", + "core.activityDetails.CBOR": "rawトランザクション(CBOR)", + "core.activityDetails.auxData": "トランザクションメタデータ", + "core.activityDetails.certificateTitles.anchorHash": "アンカーハッシュ", + "core.activityDetails.certificateTitles.anchorURL": "アンカーURL", + "core.activityDetails.certificateTitles.certificateType": "タイプ", + "core.activityDetails.certificateTitles.certificate": "証明書", + "core.activityDetails.certificateTitles.coldCredential": "コールドクレデンシャル", + "core.activityDetails.certificateTitles.depositPaid": "デポジット支払い済み", + "core.activityDetails.certificateTitles.depositPaidInfo": "デポジット支払い済み", + "core.activityDetails.certificateTitles.depositReturned": "デポジット返還済み", + "core.activityDetails.certificateTitles.depositReturnedInfo": "デポジット返還済み", + "core.activityDetails.certificateTitles.drep": "DRep", + "core.activityDetails.certificateTitles.drepId": "DRep ID", + "core.activityDetails.certificateTitles.hotCredential": "ホットクレデンシャル", + "core.activityDetails.certificateTitles.poolId": "プールID", + "core.activityDetails.certificateTitles.stakeKey": "ステークキー", + "core.activityDetails.collateral.error": "トランザクションが失敗したため、コントラクトの実行失敗により発生する費用を補うために担保が使用されました。", + "core.activityDetails.collateral.label": "担保", + "core.activityDetails.collateral.tooltip.info": "コントラクトの実行失敗を補うための担保として設定された額です。失敗しなければ、担保は使用されません。", + "core.activityDetails.collateral.tooltip.success": "担保として設定された額。トランザクションが成功したため、担保は使用されませんでした", + "core.activityDetails.copiedToClipboard": "クリップボードにコピーしました", + "core.activityDetails.credentialType.KeyHash": "キーハッシュ", + "core.activityDetails.credentialType.ScriptHash": "スクリプトハッシュ", + "core.activityDetails.delegation": "委任", + "core.activityDetails.deposit": "デポジット", + "core.activityDetails.depositReclaim": "還元されたデポジット", + "core.activityDetails.deregistration": "ステークキーの登録解除", + "core.activityDetails.epoch": "エポック", + "core.activityDetails.epochs": "エポック", + "core.activityDetails.from": "送信元", + "core.activityDetails.governanceActions.hard_fork_initiation_action": "ハードフォーク実行アクション", + "core.activityDetails.governanceActions.info_action": "情報アクション", + "core.activityDetails.governanceActions.new_constitution": "憲法更新アクション", + "core.activityDetails.governanceActions.no_confidence": "不信任アクション", + "core.activityDetails.governanceActions.parameter_change_action": "プロトコルパラメーター更新アクション", + "core.activityDetails.governanceActions.treasury_withdrawals_action": "トレジャリー引き出しアクション", + "core.activityDetails.governanceActions.update_committee": "委員会更新アクション", + "core.activityDetails.HardForkInitiationAction": "ハードフォーク実行アクション", + "core.activityDetails.header": "アクティビティの概要", + "core.activityDetails.InfoAction": "情報アクション", + "core.activityDetails.inputs": "インプット", + "core.activityDetails.metadata": "メタデータ", + "core.activityDetails.multipleAddresses": "マルチアドレス", + "core.activityDetails.NewConstitution": "新憲法アクション", + "core.activityDetails.NoConfidence": "不信任アクション", + "core.activityDetails.outputs": "アウトプット", + "core.activityDetails.ParameterChangeAction": "パラメーター変更アクション", + "core.activityDetails.poolId": "プールID", + "core.activityDetails.poolName": "プール名", + "core.activityDetails.pools": "プール", + "core.activityDetails.poolTicker": "プールティッカー", + "core.activityDetails.proposalProcedure": "アクション", + "core.activityDetails.proposalProcedures": "アクション", + "core.activityDetails.proposalProcedureTitles.actionIndex": "アクションインデックス", + "core.activityDetails.proposalProcedureTitles.anchorHash": "アンカーハッシュ", + "core.activityDetails.proposalProcedureTitles.anchorURL": "アンカーURL", + "core.activityDetails.proposalProcedureTitles.coldCredentialHash": "コールドクレデンシャルハッシュ", + "core.activityDetails.proposalProcedureTitles.constitutionAnchorURL": "憲法アンカーURL", + "core.activityDetails.proposalProcedureTitles.constitutionScriptHash": "憲法スクリプトハッシュ", + "core.activityDetails.proposalProcedureTitles.deposit": "デポジット", + "core.activityDetails.proposalProcedureTitles.epoch": "エポック", + "core.activityDetails.proposalProcedureTitles.governanceActionID": "ガバナンスアクションID", + "core.activityDetails.proposalProcedureTitles.hash": "ハッシュ", + "core.activityDetails.proposalProcedureTitles.membersToBeAdded": "追加するメンバー", + "core.activityDetails.proposalProcedureTitles.membersToBeRemoved": "削除するメンバー", + "core.activityDetails.proposalProcedureTitles.newQuorumThreshold": "新しいクォーラムしきい値", + "core.activityDetails.proposalProcedureTitles.protocolVersionMajor": "プロトコルバージョンメジャー", + "core.activityDetails.proposalProcedureTitles.protocolVersionMinor": "プロトコルバージョンマイナー", + "core.activityDetails.proposalProcedureTitles.protocolVersionPatch": "プロトコルバージョンパッチ", + "core.activityDetails.proposalProcedureTitles.rewardAccount": "報酬アカウント", + "core.activityDetails.proposalProcedureTitles.type": "タイプ", + "core.activityDetails.proposalProcedureTitles.withdrawal": "引き出し", + "core.activityDetails.proposalProcedureTitles.withdrawalAmount": "引き出し額", + "core.activityDetails.proposalProcedureTitles.withdrawalRewardAccount": "報酬アカウントの引き出し", + "core.activityDetails.received": "受信", + "core.activityDetails.RegisterDelegateRepresentativeCertificate": "DRepの登録", + "core.activityDetails.registration": "ステークキーの登録", + "core.activityDetails.ResignCommitteeColdCertificate": "委員会を辞職", + "core.activityDetails.rewards": "報酬", + "core.activityDetails.rewardsDescription": "利用可能な場合、あなたの報酬はトークンを送信するたびに自動的に引き出されます。", + "core.activityDetails.self": "セルフ", + "core.activityDetails.sending": "送信中", + "core.activityDetails.pending": "承認待ち", + "core.activityDetails.sent": "送信済み", + "core.activityDetails.awaitingCosignatures": "共同署名待ち", + "core.activityDetails.StakeRegistrationDelegateCertificate": "ステークキーの登録と委任", + "core.activityDetails.StakeVoteDelegationCertificate": "ステークキーの登録とDRepの委任", + "core.activityDetails.StakeVoteRegistrationDelegateCertificate": "ステークキーの登録と委任、DRepの委任", + "core.activityDetails.status": "ステータス", + "core.activityDetails.summary": "概要", + "core.activityDetails.timestamp": "タイムスタンプ", + "core.activityDetails.to": "送信先", + "core.activityDetails.transactionFee": "トランザクション手数料", + "core.activityDetails.transactionFeeInfo": "トランザクションを処理するための額です", + "core.activityDetails.transactionID": "トランザクションID", + "core.activityDetails.TreasuryWithdrawalsAction": "トレジャリー引き出しアクション", + "core.activityDetails.UnregisterDelegateRepresentativeCertificate": "DRepの登録解除", + "core.activityDetails.UpdateCommittee": "委員会更新アクション", + "core.activityDetails.UpdateDelegateRepresentativeCertificate": "DRepの更新", + "core.activityDetails.vote": "投票の署名", + "core.activityDetails.VoteDelegationCertificate": "投票の委任", + "core.activityDetails.VoteRegistrationDelegateCertificate": "ステークキーの登録とDRepの委任", + "core.activityDetails.voterType.constitutionalCommittee": "憲法委員会", + "core.activityDetails.voterType.drep": "DRep", + "core.activityDetails.voterType.spo": "SPO", + "core.activityDetails.voteTypes.abstain": "棄権", + "core.activityDetails.voteTypes.no": "いいえ", + "core.activityDetails.voteTypes.yes": "はい", + "core.activityDetails.votingProcedure": "投票", + "core.activityDetails.votingProcedures": "投票", + "core.activityDetails.votingProcedureTitles.anchorHash": "アンカーハッシュ", + "core.activityDetails.votingProcedureTitles.anchorURL": "アンカーURL", + "core.activityDetails.votingProcedureTitles.drepId": "DRep ID", + "core.activityDetails.votingProcedureTitles.vote": "投票", + "core.activityDetails.votingProcedureTitles.voterCredential": "投票者のクレデンシャル", + "core.activityDetails.votingProcedureTitles.voterType": "投票者のタイプ", + "core.activityDetails.votingProcedureTitles.voteTypes": "投票", + "core.addressBook.addressHandleTooltip": "このハンドルにリンクされているアドレスは変更されています。クリックして更新または削除してください。", + "core.addressCard.more.label": "詳細", + "core.addressCard.nativeTokens.label": "ネイティブトークン", + "core.addressCard.nfts.label": "NFT", + "core.addressCard.tokens.label": "トークン", + "core.addressCard.unused.label": "未使用", + "core.addressCard.handle.copy.tooltip": "$handleをコピーする", + "core.addressCard.handle.copy.notification": "クリップボードにコピーしました", + "core.addressForm.addAddress": "アドレスを追加", + "core.addressForm.addNew": "新しいアドレスを追加", + "core.addressForm.addNewSubtitle": "お気に入りのアドレスを保存すると、簡単に見つけられるようになります。", + "core.addressForm.address": "アドレス", + "core.addressForm.name": "名称", + "core.addressForm.doneButton": "アドレスを保存する", + "core.addressTags.foreign": "外国", + "core.addressTags.own": "所有", + "core.assetActivityItem.entry.asset": "アセット", + "core.assetActivityItem.entry.certificates.headings.anchor": "アンカー", + "core.assetActivityItem.entry.certificates.headings.certificates": "証明書", + "core.assetActivityItem.entry.certificates.headings.coldCredential": "コールドクレデンシャル", + "core.assetActivityItem.entry.certificates.headings.deposit": "デポジット支払い済み", + "core.assetActivityItem.entry.certificates.headings.depositPaid": "デポジット支払い済み", + "core.assetActivityItem.entry.certificates.headings.drep": "DRep", + "core.assetActivityItem.entry.certificates.headings.drepCredential": "DRepのクレデンシャル", + "core.assetActivityItem.entry.certificates.headings.hotCredential": "ホットクレデンシャル", + "core.assetActivityItem.entry.certificates.headings.typename": "証明書のタイプ", + "core.assetActivityItem.entry.name.AuthorizeCommitteeHotCertificate": "承認委員会", + "core.assetActivityItem.entry.name.delegation": "委任", + "core.assetActivityItem.entry.name.delegationDeregistration": "ステークキーの登録解除", + "core.assetActivityItem.entry.name.delegationRegistration": "ステークキーの登録", + "core.assetActivityItem.entry.name.UnRegistrationCertificate": "ステークキーの登録解除", + "core.assetActivityItem.entry.name.RegistrationCertificate": "ステークキーの登録", + "core.assetActivityItem.entry.name.HardForkInitiationAction": "ハードフォーク実行アクション", + "core.assetActivityItem.entry.name.incoming": "受信", + "core.assetActivityItem.entry.name.InfoAction": "情報アクション", + "core.assetActivityItem.entry.name.NewConstitution": "新憲法アクション", + "core.assetActivityItem.entry.name.NoConfidence": "不信任アクション", + "core.assetActivityItem.entry.name.outgoing": "送信済み", + "core.assetActivityItem.entry.name.ParameterChangeAction": "パラメーター変更アクション", + "core.assetActivityItem.entry.name.RegisterDelegateRepresentativeCertificate": "DRepの登録", + "core.assetActivityItem.entry.name.ResignCommitteeColdCertificate": "委員会を辞職", + "core.assetActivityItem.entry.name.rewards": "報酬", + "core.assetActivityItem.entry.name.self": "セルフトランザクション", + "core.assetActivityItem.entry.name.sending": "送信中", + "core.assetActivityItem.entry.name.receiving": "受信中", + "core.assetActivityItem.entry.name.awaitingCosignatures": "共同署名待ち", + "core.assetActivityItem.entry.name.StakeRegistrationDelegateCertificate": "ステーク登録委任証明書", + "core.assetActivityItem.entry.name.StakeRegistrationDelegationCertificate": "ステーク登録委任証明書", + "core.assetActivityItem.entry.name.StakeRegistrationCertificate": "ステーク登録証明書", + "core.assetActivityItem.entry.name.StakeDelegationCertificate": "ステーク委任", + "core.assetActivityItem.entry.name.StakeDeRegistrationCertificate": "ステーク登録解除証明書", + "core.assetActivityItem.entry.name.StakeVoteDelegationCertificate": "ステーク投票委任証明書", + "core.assetActivityItem.entry.name.StakeVoteRegistrationDelegateCertificate": "ステーク投票登録委任証明書", + "core.assetActivityItem.entry.name.StakeVoteRegistrationDelegationCertificate": "ステーク投票登録委任証明書", + "core.assetActivityItem.entry.name.TreasuryWithdrawalsAction": "トレジャリー引き出しアクション", + "core.assetActivityItem.entry.name.UnregisterDelegateRepresentativeCertificate": "DRepの登録解除", + "core.assetActivityItem.entry.name.UpdateCommittee": "委員会更新アクション", + "core.assetActivityItem.entry.name.UpdateDelegateRepresentativeCertificate": "DRepの更新", + "core.assetActivityItem.entry.name.vote": "投票の署名", + "core.assetActivityItem.entry.name.VoteDelegationCertificate": "投票の委任", + "core.assetActivityItem.entry.name.VoteRegistrationDelegateCertificate": "投票登録委任証明書", + "core.assetActivityItem.entry.name.VoteRegistrationDelegationCertificate": "投票登録委任証明書", + "core.assetActivityItem.entry.staking": "ステーキング", + "core.assetActivityItem.entry.token": "トークン", + "core.assetActivityItem.entry.tokens": "トークン", + "core.assetActivityList.title": "アクティビティ", + "core.assetActivityList.viewAll": "すべてを表示する", + "core.assetInput.maxButton": "最大", + "core.assetSelectorOverlay.addFundsToStartYourWeb3Journey": "資金を追加してWeb3を始めましょう。", + "core.assetSelectorOverlay.addFundsToStartYourWeb3Journey.": "資金を追加してWeb3を始めましょう。", + "core.assetSelectorOverlay.justAddSomeDigitalAssetsToGetStarted": "まずデジタル資産を追加してください。", + "core.assetSelectorOverlay.noMatchingResult": "該当する結果はありません", + "core.assetSelectorOverlay.noNFTs": "送金するNFTはありません。", + "core.assetSelectorOverlay.usedAllAssets": "もうありません。すでにすべて選択されています", + "core.assetSelectorOverlay.youDonthaveAnyTokens": "トークンがありません。", + "core.assetTable.columns.balance": "残高", + "core.assetTable.columns.price": "価格/24時間 %", + "core.assetTable.columns.token": "トークン", + "core.authorizeDapp.nonssl": "このサイトは安全ではありません", + "core.authorizeDapp.nonsslTooltip": "このサイトは一般的なWeb標準に準拠していません", + "core.authorizeDapp.seeNetwork": "ウォレットが接続されているネットワークを確認する", + "core.authorizeDapp.seeWalletAddresses": "ウォレットのさまざまなアドレス(報酬アカウントを含む)を確認する", + "core.authorizeDapp.seeWalletBalance": "ウォレットの残高を確認する", + "core.authorizeDapp.seeWalletUtxo": "ウォレットのUTXOを確認する", + "core.authorizeDapp.title": "このサイトに次を許可します", + "core.authorizeDapp.warning": "信頼できるDAppsにのみ接続する", + "core.signMessage.title": "メッセージに署名する", + "core.signMessage.instructions": "署名するメッセージを入力または貼り付ける", + "core.signMessage.subtitle": "信頼性を証明するためにメッセージは暗号署名されます", + "core.signMessage.addressLabel": "アドレス", + "core.signMessage.selectAddress": "使用するアドレスを選択してください", + "core.signMessage.messageLabel": "署名するメッセージ", + "core.signMessage.messagePlaceholder": "ここにメッセージを貼り付けるか入力してください", + "core.signMessage.incorrectPassword": "パスワードが間違っています。もう一度やり直してください。", + "core.signMessage.signingInProgress": "署名中", + "core.signMessage.signatureLabel": "署名", + "core.signMessage.passwordTitle": "署名を確認する", + "core.signMessage.passwordSubtitle": "パスワードを使ってトランザクションに署名してください", + "core.signMessage.passwordLabel": "パスワード", + "core.signMessage.back": "戻る", + "core.signMessage.walletNotInitialized": "ウォレットが初期化されていません", + "core.signMessage.signingFailed": "署名に失敗しました", + "core.signMessage.signWithHardwareWallet": "ハードウェアウォレットで署名する", + "core.signMessage.pleaseConfirmOnDevice": "ハードウェアウォレットデバイスで署名操作を確認してください。", + "core.signMessage.copyToClipboard": "クリップボードにコピー", + "core.signMessage.signAnotherMessage": "別のメッセージに署名する", + "core.signMessage.successTitle": "完了しました", + "core.signMessage.signature": "署名", + "core.signMessage.key": "公開鍵", + "core.signMessage.rawKey": "公開鍵(Glacier Drop対応)", + "core.signMessage.nextButton": "次へ", + "core.signMessage.closeButton": "閉じる", + "core.signMessage.cancelButton": "キャンセル", + "core.signMessage.signButton": "メッセージに署名する", + "core.signMessage.signWithHardwareWalletButton": "ハードウェアウォレットでメッセージに署名する", + "core.signMessage.hardwareWalletNotConnected": "ハードウェアウォレットが接続され、ロックが解除されていることを確認してください。", + "core.signMessage.addressTypePayment": "支払い", + "core.signMessage.addressTypeStake": "ステーク", + "core.Burn.title": "トランザクションの確認", + "core.coinInputSelection.assetSelection": "トークンまたはNFTを選択する", + "core.coinInputSelection.nfts": "NFT", + "core.coinInputSelection.tokens": "トークン", + "core.confirmationBanner.agree": "同意する", + "core.confirmationBanner.reject": "拒否する", + "core.dappTransaction.adaTooltip": "ADAはCardanoのネイティブトークンであり、アセットIDとポリシーIDはありません。", + "core.dappTransaction.address": "アドレス", + "core.dappTransaction.additionalInformation": "追加情報", + "core.dappTransaction.amount": "額", + "core.dappTransaction.asset": "アセット", + "core.dappTransaction.assetId": "アセットID:", + "core.dappTransaction.burn": "バーン", + "core.dappTransaction.deposit": "デポジット", + "core.dappTransaction.fee": "手数料", + "core.dappTransaction.fromAddress": "送信元アドレス", + "core.dappTransaction.insufficientFunds": "トランザクションを完了するための資金が不足しています", + "core.dappTransaction.items": "アイテム", + "core.dappTransaction.mint": "ミント", + "core.dappTransaction.nfts": "NFT", + "core.dappTransaction.noCollateral": "担保がないとウォレットはDAppトランザクションに署名できません。", + "core.dappTransaction.origin": "送り元", + "core.dappTransaction.policyId": "ポリシーID:", + "core.dappTransaction.quantity": "数量", + "core.dappTransaction.recipient": "受信者", + "core.dappTransaction.returnedDeposit": "還元されたデポジット", + "core.dappTransaction.send": "送信", + "core.dappTransaction.sending": "送信中", + "core.dappTransaction.signedSuccessfully": "トランザクションは署名されました。", + "core.dappSignData.signedSuccessfully": "データは署名されました。", + "core.dappTransaction.toAddress": "送信先アドレス", + "core.dappTransaction.tokens": "トークン", + "core.dappTransaction.transaction": "トランザクション", + "core.dappTransaction.transactionSummary": "トランザクションの概要", + "core.dappTransaction.transactionSummaryTooltip": "この概要には、手数料やデポジットを含む、このトランザクションの一部としてウォレットに出入りするすべてのアセットが含まれます。", + "core.dappTransaction.tryingToUseAssetNotInWallet": "このDAppは、ウォレットに保持されていないトークンを使用しようとしています。", + "core.destinationAddressInput.recipientAddressOnly": "受信者のアドレスまたは$handle", + "core.destinationAddressInput.invalidBitcoinHandle": "$handleからビットコインアドレスを解決できません", + "core.destinationAddressInput.handleChangedOwner": "$handleは所有者が変わりました", + "core.destinationAddressInput.recipientAddress": "受信者のアドレスまたは$handle", + "core.DRepRegistration.depositPaid": "デポジット支払い済み", + "core.DRepRegistration.drepId": "DRep ID", + "core.DRepRegistration.hash": "ハッシュ", + "core.DRepRegistration.metadata": "メタデータ", + "core.DRepRegistration.title": "DRepの登録を確認する", + "core.DRepRegistration.url": "URL", + "core.DRepRetirement.depositReturned": "デポジット返還済み", + "core.DRepRetirement.drepId": "DRep ID", + "core.DRepRetirement.drepIdMismatchScreen.cancel": "キャンセル", + "core.DRepRetirement.drepIdMismatchScreen.description": "提示されたDRepIDがウォレットのDRepIDと一致しません", + "core.DRepRetirement.drepIdMismatchScreen.title": "DRep IDが一致しません", + "core.DRepRetirement.metadata": "メタデータ", + "core.DRepRetirement.title": "DRepのリタイアを確認する", + "core.DRepUpdate.drepId": "DRep ID", + "core.DRepUpdate.hash": "ハッシュ", + "core.DRepUpdate.metadata": "メタデータ", + "core.DRepUpdate.title": "DRepの更新を確認する", + "core.DRepUpdate.url": "URL", + "core.editAddressForm.address": "受信者のアドレスまたは$handle", + "core.editAddressForm.doneButton": "完了", + "core.editAddressForm.submissionError": "アドレスを送信できません", + "core.editAddressForm.walletName": "ウォレット名", + "core.general.cancelButton": "キャンセル", + "core.general.saveButton": "保存", + "core.infoWallet.addressCopied": "アドレスをコピーしました", + "core.infoWallet.copy": "コピー", + "core.infoWallet.handleCopied": "ハンドルをコピーしました", + "core.MidnightPreLaunchSettingsBanner.heading": "Midnightトークン配布", + "core.MidnightPreLaunchSettingsBanner.description": "Midnightネットワークの未来を構築する広範で多様なコミュニティ強化を目的とした、複数フェーズにわたるNIGHTトークンの無料配布", + "core.MidnightPreLaunchSettingsBanner.ctaButtonLabel": "もっと知る", + "core.Mint.title": "トランザクションの確認", + "core.mnemonicVideoPopupContent.closeButton": "OK", + "core.mnemonicVideoPopupContent.description": "復元フレーズとは何か、そしてそれを安全に保つ方法について、下の動画をご覧ください。", + "core.mnemonicVideoPopupContent.link": "もっと読む。", + "core.mnemonicVideoPopupContent.title": "ウォレットを安全に保管する", + "core.nami.migration.updating.heading": "移行を完了する", + "core.multiWallet.confirmationDialog.cancel": "戻る", + "core.multiWallet.confirmationDialog.confirm": "続ける", + "core.multiWallet.confirmationDialog.description": "初めからやり直す必要があります。", + "core.multiWallet.confirmationDialog.title": "新しいウォレットの追加をキャンセルしますか。", + "core.nftDetail.attributes": "属性", + "core.nftDetail.avatarUpdated": "ユーザーアバターが更新されました", + "core.nftDetail.sendNFT": "NFTを送信する", + "core.nftDetail.setAsAvatar": "ウォレットのアバターとして設定する", + "core.nftDetail.printNft": "このNFTを印刷する", + "core.nftDetail.title": "NFTの詳細", + "core.nftDetail.tokenInformation": "トークン情報", + "core.nftDetail.policyId": "ポリシーID", + "core.nftDetail.assetId": "アセットID", + "core.nftDetail.mediaUrl": "メディアURL", + "core.outputSummaryList.deposit": "デポジット", + "core.outputSummaryList.metaData": "メタデータ", + "core.outputSummaryList.output": "バンドル", + "core.outputSummaryList.expiresBy": "有効期限", + "core.outputSummaryList.expiresByTooltip": "このトランザクションは指定された期限までブロックチェーンに追加できます。この後は自動的に期限切れとなり、無効となります。", + "core.outputSummaryList.noLimit": "制限なし", + "core.outputSummaryList.utc": "UTC", + "core.outputSummaryList.recipientAddress": "受信者アドレス", + "core.outputSummaryList.note": "メモ", + "core.outputSummaryList.sending": "送信中", + "core.outputSummaryList.txFee": "トランザクション手数料", + "core.password.feedback.1": "パスワードが脆弱です。数字と文字を追加して強くしてください。", + "core.password.feedback.10": "大文字にしてもあまり効果はありません。", + "core.password.feedback.11": "すべて大文字は、すべて小文字と同じくらい簡単に推測できます。", + "core.password.feedback.12": "逆読み言葉も推測するのはさほど難しくありません。", + "core.password.feedback.13": "aの代わりに@のような予測可能な置換も効果は期待できません。", + "core.password.feedback.14": "お疲れ様、これは強力なパスワードです。", + "core.password.feedback.15": "おめでとうございます。このパスワードはとても強力です。", + "core.password.feedback.2": "もう少しです!シンボルと数字を追加して強化してください。", + "core.password.feedback.3": "記号、数字、大文字は不要です。", + "core.password.feedback.4": "キーボードのパターンをもっと長く、複雑にしてください。", + "core.password.feedback.5": "単語や文字の繰り返しを避けてください。", + "core.password.feedback.6": "連続を避けてください。", + "core.password.feedback.7": "最近の年は避けてください。", + "core.password.feedback.8": "自分に関連付けられる年を避けてください。", + "core.password.feedback.9": "自分に関連付けられる日付と年を避けてください。", + "core.ProposalProcedure.dRepId": "DRep ID", + "core.ProposalProcedure.governanceAction.actionId.index": "Index", + "core.ProposalProcedure.governanceAction.actionId.title": "Action ID", + "core.ProposalProcedure.governanceAction.actionId.txId": "TX ID", + "core.ProposalProcedure.governanceAction.hardForkInitiation.protocolVersion.major": "Protocol Version Major", + "core.ProposalProcedure.governanceAction.hardForkInitiation.protocolVersion.minor": "Protocol Version Minor", + "core.ProposalProcedure.governanceAction.hardForkInitiation.protocolVersion.patch": "Protocol Version Patch", + "core.ProposalProcedure.governanceAction.hardForkInitiation.title": "Hard Fork Initiation", + "core.ProposalProcedure.governanceAction.infoAction.title": "Info Action", + "core.ProposalProcedure.governanceAction.newConstitutionAction.constitution.anchor.dataHash": "Anchor Data Hash", + "core.ProposalProcedure.governanceAction.newConstitutionAction.constitution.anchor.url": "Constitution Anchor URL", + "core.ProposalProcedure.governanceAction.newConstitutionAction.constitution.scriptHash": "Constitution Script Hash", + "core.ProposalProcedure.governanceAction.newConstitutionAction.constitution.title": "Constitution Details", + "core.ProposalProcedure.governanceAction.newConstitutionAction.title": "New Constitution Action", + "core.ProposalProcedure.governanceAction.noConfidenceAction.title": "No Confidence", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.coinsPerUTxOByte": "Coins/UTxO Byte", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.keyDeposit": "Key Deposit", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.minFeeA": "Min Fee A", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.minFeeB": "Min Fee B", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.minPoolCost": "Min Pool Cost", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.poolDeposit": "Pool Deposit", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.prices": "Price", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.rho": "Rho", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.tau": "Tau", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.title": "Economic Group", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.tooltip.coinsPerUTxOByte": "Min Lovelace deposit per byte of serialized UTxO", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.tooltip.keyDeposit": "Delegation key Lovelace deposit", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.tooltip.minFeeA": "Min fee coefficient", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.tooltip.minFeeB": "Min fee constant", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.tooltip.minPoolCost": "Min fixed rewards cut for pools", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.tooltip.poolDeposit": "Pool registration Lovelace deposit", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.tooltip.prices": "Prices of Plutus execution units", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.tooltip.rho": "Monetary expansion", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.economicGroup.tooltip.tau": "Treasury expansion", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.ccMaxTermLength": "CC Max Term Length", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.ccMinSize": "CC Min Size", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.drepActivity": "DRep Activity", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.drepDeposit": "DRep Deposit", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.dRepVotingThresholds.committeeNoConfidence": "Comm No Conf", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.dRepVotingThresholds.committeeNormal": "Comm Normal", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.dRepVotingThresholds.hardForkInitiation": "Hard Fork Init", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.dRepVotingThresholds.motionNoConfidence": "Motion No Conf", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.dRepVotingThresholds.ppEconomicGroup": "PP Economic Grp", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.dRepVotingThresholds.ppGovernanceGroup": "PP Governance Grp", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.dRepVotingThresholds.ppNetworkGroup": "PP Network Grp", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.dRepVotingThresholds.ppTechnicalGroup": "PP Technical Grp", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.dRepVotingThresholds.title": "Governance Voting Thresholds", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.dRepVotingThresholds.treasuryWithdrawal": "Treasury Withdraw", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.dRepVotingThresholds.updateConstitution": "Update Const", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.govActionDeposit": "Gov Act Deposit", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.govActionLifetime": "Gov Act Lifetime", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.title": "Governance Group", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.ccMaxTermLength": "Max term length (in epochs) for the constitutional committee members", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.ccMinSize": "Min constitutional committee size", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.drepActivity": "DRep activity period in epochs", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.drepDeposit": "DRep deposit amount", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.dRepVotingThresholds.committeeNoConfidence": "2b. New committee/threshold (state of no-confidence)", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.dRepVotingThresholds.committeeNormal": "2a. New committee/threshold (normal state)", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.dRepVotingThresholds.hardForkInitiation": "4. Hard-fork initiation", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.dRepVotingThresholds.motionNoConfidence": "1. Motion of no-confidence", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.dRepVotingThresholds.ppEconomicGroup": "5b. Protocol parameter changes, economic group", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.dRepVotingThresholds.ppGovernanceGroup": "5d. Protocol parameter changes, governance group", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.dRepVotingThresholds.ppNetworkGroup": "5a. Protocol parameter changes, network group", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.dRepVotingThresholds.ppTechnicalGroup": "5c. Protocol parameter changes, technical group", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.dRepVotingThresholds.title": "Governance voting thresholds", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.dRepVotingThresholds.treasuryWithdrawal": "6. Treasury withdrawal", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.dRepVotingThresholds.updateConstitution": "3. Update to the Constitution or proposal policy", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.govActionDeposit": "governance action deposit", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.governanceGroup.tooltip.govActionLifetime": "governance action maximum lifetime in epochs", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.memory": "Memory", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.maxBBSize": "Max BB Size", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.maxBHSize": "Max BH Size", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.maxBlockExUnits": "Max BLK Ex Units", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.maxCollateralInputs": "Max Coll Inputs", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.maxTxExUnits": "Max TX Ex Units", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.maxTxSize": "Max Tx Size", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.maxValSize": "Max Val Size", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.title": "Network Group", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.tooltip.maxBBSize": "Max block body size", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.tooltip.maxBHSize": "Max block header size", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.tooltip.maxBlockExUnits": "Max script execution units in a single block", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.tooltip.maxCollateralInputs": "Max number of collateral inputs", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.tooltip.maxTxExUnits": "Max script execution units in a single transaction", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.tooltip.maxTxSize": "Max transaction size", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.networkGroup.tooltip.maxValSize": "Max size of a serialized asset value", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.step": "Step", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.technicalGroup.a0": "A0", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.technicalGroup.collateralPercentage": "Coll Percentage", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.technicalGroup.costModels": "Cost Models", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.technicalGroup.eMax": "EMax", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.technicalGroup.nOpt": "NOpt", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.technicalGroup.PlutusV1": "PlutusV1", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.technicalGroup.PlutusV2": "PlutusV2", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.technicalGroup.title": "Technical Group", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.technicalGroup.tooltip.a0": "Pool pledge influence", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.technicalGroup.tooltip.collateralPercentage": "Proportion of collateral needed for scripts", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.technicalGroup.tooltip.costModels": "Plutus execution cost models", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.technicalGroup.tooltip.eMax": "Pool retirement maximum epoch", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.technicalGroup.tooltip.nOpt": "Desired number of pools", + "core.ProposalProcedure.governanceAction.protocolParamUpdate.title": "Protocol Parameter Update", + "core.ProposalProcedure.governanceAction.treasuryWithdrawals.title": "Treasury Withdrawals", + "core.ProposalProcedure.governanceAction.treasuryWithdrawals.withdrawals.lovelace": "Withdrawal Amount", + "core.ProposalProcedure.governanceAction.treasuryWithdrawals.withdrawals.rewardAccount": "Withdrawal Reward Account", + "core.ProposalProcedure.governanceAction.updateCommitteeAction.membersToBeAdded.coldCredential.epoch": "Epoch", + "core.ProposalProcedure.governanceAction.updateCommitteeAction.membersToBeAdded.coldCredential.hash": "Cold Credential Hash", + "core.ProposalProcedure.governanceAction.updateCommitteeAction.membersToBeAdded.title": "Members To Be Added", + "core.ProposalProcedure.governanceAction.updateCommitteeAction.membersToBeRemoved.hash": "Hash", + "core.ProposalProcedure.governanceAction.updateCommitteeAction.membersToBeRemoved.title": "Members To Be Removed", + "core.ProposalProcedure.governanceAction.updateCommitteeAction.newQuorumThreshold.denominator": "Denominator", + "core.ProposalProcedure.governanceAction.updateCommitteeAction.newQuorumThreshold.numerator": "Numerator", + "core.ProposalProcedure.governanceAction.updateCommitteeAction.newQuorumThreshold.title": "New Quorum Threshold", + "core.ProposalProcedure.governanceAction.updateCommitteeAction.title": "Update Committee Action", + "core.ProposalProcedure.procedure.anchor.hash": "アンカーハッシュ", + "core.ProposalProcedure.procedure.anchor.url": "アンカーURL", + "core.ProposalProcedure.procedure.dRepId": "DRep ID", + "core.ProposalProcedure.procedure.title": "手順", + "core.ProposalProcedure.txDetails.deposit": "デポジット", + "core.ProposalProcedure.txDetails.rewardAccount": "報酬アカウント", + "core.ProposalProcedure.txDetails.title": "トランザクションの詳細", + "core.ProposalProcedure.txDetails.txType": "トランザクションタイプ", + "core.ProposalProcedures.title": "ガバナンスアクションを確認する", + "core.receive.showUsedAddresses": "使用されているアドレスを表示", + "core.receive.usedAddresses.addressCopied": "アドレスをコピーしました", + "core.receive.usedAddresses.copy": "アドレスをコピーする", + "core.receive.usedAddresses.subtitle": "新しいアドレスはトランザクション後に自動的に生成されます。", + "core.receive.usedAddresses.title": "使用済みアドレス({{count}})", + "core.Send.title": "トランザクションの確認", + "core.transactionCtas.receive": "受信", + "core.transactionCtas.send": "送信", + "core.transactionCtas.coSign": "共同署名", + "core.StakeRegistrationDelegation.depositPaid": "デポジット支払い済み", + "core.StakeRegistrationDelegation.metadata": "メタデータ", + "core.StakeRegistrationDelegation.poolId": "プールID", + "core.StakeRegistrationDelegation.stakeKeyHash": "ステークキーハッシュ", + "core.StakeRegistrationDelegation.title": "ステーキングを確認する", + "core.StakeVoteDelegation.alwaysAbstain": "棄権", + "core.StakeVoteDelegation.alwaysNoConfidence": "不信任", + "core.StakeVoteDelegation.drepId": "DRep ID", + "core.StakeVoteDelegation.metadata": "メタデータ", + "core.StakeVoteDelegation.option": "はい", + "core.StakeVoteDelegation.poolId": "プールID", + "core.StakeVoteDelegation.stakeKeyHash": "ステークキーハッシュ", + "core.StakeVoteDelegation.title": "ステーキングと投票の委任を確認する", + "core.StakeVoteDelegationRegistration.alwaysAbstain": "棄権", + "core.StakeVoteDelegationRegistration.alwaysNoConfidence": "不信任", + "core.StakeVoteDelegationRegistration.depositPaid": "デポジット支払い済み", + "core.StakeVoteDelegationRegistration.drepId": "DRep ID", + "core.StakeVoteDelegationRegistration.metadata": "メタデータ", + "core.StakeVoteDelegationRegistration.option": "はい", + "core.StakeVoteDelegationRegistration.poolId": "プールID", + "core.StakeVoteDelegationRegistration.stakeKeyHash": "ステークキーハッシュ", + "core.StakeVoteDelegationRegistration.title": "投票の委任とステーキングを確認する", + "core.VoteDelegation.alwaysAbstain": "棄権", + "core.VoteDelegation.alwaysNoConfidence": "不信任", + "core.VoteDelegation.drepId": "DRep ID", + "core.VoteDelegation.metadata": "メタデータ", + "core.VoteDelegation.option": "はい", + "core.VoteDelegation.title": "投票の委任を確認する", + "core.VoteRegistrationDelegation.alwaysAbstain": "棄権", + "core.VoteRegistrationDelegation.alwaysNoConfidence": "不信任", + "core.VoteRegistrationDelegation.depositPaid": "デポジット支払い済み", + "core.VoteRegistrationDelegation.drepId": "DRep ID", + "core.VoteRegistrationDelegation.metadata": "メタデータ", + "core.VoteRegistrationDelegation.option": "はい", + "core.VoteRegistrationDelegation.stakeKeyHash": "ステークキーハッシュ", + "core.VoteRegistrationDelegation.title": "投票の委任を確認する", + "core.VotingProcedures.actionId.index": "インデックス", + "core.VotingProcedures.actionId.txHash": "TXハッシュ", + "core.VotingProcedures.actionIdTitle": "アクションID", + "core.VotingProcedures.anchor.hash": "アンカーハッシュ", + "core.VotingProcedures.anchor.url": "アンカーURL", + "core.VotingProcedures.dRepId": "DRep ID", + "core.VotingProcedures.NonRegisteredUserModal.cta.cancel": "キャンセル", + "core.VotingProcedures.NonRegisteredUserModal.cta.ok": "続ける", + "core.VotingProcedures.NonRegisteredUserModal.description": "この投票を進めても影響はありません。それでも続けますか。", + "core.VotingProcedures.NonRegisteredUserModal.title": "あなたは登録されたDRepではありません", + "core.VotingProcedures.procedureTitle": "手順", + "core.VotingProcedures.title": "投票の確認", + "core.VotingProcedures.vote": "投票", + "core.VotingProcedures.voterType": "投票者のタイプ", + "core.VotingProcedures.voterTypes.constitutionalCommittee": "憲法委員会", + "core.VotingProcedures.voterTypes.drep": "DRep", + "core.VotingProcedures.voterTypes.spo": "SPO", + "core.VotingProcedures.votes.abstain": "棄権", + "core.VotingProcedures.votes.no": "いいえ", + "core.VotingProcedures.votes.yes": "はい", + "core.walletAddressList.address": "受信者のアドレスまたは$handle", + "core.walletAddressList.name": "名称", + "core.walletAnalyticsInfo.allowOptout": "[設定]からいつでもオプトアウトできます", + "core.walletAnalyticsInfo.collectIp": "IPアドレスを収集することはありません", + "core.walletAnalyticsInfo.collectPrivateKeys": "秘密鍵を収集することはありません", + "core.walletAnalyticsInfo.description": "オプトインしてデータを共有してください。Laceの品質とパフォーマンスを向上させるために、ブラウザー拡張機能から匿名の分析情報を収集します。", + "core.walletAnalyticsInfo.gotIt": "OK", + "core.walletAnalyticsInfo.personalData": "個人データを販売することはありません", + "core.walletAnalyticsInfo.title": "エクスペリエンスの向上にご協力ください", + "core.walletBasicInfo.balance": "残高", + "core.walletNameAndPasswordSetupStep.confirmPasswordInputLabel": "パスワードの確認", + "core.walletNameAndPasswordSetupStep.description": "ウォレットを特定する名前を選択し、ウォレットのロックを解除してトランザクションを行うためのパスワードを設定します。", + "core.walletNameAndPasswordSetupStep.enterWallet": "ウォレットを開く", + "core.walletNameAndPasswordSetupStep.generatePaperWallet": "ペーパーウォレットを生成する", + "core.walletNameAndPasswordSetupStep.firstLevelPasswordStrengthFeedback": "パスワードが脆弱です。数字と文字を追加して強くしてください。", + "core.walletNameAndPasswordSetupStep.forgotPasswordSubtitle": "これを使ってウォレットにログインし、トランザクションを行います。", + "core.walletNameAndPasswordSetupStep.forgotPasswordTitle": "新しいパスワードを設定する", + "core.walletNameAndPasswordSetupStep.nameInputLabel": "ウォレット名", + "core.walletNameAndPasswordSetupStep.nameMaxLength": "最大20文字", + "core.walletNameAndPasswordSetupStep.nameRequiredMessage": "ウォレット名が必要です", + "core.walletNameAndPasswordSetupStep.noMatchPassword": "パスワードが一致しません。", + "core.walletNameAndPasswordSetupStep.passwordInputLabel": "パスワード", + "core.walletNameAndPasswordSetupStep.secondLevelPasswordStrengthFeedback": "もう少しです!シンボルと数字を追加して強化してください。", + "core.walletNameAndPasswordSetupStep.title": "新規ウォレットの設定を行います", + "core.walletSetupConnectHardwareWalletStep.connectDevice": "デバイスをコンピューターに接続し、Cardanoアプリのロックを解除して開き、続けるをタップしてください。", + "core.walletSetupConnectHardwareWalletStep.connectDeviceFull": "続けるには、デバイスをコンピューターに接続し、ロックを解除してください。Ledgerデバイスを使用している場合は、必ずCardanoアプリを開いてください。", + "core.walletSetupConnectHardwareWalletStep.subTitle": "ハードウェアウォレットのブランドを選択してください。", + "core.walletSetupConnectHardwareWalletStep.subTitleFull": "ハードウェアウォレットブランドを選択してください。", + "core.walletSetupConnectHardwareWalletStep.supportedDevices": "LaceはLedger Nano X、Nano S、Nano S Plusをサポートしています", + "core.walletSetupConnectHardwareWalletStep.supportedDevicesFull": "LaceはLedgerおよびTrezorのほとんどのモデルをサポートしています", + "core.walletSetupConnectHardwareWalletStep.title": "ハードウェアウォレットを接続します", + "core.walletSetupConnectHardwareWalletStepRevamp.errorCta": "もう一度やり直してください", + "core.walletSetupConnectHardwareWalletStepRevamp.errorMessage.cardanoAppNotOpen": "ハードウェアウォレットデバイスでCardanoアプリが開いていません。続けるには、アプリを開いてください。", + "core.walletSetupConnectHardwareWalletStepRevamp.errorMessage.deviceBusy": "ハードウェアウォレットデバイスが他のアプリでビジー状態になっているようです。接続が無料であることを確認してください。", + "core.walletSetupConnectHardwareWalletStepRevamp.errorMessage.deviceLocked": "ハードウェアウォレットデバイスがロックされているようです。続けるには、ロックを解除してください。", + "core.walletSetupConnectHardwareWalletStepRevamp.errorMessage.devicePickerRejected": "ハードウェアウォレットデバイスが選択されていません。", + "core.walletSetupConnectHardwareWalletStepRevamp.errorMessage.generic": "エラーが発生しました。もう一度やり直してください。", + "core.walletSetupConnectHardwareWalletStepRevamp.errorMessage.userGestureRequired": "接続されているハードウェアウォレットデバイスの検索がページのリロードによって中断されたようです。", + "core.walletSetupConnectHardwareWalletStepRevamp.subTitle": "LaceはLedgerおよびTrezorのほとんどのモデルをサポートしています。デバイスのロックを解除し、Ledgerの場合はCardanoアプリを開いてください。", + "core.walletSetupConnectHardwareWalletStepRevamp.subTitleLedgerOnly": "LaceはLedgerのほとんどのモデルをサポートしています。デバイスのロックを解除し、Cardanoアプリを開いてください。", + "core.walletSetupConnectHardwareWalletStepRevamp.title": "デバイスを接続する", + "core.walletSetupCreateStep.description": "Laceウォレットを作成するには、ハードウェアウォレットデバイスへの公開鍵のエクスポートを確認してください。", + "core.walletSetupCreateStep.title": "ウォレットを作成する", + "core.walletSetupMnemonicIntroStep.description": "復元フレーズはウォレットのマスターキーであり、資金にアクセスする唯一の方法です。", + "core.walletSetupMnemonicIntroStep.link": "もっと読む。", + "core.walletSetupMnemonicIntroStep.title": "ウォレットを安全に保管する", + "core.walletSetupMnemonicStep.body": "秘密のパスフレーズが正しいか確認します検証するには、パスフレーズの各単語を正しい順に入力してください。", + "core.walletSetupMnemonicStep.enterPassphrase": "秘密のパスフレーズを入力", + "core.walletSetupMnemonicStep.enterPassphraseDescription": "復元フレーズを検証し、ウォレットを復元するには、復元フレーズの各単語を正しい順に入力してください。", + "core.walletSetupMnemonicStep.passphraseError": "復元フレーズの単語が正しい順序、綴りであることを確認してください。", + "core.walletSetupMnemonicStep.passphraseInfo1": "秘密のパスフレーズは、オフラインでバックアップを作成してください。", + "core.walletSetupMnemonicStep.passphraseInfo2": "バックアップをデジタル形式で保存しないでください。", + "core.walletSetupMnemonicStep.passphraseInfo3": "もっと知る。", + "core.walletSetupMnemonicStep.writePassphrase": "秘密のパスフレーズを書き留めてください", + "core.walletSetupMnemonicStepRevamp.copyToClipboard": "クリップボードにコピー", + "core.walletSetupMnemonicStepRevamp.copyPasteTooltipText": "この機能を使用する前に、ベストプラクティスに関するよくある質問をお読みください", + "core.walletSetupMnemonicStepRevamp.enterPassphrase": "復元用パフレーズを入力", + "core.walletSetupMnemonicStepRevamp.enterPassphraseDescription": "正しい復元フレーズを持っていることを確認しましょう。各単語を正しい順序で入力するか、クリップボードから貼り付けて確認してください。", + "core.walletSetupMnemonicStepRevamp.enterPassphraseLength": "復元フレーズの長さを選択", + "core.walletSetupMnemonicStepRevamp.passphraseError": "復元フレーズの単語が正しい順序、綴りであることを確認してください。", + "core.walletSetupMnemonicStepRevamp.pasteFromClipboard": "クリップボードから貼り付け", + "core.walletSetupMnemonicStepRevamp.recoveryPhraseCopied": "復元フレーズをコピーしました", + "core.walletSetupMnemonicStepRevamp.recoveryPhrasePasted": "復元フレーズを貼り付けました。クリップボードをクリアしました", + "core.walletSetupMnemonicStepRevamp.writePassphraseSubtitle1": "復元フレーズはウォレットのマスターキーと考えてください。", + "core.walletSetupMnemonicStepRevamp.writePassphraseSubtitle2": "動画を見る", + "core.walletSetupMnemonicStepRevamp.writePassphraseTitle": "復元フレーズを保存することから始める", + "core.walletSetupMnemonicVerificationStep.enterPassphrase": "秘密のパスフレーズを入力", + "core.walletSetupMnemonicVerificationStepRevamp.enterPassphrase": "復元フレーズを入力してください", + "core.walletSetupOptionsStep.hardwareWallet.button": "接続する", + "core.walletSetupOptionsStep.hardwareWallet.tooltip": "Firefoxの制限によりハードウェアウォレットはサポートされていません", + "core.walletSetupOptionsStep.hardwareWallet.description": "ハードウェアウォレットをLaceに接続する", + "core.walletSetupOptionsStep.hardwareWallet.title": "ハードウェアウォレット", + "core.walletSetupOptionsStep.newWallet.button": "作成する", + "core.walletSetupOptionsStep.newWallet.description": "Laceウォレットを新規作成する", + "core.walletSetupOptionsStep.newWallet.title": "新規ウォレット", + "core.walletSetupOptionsStep.restoreWallet.button": "復元する", + "core.walletSetupOptionsStep.restoreWallet.description": "パスフレーズを入力してウォレットを復元してください", + "core.walletSetupOptionsStep.restoreWallet.title": "ウォレットの復元", + "core.walletSetupOptionsStep.subTitle": "オプションを選択してください", + "core.walletSetupOptionsStep.agreementText": "上の[作成]」、[接続]、または[復元]ボタンをクリックすることにより、Laceの利用規約およびプライバシーポリシーに同意したとみなされます。", + "core.walletSetupOptionsStep.infoMessage": "インスクリプション(OrdinalsやRunesなど)を含むビットコインアカウントをインポートしたり、Lace内で作成したアカウントでインスクリプションを受け取ったりしないでください。Laceは現在院スクリプションをサポートしていません。この忠告を無視すると資産を失う可能性があります。", + "core.walletSetupOptionsStep.title": "Web3の世界を一緒に探っていきましょう", + "core.walletSetupRecoveryPhraseLengthStep.description": "ウォレットを復元するための復元フレーズの長さとして、12、15、24ワードのいずれかを選んでください。", + "core.walletSetupRecoveryPhraseLengthStep.title": "復元フレーズの長さ", + "core.walletSetupRecoveryPhraseLengthStep.wordPassphrase": "ワードパスフレーズ", + "core.walletSetupRegisterStep.capitalLetterRequired": "大文字1文字が必要です", + "core.walletSetupRegisterStep.charactersRequired": "8文字以上", + "core.walletSetupRegisterStep.confirmPassword": "パスワードの確認", + "core.walletSetupRegisterStep.description": "ウォレットを識別できるような名前を付けてください。それはあなたにしか見えません。", + "core.walletSetupRegisterStep.lowercaseLetterRequired": "小文字1文字が必要です", + "core.walletSetupRegisterStep.nameMaxLength": "最大20文字", + "core.walletSetupRegisterStep.nameRequired": "ウォレット名が必要です", + "core.walletSetupRegisterStep.noMatchPassword": "パスワードが一致しません。", + "core.walletSetupRegisterStep.numberRequired": "数字1文字が必要です", + "core.walletSetupRegisterStep.password": "パスワード", + "core.walletSetupRegisterStep.passwordDescription": "これを使ってウォレットにログインし、トランザクションを行います。", + "core.walletSetupRegisterStep.title": "新規ウォレットの設定を行います", + "core.walletSetupRegisterStep.titlePassword": "パスワードを設定する", + "core.walletSetupRegisterStep.validationMessage": "大文字、小文字、数字を1つ以上使用した8文字以上", + "core.walletSetupRegisterStep.walletName": "ウォレット名", + "core.walletSetupRestoreStep.title": "ウォレットを復元する", + "core.walletSetupSelectAccountsStep.account": "アカウント", + "core.walletSetupSelectAccountsStep.chooseAccountToExport": "エクスポートするアカウントを選択してください。", + "core.walletSetupSelectAccountsStep.chooseWalletName": "ウォレットとエクスポートするアカウントを識別するのに役立つ名前を選択してください。これは後で変更できます", + "core.walletSetupSelectAccountsStep.enterWallet": "ウォレットを入力してください", + "core.walletSetupSelectAccountsStep.exportKeys": "次へ", + "core.walletSetupSelectAccountsStep.maxCharacters": "最大20文字", + "core.walletSetupSelectAccountsStep.selectAccount": "アカウントを選択する", + "core.walletSetupSelectAccountsStep.setupLaceWallet": "Laceウォレットをセットアップしましょう", + "core.walletSetupSelectAccountsStep.useHWToConfirm": "デバイスを使用して公開鍵のエクスポートを確認してください", + "core.walletSetupSelectAccountsStep.walletName": "ウォレット名", + "core.walletSetupStep.allDone": "完了", + "core.walletSetupStep.back": "戻る", + "core.walletSetupStep.connectWallet": "デバイスを接続する", + "core.walletSetupStep.enterWallet": "ウォレットを開く", + "core.walletSetupStep.legalAndAnalytics": "法務と分析", + "core.walletSetupStep.nameWallet": "ウォレット名の設定", + "core.walletSetupStep.next": "次へ", + "core.walletSetupStep.recoveryPhrase": "復元フレーズ", + "core.walletSetupStep.skip": "スキップする", + "core.walletSetupStep.walletSetup": "ウォレットの設定", + "core.walletSetupWalletModeStep.fullNodeOption": "フルノードモード", + "core.walletSetupWalletModeStep.fullNodeWalletDescription": "フルノードで実行されているトラストレスウォレット", + "core.walletSetupWalletModeStep.instructions": "それぞれ異なるモードが選択された、複数のウォレットを持つことができます。", + "core.walletSetupWalletModeStep.lightWalletDescription": "同期されたサーバーに接続されたライトウォレット", + "core.walletSetupWalletModeStep.lightWalletOption": "ライトウォレットモード", + "core.walletSetupWalletModeStep.modes": "ウォレットモード", + "core.walletSetupWalletModeStep.title": "ウォレットモードを選択する", + "core.walletSetupWalletNameStep.chooseName": "ウォレットを簡単に識別できるような名前を付けてください。", + "core.walletSetupWalletNameStep.create": "作成する", + "core.walletSetupWalletNameStep.maxCharacters": "最大20文字", + "core.walletSetupWalletNameStep.nameYourWallet": "ウォレット名の設定", + "core.walletSetupWalletNameStep.walletName": "ウォレット名", + "core.nftDetail.directory": "フォルダー", + "core.walletSetup.recoveryMethod": "復元方法", + "core.walletSetup.recoveryDetails": "復元セットアップ", + "core.paperWallet.savePaperWallet.walletName": "{{walletName}}_PaperWallet.pdf", + "core.paperWallet.savePaperWallet.contains": "内容:", + "core.paperWallet.savePaperWallet.privateQrTitle": "秘密QRコード", + "core.paperWallet.savePaperWallet.privateQrDescription": "これはあなたのウォレットシードフレーズの暗号化されたバックアップです。これを使用して、Laceで財布を復元できます。", + "core.paperWallet.savePaperWallet.publicQrTitle": "公開QRコード", + "core.paperWallet.savePaperWallet.publicQrDescription": "これは新しいウォレットの公開アドレスです。これを他の人に見せて資金を受け取ります。", + "core.paperWallet.securePaperWallet.pgpPublicKeyLabel": "公開PGPキーブロック", + "core.paperWallet.securePaperWallet.pgpPublicKeyReference": "PGPキー名(「My personal PGP key」など)", + "core.paperWallet.privatePgpKeyLabel": "秘密PGPキーブロック", + "core.paperWallet.privatePgpKeyPassphraseLabel": "PGPキーパスフレーズ", + "core.namiMigration.timeline.1": "ようこそ", + "core.namiMigration.timeline.2": "モードの選択", + "core.namiMigration.welcome": "NamiウォレットがLaceファミリーに加わりました。", + "core.namiMigration.description.1": "ウォレットは正常にアップグレードされました。Namiを使い続けるか、Laceウォレットを使い始めるかを選択できるようになりました。", + "core.namiMigration.description.2": "切り替えは、設定画面からいつでも行えます。", + "core.namiMigration.faq": "よくある質問をチェックする。", + "core.namiMigration.tos": "続けることにより、利用規約およびプライバシーポリシーを読み、同意したとみなされます。", + "core.namiMigration.cta": "次へ", + "core.namiMigration.customize.title": "モードの選択", + "core.namiMigration.customize.description": "ウォレットエクスペリエンスを選択してください:LaceまたはNami", + "core.namiMigration.customize.lace": "Laceを選択することで、マルチ委任、マルチウォレットサポート、強化されたトランザクションの詳細、DeFiサービスなど、Web3の豊富な機能にアクセスできるため、新しいデジタル体験を探索して楽しむことができます", + "core.namiMigration.customize.nami": "Namiを選択することで、Laceインフラによって強化された使い慣れたウォレットを引き続き使用することができます", + "core.namiMigration.customize.back": "戻る", + "core.namiMigration.customize.done": "完了", + "core.namiMigration.customize.next": "次へ", + "core.namiMigration.allDone.title": "完了しました", + "core.namiMigration.allDone.message": "このタブを閉じて、拡張機能をリロードできます", + "core.namiMigration.allDone.close": "閉じる", + "core.nftFolderName.root": "Root", + "core.asset.searchPlaceholder": "Search by ID or name", + "core.derivationType.icarus": "Icarus (default)", + "core.derivationType.icarusDescription": "Recommended for new wallets", + "core.derivationType.icarusTrezor": "Icarus Trezor", + "core.derivationType.icarusTrezorDescription": "Select only if your assets don't appear with the default", + "core.derivationType.ledger": "Ledger", + "core.derivationType.ledgerDescription": "Select if connecting a Ledger-created wallet", + "core.derivationType.selectDerivationType": "Derivation type", + "core.derivationType.infoTooltip": "Determines how accounts and addresses are generated from your seed phrase." +} diff --git a/packages/translation/src/lib/translations/core/ja.ts b/packages/translation/src/lib/translations/core/ja.ts new file mode 100644 index 0000000000..927ad68b4c --- /dev/null +++ b/packages/translation/src/lib/translations/core/ja.ts @@ -0,0 +1,5 @@ +import jajson from './ja.json'; + +export const ja = { + ...jajson, +}; diff --git a/packages/translation/src/lib/translations/index.ts b/packages/translation/src/lib/translations/index.ts index e8fc669398..22faa20d0d 100644 --- a/packages/translation/src/lib/translations/index.ts +++ b/packages/translation/src/lib/translations/index.ts @@ -1,33 +1,49 @@ import { Language } from '../../types'; -import { en as extension } from './browser-extension-wallet/en'; -import { en as cardano } from './cardano/en'; -import { en as core } from './core/en'; -import { en as sharedWallets } from './shared-wallets/en'; -import { en as staking } from './staking/en'; +import { en as enExtension } from './browser-extension-wallet/en'; +import { ja as jaExtension } from './browser-extension-wallet/ja'; +import { en as enCardano } from './cardano/en'; +import { ja as jaCardano } from './cardano/ja'; +import { en as enCore } from './core/en'; +import { ja as jaCore } from './core/ja'; +import { en as enSharedWallets } from './shared-wallets/en'; +import { ja as jaSharedWallets } from './shared-wallets/ja'; +import { en as enStaking } from './staking/en'; +import { ja as jaStaking } from './staking/ja'; export const allTranslations = { [Language.en]: { - ...core, - ...cardano, - ...extension, - ...staking, - ...sharedWallets, + ...enCore, + ...enCardano, + ...enExtension, + ...enStaking, + ...enSharedWallets, + }, + [Language.ja]: { + ...jaCore, + ...jaCardano, + ...jaExtension, + ...jaStaking, + ...jaSharedWallets, }, }; export const coreTranslations = { - [Language.en]: core, + [Language.en]: enCore, + [Language.ja]: jaCore, }; export const sharedWalletsTranslations = { - [Language.en]: sharedWallets, + [Language.en]: enSharedWallets, + [Language.ja]: jaSharedWallets, }; export const extensionTranslations = { - [Language.en]: extension, + [Language.en]: enExtension, + [Language.ja]: jaExtension, }; export const stakingTranslations = { - [Language.en]: staking, + [Language.en]: enStaking, + [Language.ja]: jaStaking, }; diff --git a/packages/translation/src/lib/translations/shared-wallets/ja.json b/packages/translation/src/lib/translations/shared-wallets/ja.json new file mode 100644 index 0000000000..f61018dc80 --- /dev/null +++ b/packages/translation/src/lib/translations/shared-wallets/ja.json @@ -0,0 +1,118 @@ +{ + "sharedWallets.userInfo.label": "共有ウォレット", + "sharedWallets.addSharedWallet.getStarted.createSharedWalletOption.button": "作成する", + "sharedWallets.addSharedWallet.getStarted.createSharedWalletOption.description": "共有ウォレットを
新規作成する", + "sharedWallets.addSharedWallet.getStarted.createSharedWalletOption.title": "新しい共有ウォレット", + "sharedWallets.addSharedWallet.getStarted.importSharedWalletOption.button": "インポート", + "sharedWallets.addSharedWallet.getStarted.importSharedWalletOption.description": "JSONファイルをアップロードして
共有ウォレットに参加する", + "sharedWallets.addSharedWallet.getStarted.importSharedWalletOption.title": "共有ウォレットをインポート", + "sharedWallets.addSharedWallet.getStarted.keyOption.description": "鍵を生成して
共有ウォレットに参加する", + "sharedWallets.addSharedWallet.getStarted.keyOption.title": "共有ウォレットキー", + "sharedWallets.addSharedWallet.getStarted.keyOption.button.generate": "生成", + "sharedWallets.addSharedWallet.getStarted.keyOption.button.copy": "クリップボードにコピー", + "sharedWallets.addSharedWallet.getStarted.keyOption.copyToast": "共有ウォレットキーをクリップボードにコピーしました", + "sharedWallets.addSharedWallet.getStarted.subTitle": "オプションを選択してください", + "sharedWallets.addSharedWallet.getStarted.title": "共有ウォレット", + "sharedWallets.addSharedWallet.layout.timelineStep.walletName": "ウォレット名", + "sharedWallets.addSharedWallet.layout.timelineStep.addCosigners": "共同署名者を追加する", + "sharedWallets.addSharedWallet.layout.timelineStep.defineQuorum": "クォーラムを定義する", + "sharedWallets.addSharedWallet.layout.timelineStep.walletDetails": "ウォレットの詳細を共有する", + "sharedWallets.addSharedWallet.layout.timelineStep.importWallet": "ウォレットを探す", + "sharedWallets.addSharedWallet.layout.timelineStep.allDone": "完了", + "sharedWallets.addSharedWallet.layout.defaultNextButtonLabel": "次へ", + "sharedWallets.addSharedWallet.layout.defaultBackButtonLabel": "戻る", + "sharedWallets.addSharedWallet.quorum.title": "ウォレットのクォーラムを定義する", + "sharedWallets.addSharedWallet.quorum.description": "各トランザクションに署名するウォレット共同所有者の必要最小数を定義する。", + "sharedWallets.addSharedWallet.quorum.cosignersAmountPickerText": "/総署名数{{amount}}", + "sharedWallets.addSharedWallet.quorum.button.back": "戻る", + "sharedWallets.addSharedWallet.quorum.button.next": "ウォレットを作成する", + "sharedWallets.addSharedWallet.quorum.optionAll": "すべてのアドレスに署名が必要", + "sharedWallets.addSharedWallet.quorum.optionSome": "アドレスによっては署名が必要", + "sharedWallets.addSharedWallet.setup.title": "新しい共有ウォレットを作成しましょう", + "sharedWallets.addSharedWallet.setup.subtitle": "新しい共有ウォレット名を選択してください。この名前はすべてのウォレット共同署名者用に定義されます。", + "sharedWallets.addSharedWallet.setup.body": "この共有ウォレットとのやり取りは、現在アクティブなLaceウォレットに関連付けられます。", + "sharedWallets.addSharedWallet.setup.inputLabel": "共有ウォレット名", + "sharedWallets.addSharedWallet.setup.errorMessage.maxLength": "最大20文字", + "sharedWallets.addSharedWallet.setup.errorMessage.nameRequired": "ウォレット名が必要です", + "sharedWallets.addSharedWallet.addCosigners.title": "ウォレットの共同署名者を追加する", + "sharedWallets.addSharedWallet.addCosigners.subtitle": "共有ウォレットの共同署名者を追加するには、個別の共有ウォレットキーとその署名者用の名前を入力してください。", + "sharedWallets.addSharedWallet.addCosigners.yourNameInputLabel": "あなたのID", + "sharedWallets.addSharedWallet.addCosigners.yourKeysInputLabel": "あなたの共有ウォレットキー", + "sharedWallets.addSharedWallet.addCosigners.coSignerNameInputLabel": "共同署名者のID", + "sharedWallets.addSharedWallet.addCosigners.coSignerKeysInputLabel": "共同署名者の共有ウォレットキー", + "sharedWallets.addSharedWallet.addCosigners.nameInputError.required": "名前は必須です", + "sharedWallets.addSharedWallet.addCosigners.nameInputError.duplicated": "指定された名前は重複しています", + "sharedWallets.addSharedWallet.addCosigners.nameInputError.tooLong": "最大{{amount}}文字です", + "sharedWallets.addSharedWallet.addCosigners.keyInputError.required": "共有ウォレットキーが必要です", + "sharedWallets.addSharedWallet.addCosigners.keyInputError.invalid": "鍵の形式が違います", + "sharedWallets.addSharedWallet.addCosigners.keyInputError.duplicated": "指定された鍵は重複しています", + "sharedWallets.addSharedWallet.importantInfo.title": "共有ウォレットに関する重要な情報", + "sharedWallets.addSharedWallet.importantInfo.subtitle": "共有ウォレットが作成されると、各共同署名者の鍵を含む設定は編集できなくなります。誤った鍵を入力すると、共有ウォレットの操作ができなくなり、受け取った資金が回復できなくなる可能性があります。", + "sharedWallets.addSharedWallet.importantInfo.checkBoxLabel": "共有ウォレットを作成すると、設定を変更できなくなることを理解しました", + "sharedWallets.addSharedWallet.importantInfo.button.back": "戻る", + "sharedWallets.addSharedWallet.importantInfo.button.next": "続ける", + "sharedWallets.addSharedWallet.shareWalletDetails.title": "ウォレットの詳細を共有する", + "sharedWallets.addSharedWallet.shareWalletDetails.subtitle": "新しい共有ウォレットが作成されました", + "sharedWallets.addSharedWallet.shareWalletDetails.body": "各ウォレット共同署名者がウォレットをインポートして開始できるように、ウォレット設定ファイルをダウンロードしてに各署名者に送信しましょう。", + "sharedWallets.addSharedWallet.shareWalletDetails.next": "共有ウォレットを開く", + "sharedWallets.addSharedWallet.shareWalletDetails.label": "共有ウォレット設定ファイル", + "sharedWallets.addSharedWallet.shareWalletDetails.download": "ダウンロード", + "sharedWallets.addSharedWallet.import.subtitle": "JSONファイルをアップロードするか、[同期]をクリックしてネットワークをスキャンする", + "sharedWallets.addSharedWallet.import.title": "自分の共有ウォレットを見つけましょう", + "sharedWallets.addSharedWallet.import.uploadBtnTitle": "ドラッグ&ドロップまたはファイルを選択してアップロード", + "sharedWallets.addSharedWallet.import.uploadBtnFormats": "サポートされている形式:JSON", + "sharedWallets.addSharedWallet.import.uploadBtnRemove": "削除する", + "sharedWallets.addSharedWallet.import.next": "ウォレットを開く", + "sharedWallets.addSharedWallet.import.error.unrecognized.title": "JSONファイルが認識できません", + "sharedWallets.addSharedWallet.import.error.unrecognized.description": "アップロードされたファイルに共有ウォレット設定の詳細が見つかりません。正しいウォレット設定ファイルをアップロードしてください。", + "sharedWallets.addSharedWallet.import.error.unrecognized.exit": "終了", + "sharedWallets.addSharedWallet.import.error.unrecognized.retry": "新しいファイルをアップロード", + "sharedWallets.addSharedWallet.import.error.incorrectWallet.title": "不正なアクティブウォレットです", + "sharedWallets.addSharedWallet.import.error.incorrectWallet.description": "この共有ウォレット設定ファイルは、現在アクティブなウォレットの共有ウォレットキーを参照していません。この共有ウォレットを追加する前に、Laceで正しいパーソナルウォレットがアクティブになっているかを確認してください。", + "sharedWallets.addSharedWallet.import.error.incorrectWallet.exit": "共有ウォレットの設定を終了", + "sharedWallets.addSharedWallet.keyGeneration.enterPassword.title": "共有ウォレットキーを生成する", + "sharedWallets.addSharedWallet.keyGeneration.enterPassword.subtitle": "このウォレットで共有ウォレットキーを生成するには、パーソナルウォレットのパスワードを入力してください。", + "sharedWallets.addSharedWallet.keyGeneration.hw.enterPassword.subtitle": "このウォレット内で共有ウォレットキーを生成するには、{{device}}デバイスでサインインしてください。", + "sharedWallets.addSharedWallet.keyGeneration.enterPassword.nextButtonLabel": "キーを生成", + "sharedWallets.addSharedWallet.keyGeneration.enterPassword.timeline.enterPassword": "パスワードを入力する", + "sharedWallets.addSharedWallet.keyGeneration.enterPassword.timeline.confirmAccess": "アクセスを確認する", + "sharedWallets.addSharedWallet.keyGeneration.enterPassword.timeline.copyKey": "鍵をコピーする", + "sharedWallets.addSharedWallet.keyGeneration.enterPassword.activeWalletLabel": "パーソナルウォレット", + "sharedWallets.addSharedWallet.keyGeneration.enterPassword.passwordInputLabel": "パスワード", + "sharedWallets.addSharedWallet.keyGeneration.enterPassword.passwordErrorMessage.invalidPassword": "無効なパスワードです", + "sharedWallets.addSharedWallet.keyGeneration.enterPassword.passwordErrorMessage.generic": "エラーが発生しました", + "sharedWallets.addSharedWallet.WalletConflictModal.description": "同じ共同署名者を持つ共有ウォレットがすでに存在します。現在、同じ共同署名者で別の共有ウォレットを作成することはできません。回避策として、Laceを別のブラウザーにインストールして、そこで新しい共有ウォレットを作成することができます", + "sharedWallets.addSharedWallet.WalletConflictModal.cta.ok": "OK", + "sharedWallets.addSharedWallet.keyGeneration.hw.enterPassword.passwordErrorMessage.unauthorizedTransaction": "トランザクションは承認されませんでした。", + "sharedWallets.addSharedWallet.keyGeneration.copyKeys.toastText": "共有ウォレットキーをクリップボードにコピーしました", + "sharedWallets.addSharedWallet.keyGeneration.copyKeys.title": "共有ウォレットキーをコピーする", + "sharedWallets.addSharedWallet.keyGeneration.copyKeys.subtitle": "この鍵をコピーして、新しい共有ウォレットを設定する人に送信します。この鍵はいつでも確認できます。", + "sharedWallets.addSharedWallet.keyGeneration.copyKeys.backButtonLabel": "鍵をクリップボードにコピー", + "sharedWallets.addSharedWallet.keyGeneration.copyKeys.nextButtonLabel": "閉じる", + "sharedWallets.addSharedWallet.keyGeneration.copyKeys.keyBoxTitle": "共有ウォレットキー", + "sharedWallets.transaction.cosignerList.title.signed": "署名済み", + "sharedWallets.transaction.cosignerList.title.unsigned": "未署名", + "sharedWallets.transaction.cosignerList.signed": "署名済み", + "sharedWallets.transaction.cosignerList.you": "あなた", + "sharedWallets.transaction.summary.header": "トランザクションの概要", + "sharedWallets.transaction.summary.unsigned.description": "続けるには、詳細を確認し、トランザクションに署名してください。", + "sharedWallets.transaction.summary.unsubmitted.headerDescription": "(未送信)", + "sharedWallets.transaction.summary.unsubmitted.title": "署名が追加されました", + "sharedWallets.transaction.summary.unsubmitted.description": "トランザクションは、必要な共同署名者全員が署名した後に提出することができます。共同署名者リストを確認し、トランザクションJSONファイルを転送してください。", + "sharedWallets.transaction.summary.title": "トランザクション", + "sharedWallets.transaction.summary.sending": "送信中", + "sharedWallets.transaction.summary.validityPeriod.title": "トランザクション有効期間", + "sharedWallets.transaction.summary.validityPeriod.value": "{{hours}}時間", + "sharedWallets.transaction.summary.validityPeriod.tooltip": "必要な署名がすべて完了していない場合、トランザクションが自動的にキャンセルされるまでの有効期間の最大値です。", + "sharedWallets.transaction.cosigners.title": "共同署名者", + "sharedWallets.transaction.cosigners.quorum.reached": "クォーラムに達しました。トランザクションはネットワークに送信する準備ができました。", + "sharedWallets.transaction.cosigners.quorum.required": "トランザクションを送信する前に、追加の共同署名が必要です。", + "sharedWallets.transaction.cosigners.quorum.current": "{{quorum}}/{{participants}}が必要", + "sharedWallets.transaction.cosigners.unsigned.description": "トランザクションは、必要な数の共同署名者が署名した後に送信することができます。続けるには、詳細を確認し、トランザクションに署名してください。", + "sharedWallets.transaction.cosigners.unsubmitted.description": "トランザクションは、必要な共同署名者全員が署名したので提出することができます。", + "sharedWallets.transaction.coSign.importJsonStep.uploadBtnTitle": "ドラッグ&ドロップまたはファイルを選択してアップロード", + "sharedWallets.transaction.coSign.importJsonStep.error.invalidFile.message": "アップロードされたファイルに共有ウォレットのトランザクションの詳細は見つかりません。正しいトランザクションファイルをアップロードしてください。", + "sharedWallets.transaction.coSign.importJsonStep.error.invalidFile.primaryButton": "新しいファイルをアップロード", + "sharedWallets.transaction.coSign.importJsonStep.error.invalidFile.secondaryButton": "終了", + "sharedWallets.transaction.coSign.importJsonStep.error.invalidFile.title": "JSONファイルが認識できません" +} diff --git a/packages/translation/src/lib/translations/shared-wallets/ja.ts b/packages/translation/src/lib/translations/shared-wallets/ja.ts new file mode 100644 index 0000000000..927ad68b4c --- /dev/null +++ b/packages/translation/src/lib/translations/shared-wallets/ja.ts @@ -0,0 +1,5 @@ +import jajson from './ja.json'; + +export const ja = { + ...jajson, +}; diff --git a/packages/translation/src/lib/translations/staking/en.json b/packages/translation/src/lib/translations/staking/en.json index f147ecf54a..f4d8644976 100644 --- a/packages/translation/src/lib/translations/staking/en.json +++ b/packages/translation/src/lib/translations/staking/en.json @@ -221,5 +221,7 @@ "root.nav.browsePoolsTitle": "Browse pools", "root.nav.overviewTitle": "Overview", "root.nav.title": "Staking Navigation", - "root.title": "Staking" + "root.title": "Staking", + "details.editSavedRatio": "Edit saved ratio", + "details.ratio": "Ratio" } diff --git a/packages/translation/src/lib/translations/staking/ja.json b/packages/translation/src/lib/translations/staking/ja.json new file mode 100644 index 0000000000..43114fdb91 --- /dev/null +++ b/packages/translation/src/lib/translations/staking/ja.json @@ -0,0 +1,225 @@ +{ + "activity.rewardsChart.all": "すべて", + "activity.rewardsChart.epoch": "エポック", + "activity.rewardsChart.epochs": "エポック", + "activity.rewardsChart.last": "最新", + "activity.rewardsChart.rewards": "報酬", + "activity.rewardsChart.title": "報酬", + "activity.rewardsHistory.noStakingActivityYet": "ステーキング活動はまだありません。", + "activity.rewardsHistory.title": "履歴", + "browsePools.header.poolsCount": "プール({{ poolsCount}})", + "browsePools.preferencesCard.filter.input.from": "送信元", + "browsePools.preferencesCard.filter.input.select": "選択", + "browsePools.preferencesCard.filter.input.to": "送信先", + "browsePools.preferencesCard.filter.performance": "パフォーマンス", + "browsePools.preferencesCard.filter.profitMargin": "マージン", + "browsePools.preferencesCard.filter.ros.lastEpoch": "最新エポック", + "browsePools.preferencesCard.filter.ros.other": "その他", + "browsePools.preferencesCard.filter.ros.title": "ROS", + "browsePools.preferencesCard.filter.saturation": "飽和", + "browsePools.preferencesCard.headers.filters": "フィルター", + "browsePools.preferencesCard.headers.moreOptions": "その他のオプション", + "browsePools.preferencesCard.headers.sorting": "ソート", + "browsePools.preferencesCard.sort.blocks": "生成ブロック数", + "browsePools.preferencesCard.sort.cost": "コスト", + "browsePools.preferencesCard.sort.liveStake": "ライブステーク", + "browsePools.preferencesCard.sort.margin": "マージン", + "browsePools.preferencesCard.sort.pledge": "出資", + "browsePools.preferencesCard.sort.ros": "ROS", + "browsePools.preferencesCard.sort.saturation": "飽和", + "browsePools.preferencesCard.sort.ticker": "ティッカー", + "browsePools.stakePoolGrid.notAvailable": "N/A", + "browsePools.stakePoolGrid.selected": "選択済み", + "browsePools.stakePoolTableBrowser.addPool": "プールを追加\t", + "browsePools.stakePoolTableBrowser.emptyMessage": "該当する結果はありません", + "browsePools.stakePoolTableBrowser.searchInputPlaceholder": "プール名、ティッカー、またはIDを入力してください", + "browsePools.stakePoolTableBrowser.stake": "ステーク", + "browsePools.stakePoolTableBrowser.unselect": "選択解除", + "browsePools.tableHeaders.blocks": "ブロック", + "browsePools.tableHeaders.cost": "コスト", + "browsePools.tableHeaders.liveStake": "ライブステーク", + "browsePools.tableHeaders.margin": "マージン", + "browsePools.tableHeaders.pledge": "出資", + "browsePools.tableHeaders.ros": "ROS", + "browsePools.tableHeaders.saturation": "飽和", + "browsePools.tableHeaders.ticker": "ティッカー", + "browsePools.tooltips.blocks": "対象のステークプールが生成したブロックの総数", + "browsePools.tooltips.cost": "各エポックで得られた報酬から差し引かれるステークプールの固定運営費", + "browsePools.tooltips.liveStake": "システムのステーク総量に対する、プールに出資されたステークと現在委任されているステークの合計", + "browsePools.tooltips.margin": "プールが得る利益としてプールが設定した、プールに委任されたステークへの報酬から差し引く割合", + "browsePools.tooltips.maxNumberPoolsSelected": "選択したプールの最大数", + "browsePools.tooltips.pledge": "プールオペレーターが自分のプールに投資するステーク量で、出資額が多いプールは、より多くの報酬を自身と委任者にもたらしますが、出資をしないプールは報酬を稼ぐことができず、ランクが低くなります。", + "browsePools.tooltips.ros": "意図したステーク量を委任した場合にエポックごとに得られると見込まれる報酬額の見積もりで、システムはプールのパラメーターとパフォーマンスデータの履歴を考慮し、見込み報酬額を算出しますが、その際、プールが飽和値に達していることを想定しています。", + "browsePools.tooltips.saturation": "ステークプールが飽和に達すると、その後の報酬は減少していきます。", + "browsePools.tooltips.ticker": "ステークプールの一意の識別子を参照します", + "drawer.confirmation.button.confirm": "次へ", + "drawer.confirmation.button.confirmWithDevice": "{{hardwareWallet}}で確認", + "drawer.confirmation.button.continueInAdvancedView": "詳細ビューで続ける", + "drawer.confirmation.button.signing": "署名中", + "drawer.confirmation.cardanoName": "Cardano", + "drawer.confirmation.chargedDepositAmountInfo": "ステークキーの登録料です。", + "drawer.confirmation.errors.rewardsLocked": "Cardanoプロトコルのルールにより、ステークキーの一部は、保留中の報酬があるために登録解除できません。報酬を引き出すには、まず投票センターでステークキーの投票パワーを委任してください。委任すると、キーの登録を解除できるようになります。", + "drawer.confirmation.errors.utxoBalanceInsufficient": "残高不足", + "drawer.confirmation.errors.utxoFullyDepleted": "UTXOは全部使い切っています", + "drawer.confirmation.noPools": "プールがありません", + "drawer.confirmation.reclaimDepositAmountInfo": "ステークキーの登録を解除した場合に付与される金額です。", + "drawer.confirmation.stakingDeposit": "ステーキングデポジット", + "drawer.confirmation.validityPeriod.title": "トランザクション有効期間", + "drawer.confirmation.validityPeriod.value": "{{hours}}時間", + "drawer.confirmation.validityPeriod.tooltip": "必要な署名がすべて完了していない場合、トランザクションが自動的にキャンセルされるまでの有効期間の最大値です。", + "drawer.confirmation.subTitle": "金額とステークプールを確認する", + "drawer.confirmation.theAmountYoullBeChargedToProcessYourTransaction": "トランザクションを処理するための額です", + "drawer.confirmation.title": "確認", + "drawer.confirmation.transactionCost.title": "トランザクションコスト", + "drawer.confirmation.transactionDetails.title": "トランザクションの詳細", + "drawer.confirmation.transactionFee": "トランザクション手数料", + "drawer.confirmation.transactionReturn.title": "トランザクションリターン", + "drawer.confirmation.transactionTotal.title": "合計", + "drawer.details.addStakingPool": "ステークプールを追加する", + "drawer.details.information": "情報", + "drawer.details.manageDelegation": "委任を管理する", + "drawer.details.metrics.activeStake": "アクティブステーク", + "drawer.details.metrics.blocks": "ブロック", + "drawer.details.metrics.cost": "エポックごとのコスト", + "drawer.details.metrics.delegators": "デリゲーター", + "drawer.details.metrics.liveStake": "ライブステーク", + "drawer.details.metrics.margin": "プールマージン", + "drawer.details.metrics.pledge": "出資", + "drawer.details.metrics.ros": "推定ROS", + "drawer.details.metrics.saturation": "飽和", + "drawer.details.owners": "オーナー", + "drawer.details.poolIds": "プールID", + "drawer.details.selectForMultiStaking": "マルチステーキング用のプールを選択する", + "drawer.details.social": "ソーシャルリンク", + "drawer.details.stakeOnPoolButton": "すべてこのプールにステーキングする", + "drawer.details.stakeOnSinglePoolButton": "このプールにステーキングする", + "drawer.details.statistics": "統計", + "drawer.details.status.delegating": "このプールに委任しています", + "drawer.details.status.retired": "このプールは廃止されました。報酬を受け取るには、他のプールに再委任してください", + "drawer.details.status.retiring": "このプールは廃止されます。報酬の損失を避けるために、他のプールに再委任してください", + "drawer.details.status.saturated": "このプールは飽和しすぎています。報酬の損失を避けるために、別のプールにステーキングしてください", + "drawer.details.unselectPool": "プールの選択を解除する", + "drawer.failure.button.back": "戻る", + "drawer.failure.button.cancel": "キャンセル", + "drawer.failure.button.close": "閉じる", + "drawer.failure.button.removePools": "プールを削除", + "drawer.failure.button.retry": "再試行", + "drawer.failure.customSubmitApiWarning": "トランザクションを送信するためのカスタム送信APIが有効です。無効にするには、設定>>カスタム送信API >>無効にするで設定してください", + "drawer.failure.deviceUpdate.subTitle": "マルチ委任を使用するには、デバイスを最新状態にしてください。現在のバージョンでも、単一のプールに委任することは可能です", + "drawer.failure.deviceUpdate.title": "デバイスを更新してください", + "drawer.failure.subTitle": "トランザクションは失敗しました。もう一度やり直してください。", + "drawer.failure.title": "残念ながら、エラーが発生しました…", + "drawer.preferences.addPoolButton": "ステークプールを追加する", + "drawer.preferences.browsePools": "プールを表示する", + "drawer.preferences.confirmButton": "新しいポートフォリオを確認", + "drawer.preferences.ctaButtonTooltip.invalidAllocation": "続けるには100%の割り当てが必要です", + "drawer.preferences.ctaButtonTooltip.zeroPercentageSliderError": "すべてのポートフォリオプールに0%より上の割り当てが必要です", + "drawer.preferences.noSelectedPools": "ステーキングプールが選択されていません", + "drawer.preferences.pickMorePools": "少なくとも1つのプールにステーキングしてください。", + "drawer.preferences.poolDetails.actualRatio": "実際の比率", + "drawer.preferences.poolDetails.actualRatioTooltip": "オンチェーンステータスによって確認された、現在のこのプールにおけるあなたのステーク率です。", + "drawer.preferences.poolDetails.actualStake": "実際の出資", + "drawer.preferences.poolDetails.actualStakeTooltip": "オンチェーンステータスによって確認された、現在このプールにステーキングされているADA額です。", + "drawer.preferences.poolDetails.savedRatio": "保存された比率", + "drawer.preferences.poolDetails.savedRatioTooltip": "前回このプール用に保存された比率です。注:ステーク変動の可能性により、現在のオンチェーンステータスを反映していない場合があります。", + "drawer.preferences.rebalanceButton": "ポートフォリオのリバランス", + "drawer.preferences.removePoolButton": "ポートフォリオからプールを削除", + "drawer.preferences.selectedStakePools": "選択されたステークプール({{count}})", + "drawer.sign.confirmation.title": "ステーキングの確認", + "drawer.sign.confirmation.titleSuffix": "(共同署名者{{num}}/{{total}})", + "drawer.sign.enterWalletPasswordToConfirmTransaction": "ウォレットパスワードを入力してトランザクションを確認してください", + "drawer.sign.signSharedTx": "{{name}}のウォレットのパスワードでトランザクションに署名してください", + "drawer.sign.error.invalidPassword": "パスワードが間違っています", + "drawer.sign.passwordPlaceholder": "パスワード", + "drawer.success.modification.title": "おめでとうございます。変更が送信されました", + "drawer.success.subTitle": "ステーキング報酬の受け取りは、2エポック後に開始されます。", + "drawer.success.sign.subTitle": "トランザクションは、必要な共同署名者全員が署名した後に提出することができます。共同署名者リストを確認し、トランザクションJSONファイルを転送してください。", + "drawer.success.switchedPools.subTitle": "新しいプールからのステーキング報酬の受け取りは2エポック後に開始されます。それまでは、前のプールからの報酬を受け取り続けます。", + "drawer.success.switchedPools.title": "おめでとうございます。プールが変更されました", + "drawer.success.title": "おめでとうございます。資金がステーキングされました", + "drawer.success.sign.title": "署名が追加されました", + "drawer.title": "ステークプールの詳細", + "drawer.titleSecond": "ステーキングの管理", + "drawer.titleSharedWallet": "ステーキングを開始する", + "general.button.close": "閉じる", + "general.button.confirm": "確認", + "general.button.view-co-signers": "共同署名者を表示", + "modals.beta.button": "OK", + "modals.beta.description": "この機能により、最大{{ maxPools}}個のプールにステーキングすることができます。これはまだベータ版であるため、一部の機能が利用できない可能性があります。マルチ委任の詳細は、ブログ記事をご覧ください。", + "modals.beta.pill": "ベータ版", + "modals.beta.title": "マルチ委任", + "modals.changingPreferences.buttons.cancel": "キャンセル", + "modals.changingPreferences.buttons.confirm": "問題なし", + "modals.changingPreferences.description": "まったく問題ありません。ただ、2エポックの間は前のプールからの報酬を受け取り続けるということに注意してください。その後、新しいプールから報酬を受け取るようになります。", + "modals.changingPreferences.title": "ステーキングの設定を変更する場合", + "modals.dapp.button": "OK", + "modals.dapp.description": "マルチ委任により、単一の支払い鍵を使用して複数のプールに委任し、ユーザーエクスペリエンスを向上させることができます。ただし、すべてのDAppがこの新しいメカニズムをサポートしているわけではないため、マルチ委任後にDAppで不具合が発生した場合は、 よくある質問の「マルチステーキング」セクションを参照して、マルチ委任前のウォレットの状態に戻してください。", + "modals.dapp.title": "マルチ委任", + "modals.poolsManagement.buttons.cancel": "キャンセル", + "modals.poolsManagement.buttons.confirm": "問題なし", + "modals.poolsManagement.description.adjustment": "プール数を減らすにはステークキーの登録解除が必要です。最初のADAデポジットの返還がトリガーされ、未分配の報酬が失われる可能性があります。プールを変更する際は、2エポック間は以前のプールから報酬を得、その後新しいプールからの受け取りが始まります。", + "modals.poolsManagement.description.reduction": "プール数を減らすには、ステークキーの登録解除が必要です。登録解除により最初のADAデポジットが返還され、エポック計算フェーズで未分配の報酬を失う可能性があります。", + "modals.poolsManagement.title": "プールを変更しますか", + "modals.exitStaking.title": "初めからやり直す必要があります", + "modals.exitStaking.description": "終了しますか。これは保存されません", + "modals.exitStaking.buttons.cancel": "キャンセル", + "modals.exitStaking.buttons.confirm": "終了", + "overview.banners.pendingFirstDelegation.message": "トランザクションが検証されると、ここにステーキングポートフォリオが表示されます", + "overview.banners.pendingFirstDelegation.title": "ステーキングトランザクションが送信されました", + "overview.banners.pendingPortfolioModification.message": "プールを変更した場合、2エポック間は以前のステークプールから報酬を獲得し続けます", + "overview.banners.pendingPortfolioModification.title": "ステーキングポートフォリオを変更しています", + "overview.banners.pledgeNotMet.message": "このプールのあなたのステークは報酬を得ていません。委任を確認して更新してください", + "overview.banners.pledgeNotMet.title": "警告:委任されたプールは出資を満たしていません", + "overview.banners.portfolioDrifted.message": "設定に合わせたい場合は、ステーキング比率を再調整してください", + "overview.banners.portfolioDrifted.title": "現在の委任ポートフォリオが変更されました", + "overview.banners.saturatedOrRetiredPool.message": "報酬の損失を避けるために、必ず他のプールを選択してください", + "overview.banners.saturatedOrRetiredPool.title": "1つ以上のプールが飽和または廃止になっています", + "overview.delegationCard.label.balance": "ADA残高", + "overview.delegationCard.label.pools": "プール", + "overview.delegationCard.label.status": "ステータス", + "overview.delegationCard.statuses.multiDelegation": "マルチ委任", + "overview.delegationCard.statuses.noSelection": "選択なし", + "overview.delegationCard.statuses.overAllocated": "割り当て超過", + "overview.delegationCard.statuses.simpleDelegation": "シンプルな委任", + "overview.delegationCard.statuses.underAllocated": "割り当て不足", + "overview.noFunds.button": "アドレスをコピー", + "overview.noFunds.description": "資金を追加してステーキングを始める", + "overview.noFunds.title": "ようこそ", + "overview.noStaking.balanceTitle": "利用可能残高", + "overview.noStaking.description": "資金を最大{{maxPools}}個のプールにステーキングして報酬を受け取り始めましょう。", + "overview.noStaking.followSteps": "以下の手順に従って、資金のステーキングを開始してください", + "overview.noStaking.getStarted": "はじめる", + "overview.noStaking.searchForPoolDescription": "[ステークプールタブ]をクリックするか、ここをクリックして、目的のプールを検索します。", + "overview.noStaking.searchForPoolTitle": "ステークプールを表示する", + "overview.noStaking.selectPoolsDescription": "委任するプールは、{{ maxPools}}個まで選択できます。詳細は、ここをクリックしてください。", + "overview.noStaking.selectPoolsTitle": "ステーキングするプールを1つ以上選択してください", + "overview.noStaking.title": "ステーキングを開始する", + "overview.stakingInfoCard.fee": "手数料", + "overview.stakingInfoCard.lastReward": "最新の報酬", + "overview.stakingInfoCard.margin": "マージン", + "overview.stakingInfoCard.poolRetired": "廃止されたプール", + "overview.stakingInfoCard.poolRetiring": "廃止されるプール", + "overview.stakingInfoCard.poolSaturated": "飽和しすぎのプール", + "overview.stakingInfoCard.ros": "推定ROS", + "overview.stakingInfoCard.tooltipFiatLabel": "{{currencyCode}} 換算値", + "overview.stakingInfoCard.totalRewards": "報酬総額", + "overview.stakingInfoCard.totalStaked": "ステーキング総額", + "overview.stakingInfoCard.stakeKey": "ステークキー", + "overview.stakingInfoCard.registerAsDRepBanner.description": "獲得した報酬を使用するには、このステークに関連付けられた投票パワーを登録してください。", + "overview.stakingInfoCard.registerAsDRepBanner.descriptionRetired": "現在委任しているDRepはリタイアしたため、投票委任を更新してください。", + "overview.stakingInfoCard.registerAsDRepBanner.cta": "登録", + "overview.yourPoolsSection.heading": "あなたのプール", + "overview.yourPoolsSection.manageButtonLabel": "管理", + "popup.expandBanner.button": "拡張ビュー", + "popup.expandBanner.description": "ブラウザーのタブビューで、ネットワークとプールについての詳細情報を表示できます", + "popup.expandBanner.title": "詳細情報", + "portfolioBar.clear": "リセット", + "portfolioBar.maxPools": "(最大{{ maxPoolsCount}})", + "portfolioBar.next": "次へ", + "portfolioBar.selectedPools": "{{selectedPoolsCount}}個のプールが選択されています", + "root.nav.activityTitle": "アクティビティ", + "root.nav.browsePoolsTitle": "プールを表示する", + "root.nav.overviewTitle": "概要", + "root.nav.title": "ステーキングナビゲーション", + "root.title": "ステーキング" +} diff --git a/packages/translation/src/lib/translations/staking/ja.ts b/packages/translation/src/lib/translations/staking/ja.ts new file mode 100644 index 0000000000..927ad68b4c --- /dev/null +++ b/packages/translation/src/lib/translations/staking/ja.ts @@ -0,0 +1,5 @@ +import jajson from './ja.json'; + +export const ja = { + ...jajson, +}; diff --git a/packages/translation/src/types/types.ts b/packages/translation/src/types/types.ts index 527787029c..e41c140f6f 100644 --- a/packages/translation/src/types/types.ts +++ b/packages/translation/src/types/types.ts @@ -6,6 +6,7 @@ import type { export enum Language { en = 'en', + ja = 'ja', } export type TranslationKey = keyof (typeof allTranslations)[Language.en];