Files
OpenFlare/frontend/messages/en.json
T
ryan 1625cfb2fb feat(frontend): add next-intl bilingual i18n for core paths
Wire next-intl without locale routes, add zh-CN/en catalogs, language
switcher, and migrate layout/auth/settings UI copy. Document i18n rules
in AGENTS.md and keep static export builds working.
2026-07-24 16:25:41 +08:00

224 lines
8.7 KiB
JSON

{
"common": {
"save": "Save",
"cancel": "Cancel",
"confirm": "Confirm",
"delete": "Delete",
"loading": "Loading...",
"retry": "Retry",
"optional": "(optional)",
"settings": "Settings",
"search": "Search",
"unknownError": "Something went wrong. Please try again."
},
"layout": {
"nav": {
"home": "Home",
"myFiles": "My Files",
"users": "Users",
"tasks": "Tasks",
"storage": "Storage",
"database": "Database",
"push": "Notifications",
"logs": "System Logs",
"system": "System Config",
"adminSettings": "System Settings",
"demo": "Demo",
"apiDocs": "API Docs",
"usageDocs": "User Guide"
},
"groups": {
"admin": "Admin",
"docs": "Docs"
},
"user": {
"adminRole": "Administrator",
"userRole": "User",
"notLoggedIn": "Not signed in",
"syncing": "Syncing account",
"profile": "My Profile",
"settings": "Settings",
"help": "Help",
"logout": "Sign out"
},
"logoutDialog": {
"title": "Sign out",
"description": "Are you sure you want to sign out?",
"loggingOut": "Signing out…",
"confirm": "Sign out",
"inProgress": "Signing out…",
"failed": "Sign-out failed",
"failedDescription": "An error occurred while signing out. Please try again."
},
"header": {
"notifications": "Notifications",
"settings": "Settings",
"search": "Search",
"toggleFullWidth": "Toggle full width",
"toggleTheme": "Toggle theme",
"changePasswordBanner": "For your account security, please change your password now.",
"changePasswordAction": "Change password",
"bannerTitle": "Announcement",
"bannerLink": "Learn more",
"dismiss": "Dismiss"
}
},
"auth": {
"login": {
"title": "Sign in to your account",
"description": "Welcome back. Enter your credentials to continue.",
"username": "Email or username",
"usernamePlaceholder": "Enter email or username",
"password": "Password",
"passwordPlaceholder": "Enter your password",
"showPassword": "Show password",
"hidePassword": "Hide password",
"submit": "Sign in",
"submitting": "Signing in…",
"success": "Signed in successfully",
"failed": "Sign-in failed. Please try again.",
"incomplete": "Email/username or password is incomplete",
"incompleteDesc": "Please enter both email/username and password before signing in",
"capPending": "Human verification is still running…",
"capRequired": "Please complete human verification first",
"orUse": "Or continue with",
"oauthLogin": "Sign in with {name}",
"oauthFailed": "Third-party sign-in failed",
"noAccount": "Don't have an account?",
"registerNow": "Register",
"codeSent": "A sign-in code was sent to your email",
"codeTipMasked": "A sign-in code was sent to your secure email {email}.",
"codeTipGeneric": "Please enter your sign-in verification code."
},
"otp": {
"title": "Verify your sign-in",
"description": "Enter the 6-digit code sent to your secure email.",
"code": "Verification code",
"resend": "Resend",
"resendIn": "Resend in {seconds}s",
"submit": "Verify",
"submitting": "Verifying…",
"help": "Having trouble signing in?",
"contactSupport": "Contact support"
},
"register": {
"title": "Create your account",
"description": "Fill in the details below to get started.",
"username": "Username",
"usernamePlaceholder": "Enter username",
"nickname": "Nickname",
"nicknamePlaceholder": "Enter nickname",
"email": "Email",
"emailPlaceholder": "Enter email",
"password": "Password",
"passwordPlaceholder": "Enter password (at least 8 characters)",
"emailCode": "Email verification code",
"emailCodePlaceholder": "Enter 6-digit code",
"getCode": "Get code",
"resendIn": "Resend in {seconds}s",
"submit": "Create account",
"submitting": "Creating…",
"success": "Registered and signed in",
"failed": "Registration failed. Please try again.",
"closed": "Registration is currently disabled",
"codeSent": "Verification code sent to your email",
"sendCodeFailed": "Failed to send verification code",
"emailRequired": "Please enter an email address first",
"emailInvalid": "Please enter a valid email address",
"usernamePasswordRequired": "Username and password are required",
"passwordTooShort": "Password must be at least 8 characters",
"emailEmpty": "Email is required",
"codeRequired": "Verification code is required",
"capPending": "Human verification is still running…",
"capRequired": "Please complete human verification first",
"hasAccount": "Already have an account?",
"backToLogin": "Back to sign in"
}
},
"settings": {
"title": "Settings",
"categories": {
"personal": "Personal",
"account": "Account"
},
"items": {
"profile": "Profile",
"profileDesc": "View your account information",
"accessToken": "Access tokens",
"accessTokenDesc": "Manage personal tokens for API access",
"notifications": "Notifications",
"notificationsDesc": "Manage your notification preferences",
"appearance": "Appearance",
"appearanceDesc": "Customize theme and display"
},
"appearance": {
"breadcrumb": "Appearance",
"themeMode": "Theme mode",
"themeModeDesc": "Choose the overall light or dark theme",
"modeLight": "Light",
"modeDark": "Dark",
"modeSystem": "System",
"interface": "Interface",
"interfaceDesc": "Choose color scheme and visual style",
"switched": "Appearance switched to {name}",
"switchFailed": "Failed to switch appearance",
"language": "Language",
"languageDesc": "Choose the interface language",
"comingSoon": "Coming soon",
"comingSoonBody": "More customization options are on the way…"
},
"notifications": {
"breadcrumb": "Notifications",
"display": "Notification display",
"displayDesc": "Configure notification-related display options",
"showBell": "Show notification bell",
"showBellDesc": "Show the notification bell in the top navigation bar"
},
"accessToken": {
"breadcrumb": "Access tokens",
"title": "Personal access tokens",
"generate": "Generate token",
"securityTitle": "Security note:",
"securityBody": "Access tokens have full API permissions for your account. Never share them via source control, chat, or public channels. Create tokens on demand and revoke unused ones promptly.",
"listTitle": "Active tokens",
"listDesc": "All currently available access tokens",
"userToken": "User token",
"empty": "You have not created any access tokens yet",
"generateFirst": "Generate your first token",
"createTitle": "Generate token",
"createDesc": "Give the token a recognizable name for easier management later.",
"name": "Token name",
"adminHint": "When enabled, this token can access /admin/** endpoints (off by default)",
"generateAction": "Generate",
"readyTitle": "Token secret is ready",
"readyBody": "This is the only time you can view the plaintext secret. Copy it now and store it securely.",
"nameRequired": "Please enter a token name",
"createSuccess": "Access token created",
"createFailed": "Failed to create access token",
"deleteSuccess": "Access token revoked",
"deleteFailed": "Failed to delete access token",
"rotateSuccess": "Access token rotated; the old secret is invalid",
"rotateFailed": "Failed to rotate access token",
"deleteConfirm": "Revoke token “{name}”? It will stop working immediately and cannot be recovered.",
"rotateConfirm": "Rotate the secret for token “{name}”? A new secret will be issued and the old one will stop working immediately.",
"subtitle": "Manage API access secrets for development or third-party tools",
"adminBadge": "Admin",
"adminPermission": "Admin permission",
"createdAt": "Created: {date}",
"copy": "Copy",
"rotate": "Rotate",
"revoke": "Revoke",
"copySuccess": "Copied",
"copyFailed": "Copy failed",
"namePlaceholder": "e.g. my-development-key",
"generating": "Generating…",
"importantTitle": "Important:",
"savedConfirm": "I have copied and stored it securely"
}
},
"metadata": {
"title": "Wavelet Platform",
"description": "A general-purpose platform scaffold for secondary development"
}
}