Adds support for Spanish, Dutch, Russian, and Chinese to the language selection menu. This includes adding the necessary translation strings and updating the app customization page to display these new language options.
920 lines
20 KiB
Dart
920 lines
20 KiB
Dart
// ignore: unused_import
|
|
import 'package:intl/intl.dart' as intl;
|
|
import 'app_localizations.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
|
|
/// The translations for English (`en`).
|
|
class AppLocalizationsEn extends AppLocalizations {
|
|
AppLocalizationsEn([String locale = 'en']) : super(locale);
|
|
|
|
@override
|
|
String get appTitle => 'Conduit';
|
|
|
|
@override
|
|
String get initializationFailed => 'Initialization Failed';
|
|
|
|
@override
|
|
String get retry => 'Retry';
|
|
|
|
@override
|
|
String get back => 'Back';
|
|
|
|
@override
|
|
String get you => 'You';
|
|
|
|
@override
|
|
String get loadingProfile => 'Loading profile...';
|
|
|
|
@override
|
|
String get unableToLoadProfile => 'Unable to load profile';
|
|
|
|
@override
|
|
String get pleaseCheckConnection =>
|
|
'Please check your connection and try again';
|
|
|
|
@override
|
|
String get connectionIssueTitle => 'Can\'t reach your server';
|
|
|
|
@override
|
|
String get connectionIssueSubtitle =>
|
|
'Reconnect to continue or sign out to choose a different server.';
|
|
|
|
@override
|
|
String get stillOfflineMessage =>
|
|
'We still can\'t reach the server. Double-check your connection and try again.';
|
|
|
|
@override
|
|
String get account => 'Account';
|
|
|
|
@override
|
|
String get supportConduit => 'Support Conduit';
|
|
|
|
@override
|
|
String get supportConduitSubtitle =>
|
|
'Keep Conduit independent by funding ongoing development.';
|
|
|
|
@override
|
|
String get githubSponsorsTitle => 'GitHub Sponsors';
|
|
|
|
@override
|
|
String get githubSponsorsSubtitle =>
|
|
'Become a recurring sponsor to fund roadmap items.';
|
|
|
|
@override
|
|
String get buyMeACoffeeTitle => 'Buy Me a Coffee';
|
|
|
|
@override
|
|
String get buyMeACoffeeSubtitle => 'Make a one-time donation to say thanks.';
|
|
|
|
@override
|
|
String get signOut => 'Sign Out';
|
|
|
|
@override
|
|
String get endYourSession => 'End your session';
|
|
|
|
@override
|
|
String get defaultModel => 'Default Model';
|
|
|
|
@override
|
|
String get autoSelect => 'Auto-select';
|
|
|
|
@override
|
|
String get loadingModels => 'Loading models...';
|
|
|
|
@override
|
|
String get failedToLoadModels => 'Failed to load models';
|
|
|
|
@override
|
|
String get availableModels => 'Available Models';
|
|
|
|
@override
|
|
String get noResults => 'No results';
|
|
|
|
@override
|
|
String get searchModels => 'Search models...';
|
|
|
|
@override
|
|
String get errorMessage => 'Something went wrong. Please try again.';
|
|
|
|
@override
|
|
String get loginButton => 'Login';
|
|
|
|
@override
|
|
String get menuItem => 'Settings';
|
|
|
|
@override
|
|
String dynamicContentWithPlaceholder(String name) {
|
|
return 'Welcome, $name!';
|
|
}
|
|
|
|
@override
|
|
String itemsCount(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: '$count items',
|
|
one: '1 item',
|
|
zero: 'No items',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get closeButtonSemantic => 'Close';
|
|
|
|
@override
|
|
String get loadingContent => 'Loading content';
|
|
|
|
@override
|
|
String get noItems => 'No items';
|
|
|
|
@override
|
|
String get noItemsToDisplay => 'No items to display';
|
|
|
|
@override
|
|
String get loadMore => 'Load More';
|
|
|
|
@override
|
|
String get workspace => 'Workspace';
|
|
|
|
@override
|
|
String get recentFiles => 'Recent Files';
|
|
|
|
@override
|
|
String get knowledgeBase => 'Knowledge Base';
|
|
|
|
@override
|
|
String get noFilesYet => 'No files yet';
|
|
|
|
@override
|
|
String get uploadDocsPrompt =>
|
|
'Upload documents to reference in your conversations with Conduit';
|
|
|
|
@override
|
|
String get uploadFirstFile => 'Upload your first file';
|
|
|
|
@override
|
|
String get attachments => 'Attachments';
|
|
|
|
@override
|
|
String get knowledgeBaseEmpty => 'Knowledge base is empty';
|
|
|
|
@override
|
|
String get createCollectionsPrompt =>
|
|
'Create collections of related documents for easy reference';
|
|
|
|
@override
|
|
String get chooseSourcePhoto => 'Choose your source';
|
|
|
|
@override
|
|
String get takePhoto => 'Take a photo';
|
|
|
|
@override
|
|
String get chooseFromGallery => 'Choose from your photos';
|
|
|
|
@override
|
|
String get document => 'Document';
|
|
|
|
@override
|
|
String get documentHint => 'PDF, Word, or text file';
|
|
|
|
@override
|
|
String get uploadFileTitle => 'Upload File';
|
|
|
|
@override
|
|
String fileUploadComingSoon(String type) {
|
|
return 'File upload for $type is coming soon!';
|
|
}
|
|
|
|
@override
|
|
String get kbCreationComingSoon => 'Knowledge base creation is coming soon!';
|
|
|
|
@override
|
|
String get backToServerSetup => 'Back to server setup';
|
|
|
|
@override
|
|
String get connectedToServer => 'Connected to Server';
|
|
|
|
@override
|
|
String get signIn => 'Sign In';
|
|
|
|
@override
|
|
String get enterCredentials =>
|
|
'Enter your credentials to access your AI conversations';
|
|
|
|
@override
|
|
String get credentials => 'Credentials';
|
|
|
|
@override
|
|
String get apiKey => 'API Key';
|
|
|
|
@override
|
|
String get usernameOrEmail => 'Username or Email';
|
|
|
|
@override
|
|
String get password => 'Password';
|
|
|
|
@override
|
|
String get signInWithApiKey => 'Sign in with API Key';
|
|
|
|
@override
|
|
String get connectToServer => 'Connect to Server';
|
|
|
|
@override
|
|
String get enterServerAddress =>
|
|
'Enter your Open-WebUI server address to get started';
|
|
|
|
@override
|
|
String get serverUrl => 'Server URL';
|
|
|
|
@override
|
|
String get serverUrlHint => 'https://your-server.com';
|
|
|
|
@override
|
|
String get enterServerUrlSemantic => 'Enter your server URL or IP address';
|
|
|
|
@override
|
|
String get headerName => 'Header Name';
|
|
|
|
@override
|
|
String get headerValue => 'Header Value';
|
|
|
|
@override
|
|
String get headerValueHint => 'api-key-123 or Bearer token';
|
|
|
|
@override
|
|
String get addHeader => 'Add header';
|
|
|
|
@override
|
|
String get maximumHeadersReached => 'Maximum headers reached';
|
|
|
|
@override
|
|
String get removeHeader => 'Remove header';
|
|
|
|
@override
|
|
String get connecting => 'Connecting...';
|
|
|
|
@override
|
|
String get connectToServerButton => 'Connect to Server';
|
|
|
|
@override
|
|
String get demoModeActive => 'Demo Mode Active';
|
|
|
|
@override
|
|
String get skipServerSetupTryDemo => 'Skip server setup and try the demo';
|
|
|
|
@override
|
|
String get enterDemo => 'Enter Demo';
|
|
|
|
@override
|
|
String get demoBadge => 'Demo';
|
|
|
|
@override
|
|
String get serverNotOpenWebUI =>
|
|
'This does not appear to be an Open-WebUI server.';
|
|
|
|
@override
|
|
String get serverUrlEmpty => 'Server URL cannot be empty';
|
|
|
|
@override
|
|
String get invalidUrlFormat => 'Invalid URL format. Please check your input.';
|
|
|
|
@override
|
|
String get onlyHttpHttps => 'Only HTTP and HTTPS protocols are supported.';
|
|
|
|
@override
|
|
String get serverAddressRequired =>
|
|
'Server address is required (e.g., 192.168.1.10 or example.com).';
|
|
|
|
@override
|
|
String get portRange => 'Port must be between 1 and 65535.';
|
|
|
|
@override
|
|
String get invalidIpFormat =>
|
|
'Invalid IP address format. Use format like 192.168.1.10.';
|
|
|
|
@override
|
|
String get couldNotConnectGeneric =>
|
|
'Couldn\'t connect. Double-check the address and try again.';
|
|
|
|
@override
|
|
String get weCouldntReachServer =>
|
|
'We couldn\'t reach the server. Check your connection and that the server is running.';
|
|
|
|
@override
|
|
String get connectionTimedOut =>
|
|
'Connection timed out. The server might be busy or blocked by a firewall.';
|
|
|
|
@override
|
|
String get useHttpOrHttpsOnly => 'Use http:// or https:// only.';
|
|
|
|
@override
|
|
String get loginFailed => 'Login failed';
|
|
|
|
@override
|
|
String get invalidCredentials =>
|
|
'Invalid username or password. Please try again.';
|
|
|
|
@override
|
|
String get serverRedirectingHttps =>
|
|
'The server is redirecting requests. Check your server\'s HTTPS configuration.';
|
|
|
|
@override
|
|
String get unableToConnectServer =>
|
|
'Unable to connect to server. Please check your connection.';
|
|
|
|
@override
|
|
String get requestTimedOut => 'The request timed out. Please try again.';
|
|
|
|
@override
|
|
String get genericSignInFailed =>
|
|
'We couldn\'t sign you in. Check your credentials and server settings.';
|
|
|
|
@override
|
|
String get skip => 'Skip';
|
|
|
|
@override
|
|
String get next => 'Next';
|
|
|
|
@override
|
|
String get done => 'Done';
|
|
|
|
@override
|
|
String onboardStartTitle(String username) {
|
|
return 'Hello, $username';
|
|
}
|
|
|
|
@override
|
|
String get onboardStartSubtitle =>
|
|
'Choose a model to get started. Tap New Chat anytime.';
|
|
|
|
@override
|
|
String get onboardStartBullet1 =>
|
|
'Tap the model name in the top bar to switch models';
|
|
|
|
@override
|
|
String get onboardStartBullet2 => 'Use New Chat to reset context';
|
|
|
|
@override
|
|
String get onboardAttachTitle => 'Add context';
|
|
|
|
@override
|
|
String get onboardAttachSubtitle =>
|
|
'Ground replies with content from Workspace or photos.';
|
|
|
|
@override
|
|
String get onboardAttachBullet1 => 'Workspace: PDFs, docs, datasets';
|
|
|
|
@override
|
|
String get onboardAttachBullet2 => 'Photos: camera or library';
|
|
|
|
@override
|
|
String get onboardSpeakTitle => 'Speak naturally';
|
|
|
|
@override
|
|
String get onboardSpeakSubtitle =>
|
|
'Tap the mic to dictate with live waveform feedback.';
|
|
|
|
@override
|
|
String get onboardSpeakBullet1 => 'Stop anytime; partial text is preserved';
|
|
|
|
@override
|
|
String get onboardSpeakBullet2 => 'Great for quick notes or long prompts';
|
|
|
|
@override
|
|
String get onboardQuickTitle => 'Quick actions';
|
|
|
|
@override
|
|
String get onboardQuickSubtitle =>
|
|
'Open the menu to switch between Chats, Workspace, and Profile.';
|
|
|
|
@override
|
|
String get onboardQuickBullet1 =>
|
|
'Tap the menu to access Chats, Workspace, Profile';
|
|
|
|
@override
|
|
String get onboardQuickBullet2 =>
|
|
'Start New Chat or manage models from the top bar';
|
|
|
|
@override
|
|
String get addAttachment => 'Add attachment';
|
|
|
|
@override
|
|
String get attachmentLabel => 'Attachment';
|
|
|
|
@override
|
|
String get tools => 'Tools';
|
|
|
|
@override
|
|
String get voiceInput => 'Voice input';
|
|
|
|
@override
|
|
String get voice => 'Voice';
|
|
|
|
@override
|
|
String get voiceStatusListening => 'Listening…';
|
|
|
|
@override
|
|
String get voiceStatusRecording => 'Recording…';
|
|
|
|
@override
|
|
String get voiceHoldToTalk => 'Hold to talk';
|
|
|
|
@override
|
|
String get voiceAutoSend => 'Auto-send';
|
|
|
|
@override
|
|
String get voiceTranscript => 'Transcript';
|
|
|
|
@override
|
|
String get voicePromptSpeakNow => 'Speak now…';
|
|
|
|
@override
|
|
String get voicePromptTapStart => 'Tap Start to begin';
|
|
|
|
@override
|
|
String get voiceActionStop => 'Stop';
|
|
|
|
@override
|
|
String get voiceActionStart => 'Start';
|
|
|
|
@override
|
|
String get messageInputLabel => 'Message input';
|
|
|
|
@override
|
|
String get messageInputHint => 'Type your message';
|
|
|
|
@override
|
|
String get messageHintText => 'Message...';
|
|
|
|
@override
|
|
String get stopGenerating => 'Stop generating';
|
|
|
|
@override
|
|
String get send => 'Send';
|
|
|
|
@override
|
|
String get codeCopiedToClipboard => 'Code copied to clipboard.';
|
|
|
|
@override
|
|
String get sendMessage => 'Send message';
|
|
|
|
@override
|
|
String get file => 'File';
|
|
|
|
@override
|
|
String get photo => 'Photo';
|
|
|
|
@override
|
|
String get camera => 'Camera';
|
|
|
|
@override
|
|
String get apiUnavailable => 'API service not available';
|
|
|
|
@override
|
|
String get unableToLoadImage => 'Unable to load image';
|
|
|
|
@override
|
|
String notAnImageFile(String fileName) {
|
|
return 'Not an image file: $fileName';
|
|
}
|
|
|
|
@override
|
|
String failedToLoadImage(String error) {
|
|
return 'Failed to load image: $error';
|
|
}
|
|
|
|
@override
|
|
String get invalidDataUrl => 'Invalid data URL format';
|
|
|
|
@override
|
|
String get failedToDecodeImage => 'Failed to decode image';
|
|
|
|
@override
|
|
String get invalidImageFormat => 'Invalid image format';
|
|
|
|
@override
|
|
String get emptyImageData => 'Empty image data';
|
|
|
|
@override
|
|
String get featureRequiresInternet =>
|
|
'This feature requires an internet connection';
|
|
|
|
@override
|
|
String get messagesWillSendWhenOnline =>
|
|
'Messages will be sent when you\'re back online';
|
|
|
|
@override
|
|
String get confirm => 'Confirm';
|
|
|
|
@override
|
|
String get cancel => 'Cancel';
|
|
|
|
@override
|
|
String get ok => 'OK';
|
|
|
|
@override
|
|
String get inputField => 'Input field';
|
|
|
|
@override
|
|
String get captureDocumentOrImage => 'Capture a document or image';
|
|
|
|
@override
|
|
String get checkConnection => 'Check Connection';
|
|
|
|
@override
|
|
String get openSettings => 'Open Settings';
|
|
|
|
@override
|
|
String get chooseDifferentFile => 'Choose Different File';
|
|
|
|
@override
|
|
String get goBack => 'Go Back';
|
|
|
|
@override
|
|
String get technicalDetails => 'Technical Details';
|
|
|
|
@override
|
|
String get save => 'Save';
|
|
|
|
@override
|
|
String get chooseModel => 'Choose Model';
|
|
|
|
@override
|
|
String get reviewerMode => 'REVIEWER MODE';
|
|
|
|
@override
|
|
String get selectLanguage => 'Select Language';
|
|
|
|
@override
|
|
String get newFolder => 'New Folder';
|
|
|
|
@override
|
|
String get folderName => 'Folder name';
|
|
|
|
@override
|
|
String get newChat => 'New Chat';
|
|
|
|
@override
|
|
String get more => 'More';
|
|
|
|
@override
|
|
String get clear => 'Clear';
|
|
|
|
@override
|
|
String get searchHint => 'Search...';
|
|
|
|
@override
|
|
String get searchConversations => 'Search conversations...';
|
|
|
|
@override
|
|
String get create => 'Create';
|
|
|
|
@override
|
|
String get folderCreated => 'Folder created';
|
|
|
|
@override
|
|
String get failedToCreateFolder => 'Failed to create folder';
|
|
|
|
@override
|
|
String movedChatToFolder(String title, String folder) {
|
|
return 'Moved \"$title\" to \"$folder\"';
|
|
}
|
|
|
|
@override
|
|
String get failedToMoveChat => 'Failed to move chat';
|
|
|
|
@override
|
|
String get failedToLoadChats => 'Failed to load chats';
|
|
|
|
@override
|
|
String get failedToUpdatePin => 'Failed to update pin';
|
|
|
|
@override
|
|
String get failedToDeleteChat => 'Failed to delete chat';
|
|
|
|
@override
|
|
String get manage => 'Manage';
|
|
|
|
@override
|
|
String get rename => 'Rename';
|
|
|
|
@override
|
|
String get delete => 'Delete';
|
|
|
|
@override
|
|
String get renameChat => 'Rename Chat';
|
|
|
|
@override
|
|
String get enterChatName => 'Enter chat name';
|
|
|
|
@override
|
|
String get failedToRenameChat => 'Failed to rename chat';
|
|
|
|
@override
|
|
String get failedToUpdateArchive => 'Failed to update archive';
|
|
|
|
@override
|
|
String get unarchive => 'Unarchive';
|
|
|
|
@override
|
|
String get archive => 'Archive';
|
|
|
|
@override
|
|
String get pin => 'Pin';
|
|
|
|
@override
|
|
String get unpin => 'Unpin';
|
|
|
|
@override
|
|
String get recent => 'Recent';
|
|
|
|
@override
|
|
String get system => 'System';
|
|
|
|
@override
|
|
String get english => 'English';
|
|
|
|
@override
|
|
String get deutsch => 'Deutsch';
|
|
|
|
@override
|
|
String get francais => 'Français';
|
|
|
|
@override
|
|
String get italiano => 'Italiano';
|
|
|
|
@override
|
|
String get espanol => 'Español';
|
|
|
|
@override
|
|
String get nederlands => 'Nederlands';
|
|
|
|
@override
|
|
String get russian => 'Русский';
|
|
|
|
@override
|
|
String get chinese => '中文';
|
|
|
|
@override
|
|
String get deleteMessagesTitle => 'Delete Messages';
|
|
|
|
@override
|
|
String deleteMessagesMessage(int count) {
|
|
return 'Delete $count messages?';
|
|
}
|
|
|
|
@override
|
|
String routeNotFound(String routeName) {
|
|
return 'Route not found: $routeName';
|
|
}
|
|
|
|
@override
|
|
String get deleteChatTitle => 'Delete Chat';
|
|
|
|
@override
|
|
String get deleteChatMessage => 'This chat will be permanently deleted.';
|
|
|
|
@override
|
|
String get deleteFolderTitle => 'Delete Folder';
|
|
|
|
@override
|
|
String get deleteFolderMessage =>
|
|
'This folder and its assignment references will be removed.';
|
|
|
|
@override
|
|
String get failedToDeleteFolder => 'Failed to delete folder';
|
|
|
|
@override
|
|
String get aboutApp => 'About App';
|
|
|
|
@override
|
|
String get aboutAppSubtitle => 'Conduit information and links';
|
|
|
|
@override
|
|
String get web => 'Web';
|
|
|
|
@override
|
|
String get imageGen => 'Image Gen';
|
|
|
|
@override
|
|
String get pinned => 'Pinned';
|
|
|
|
@override
|
|
String get folders => 'Folders';
|
|
|
|
@override
|
|
String get archived => 'Archived';
|
|
|
|
@override
|
|
String get appLanguage => 'App Language';
|
|
|
|
@override
|
|
String get darkMode => 'Dark Mode';
|
|
|
|
@override
|
|
String get webSearch => 'Web Search';
|
|
|
|
@override
|
|
String get webSearchDescription =>
|
|
'Search the web and cite sources in replies.';
|
|
|
|
@override
|
|
String get imageGeneration => 'Image Generation';
|
|
|
|
@override
|
|
String get imageGenerationDescription => 'Create images from your prompts.';
|
|
|
|
@override
|
|
String get copy => 'Copy';
|
|
|
|
@override
|
|
String get ttsListen => 'Listen';
|
|
|
|
@override
|
|
String get ttsStop => 'Stop';
|
|
|
|
@override
|
|
String get edit => 'Edit';
|
|
|
|
@override
|
|
String get regenerate => 'Regenerate';
|
|
|
|
@override
|
|
String get noConversationsYet => 'No conversations yet';
|
|
|
|
@override
|
|
String get usernameOrEmailHint => 'Enter your username or email';
|
|
|
|
@override
|
|
String get passwordHint => 'Enter your password';
|
|
|
|
@override
|
|
String get enterApiKey => 'Enter your API key';
|
|
|
|
@override
|
|
String get signingIn => 'Signing in...';
|
|
|
|
@override
|
|
String get advancedSettings => 'Advanced Settings';
|
|
|
|
@override
|
|
String get customHeaders => 'Custom Headers';
|
|
|
|
@override
|
|
String get customHeadersDescription =>
|
|
'Add custom HTTP headers for authentication, API keys, or special server requirements.';
|
|
|
|
@override
|
|
String get allowSelfSignedCertificates => 'Trust self-signed certificates';
|
|
|
|
@override
|
|
String get allowSelfSignedCertificatesDescription =>
|
|
'Accept this server\'s TLS certificate even if it is self-signed. Enable only for servers you trust.';
|
|
|
|
@override
|
|
String get headerNameEmpty => 'Header name cannot be empty';
|
|
|
|
@override
|
|
String get headerNameTooLong => 'Header name too long (max 64 characters)';
|
|
|
|
@override
|
|
String get headerNameInvalidChars =>
|
|
'Invalid header name. Use only letters, numbers, and these symbols: !#\$&-^_`|~';
|
|
|
|
@override
|
|
String headerNameReserved(String key) {
|
|
return 'Cannot override reserved header \"$key\"';
|
|
}
|
|
|
|
@override
|
|
String get headerValueEmpty => 'Header value cannot be empty';
|
|
|
|
@override
|
|
String get headerValueTooLong =>
|
|
'Header value too long (max 1024 characters)';
|
|
|
|
@override
|
|
String get headerValueInvalidChars =>
|
|
'Header value contains invalid characters. Use only printable ASCII.';
|
|
|
|
@override
|
|
String get headerValueUnsafe =>
|
|
'Header value appears to contain potentially unsafe content';
|
|
|
|
@override
|
|
String headerAlreadyExists(String key) {
|
|
return 'Header \"$key\" already exists. Remove it first to update.';
|
|
}
|
|
|
|
@override
|
|
String get maxHeadersReachedDetail =>
|
|
'Maximum of 10 custom headers allowed. Remove some to add more.';
|
|
|
|
@override
|
|
String get editMessage => 'Edit Message';
|
|
|
|
@override
|
|
String get noModelsAvailable => 'No models available';
|
|
|
|
@override
|
|
String followingSystem(String theme) {
|
|
return 'Following system: $theme';
|
|
}
|
|
|
|
@override
|
|
String get themeDark => 'Dark';
|
|
|
|
@override
|
|
String get themePalette => 'Accent palette';
|
|
|
|
@override
|
|
String get themePaletteDescription =>
|
|
'Choose the accent colors used for buttons, cards, and chat bubbles.';
|
|
|
|
@override
|
|
String get themeLight => 'Light';
|
|
|
|
@override
|
|
String get currentlyUsingDarkTheme => 'Currently using Dark theme';
|
|
|
|
@override
|
|
String get currentlyUsingLightTheme => 'Currently using Light theme';
|
|
|
|
@override
|
|
String get aboutConduit => 'About Conduit';
|
|
|
|
@override
|
|
String versionLabel(String version, String build) {
|
|
return 'Version: $version ($build)';
|
|
}
|
|
|
|
@override
|
|
String get githubRepository => 'GitHub Repository';
|
|
|
|
@override
|
|
String get unableToLoadAppInfo => 'Unable to load app info';
|
|
|
|
@override
|
|
String get thinking => 'Thinking…';
|
|
|
|
@override
|
|
String get thoughts => 'Thoughts';
|
|
|
|
@override
|
|
String thoughtForDuration(String duration) {
|
|
return 'Thought for $duration';
|
|
}
|
|
|
|
@override
|
|
String get appCustomization => 'App Customization';
|
|
|
|
@override
|
|
String get appCustomizationSubtitle => 'Personalize how names and UI display';
|
|
|
|
@override
|
|
String get quickActionsDescription =>
|
|
'Pick up to two shortcuts to pin near the composer';
|
|
|
|
@override
|
|
String get chatSettings => 'Chat';
|
|
|
|
@override
|
|
String get sendOnEnter => 'Send on Enter';
|
|
|
|
@override
|
|
String get sendOnEnterDescription =>
|
|
'Enter sends (soft keyboard). Cmd/Ctrl+Enter also available';
|
|
|
|
@override
|
|
String get display => 'Display';
|
|
|
|
@override
|
|
String get realtime => 'Realtime';
|
|
|
|
@override
|
|
String get transportMode => 'Transport mode';
|
|
|
|
@override
|
|
String get transportModeDescription =>
|
|
'Choose how the app connects for realtime updates.';
|
|
|
|
@override
|
|
String get mode => 'Mode';
|
|
|
|
@override
|
|
String get transportModeAuto => 'Auto (Polling + WebSocket)';
|
|
|
|
@override
|
|
String get transportModeWs => 'WebSocket only';
|
|
|
|
@override
|
|
String get transportModeAutoInfo =>
|
|
'More robust on restrictive networks. Upgrades to WebSocket when possible.';
|
|
|
|
@override
|
|
String get transportModeWsInfo =>
|
|
'Lower overhead, but may fail behind strict proxies/firewalls.';
|
|
}
|