Files
Arkie-Library-Frontend/src/locales/en.ts
TerryM 7abe4a868c feat: redesign wallet login and favorites, fix desktop/mobile bugs
- Remove forced BNB chain switch on injected login (signature is chain-agnostic)
- Refine isMobileDevice so touch Macs stay on desktop flow
- Wire RainbowKit/WalletConnect as a real MetaMask/imToken QR fallback,
  gated on a valid VITE_WALLETCONNECT_PROJECT_ID
- Rebuild login modal: single desktop primary action, collapsible other
  methods, mobile open-app fallback feedback, brand icons
- Add My Favorites entry points (header, mobile menu, wallet dropdown)
- Favorites page: error retry, mobile filter drawer
- Auto sign-out and re-login prompt on favorites 401
- Full native translations for all wallet strings across 7 locales

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 03:43:13 +08:00

232 lines
8.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { Dict } from "./types";
export const enDict: Dict = {
brand: "ARK Library",
mainNav: "Site menu",
home: "Home",
all: "All assets",
categories: "Categories",
latest: "Latest",
official: "Official picks",
popular: "Popular",
search: "Search",
searchPlaceholder: "Search resources...",
searchPanelPlaceholder: "Search assets...",
searchNow: "Search now",
searchSubmit: "Search",
cancel: "Cancel",
clear: "Clear",
searchPanelHint:
"Search supports title, category, tags, summary, file type, and body text.",
currentTags: "Available tags",
noTagsAvailable: "No tags available yet.",
tagPostsTitle: "#{{tag}} related posts",
noTagPosts: "No posts with this tag yet.",
viewAll: "View all",
backToTop: "Back to top",
heroTitle: "ARK Official Library",
heroSub:
"Centralize, organize, and manage the ARK library so you can find what you need fast and help the community grow together.",
categorySection: "Categories",
officialSection: "Official recommendations",
latestSection: "Latest updates",
popularSection: "Popular assets",
preview: "Preview",
download: "Download",
downloading: "Downloading…",
downloadOk: "Download complete",
downloadFail: "Download failed, please retry",
longPressImageSave: "Long-press image to save",
saveAlbumGuideTitle: "Save to album guide",
saveAlbumGuideIntro:
"Your download has started. Follow the steps below to save the file to your album.",
saveAlbumGuideImageLabel: "Image",
saveAlbumGuideVideoLabel: "Video",
saveAlbumGuideIosStep1:
"After the download finishes, tap the browser download icon or open the Downloads folder in the Files app.",
saveAlbumGuideIosStep2: "Open the downloaded image or video file.",
saveAlbumGuideIosStep3:
"Tap the share button, then choose Save Image or Save Video to add it to Photos.",
saveAlbumGuideAndroidStep1:
"After the download finishes, tap the download notification or open Files / Downloads.",
saveAlbumGuideAndroidStep2: "Open the downloaded image or video file.",
saveAlbumGuideAndroidStep3:
"If it does not appear in Gallery automatically, use the menu to save or move it to Photos or Gallery.",
saveAlbumGuideDesktopStep1:
"After the download finishes, open it from your browser downloads list or the Downloads folder.",
saveAlbumGuideDesktopStep2:
"To keep it in a phone album, transfer it to your phone with AirDrop, cable, or cloud drive, then save it there.",
showMore: "Show all",
showLess: "Show less",
share: "Share",
langLabel: "Language",
admin: "Admin",
login: "Sign in",
logout: "Sign out",
email: "Email",
password: "Password",
dashboard: "Dashboard",
resources: "Resources",
newResource: "New resource",
save: "Save",
title: "Title",
description: "Description",
type: "Type",
language: "Language",
category: "Category",
status: "Status",
public: "Public",
downloadable: "Downloadable",
recommended: "Featured",
cover: "Cover image URL",
fileUrl: "File URL",
externalUrl: "External URL",
body: "Text body",
badge: "Badge label",
published: "Published",
draft: "Draft",
archived: "Archived",
noResults: "No results. Try another keyword or browse categories.",
copyLink: "Copy link",
related: "Related",
total: "Total items",
views: "Views",
downloads: "Downloads",
lang_zh_CN: "Chinese",
lang_en: "English",
lang_ja: "Japanese",
lang_ko: "Korean",
lang_vi: "Vietnamese",
lang_id: "Indonesian",
lang_ms: "Malay",
filterAll: "All types",
sortPublished: "Published date",
type_ppt: "PPT",
type_music: "Music",
type_video: "Video",
type_image: "Image",
type_pdf: "PDF",
type_link: "Link",
type_text: "Text",
type_archive: "Archive",
type_zip: "ZIP",
adminLoginTitle: "Admin sign in",
adminEditResource: "Edit resource",
adminVideoFileHint:
"Upload a video file (MP4/WebM/MOV, etc.) and set type to Video; the site will autoplay (muted by default — user can unmute).",
adminStatTodayNew: "New today",
adminStatFavorites: "Favorites",
adminMetricDownloads: "Downloads",
adminMetricFavorites: "Favorites",
adminMetricViews: "Views",
edit: "Edit",
backToList: "Back to list",
sortOrderLabel: "Sort order",
previewUrlLabel: "Preview URL",
tagsCommaLabel: "Tags (comma-separated)",
uploadFile: "Upload",
loading: "Loading…",
paginationPrev: "Previous",
paginationNext: "Next",
listRange: "Showing {{from}}{{to}} of {{total}}",
pageIndicator: "Page {{c}} / {{p}}",
resourceLangFilter: "Resource language",
filterTagClear: "Clear tag",
filterLanguageAll: "All languages",
footerAdminLogin: "Admin sign-in",
adminSearchLogs: "Search logs",
adminMetricShares: "Shares",
adminSearchQuery: "Query",
adminSearchTime: "Time",
adminSearchId: "ID",
favoriteAdd: "Add to favorites",
favoriteRemove: "Remove from favorites",
favoriteAdded: "Added to favorites",
favoriteRemoved: "Removed from favorites",
favoriteFailed: "Could not update favorites",
favoriteLoginRequired: "Connect your wallet to save favorites",
favoritesLoginDesc:
"Connect your wallet to view and manage your saved ARK resources.",
favoritesLibraryTitle: "Saved resources",
favoritesEmptyTitle: "No favorites yet",
favoritesEmptyDesc:
"Browse resources and tap the heart icon to save them here.",
favoritesNoFilteredTitle: "No matching favorites",
favoritesNoFilteredDesc:
"Try changing your search, category, or sort filters.",
favoritesFilterAllCategories: "All categories",
favoritesSortFavoritedAt: "Recently saved",
favoritesSortPublishedAt: "Newest published",
favoritesSortHot: "Hot resources",
favoritesSearchPlaceholder: "Search your favorites",
favoritesUnavailable: "Unavailable",
favoritesClearFilters: "Clear filters",
favorites: "My Favorites",
favoritesComingSoon: "Coming Soon",
favoritesComingSoonDesc:
"Sign-in and favorites are in development. Stay tuned.",
close: "Close",
walletConnect: "Connect Wallet",
walletConnectedAs: "Connected wallet",
walletDisconnect: "Disconnect",
walletLoginTitle: "Connect wallet",
walletLoginDesc:
"Sign a message to verify your wallet address. No transaction or gas fee.",
walletInjected: "Use browser wallet",
walletInjectedDesc: "Sign with the wallet available in this browser.",
walletNoBrowserWallet: "No browser wallet detected",
walletNoBrowserWalletDesc:
"Install or enable a browser wallet extension, such as MetaMask.",
walletOpenWalletApp: "Open wallet app",
walletOpenWalletAppDesc:
"Open this site in your wallet app, then sign to log in.",
walletTokenPocket: "TokenPocket",
walletMetaMask: "MetaMask",
walletImToken: "imToken",
favoritesFilters: "Filters",
favoriteSessionExpired: "Your session expired. Please sign in again.",
walletChooseDesktop:
"Choose the wallet you want to use. On desktop, install the matching browser extension.",
walletChooseMobile: "Choose a wallet app to open this site.",
walletDesktopHint:
"If no wallet opens after clicking, make sure the matching browser extension is installed and enabled.",
walletInstallSelected:
"No {wallet} browser extension detected. Install or enable it, then try again.",
walletOpen: "Open",
walletQrLogin: "QR login",
walletMobileQrDesc:
"Use another device to scan this QR code and log in to this browser.",
walletTokenPocketQr: "TokenPocket QR login",
walletTokenPocketQrDesc:
"Recommended for China users. Scan with TokenPocket and sign to return login to this browser.",
walletGenerateQr: "Generate QR",
walletQrUseAnotherDevice: "Scan with TokenPocket on another device.",
walletOpenTokenPocket: "Open TokenPocket",
walletOpenMetaMask: "Open MetaMask",
walletOpenImToken: "Open imToken",
walletRainbowFallback: "MetaMask / imToken QR fallback",
walletRainbowFallbackDesc:
"Use RainbowKit/Reown scan login if you need QR for MetaMask or imToken.",
walletOpenRainbow: "Open QR login",
walletNetworkWarning:
"This fallback uses WalletConnect/Reown and may be unstable on some China networks. If it fails, open this site inside your wallet app.",
walletSigning: "Signing…",
walletTpExpired: "TokenPocket QR expired. Please generate a new one.",
walletTpQrFailed: "Could not generate TokenPocket QR.",
walletRainbowUnavailable: "QR login is not available yet.",
walletLoginSuccess: "Wallet connected",
walletLoginFailed: "Wallet login failed",
walletDisconnected: "Wallet disconnected",
walletOtherMethods: "Other login methods",
walletUseCurrent: "Use current wallet",
walletOpening: "Opening {wallet}…",
walletAppNotInstalled: "If nothing opened, the app may not be installed.",
walletDownloadApp: "Download {wallet}",
walletRetry: "Try again",
walletConnecting: "Connecting…",
featureUnavailable: "Not available yet",
featureUnavailableDesc: "This feature is not available yet.",
confirm: "Got it",
backToHome: "Back to Home",
};