116 lines
7.6 KiB
TypeScript
116 lines
7.6 KiB
TypeScript
// English fallback. Mirror the RU key set; `Record<StringKey, string>`
|
||
// enforces every RU key has an EN counterpart at compile time.
|
||
|
||
import type { StringKey } from './ru';
|
||
|
||
export const EN: Record<StringKey, string> = {
|
||
'status.unknown': 'Checking status…',
|
||
'status.disconnected': 'WhatsApp not linked',
|
||
'status.connected': 'WhatsApp linked',
|
||
'status.connected-as': 'WhatsApp linked as {handle}',
|
||
'status.logging-out': 'Signing out…',
|
||
'status.qr-verifying': 'Verifying sign-in…',
|
||
'status.pairing-verifying': 'Verifying sign-in…',
|
||
'card.login-qr.name': 'Sign in with QR code',
|
||
'card.login-qr.desc': 'Scan a QR code from the WhatsApp mobile app',
|
||
'card.login-pairing.name': 'Sign in by phone number',
|
||
'card.login-pairing.desc': 'Enter your number and get an 8-character code for WhatsApp',
|
||
'card.refresh.aria': 'Refresh status',
|
||
'card.refresh.label': 'Refresh status',
|
||
'card.refresh.name': 'Refresh status',
|
||
'card.refresh.desc': 'Re-check whether WhatsApp is linked',
|
||
'card.refresh.in-flight': 'Checking…',
|
||
'card.warning.name': 'Read before linking',
|
||
'card.warning.desc': 'Important information about risks — tap to open',
|
||
'warning.title': 'Read before linking WhatsApp',
|
||
'warning.body-1':
|
||
'Mautrix-whatsapp connects to your account through the same linked-device mechanism as WhatsApp Web. Technically a standard API — but unlike other messengers, WhatsApp’s terms of service explicitly forbid connecting through third-party clients, and Meta may ban your account for it.',
|
||
'warning.body-2':
|
||
'WhatsApp bans are regular and unpredictable — Meta does not publish criteria. For some users the bridge works for years without issue; for others the account is banned within hours of linking.',
|
||
'warning.tos-label': 'WhatsApp terms of service:',
|
||
'warning.tos-url': 'https://www.whatsapp.com/legal/terms-of-service',
|
||
'warning.close': 'Got it',
|
||
'warning.aria-close': 'Close warning',
|
||
'warning.about-callout':
|
||
'⚠ Before linking WhatsApp, read the “Read before linking” card on the bot’s main screen.',
|
||
'card.about.name': 'How the WhatsApp bot works',
|
||
'card.about.desc': 'Sign-in, safety, and source code',
|
||
'about.title': 'About the WhatsApp bot',
|
||
'about.body-1':
|
||
'This bot connects WhatsApp to Vojo. After sign-in, your private chats and groups from WhatsApp will appear in Vojo’s chat list, and replies from the Vojo app will be sent to your contacts as normal WhatsApp messages.',
|
||
'about.body-2':
|
||
'Sign-in requires the WhatsApp mobile app on a phone with an active account. You can either scan a QR code via Settings → Linked devices → Link a device, or enter an 8-character pairing code via Settings → Linked devices → Link with phone number.',
|
||
'about.body-3':
|
||
'The connection runs through the open-source mautrix-whatsapp bridge. It creates a WhatsApp session on the Vojo server and uses it to connect WhatsApp with your Vojo account: receive messages from WhatsApp and send your replies back. Your WhatsApp account keeps working on your phone as usual — the bridge connects in parallel as another linked device.',
|
||
'about.github-label': 'The bridge source code is public on GitHub:',
|
||
'about.github-url': 'https://github.com/mautrix/whatsapp',
|
||
'about.body-4':
|
||
'You can revoke access at any time — either with the “Sign out of WhatsApp” button here, or inside WhatsApp itself under Settings → Linked devices → Log out of all devices.',
|
||
'about.close': 'Close',
|
||
'about.aria-close': 'Close “About this bot”',
|
||
'auth-card.phone.title': 'Sign in with a pairing code',
|
||
'auth-card.phone.label': 'Phone number',
|
||
'auth-card.phone.placeholder': '+15551234567',
|
||
'auth-card.phone.hint':
|
||
'Enter your phone number including the country code. WhatsApp will then generate an 8-character pairing code that you enter in the WhatsApp app.',
|
||
'auth-card.phone.submit': 'Get code',
|
||
'auth-card.phone.cooldown': 'Retry in {seconds}s',
|
||
'auth-card.pairing-code.title': 'Enter this code in WhatsApp',
|
||
'auth-card.pairing-code.hint':
|
||
'Open WhatsApp on your phone and enter this code under Linked devices → Link with phone number.',
|
||
'auth-card.pairing-code.preparing': 'Preparing the code…',
|
||
'auth-card.pairing-code.aria': 'Pairing code for WhatsApp sign-in. Enter it in the app on your phone.',
|
||
'auth-card.pairing-code.countdown': 'Time left to enter: {minutes}:{seconds}',
|
||
'auth-card.pairing-code.expired': 'Sign-in window expired. Tap Cancel and try again.',
|
||
'auth-card.pairing-code.step-1': 'Open WhatsApp on your phone.',
|
||
'auth-card.pairing-code.step-2': 'Go to Settings → Linked devices.',
|
||
'auth-card.pairing-code.step-3': 'Tap Link a device → Link with phone number.',
|
||
'auth-card.pairing-code.step-4': 'Enter this code and confirm sign-in on your phone.',
|
||
'auth-card.qr.title': 'QR code sign-in',
|
||
'auth-card.qr.hint': 'Open WhatsApp on your phone and scan this QR code.',
|
||
'auth-card.qr.preparing': 'Preparing QR code…',
|
||
'auth-card.qr.aria': 'QR code for WhatsApp sign-in. Scan it with your phone.',
|
||
'auth-card.qr.countdown': 'Time left to scan: {minutes}:{seconds}',
|
||
'auth-card.qr.expired': 'Sign-in window expired. Tap Cancel and try again.',
|
||
'auth-card.qr.step-1': 'Open WhatsApp on your phone.',
|
||
'auth-card.qr.step-2': 'Go to Settings → Linked devices.',
|
||
'auth-card.qr.step-3': 'Tap Link a device and scan the QR code.',
|
||
'auth-card.cancel': 'Cancel',
|
||
'auth-card.waiting-hint': 'The bot is still thinking… replies may take up to 30 seconds.',
|
||
'auth-error.login-failed': 'Sign-in failed: {reason}',
|
||
'auth-error.invalid-value': 'Value not accepted: {reason}',
|
||
'auth-error.submit-failed': 'WhatsApp refused the input: {reason}',
|
||
'auth-error.start-failed': 'Failed to start sign-in: {reason}',
|
||
'auth-error.prepare-failed': 'Failed to prepare sign-in: {reason}',
|
||
'auth-error.login-in-progress':
|
||
'The bot already has another sign-in flow open. Click Cancel and retry.',
|
||
'auth-error.max-logins': 'Login limit reached ({limit}). Sign out of an existing account first.',
|
||
'auth-error.unknown-command':
|
||
'The bot does not recognise this command — check the prefix in config.json.',
|
||
'auth-error.external-logout.another-device':
|
||
'WhatsApp unlinked this device from another device. Sign in again.',
|
||
'auth-error.external-logout.phone-logged-out':
|
||
'You signed out of WhatsApp on the phone — all linked devices were unlinked. Sign in again.',
|
||
'auth-error.external-logout.unknown':
|
||
'WhatsApp dropped the session. Sign in again.',
|
||
'card.logout.name': 'Sign out of WhatsApp',
|
||
'card.logout.desc': 'End the session for this account',
|
||
'card.logout.confirm-prompt': 'Sign out for real?',
|
||
'card.logout.confirm-yes': 'Sign out',
|
||
'card.logout.confirm-no': 'Cancel',
|
||
'card.logout.gated': 'Session identifier still loading — give it a moment.',
|
||
'diag.connecting': 'Connecting to Vojo… awaiting capability handshake.',
|
||
'diag.ready': 'Ready to send commands.',
|
||
'diag.checking-status': 'Checking connection status…',
|
||
'diag.send-failed': 'send failed: {message}',
|
||
'diag.history-marker': '─── history ───',
|
||
'diag.history-unavailable': 'Could not read history — re-checking status.',
|
||
'diag.qr-issued': 'QR code refreshed.',
|
||
'diag.qr-consumed': 'QR code consumed — bridge confirmed the scan.',
|
||
'diag.pairing-code-issued': 'Pairing code issued.',
|
||
'diag.connection-warning': '{text}',
|
||
'diag.external-logout': 'WhatsApp dropped the session — sign-in needed.',
|
||
'bootstrap.failed': 'Widget failed to start',
|
||
'bootstrap.missing-params': 'Missing required URL params: {names}.',
|
||
'bootstrap.embedded-only': 'This page is meant to be embedded by Vojo at {route}.',
|
||
};
|