2774 lines
68 KiB
Dart
2774 lines
68 KiB
Dart
// ignore: unused_import
|
|
import 'package:intl/intl.dart' as intl;
|
|
import 'l10n.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
|
|
/// The translations for Vietnamese (`vi`).
|
|
class L10nVi extends L10n {
|
|
L10nVi([String locale = 'vi']) : super(locale);
|
|
|
|
@override
|
|
String get noSendPermission => 'You can\'t send messages here';
|
|
|
|
@override
|
|
String get alwaysUse24HourFormat => 'Không';
|
|
|
|
@override
|
|
String get repeatPassword => 'Nhập lại mật khẩu';
|
|
|
|
@override
|
|
String get notAnImage => 'Không phải tệp ảnh.';
|
|
|
|
@override
|
|
String get setCustomPermissionLevel => 'Set custom permission level';
|
|
|
|
@override
|
|
String get setPermissionsLevelDescription =>
|
|
'Please choose a predefined role below or enter a custom permission level between 0 and 100.';
|
|
|
|
@override
|
|
String get ignoreUser => 'Ignore user';
|
|
|
|
@override
|
|
String get normalUser => 'Normal user';
|
|
|
|
@override
|
|
String get pinCode => 'PIN code';
|
|
|
|
@override
|
|
String get displayNavigationRail => 'Display navigation rail on mobile';
|
|
|
|
@override
|
|
String get enableGradient => 'Enable bubble background gradient';
|
|
|
|
@override
|
|
String get translationDisabledInE2e =>
|
|
'Cloud translation is disabled in encrypted rooms to preserve privacy. Select specific words and use system context menu to translate with apps that support it.';
|
|
|
|
@override
|
|
String get remove => 'Loại bỏ';
|
|
|
|
@override
|
|
String get importNow => 'Nhập vào';
|
|
|
|
@override
|
|
String get importEmojis => 'Nhập Biểu cảm';
|
|
|
|
@override
|
|
String get importFromZipFile => 'Nhập vào từ tệp .zip';
|
|
|
|
@override
|
|
String get exportEmotePack => 'Xuất gói biểu cảm bằng tệp .zip';
|
|
|
|
@override
|
|
String get replace => 'Thay thế';
|
|
|
|
@override
|
|
String get about => 'Giới thiệu';
|
|
|
|
@override
|
|
String aboutHomeserver(String homeserver) {
|
|
return 'Về $homeserver';
|
|
}
|
|
|
|
@override
|
|
String get accept => 'Đồng ý';
|
|
|
|
@override
|
|
String acceptedTheInvitation(String username) {
|
|
return '$username đã đồng ý lời mời';
|
|
}
|
|
|
|
@override
|
|
String get account => 'Tài khoản';
|
|
|
|
@override
|
|
String activatedEndToEndEncryption(String username) {
|
|
return '$username đã kích hoạt mã hóa đầu cuối 2 chiều';
|
|
}
|
|
|
|
@override
|
|
String get addEmail => 'Thêm email';
|
|
|
|
@override
|
|
String get confirmMatrixId => 'Hãy xác nhận Matrix ID để xoá tài khoản.';
|
|
|
|
@override
|
|
String supposedMxid(String mxid) {
|
|
return 'Đây nên là $mxid';
|
|
}
|
|
|
|
@override
|
|
String get addChatDescription => 'Thêm mô tả hội thoại...';
|
|
|
|
@override
|
|
String get addToSpace => 'Thêm vào không gian';
|
|
|
|
@override
|
|
String get admin => 'Quản trị viên';
|
|
|
|
@override
|
|
String get alias => 'bí danh';
|
|
|
|
@override
|
|
String get all => 'Tất cả';
|
|
|
|
@override
|
|
String get allChats => 'Tất cả hội thoại';
|
|
|
|
@override
|
|
String get commandHint_roomupgrade =>
|
|
'Upgrade this room to the given room version';
|
|
|
|
@override
|
|
String get commandHint_googly => 'Send some googly eyes';
|
|
|
|
@override
|
|
String get commandHint_cuddle => 'Send a cuddle';
|
|
|
|
@override
|
|
String get commandHint_hug => 'Gửi một cái ôm';
|
|
|
|
@override
|
|
String googlyEyesContent(String senderName) {
|
|
return '$senderName sends you googly eyes';
|
|
}
|
|
|
|
@override
|
|
String cuddleContent(String senderName) {
|
|
return '$senderName cuddles you';
|
|
}
|
|
|
|
@override
|
|
String hugContent(String senderName) {
|
|
return '$senderName ôm bạn';
|
|
}
|
|
|
|
@override
|
|
String answeredTheCall(String senderName) {
|
|
return '$senderName đã trả lời cuộc gọi';
|
|
}
|
|
|
|
@override
|
|
String get anyoneCanJoin => 'Mọi người đều có thể gia nhập';
|
|
|
|
@override
|
|
String get appLock => 'Khoá ứng dụng';
|
|
|
|
@override
|
|
String get appLockDescription => 'Khoá ứng dụng khi không dùng bằng mã pin';
|
|
|
|
@override
|
|
String get archive => 'Lưu trữ';
|
|
|
|
@override
|
|
String get areGuestsAllowedToJoin => 'Khách vãng lai có được tham gia không';
|
|
|
|
@override
|
|
String get areYouSure => 'Bạn chắc chứ?';
|
|
|
|
@override
|
|
String get areYouSureYouWantToLogout =>
|
|
'Bạn có chắc bạn muốn đăng xuất không?';
|
|
|
|
@override
|
|
String get askSSSSSign =>
|
|
'To be able to sign the other person, please enter your secure store passphrase or recovery key.';
|
|
|
|
@override
|
|
String askVerificationRequest(String username) {
|
|
return 'Bạn có đồng ý yêu cầu chứng thực từ $username không?';
|
|
}
|
|
|
|
@override
|
|
String get autoplayImages =>
|
|
'Automatically play animated stickers and emotes';
|
|
|
|
@override
|
|
String badServerLoginTypesException(String serverVersions,
|
|
String supportedVersions, Object suportedVersions) {
|
|
return 'Máy chủ nhà hỗ trợ kiểu đăng nhập:\n$serverVersions\nNhưng ứng dụng này chỉ hỗ trợ:\n$supportedVersions';
|
|
}
|
|
|
|
@override
|
|
String get sendTypingNotifications => 'Send typing notifications';
|
|
|
|
@override
|
|
String get swipeRightToLeftToReply => 'Swipe right to left to reply';
|
|
|
|
@override
|
|
String get sendOnEnter => 'Send on enter';
|
|
|
|
@override
|
|
String badServerVersionsException(String serverVersions,
|
|
String supportedVersions, Object serverVerions, Object suportedVersions) {
|
|
return 'Máy chủ nhà hỗ trợ Spec phiên bản:\n$serverVerions\nNhưng ứng dụng này chỉ hỗ trợ $supportedVersions';
|
|
}
|
|
|
|
@override
|
|
String countChatsAndCountParticipants(int chats, int participants) {
|
|
return '$chats chats and $participants participants';
|
|
}
|
|
|
|
@override
|
|
String get noMoreChatsFound => 'No more chats found...';
|
|
|
|
@override
|
|
String get noChatsFoundHere =>
|
|
'No chats found here yet. Start a new chat with someone by using the button below. ⤵️';
|
|
|
|
@override
|
|
String get joinedChats => 'Joined chats';
|
|
|
|
@override
|
|
String get unread => 'Unread';
|
|
|
|
@override
|
|
String get space => 'Space';
|
|
|
|
@override
|
|
String get spaces => 'Spaces';
|
|
|
|
@override
|
|
String get banFromChat => 'Cấm khỏi cuộc trò chuyện';
|
|
|
|
@override
|
|
String get banned => 'Đã bị cấm';
|
|
|
|
@override
|
|
String bannedUser(String username, String targetName) {
|
|
return '$username đã cấm $targetName';
|
|
}
|
|
|
|
@override
|
|
String get blockDevice => 'Thiết bị bị chặn';
|
|
|
|
@override
|
|
String get blocked => 'Đã chặn';
|
|
|
|
@override
|
|
String get botMessages => 'Bot messages';
|
|
|
|
@override
|
|
String get cancel => 'Hủy';
|
|
|
|
@override
|
|
String cantOpenUri(String uri) {
|
|
return 'Can\'t open the URI $uri';
|
|
}
|
|
|
|
@override
|
|
String get changeDeviceName => 'Thay đổi tên thiết bị';
|
|
|
|
@override
|
|
String changedTheChatAvatar(String username) {
|
|
return '$username đã thay đổi ảnh phòng chat';
|
|
}
|
|
|
|
@override
|
|
String changedTheChatDescriptionTo(String username, String description) {
|
|
return '$username đã thay đổi mô tả phòng chat thành: \'$description\'';
|
|
}
|
|
|
|
@override
|
|
String changedTheChatNameTo(String username, String chatname) {
|
|
return '$username đã thay đổi tên phòng chat thành: \'$chatname\'';
|
|
}
|
|
|
|
@override
|
|
String changedTheChatPermissions(String username) {
|
|
return '$username đã thay đổi quyền trong phòng chat';
|
|
}
|
|
|
|
@override
|
|
String changedTheDisplaynameTo(String username, String displayname) {
|
|
return '$username changed their displayname to: \'$displayname\'';
|
|
}
|
|
|
|
@override
|
|
String changedTheGuestAccessRules(String username) {
|
|
return '$username đã thay đổi quy tắc truy cập đối với khách';
|
|
}
|
|
|
|
@override
|
|
String changedTheGuestAccessRulesTo(String username, String rules) {
|
|
return '$username đã thay đổi quy tắc truy cập đối với khách thành: $rules';
|
|
}
|
|
|
|
@override
|
|
String changedTheHistoryVisibility(String username) {
|
|
return '$username changed the history visibility';
|
|
}
|
|
|
|
@override
|
|
String changedTheHistoryVisibilityTo(String username, String rules) {
|
|
return '$username changed the history visibility to: $rules';
|
|
}
|
|
|
|
@override
|
|
String changedTheJoinRules(String username) {
|
|
return '$username changed the join rules';
|
|
}
|
|
|
|
@override
|
|
String changedTheJoinRulesTo(String username, String joinRules) {
|
|
return '$username changed the join rules to: $joinRules';
|
|
}
|
|
|
|
@override
|
|
String changedTheProfileAvatar(String username) {
|
|
return '$username đã thay đổi ảnh đại diện của mình';
|
|
}
|
|
|
|
@override
|
|
String changedTheRoomAliases(String username) {
|
|
return '$username đã đổi địa chỉ phòng chat';
|
|
}
|
|
|
|
@override
|
|
String changedTheRoomInvitationLink(String username) {
|
|
return '$username đã thay đổi đường dẫn mời';
|
|
}
|
|
|
|
@override
|
|
String get changePassword => 'Thay đổi mật khẩu';
|
|
|
|
@override
|
|
String get changeTheHomeserver => 'Thay đổi máy chủ nhà';
|
|
|
|
@override
|
|
String get changeTheme => 'Change your style';
|
|
|
|
@override
|
|
String get changeTheNameOfTheGroup => 'Thay đổi tên nhóm';
|
|
|
|
@override
|
|
String get changeYourAvatar => 'Change your avatar';
|
|
|
|
@override
|
|
String get channelCorruptedDecryptError =>
|
|
'The encryption has been corrupted';
|
|
|
|
@override
|
|
String get chat => 'Chat';
|
|
|
|
@override
|
|
String get yourChatBackupHasBeenSetUp => 'Your chat backup has been set up.';
|
|
|
|
@override
|
|
String get chatBackup => 'Sao lưu cuộc trò chuyện';
|
|
|
|
@override
|
|
String get chatBackupDescription =>
|
|
'Bản sao lưu cuộc trò chuyện của bạn được bảo mật bằng một khoá bảo mật. Bạn đừng làm mất nó.';
|
|
|
|
@override
|
|
String get chatDetails => 'Chi tiết cuộc trò chuyện';
|
|
|
|
@override
|
|
String get chatHasBeenAddedToThisSpace => 'Chat has been added to this space';
|
|
|
|
@override
|
|
String get chats => 'Chats';
|
|
|
|
@override
|
|
String get chooseAStrongPassword => 'Chọn một mật khẩu mạnh';
|
|
|
|
@override
|
|
String get clearArchive => 'Clear archive';
|
|
|
|
@override
|
|
String get close => 'Đóng';
|
|
|
|
@override
|
|
String get commandHint_markasdm =>
|
|
'Mark as direct message room for the giving Matrix ID';
|
|
|
|
@override
|
|
String get commandHint_markasgroup => 'Mark as group';
|
|
|
|
@override
|
|
String get commandHint_ban => 'Ban the given user from this room';
|
|
|
|
@override
|
|
String get commandHint_clearcache => 'Clear cache';
|
|
|
|
@override
|
|
String get commandHint_create =>
|
|
'Create an empty group chat\nUse --no-encryption to disable encryption';
|
|
|
|
@override
|
|
String get commandHint_discardsession => 'Discard session';
|
|
|
|
@override
|
|
String get commandHint_dm =>
|
|
'Start a direct chat\nUse --no-encryption to disable encryption';
|
|
|
|
@override
|
|
String get commandHint_html => 'Send HTML-formatted text';
|
|
|
|
@override
|
|
String get commandHint_invite => 'Invite the given user to this room';
|
|
|
|
@override
|
|
String get commandHint_join => 'Join the given room';
|
|
|
|
@override
|
|
String get commandHint_kick => 'Remove the given user from this room';
|
|
|
|
@override
|
|
String get commandHint_leave => 'Leave this room';
|
|
|
|
@override
|
|
String get commandHint_me => 'Describe yourself';
|
|
|
|
@override
|
|
String get commandHint_myroomavatar =>
|
|
'Set your picture for this room (by mxc-uri)';
|
|
|
|
@override
|
|
String get commandHint_myroomnick => 'Set your display name for this room';
|
|
|
|
@override
|
|
String get commandHint_op =>
|
|
'Set the given user\'s power level (default: 50)';
|
|
|
|
@override
|
|
String get commandHint_plain => 'Send unformatted text';
|
|
|
|
@override
|
|
String get commandHint_react => 'Send reply as a reaction';
|
|
|
|
@override
|
|
String get commandHint_send => 'Send text';
|
|
|
|
@override
|
|
String get commandHint_unban => 'Unban the given user from this room';
|
|
|
|
@override
|
|
String get commandInvalid => 'Command invalid';
|
|
|
|
@override
|
|
String commandMissing(String command) {
|
|
return '$command is not a command.';
|
|
}
|
|
|
|
@override
|
|
String get compareEmojiMatch =>
|
|
'So sánh và đảm bảo các biểu tượng cảm xúc sau đây giống với các biểu tượng trên máy còn lại';
|
|
|
|
@override
|
|
String get compareNumbersMatch =>
|
|
'So sánh và đảm bảo các số sau đây giống trên máy còn lại';
|
|
|
|
@override
|
|
String get configureChat => 'Configure chat';
|
|
|
|
@override
|
|
String get confirm => 'Xác nhận';
|
|
|
|
@override
|
|
String get connect => 'Kết nối';
|
|
|
|
@override
|
|
String get contactHasBeenInvitedToTheGroup => 'Liên hệ đã được mời vào nhóm';
|
|
|
|
@override
|
|
String get containsDisplayName => 'Contains display name';
|
|
|
|
@override
|
|
String get containsUserName => 'Contains username';
|
|
|
|
@override
|
|
String get contentHasBeenReported =>
|
|
'The content has been reported to the server admins';
|
|
|
|
@override
|
|
String get copiedToClipboard => 'Copied to clipboard';
|
|
|
|
@override
|
|
String get copy => 'Sao chép';
|
|
|
|
@override
|
|
String get copyToClipboard => 'Copy to clipboard';
|
|
|
|
@override
|
|
String couldNotDecryptMessage(String error) {
|
|
return 'Không thể giải mã tin nhắn: $error';
|
|
}
|
|
|
|
@override
|
|
String countParticipants(int count) {
|
|
return '$count thành viên';
|
|
}
|
|
|
|
@override
|
|
String get create => 'Tạo';
|
|
|
|
@override
|
|
String createdTheChat(String username) {
|
|
return '$username đã tạo cuộc trò chuyện';
|
|
}
|
|
|
|
@override
|
|
String get createGroup => 'Create group';
|
|
|
|
@override
|
|
String get createNewSpace => 'New space';
|
|
|
|
@override
|
|
String get currentlyActive => 'Đang hoạt động';
|
|
|
|
@override
|
|
String get darkTheme => 'Dark';
|
|
|
|
@override
|
|
String dateAndTimeOfDay(String date, String timeOfDay) {
|
|
return '$date, $timeOfDay';
|
|
}
|
|
|
|
@override
|
|
String dateWithoutYear(String month, String day) {
|
|
return '$day/$month';
|
|
}
|
|
|
|
@override
|
|
String dateWithYear(String year, String month, String day) {
|
|
return '$day/$month/$year';
|
|
}
|
|
|
|
@override
|
|
String get deactivateAccountWarning =>
|
|
'Việc này sẽ vô hiệu hoá tài khoản của bạn. Điều này không thể đảo ngược được! Bạn chắc là vẫn muốn tiếp tục chứ?';
|
|
|
|
@override
|
|
String get defaultPermissionLevel => 'Default permission level for new users';
|
|
|
|
@override
|
|
String get delete => 'Xoá';
|
|
|
|
@override
|
|
String get deleteAccount => 'Xoá tài khoản';
|
|
|
|
@override
|
|
String get deleteMessage => 'Xoá tin nhắn';
|
|
|
|
@override
|
|
String get device => 'Thiết bị';
|
|
|
|
@override
|
|
String get deviceId => 'Mã xác định thiết bị';
|
|
|
|
@override
|
|
String get devices => 'Các thiết bị';
|
|
|
|
@override
|
|
String get directChats => 'Direct Chats';
|
|
|
|
@override
|
|
String get allRooms => 'All Group Chats';
|
|
|
|
@override
|
|
String get displaynameHasBeenChanged => 'Tên hiển thị đã được thay đổi';
|
|
|
|
@override
|
|
String get downloadFile => 'Tải ảnh xuống';
|
|
|
|
@override
|
|
String get edit => 'Edit';
|
|
|
|
@override
|
|
String get editBlockedServers => 'Edit blocked servers';
|
|
|
|
@override
|
|
String get chatPermissions => 'Chat permissions';
|
|
|
|
@override
|
|
String get editDisplayname => 'Sửa tên hiển thị';
|
|
|
|
@override
|
|
String get editRoomAliases => 'Edit room aliases';
|
|
|
|
@override
|
|
String get editRoomAvatar => 'Edit room avatar';
|
|
|
|
@override
|
|
String get emoteExists => 'Emote already exists!';
|
|
|
|
@override
|
|
String get emoteInvalid => 'Invalid emote shortcode!';
|
|
|
|
@override
|
|
String get emoteKeyboardNoRecents =>
|
|
'Recently-used emotes will appear here...';
|
|
|
|
@override
|
|
String get emotePacks => 'Emote packs for room';
|
|
|
|
@override
|
|
String get emoteSettings => 'Cài đặt biểu tượng cảm xúc';
|
|
|
|
@override
|
|
String get globalChatId => 'Global chat ID';
|
|
|
|
@override
|
|
String get accessAndVisibility => 'Access and visibility';
|
|
|
|
@override
|
|
String get accessAndVisibilityDescription =>
|
|
'Who is allowed to join this chat and how the chat can be discovered.';
|
|
|
|
@override
|
|
String get calls => 'Calls';
|
|
|
|
@override
|
|
String get customEmojisAndStickers => 'Custom emojis and stickers';
|
|
|
|
@override
|
|
String get customEmojisAndStickersBody =>
|
|
'Add or share custom emojis or stickers which can be used in any chat.';
|
|
|
|
@override
|
|
String get emoteShortcode => 'Emote shortcode';
|
|
|
|
@override
|
|
String get emoteWarnNeedToPick =>
|
|
'You need to pick an emote shortcode and an image!';
|
|
|
|
@override
|
|
String get emptyChat => 'Empty chat';
|
|
|
|
@override
|
|
String get enableEmotesGlobally => 'Enable emote pack globally';
|
|
|
|
@override
|
|
String get enableEncryption => 'Enable encryption';
|
|
|
|
@override
|
|
String get enableEncryptionWarning =>
|
|
'You won\'t be able to disable the encryption anymore. Are you sure?';
|
|
|
|
@override
|
|
String get encrypted => 'Encrypted';
|
|
|
|
@override
|
|
String get encryption => 'Encryption';
|
|
|
|
@override
|
|
String get encryptionNotEnabled => 'Encryption is not enabled';
|
|
|
|
@override
|
|
String endedTheCall(String senderName) {
|
|
return '$senderName ended the call';
|
|
}
|
|
|
|
@override
|
|
String get enterAnEmailAddress => 'Enter an email address';
|
|
|
|
@override
|
|
String get homeserver => 'Homeserver';
|
|
|
|
@override
|
|
String get enterYourHomeserver => 'Enter your homeserver';
|
|
|
|
@override
|
|
String errorObtainingLocation(String error) {
|
|
return 'Error obtaining location: $error';
|
|
}
|
|
|
|
@override
|
|
String get everythingReady => 'Mọi thứ đã sẵn sàng!';
|
|
|
|
@override
|
|
String get extremeOffensive => 'Extremely offensive';
|
|
|
|
@override
|
|
String get fileName => 'File name';
|
|
|
|
@override
|
|
String get fluffychat => 'Extera';
|
|
|
|
@override
|
|
String get fontSize => 'Font size';
|
|
|
|
@override
|
|
String get forward => 'Forward';
|
|
|
|
@override
|
|
String get fromJoining => 'From joining';
|
|
|
|
@override
|
|
String get fromTheInvitation => 'From the invitation';
|
|
|
|
@override
|
|
String get goToTheNewRoom => 'Go to the new room';
|
|
|
|
@override
|
|
String get group => 'Group';
|
|
|
|
@override
|
|
String get chatDescription => 'Chat description';
|
|
|
|
@override
|
|
String get chatDescriptionHasBeenChanged => 'Chat description changed';
|
|
|
|
@override
|
|
String get groupIsPublic => 'Group is public';
|
|
|
|
@override
|
|
String get groups => 'Groups';
|
|
|
|
@override
|
|
String groupWith(String displayname) {
|
|
return 'Group with $displayname';
|
|
}
|
|
|
|
@override
|
|
String get guestsAreForbidden => 'Guests are forbidden';
|
|
|
|
@override
|
|
String get guestsCanJoin => 'Guests can join';
|
|
|
|
@override
|
|
String hasWithdrawnTheInvitationFor(String username, String targetName) {
|
|
return '$username has withdrawn the invitation for $targetName';
|
|
}
|
|
|
|
@override
|
|
String get help => 'Help';
|
|
|
|
@override
|
|
String get hideRedactedEvents => 'Hide redacted events';
|
|
|
|
@override
|
|
String get hideRedactedMessages => 'Hide redacted messages';
|
|
|
|
@override
|
|
String get hideRedactedMessagesBody =>
|
|
'If someone redacts a message, this message won\'t be visible in the chat anymore.';
|
|
|
|
@override
|
|
String get hideInvalidOrUnknownMessageFormats =>
|
|
'Hide invalid or unknown message formats';
|
|
|
|
@override
|
|
String get howOffensiveIsThisContent => 'How offensive is this content?';
|
|
|
|
@override
|
|
String get id => 'ID';
|
|
|
|
@override
|
|
String get identity => 'Identity';
|
|
|
|
@override
|
|
String get block => 'Block';
|
|
|
|
@override
|
|
String get blockedUsers => 'Blocked users';
|
|
|
|
@override
|
|
String get blockListDescription =>
|
|
'You can block users who are disturbing you. You won\'t be able to receive any messages or room invites from the users on your personal block list.';
|
|
|
|
@override
|
|
String get blockUsername => 'Ignore username';
|
|
|
|
@override
|
|
String get iHaveClickedOnLink => 'I have clicked on the link';
|
|
|
|
@override
|
|
String get incorrectPassphraseOrKey => 'Incorrect passphrase or recovery key';
|
|
|
|
@override
|
|
String get inoffensive => 'Inoffensive';
|
|
|
|
@override
|
|
String get inviteContact => 'Invite contact';
|
|
|
|
@override
|
|
String inviteContactToGroupQuestion(Object contact, Object groupName) {
|
|
return 'Do you want to invite $contact to the chat \"$groupName\"?';
|
|
}
|
|
|
|
@override
|
|
String inviteContactToGroup(String groupName) {
|
|
return 'Invite contact to $groupName';
|
|
}
|
|
|
|
@override
|
|
String get noChatDescriptionYet => 'No chat description created yet.';
|
|
|
|
@override
|
|
String get tryAgain => 'Try again';
|
|
|
|
@override
|
|
String get invalidServerName => 'Invalid server name';
|
|
|
|
@override
|
|
String get invited => 'Invited';
|
|
|
|
@override
|
|
String get redactMessageDescription =>
|
|
'The message will be redacted for all participants in this conversation. This cannot be undone.';
|
|
|
|
@override
|
|
String get optionalRedactReason =>
|
|
'(Optional) Reason for redacting this message...';
|
|
|
|
@override
|
|
String invitedUser(String username, String targetName) {
|
|
return '📩 $username invited $targetName';
|
|
}
|
|
|
|
@override
|
|
String get invitedUsersOnly => 'Invited users only';
|
|
|
|
@override
|
|
String get inviteForMe => 'Invite for me';
|
|
|
|
@override
|
|
String inviteText(String username, String link) {
|
|
return '$username invited you to Extera.\n1. Visit fluffychat.im and install the app \n2. Sign up or sign in \n3. Open the invite link: \n $link';
|
|
}
|
|
|
|
@override
|
|
String get isTyping => 'is typing…';
|
|
|
|
@override
|
|
String joinedTheChat(String username) {
|
|
return '👋 $username joined the chat';
|
|
}
|
|
|
|
@override
|
|
String get joinRoom => 'Join room';
|
|
|
|
@override
|
|
String kicked(String username, String targetName) {
|
|
return '👞 $username kicked $targetName';
|
|
}
|
|
|
|
@override
|
|
String kickedAndBanned(String username, String targetName) {
|
|
return '🙅 $username kicked and banned $targetName';
|
|
}
|
|
|
|
@override
|
|
String get kickFromChat => 'Kick from chat';
|
|
|
|
@override
|
|
String lastActiveAgo(String localizedTimeShort) {
|
|
return 'Last active: $localizedTimeShort';
|
|
}
|
|
|
|
@override
|
|
String get leave => 'Leave';
|
|
|
|
@override
|
|
String get leftTheChat => 'Left the chat';
|
|
|
|
@override
|
|
String get license => 'License';
|
|
|
|
@override
|
|
String get lightTheme => 'Light';
|
|
|
|
@override
|
|
String loadCountMoreParticipants(int count) {
|
|
return 'Load $count more participants';
|
|
}
|
|
|
|
@override
|
|
String get dehydrate => 'Export session and wipe device';
|
|
|
|
@override
|
|
String get dehydrateWarning =>
|
|
'This action cannot be undone. Ensure you safely store the backup file.';
|
|
|
|
@override
|
|
String get dehydrateTor => 'TOR Users: Export session';
|
|
|
|
@override
|
|
String get dehydrateTorLong =>
|
|
'For TOR users, it is recommended to export the session before closing the window.';
|
|
|
|
@override
|
|
String get hydrateTor => 'TOR Users: Import session export';
|
|
|
|
@override
|
|
String get hydrateTorLong =>
|
|
'Did you export your session last time on TOR? Quickly import it and continue chatting.';
|
|
|
|
@override
|
|
String get hydrate => 'Restore from backup file';
|
|
|
|
@override
|
|
String get loadingPleaseWait => 'Loading… Please wait.';
|
|
|
|
@override
|
|
String get loadMore => 'Load more…';
|
|
|
|
@override
|
|
String get locationDisabledNotice =>
|
|
'Location services are disabled. Please enable them to be able to share your location.';
|
|
|
|
@override
|
|
String get locationPermissionDeniedNotice =>
|
|
'Location permission denied. Please grant them to be able to share your location.';
|
|
|
|
@override
|
|
String get login => 'Login';
|
|
|
|
@override
|
|
String logInTo(String homeserver) {
|
|
return 'Log in to $homeserver';
|
|
}
|
|
|
|
@override
|
|
String get logout => 'Logout';
|
|
|
|
@override
|
|
String get memberChanges => 'Member changes';
|
|
|
|
@override
|
|
String get mention => 'Mention';
|
|
|
|
@override
|
|
String get messages => 'Messages';
|
|
|
|
@override
|
|
String get messagesStyle => 'Messages:';
|
|
|
|
@override
|
|
String get moderator => 'Moderator';
|
|
|
|
@override
|
|
String get muteChat => 'Mute chat';
|
|
|
|
@override
|
|
String get needPantalaimonWarning =>
|
|
'Please be aware that you need Pantalaimon to use end-to-end encryption for now.';
|
|
|
|
@override
|
|
String get newChat => 'New chat';
|
|
|
|
@override
|
|
String get newMessageInFluffyChat => '💬 New message in Extera';
|
|
|
|
@override
|
|
String get newVerificationRequest => 'New verification request!';
|
|
|
|
@override
|
|
String get next => 'Tiếp';
|
|
|
|
@override
|
|
String get no => 'No';
|
|
|
|
@override
|
|
String get noConnectionToTheServer => 'No connection to the server';
|
|
|
|
@override
|
|
String get noEmotesFound => 'No emotes found. 😕';
|
|
|
|
@override
|
|
String get noEncryptionForPublicRooms =>
|
|
'Bạn chỉ có thể kích hoạt mã hoá khi phòng này không mở';
|
|
|
|
@override
|
|
String get noGoogleServicesWarning =>
|
|
'Firebase Cloud Messaging doesn\'t appear to be available on your device. To still receive push notifications, we recommend installing ntfy. With ntfy or another Unified Push provider you can receive push notifications in a data secure way. You can download ntfy from the PlayStore or from F-Droid.';
|
|
|
|
@override
|
|
String noMatrixServer(String server1, String server2) {
|
|
return '$server1 is no matrix server, use $server2 instead?';
|
|
}
|
|
|
|
@override
|
|
String get shareInviteLink => 'Share invite link';
|
|
|
|
@override
|
|
String get scanQrCode => 'Scan QR code';
|
|
|
|
@override
|
|
String get none => 'None';
|
|
|
|
@override
|
|
String get noPasswordRecoveryDescription =>
|
|
'You have not added a way to recover your password yet.';
|
|
|
|
@override
|
|
String get noPermission => 'No permission';
|
|
|
|
@override
|
|
String get noRoomsFound => 'No rooms found…';
|
|
|
|
@override
|
|
String get notifications => 'Thông báo';
|
|
|
|
@override
|
|
String get notificationsEnabledForThisAccount =>
|
|
'Notifications enabled for this account';
|
|
|
|
@override
|
|
String numUsersTyping(int count) {
|
|
return '$count users are typing…';
|
|
}
|
|
|
|
@override
|
|
String get obtainingLocation => 'Obtaining location…';
|
|
|
|
@override
|
|
String get offensive => 'Offensive';
|
|
|
|
@override
|
|
String get offline => 'Offline';
|
|
|
|
@override
|
|
String get ok => 'Ok';
|
|
|
|
@override
|
|
String get online => 'Online';
|
|
|
|
@override
|
|
String get onlineKeyBackupEnabled => 'Online Key Backup is enabled';
|
|
|
|
@override
|
|
String get oopsPushError =>
|
|
'Oops! Unfortunately, an error occurred when setting up the push notifications.';
|
|
|
|
@override
|
|
String get oopsSomethingWentWrong => 'Oops, something went wrong…';
|
|
|
|
@override
|
|
String get openAppToReadMessages => 'Open app to read messages';
|
|
|
|
@override
|
|
String get openCamera => 'Open camera';
|
|
|
|
@override
|
|
String get openVideoCamera => 'Open camera for a video';
|
|
|
|
@override
|
|
String get oneClientLoggedOut => 'One of your clients has been logged out';
|
|
|
|
@override
|
|
String get addAccount => 'Add account';
|
|
|
|
@override
|
|
String get editBundlesForAccount => 'Edit bundles for this account';
|
|
|
|
@override
|
|
String get addToBundle => 'Add to bundle';
|
|
|
|
@override
|
|
String get removeFromBundle => 'Remove from this bundle';
|
|
|
|
@override
|
|
String get bundleName => 'Bundle name';
|
|
|
|
@override
|
|
String get enableMultiAccounts =>
|
|
'(BETA) Enable multi accounts on this device';
|
|
|
|
@override
|
|
String get openInMaps => 'Open in maps';
|
|
|
|
@override
|
|
String get link => 'Link';
|
|
|
|
@override
|
|
String get serverRequiresEmail =>
|
|
'This server needs to validate your email address for registration.';
|
|
|
|
@override
|
|
String get or => 'Or';
|
|
|
|
@override
|
|
String get participant => 'Participant';
|
|
|
|
@override
|
|
String get passphraseOrKey => 'passphrase or recovery key';
|
|
|
|
@override
|
|
String get password => 'Password';
|
|
|
|
@override
|
|
String get downloads => 'Downloads';
|
|
|
|
@override
|
|
String get passwordForgotten => 'Forgot password';
|
|
|
|
@override
|
|
String get passwordHasBeenChanged => 'Password has been changed';
|
|
|
|
@override
|
|
String get hideMemberChangesInPublicChats =>
|
|
'Hide member changes in public chats';
|
|
|
|
@override
|
|
String get hideMemberChangesInPublicChatsBody =>
|
|
'Do not show in the chat timeline if someone joins or leaves a public chat to improve readability.';
|
|
|
|
@override
|
|
String get overview => 'Overview';
|
|
|
|
@override
|
|
String get notifyMeFor => 'Bật thông báo cho';
|
|
|
|
@override
|
|
String get passwordRecoverySettings => 'Password recovery settings';
|
|
|
|
@override
|
|
String get passwordRecovery => 'Password recovery';
|
|
|
|
@override
|
|
String get people => 'People';
|
|
|
|
@override
|
|
String get pickImage => 'Pick an image';
|
|
|
|
@override
|
|
String get pin => 'Pin';
|
|
|
|
@override
|
|
String play(String fileName) {
|
|
return 'Play $fileName';
|
|
}
|
|
|
|
@override
|
|
String get pleaseChoose => 'Please choose';
|
|
|
|
@override
|
|
String get pleaseChooseAPasscode => 'Please choose a pass code';
|
|
|
|
@override
|
|
String get pleaseClickOnLink =>
|
|
'Please click on the link in the email and then proceed.';
|
|
|
|
@override
|
|
String get pleaseEnter4Digits =>
|
|
'Please enter 4 digits or leave empty to disable app lock.';
|
|
|
|
@override
|
|
String get pleaseEnterRecoveryKey => 'Please enter your recovery key:';
|
|
|
|
@override
|
|
String get pleaseEnterYourPassword => 'Please enter your password';
|
|
|
|
@override
|
|
String get pleaseEnterYourPin => 'Please enter your pin';
|
|
|
|
@override
|
|
String get pleaseEnterYourUsername => 'Please enter your username';
|
|
|
|
@override
|
|
String get pleaseFollowInstructionsOnWeb =>
|
|
'Vui lòng làm theo hướng dẫn trên trang web và bấm tiếp';
|
|
|
|
@override
|
|
String get privacy => 'Privacy';
|
|
|
|
@override
|
|
String get publicRooms => 'Public Rooms';
|
|
|
|
@override
|
|
String get pushRules => 'Push rules';
|
|
|
|
@override
|
|
String get reason => 'Reason';
|
|
|
|
@override
|
|
String get recording => 'Recording';
|
|
|
|
@override
|
|
String redactedBy(String username) {
|
|
return 'Redacted by $username';
|
|
}
|
|
|
|
@override
|
|
String get directChat => 'Direct chat';
|
|
|
|
@override
|
|
String redactedByBecause(String username, String reason) {
|
|
return 'Redacted by $username because: \"$reason\"';
|
|
}
|
|
|
|
@override
|
|
String redactedAnEvent(String username) {
|
|
return '$username redacted an event';
|
|
}
|
|
|
|
@override
|
|
String get redactMessage => 'Redact message';
|
|
|
|
@override
|
|
String get register => 'Register';
|
|
|
|
@override
|
|
String get reject => 'Reject';
|
|
|
|
@override
|
|
String rejectedTheInvitation(String username) {
|
|
return '$username rejected the invitation';
|
|
}
|
|
|
|
@override
|
|
String get rejoin => 'Rejoin';
|
|
|
|
@override
|
|
String get removeAllOtherDevices => 'Remove all other devices';
|
|
|
|
@override
|
|
String removedBy(String username) {
|
|
return 'Removed by $username';
|
|
}
|
|
|
|
@override
|
|
String get removeDevice => 'Remove device';
|
|
|
|
@override
|
|
String get unbanFromChat => 'Unban from chat';
|
|
|
|
@override
|
|
String get removeYourAvatar => 'Remove your avatar';
|
|
|
|
@override
|
|
String get replaceRoomWithNewerVersion => 'Replace room with newer version';
|
|
|
|
@override
|
|
String get reply => 'Reply';
|
|
|
|
@override
|
|
String get reportMessage => 'Report message';
|
|
|
|
@override
|
|
String get translateMessage => 'Translate message';
|
|
|
|
@override
|
|
String get translatedMessage => 'Translated message';
|
|
|
|
@override
|
|
String get errorTranslatingMessage =>
|
|
'An error has occured while translating the message.';
|
|
|
|
@override
|
|
String get recoverMessage => 'Recover message';
|
|
|
|
@override
|
|
String get recoveredMessage => 'Recovered message';
|
|
|
|
@override
|
|
String get errorRecoveringMessage =>
|
|
'An error has occured while recovering the message.';
|
|
|
|
@override
|
|
String get errorRecoveringMessageNoAdmin =>
|
|
'This feature is available on Synapse homeservers only for adminstrators.';
|
|
|
|
@override
|
|
String get requestPermission => 'Request permission';
|
|
|
|
@override
|
|
String get roomHasBeenUpgraded => 'Room has been upgraded';
|
|
|
|
@override
|
|
String get roomVersion => 'Room version';
|
|
|
|
@override
|
|
String get saveFile => 'Save file';
|
|
|
|
@override
|
|
String get retry => 'Retry';
|
|
|
|
@override
|
|
String get search => 'Search';
|
|
|
|
@override
|
|
String get security => 'Security';
|
|
|
|
@override
|
|
String get recoveryKey => 'Recovery key';
|
|
|
|
@override
|
|
String get recoveryKeyLost => 'Recovery key lost?';
|
|
|
|
@override
|
|
String seenByUser(String username) {
|
|
return 'Seen by $username';
|
|
}
|
|
|
|
@override
|
|
String get send => 'Send';
|
|
|
|
@override
|
|
String get sendAMessage => 'Send a message';
|
|
|
|
@override
|
|
String get sendAsText => 'Send as text';
|
|
|
|
@override
|
|
String get sendAudio => 'Send audio';
|
|
|
|
@override
|
|
String get sendFile => 'Send file';
|
|
|
|
@override
|
|
String get sendImage => 'Send image';
|
|
|
|
@override
|
|
String sendImages(int count) {
|
|
return 'Send $count image';
|
|
}
|
|
|
|
@override
|
|
String get sendMessages => 'Send messages';
|
|
|
|
@override
|
|
String get sendOriginal => 'Send original';
|
|
|
|
@override
|
|
String get sendSticker => 'Gửi nhãn dán';
|
|
|
|
@override
|
|
String get sendVideo => 'Send video';
|
|
|
|
@override
|
|
String sentAFile(String username) {
|
|
return '📁 $username sent a file';
|
|
}
|
|
|
|
@override
|
|
String sentAnAudio(String username) {
|
|
return '🎤 $username sent an audio';
|
|
}
|
|
|
|
@override
|
|
String sentAPicture(String username) {
|
|
return '🖼️ $username sent a picture';
|
|
}
|
|
|
|
@override
|
|
String sentASticker(String username) {
|
|
return '😊 $username sent a sticker';
|
|
}
|
|
|
|
@override
|
|
String sentAVideo(String username) {
|
|
return '🎥 $username sent a video';
|
|
}
|
|
|
|
@override
|
|
String sentCallInformations(String senderName) {
|
|
return '$senderName sent call information';
|
|
}
|
|
|
|
@override
|
|
String get separateChatTypes => 'Separate Direct Chats and Groups';
|
|
|
|
@override
|
|
String get setAsCanonicalAlias => 'Set as main alias';
|
|
|
|
@override
|
|
String get setCustomEmotes => 'Set custom emotes';
|
|
|
|
@override
|
|
String get setChatDescription => 'Set chat description';
|
|
|
|
@override
|
|
String get setInvitationLink => 'Set invitation link';
|
|
|
|
@override
|
|
String get setPermissionsLevel => 'Set permissions level';
|
|
|
|
@override
|
|
String get setStatus => 'Set status';
|
|
|
|
@override
|
|
String get settings => 'Cài đặt';
|
|
|
|
@override
|
|
String get share => 'Share';
|
|
|
|
@override
|
|
String sharedTheLocation(String username) {
|
|
return '$username shared their location';
|
|
}
|
|
|
|
@override
|
|
String get shareLocation => 'Share location';
|
|
|
|
@override
|
|
String get showPassword => 'Hiển thị mật khẩu';
|
|
|
|
@override
|
|
String get presenceStyle => 'Presence:';
|
|
|
|
@override
|
|
String get hideAvatarsInInvites => 'Hide avatars in invites';
|
|
|
|
@override
|
|
String get hideAvatarsInInvitesDescription =>
|
|
'Do not show room avatars in invites';
|
|
|
|
@override
|
|
String get presencesToggle => 'Show status messages from other users';
|
|
|
|
@override
|
|
String get pureBlackToggle => 'Pure Black';
|
|
|
|
@override
|
|
String get singlesignon => 'Single Sign on';
|
|
|
|
@override
|
|
String get skip => 'Skip';
|
|
|
|
@override
|
|
String get sourceCode => 'Source code';
|
|
|
|
@override
|
|
String get spaceIsPublic => 'Space is public';
|
|
|
|
@override
|
|
String get spaceName => 'Space name';
|
|
|
|
@override
|
|
String startedACall(String senderName) {
|
|
return '$senderName started a call';
|
|
}
|
|
|
|
@override
|
|
String get startFirstChat => 'Start your first chat';
|
|
|
|
@override
|
|
String get status => 'Status';
|
|
|
|
@override
|
|
String get statusExampleMessage => 'How are you today?';
|
|
|
|
@override
|
|
String get submit => 'Submit';
|
|
|
|
@override
|
|
String get synchronizingPleaseWait => 'Synchronizing… Please wait.';
|
|
|
|
@override
|
|
String synchronizingPleaseWaitCounter(String percentage) {
|
|
return ' Synchronizing… ($percentage%)';
|
|
}
|
|
|
|
@override
|
|
String get systemTheme => 'System';
|
|
|
|
@override
|
|
String get theyDontMatch => 'They Don\'t Match';
|
|
|
|
@override
|
|
String get theyMatch => 'They Match';
|
|
|
|
@override
|
|
String get title => 'Extera';
|
|
|
|
@override
|
|
String get toggleFavorite => 'Toggle Favorite';
|
|
|
|
@override
|
|
String get toggleMuted => 'Toggle Muted';
|
|
|
|
@override
|
|
String get toggleUnread => 'Mark Read/Unread';
|
|
|
|
@override
|
|
String get tooManyRequestsWarning =>
|
|
'Too many requests. Please try again later!';
|
|
|
|
@override
|
|
String get transferFromAnotherDevice => 'Chuyển từ thiết bị khác';
|
|
|
|
@override
|
|
String get tryToSendAgain => 'Try to send again';
|
|
|
|
@override
|
|
String get unavailable => 'Unavailable';
|
|
|
|
@override
|
|
String unbannedUser(String username, String targetName) {
|
|
return '$username unbanned $targetName';
|
|
}
|
|
|
|
@override
|
|
String get unblockDevice => 'Unblock Device';
|
|
|
|
@override
|
|
String get unknownDevice => 'Unknown device';
|
|
|
|
@override
|
|
String get unknownEncryptionAlgorithm => 'Unknown encryption algorithm';
|
|
|
|
@override
|
|
String unknownEvent(String type) {
|
|
return 'Unknown event \'$type\'';
|
|
}
|
|
|
|
@override
|
|
String get unmuteChat => 'Unmute chat';
|
|
|
|
@override
|
|
String get unpin => 'Unpin';
|
|
|
|
@override
|
|
String unreadChats(int unreadCount) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
unreadCount,
|
|
locale: localeName,
|
|
other: '$unreadCount unread chats',
|
|
one: '1 unread chat',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String userAndOthersAreTyping(String username, int count) {
|
|
return '$username and $count others are typing…';
|
|
}
|
|
|
|
@override
|
|
String userAndUserAreTyping(String username, String username2) {
|
|
return '$username and $username2 are typing…';
|
|
}
|
|
|
|
@override
|
|
String userIsTyping(String username) {
|
|
return '$username is typing…';
|
|
}
|
|
|
|
@override
|
|
String userLeftTheChat(String username) {
|
|
return '🚪 $username left the chat';
|
|
}
|
|
|
|
@override
|
|
String get username => 'Username';
|
|
|
|
@override
|
|
String userSentUnknownEvent(String username, String type) {
|
|
return '$username sent a $type event';
|
|
}
|
|
|
|
@override
|
|
String get unverified => 'Unverified';
|
|
|
|
@override
|
|
String get verified => 'Đã xác thực';
|
|
|
|
@override
|
|
String get verify => 'Verify';
|
|
|
|
@override
|
|
String get verifyStart => 'Start Verification';
|
|
|
|
@override
|
|
String get verifySuccess => 'You successfully verified!';
|
|
|
|
@override
|
|
String get verifyTitle => 'Verifying other account';
|
|
|
|
@override
|
|
String get videoCall => 'Video call';
|
|
|
|
@override
|
|
String get visibilityOfTheChatHistory => 'Visibility of the chat history';
|
|
|
|
@override
|
|
String get visibleForAllParticipants => 'Visible for all participants';
|
|
|
|
@override
|
|
String get visibleForEveryone => 'Visible for everyone';
|
|
|
|
@override
|
|
String get voiceMessage => 'Voice message';
|
|
|
|
@override
|
|
String get waitingPartnerAcceptRequest =>
|
|
'Waiting for partner to accept the request…';
|
|
|
|
@override
|
|
String get waitingPartnerEmoji => 'Waiting for partner to accept the emoji…';
|
|
|
|
@override
|
|
String get waitingPartnerNumbers =>
|
|
'Waiting for partner to accept the numbers…';
|
|
|
|
@override
|
|
String get wallpaper => 'Wallpaper:';
|
|
|
|
@override
|
|
String get warning => 'Warning!';
|
|
|
|
@override
|
|
String get weSentYouAnEmail => 'We sent you an email';
|
|
|
|
@override
|
|
String get whoCanPerformWhichAction => 'Who can perform which action';
|
|
|
|
@override
|
|
String get whoIsAllowedToJoinThisGroup => 'Who is allowed to join this group';
|
|
|
|
@override
|
|
String get whyDoYouWantToReportThis => 'Why do you want to report this?';
|
|
|
|
@override
|
|
String get wipeChatBackup =>
|
|
'Wipe your chat backup to create a new recovery key?';
|
|
|
|
@override
|
|
String get withTheseAddressesRecoveryDescription =>
|
|
'With these addresses you can recover your password.';
|
|
|
|
@override
|
|
String get writeAMessage => 'Write a message…';
|
|
|
|
@override
|
|
String get yes => 'Yes';
|
|
|
|
@override
|
|
String get you => 'You';
|
|
|
|
@override
|
|
String get youAreNoLongerParticipatingInThisChat =>
|
|
'You are no longer participating in this chat';
|
|
|
|
@override
|
|
String get youHaveBeenBannedFromThisChat =>
|
|
'You have been banned from this chat';
|
|
|
|
@override
|
|
String get yourPublicKey => 'Your public key';
|
|
|
|
@override
|
|
String get messageInfo => 'Message info';
|
|
|
|
@override
|
|
String get time => 'Time';
|
|
|
|
@override
|
|
String get messageType => 'Message Type';
|
|
|
|
@override
|
|
String get sender => 'Sender';
|
|
|
|
@override
|
|
String get openGallery => 'Open gallery';
|
|
|
|
@override
|
|
String get removeFromSpace => 'Remove from space';
|
|
|
|
@override
|
|
String get addToSpaceDescription => 'Select a space to add this chat to it.';
|
|
|
|
@override
|
|
String get start => 'Start';
|
|
|
|
@override
|
|
String get pleaseEnterRecoveryKeyDescription =>
|
|
'To unlock your old messages, please enter your recovery key that has been generated in a previous session. Your recovery key is NOT your password.';
|
|
|
|
@override
|
|
String get publish => 'Publish';
|
|
|
|
@override
|
|
String videoWithSize(String size) {
|
|
return 'Video ($size)';
|
|
}
|
|
|
|
@override
|
|
String get openChat => 'Open Chat';
|
|
|
|
@override
|
|
String get markAsRead => 'Mark as read';
|
|
|
|
@override
|
|
String get reportUser => 'Report user';
|
|
|
|
@override
|
|
String get dismiss => 'Dismiss';
|
|
|
|
@override
|
|
String reactedWith(String sender, String reaction) {
|
|
return '$sender reacted with $reaction';
|
|
}
|
|
|
|
@override
|
|
String get pinMessage => 'Pin to room';
|
|
|
|
@override
|
|
String get confirmEventUnpin =>
|
|
'Are you sure to permanently unpin the event?';
|
|
|
|
@override
|
|
String get emojis => 'Emojis';
|
|
|
|
@override
|
|
String get placeCall => 'Place call';
|
|
|
|
@override
|
|
String get voiceCall => 'Voice call';
|
|
|
|
@override
|
|
String get unsupportedAndroidVersion => 'Unsupported Android version';
|
|
|
|
@override
|
|
String get unsupportedAndroidVersionLong =>
|
|
'This feature requires a newer Android version. Please check for updates or Lineage OS support.';
|
|
|
|
@override
|
|
String get videoCallsBetaWarning =>
|
|
'Please note that video calls are currently in beta. They might not work as expected or work at all on all platforms.';
|
|
|
|
@override
|
|
String get experimentalVideoCalls => 'Experimental video calls';
|
|
|
|
@override
|
|
String get emailOrUsername => 'Email or username';
|
|
|
|
@override
|
|
String get indexedDbErrorTitle => 'Private mode issues';
|
|
|
|
@override
|
|
String get indexedDbErrorLong =>
|
|
'The message storage is unfortunately not enabled in private mode by default.\nPlease visit\n - about:config\n - set dom.indexedDB.privateBrowsing.enabled to true\nOtherwise, it is not possible to run Extera.';
|
|
|
|
@override
|
|
String switchToAccount(String number) {
|
|
return 'Switch to account $number';
|
|
}
|
|
|
|
@override
|
|
String get nextAccount => 'Next account';
|
|
|
|
@override
|
|
String get previousAccount => 'Previous account';
|
|
|
|
@override
|
|
String get addWidget => 'Add widget';
|
|
|
|
@override
|
|
String get widgetVideo => 'Video';
|
|
|
|
@override
|
|
String get widgetEtherpad => 'Text note';
|
|
|
|
@override
|
|
String get widgetJitsi => 'Jitsi Meet';
|
|
|
|
@override
|
|
String get widgetCustom => 'Custom';
|
|
|
|
@override
|
|
String get widgetName => 'Name';
|
|
|
|
@override
|
|
String get widgetUrlError => 'This is not a valid URL.';
|
|
|
|
@override
|
|
String get widgetNameError => 'Please provide a display name.';
|
|
|
|
@override
|
|
String get errorAddingWidget => 'Error adding the widget.';
|
|
|
|
@override
|
|
String get youRejectedTheInvitation => 'You rejected the invitation';
|
|
|
|
@override
|
|
String get youJoinedTheChat => 'You joined the chat';
|
|
|
|
@override
|
|
String get youAcceptedTheInvitation => '👍 You accepted the invitation';
|
|
|
|
@override
|
|
String youBannedUser(String user) {
|
|
return 'You banned $user';
|
|
}
|
|
|
|
@override
|
|
String youHaveWithdrawnTheInvitationFor(String user) {
|
|
return 'You have withdrawn the invitation for $user';
|
|
}
|
|
|
|
@override
|
|
String youInvitedToBy(String alias) {
|
|
return '📩 You have been invited via link to:\n$alias';
|
|
}
|
|
|
|
@override
|
|
String youInvitedBy(String user) {
|
|
return '📩 You have been invited by $user';
|
|
}
|
|
|
|
@override
|
|
String invitedBy(String user) {
|
|
return '📩 Invited by $user';
|
|
}
|
|
|
|
@override
|
|
String youInvitedUser(String user) {
|
|
return '📩 You invited $user';
|
|
}
|
|
|
|
@override
|
|
String youKicked(String user) {
|
|
return '👞 You kicked $user';
|
|
}
|
|
|
|
@override
|
|
String youKickedAndBanned(String user) {
|
|
return '🙅 You kicked and banned $user';
|
|
}
|
|
|
|
@override
|
|
String youUnbannedUser(String user) {
|
|
return 'You unbanned $user';
|
|
}
|
|
|
|
@override
|
|
String hasKnocked(String user) {
|
|
return '🚪 $user has knocked';
|
|
}
|
|
|
|
@override
|
|
String get usersMustKnock => 'Users must knock';
|
|
|
|
@override
|
|
String get noOneCanJoin => 'No one can join';
|
|
|
|
@override
|
|
String userWouldLikeToChangeTheChat(String user) {
|
|
return '$user would like to join the chat.';
|
|
}
|
|
|
|
@override
|
|
String get noPublicLinkHasBeenCreatedYet =>
|
|
'No public link has been created yet';
|
|
|
|
@override
|
|
String get knock => 'Knock';
|
|
|
|
@override
|
|
String get users => 'Users';
|
|
|
|
@override
|
|
String get unlockOldMessages => 'Unlock old messages';
|
|
|
|
@override
|
|
String get storeInSecureStorageDescription =>
|
|
'Store the recovery key in the secure storage of this device.';
|
|
|
|
@override
|
|
String get saveKeyManuallyDescription =>
|
|
'Save this key manually by triggering the system share dialog or clipboard.';
|
|
|
|
@override
|
|
String get storeInAndroidKeystore => 'Store in Android KeyStore';
|
|
|
|
@override
|
|
String get storeInAppleKeyChain => 'Store in Apple KeyChain';
|
|
|
|
@override
|
|
String get storeSecurlyOnThisDevice => 'Store securely on this device';
|
|
|
|
@override
|
|
String countFiles(int count) {
|
|
return '$count files';
|
|
}
|
|
|
|
@override
|
|
String get user => 'User';
|
|
|
|
@override
|
|
String get custom => 'Custom';
|
|
|
|
@override
|
|
String get foregroundServiceRunning =>
|
|
'This notification appears when the foreground service is running.';
|
|
|
|
@override
|
|
String get screenSharingTitle => 'screen sharing';
|
|
|
|
@override
|
|
String get screenSharingDetail => 'You are sharing your screen in Extera';
|
|
|
|
@override
|
|
String get callingPermissions => 'Quyền gọi điện';
|
|
|
|
@override
|
|
String get callingAccount => 'Gọi tài khoản';
|
|
|
|
@override
|
|
String get callingAccountDetails =>
|
|
'Allows Extera to use the native android dialer app.';
|
|
|
|
@override
|
|
String get appearOnTop => 'Appear on top';
|
|
|
|
@override
|
|
String get appearOnTopDetails =>
|
|
'Allows the app to appear on top (not needed if you already have Fluffychat setup as a calling account)';
|
|
|
|
@override
|
|
String get otherCallingPermissions =>
|
|
'Microphone, camera and other Extera permissions';
|
|
|
|
@override
|
|
String get whyIsThisMessageEncrypted => 'Why is this message unreadable?';
|
|
|
|
@override
|
|
String get noKeyForThisMessage =>
|
|
'This can happen if the message was sent before you have signed in to your account at this device.\n\nIt is also possible that the sender has blocked your device or something went wrong with the internet connection.\n\nAre you able to read the message on another session? Then you can transfer the message from it! Go to Settings > Devices and make sure that your devices have verified each other. When you open the room the next time and both sessions are in the foreground, the keys will be transmitted automatically.\n\nDo you not want to lose the keys when logging out or switching devices? Make sure that you have enabled the chat backup in the settings.';
|
|
|
|
@override
|
|
String get newGroup => 'Nhóm mới';
|
|
|
|
@override
|
|
String get newSpace => 'Không gian mới';
|
|
|
|
@override
|
|
String get enterSpace => 'Nhập không gian';
|
|
|
|
@override
|
|
String get enterRoom => 'Nhập phòng';
|
|
|
|
@override
|
|
String get allSpaces => 'Tất cả không gian';
|
|
|
|
@override
|
|
String numChats(String number) {
|
|
return '$number cuộc hội thoại';
|
|
}
|
|
|
|
@override
|
|
String get hideUnimportantStateEvents => 'Ẩn các sự kiện không quan trọng';
|
|
|
|
@override
|
|
String get hidePresences => 'Ẩn danh sách trạng thái?';
|
|
|
|
@override
|
|
String get doNotShowAgain => 'Không hiện lại nữa';
|
|
|
|
@override
|
|
String wasDirectChatDisplayName(String oldDisplayName) {
|
|
return 'Hội thoại trống (từng là $oldDisplayName)';
|
|
}
|
|
|
|
@override
|
|
String get newSpaceDescription =>
|
|
'Không gian cho phép bạn hợp nhất các cuộc trò chuyện của mình và xây dựng cộng đồng riêng tư hoặc công khai.';
|
|
|
|
@override
|
|
String get encryptThisChat => 'Mã hóa cuộc trò chuyện này';
|
|
|
|
@override
|
|
String get disableEncryptionWarning =>
|
|
'Vì lý do bảo mật, bạn không thể tắt tính năng mã hóa trong cuộc trò chuyện đã được bật tính năng này trước đó.';
|
|
|
|
@override
|
|
String get sorryThatsNotPossible => 'Xin lỗi... không khả dụng';
|
|
|
|
@override
|
|
String get deviceKeys => 'Device keys:';
|
|
|
|
@override
|
|
String get reopenChat => 'Mở lại cuộc trò chuyện';
|
|
|
|
@override
|
|
String get noBackupWarning =>
|
|
'Cẩn thận! Nếu không bật sao lưu trò chuyện, bạn sẽ mất quyền truy cập vào tin nhắn được mã hóa của mình. Chúng tôi khuyên bạn nên bật sao lưu trò chuyện trước khi đăng xuất.';
|
|
|
|
@override
|
|
String get noOtherDevicesFound => 'Không tìm thấy thiết bị khác';
|
|
|
|
@override
|
|
String fileIsTooBigForServer(String max) {
|
|
return 'Máy chủ báo cáo rằng tệp tin quá lớn để gửi.';
|
|
}
|
|
|
|
@override
|
|
String fileHasBeenSavedAt(String path) {
|
|
return 'Tệp đã được lưu tại $path';
|
|
}
|
|
|
|
@override
|
|
String get jumpToLastReadMessage => 'Đi tới tin nhắn đã đọc mới nhất';
|
|
|
|
@override
|
|
String get readUpToHere => 'Đọc tới đây';
|
|
|
|
@override
|
|
String get jump => 'Đi tới';
|
|
|
|
@override
|
|
String get openLinkInBrowser => 'Mở đường dẫn trong trình duyệt';
|
|
|
|
@override
|
|
String get reportErrorDescription =>
|
|
'😭 Ôi. Có lỗi xảy ra. Bạn có thể báo cáo lỗi tới nhà phát triển nếu muốn.';
|
|
|
|
@override
|
|
String get report => 'báo cáo';
|
|
|
|
@override
|
|
String get signInWithPassword => 'Đăng nhập với mật khẩu';
|
|
|
|
@override
|
|
String get pleaseTryAgainLaterOrChooseDifferentServer =>
|
|
'Hãy thử lại sau hoặc chọn 1 máy chủ khác.';
|
|
|
|
@override
|
|
String signInWith(String provider) {
|
|
return 'Đăng nhập với $provider';
|
|
}
|
|
|
|
@override
|
|
String get profileNotFound =>
|
|
'Không tìm thấy người dùng này tại máy chủ. Có thể do lỗi kết nối hoặc người dùng không tồn tại.';
|
|
|
|
@override
|
|
String get setTheme => 'Chọn giao diện:';
|
|
|
|
@override
|
|
String get setColorTheme => 'Chọn màu giao diện:';
|
|
|
|
@override
|
|
String get invite => 'Mời';
|
|
|
|
@override
|
|
String get inviteGroupChat => '📨 Mời nhóm trò chuyện';
|
|
|
|
@override
|
|
String get invitePrivateChat => '📨 Mời trò chuyện riêng tư';
|
|
|
|
@override
|
|
String get invalidInput => 'Dữ liệu nhập không hợp lệ!';
|
|
|
|
@override
|
|
String wrongPinEntered(int seconds) {
|
|
return 'Nhập sai mã pin! Thử lại sau $seconds giây...';
|
|
}
|
|
|
|
@override
|
|
String get pleaseEnterANumber => 'Hãy nhập số lớn hơn 0';
|
|
|
|
@override
|
|
String get archiveRoomDescription =>
|
|
'Cuộc trò chuyện sẽ được chuyển tới mục lưu trữ. Người dùng khác sẽ thấy được bạn đã rời khỏi cuộc trò chuyện.';
|
|
|
|
@override
|
|
String get roomUpgradeDescription =>
|
|
'Cuộc trò chuyện sẽ được tạo lại với phiên bản phòng mới. Tất cả những người tham gia sẽ được thông báo rằng họ cần chuyển sang cuộc trò chuyện mới. Bạn có thể tìm hiểu thêm về các phiên bản phòng tại https://spec.matrix.org/latest/rooms/';
|
|
|
|
@override
|
|
String get removeDevicesDescription =>
|
|
'Bạn sẽ đăng xuất khỏi thiết bị này và không nhận được tin nhắn nữa.';
|
|
|
|
@override
|
|
String get banUserDescription =>
|
|
'Người dùng sẽ bị cấm khỏi cuộc trò chuyện và không thể tham gia lại cho tới khi được gỡ cấm.';
|
|
|
|
@override
|
|
String get unbanUserDescription =>
|
|
'Người dùng sẽ có thể vào lại cuộc trò chuyện nếu họ thử.';
|
|
|
|
@override
|
|
String doYouWantToKick(String user) {
|
|
return 'Kick $user';
|
|
}
|
|
|
|
@override
|
|
String doYouWantToBan(String user) {
|
|
return 'Ban $user';
|
|
}
|
|
|
|
@override
|
|
String get kickUserDescription =>
|
|
'Người dùng bị đuổi khỏi cuộc trò chuyện nhưng không bị cấm. Trong các cuộc trò chuyện công khai, người dùng có thể vào lại bất cứ lúc nào.';
|
|
|
|
@override
|
|
String get makeAdminDescription =>
|
|
'Khi bạn đặt người dùng này làm quản trị viên, bạn không thể hoàn tác việc này vì khi đó họ sẽ có quyền ngang bạn.';
|
|
|
|
@override
|
|
String get pushNotificationsNotAvailable => 'Thông báo đẩy không khả dụng';
|
|
|
|
@override
|
|
String get learnMore => 'Tìm hiểu thêm';
|
|
|
|
@override
|
|
String get yourGlobalUserIdIs => 'Your global user-ID is: ';
|
|
|
|
@override
|
|
String noUsersFoundWithQuery(String query) {
|
|
return 'Không tìm thấy người dùng nào với \"$query\". Hãy kiểm tra xem bạn có nhập nhầm không.';
|
|
}
|
|
|
|
@override
|
|
String get knocking => 'Knocking';
|
|
|
|
@override
|
|
String chatCanBeDiscoveredViaSearchOnServer(String server) {
|
|
return 'Chat can be discovered via the search on $server';
|
|
}
|
|
|
|
@override
|
|
String get searchChatsRooms => 'Search for #chats, @users...';
|
|
|
|
@override
|
|
String get nothingFound => 'Nothing found...';
|
|
|
|
@override
|
|
String get groupName => 'Group name';
|
|
|
|
@override
|
|
String get createGroupAndInviteUsers => 'Create a group and invite users';
|
|
|
|
@override
|
|
String get groupCanBeFoundViaSearch => 'Group can be found via search';
|
|
|
|
@override
|
|
String get wrongRecoveryKey =>
|
|
'Sorry... this does not seem to be the correct recovery key.';
|
|
|
|
@override
|
|
String get startConversation => 'Start conversation';
|
|
|
|
@override
|
|
String get commandHint_sendraw => 'Send raw json';
|
|
|
|
@override
|
|
String get databaseMigrationTitle => 'Database is optimized';
|
|
|
|
@override
|
|
String get databaseMigrationBody => 'Please wait. This may take a moment.';
|
|
|
|
@override
|
|
String get leaveEmptyToClearStatus => 'Leave empty to clear your status.';
|
|
|
|
@override
|
|
String get select => 'Select';
|
|
|
|
@override
|
|
String get searchForUsers => 'Search for @users...';
|
|
|
|
@override
|
|
String get pleaseEnterYourCurrentPassword =>
|
|
'Please enter your current password';
|
|
|
|
@override
|
|
String get newPassword => 'New password';
|
|
|
|
@override
|
|
String get pleaseChooseAStrongPassword => 'Please choose a strong password';
|
|
|
|
@override
|
|
String get passwordsDoNotMatch => 'Passwords do not match';
|
|
|
|
@override
|
|
String get passwordIsWrong => 'Your entered password is wrong';
|
|
|
|
@override
|
|
String get publicLink => 'Public link';
|
|
|
|
@override
|
|
String get publicChatAddresses => 'Public chat addresses';
|
|
|
|
@override
|
|
String get createNewAddress => 'Create new address';
|
|
|
|
@override
|
|
String get joinSpace => 'Join space';
|
|
|
|
@override
|
|
String get publicSpaces => 'Public spaces';
|
|
|
|
@override
|
|
String get addChatOrSubSpace => 'Add chat or sub space';
|
|
|
|
@override
|
|
String get subspace => 'Subspace';
|
|
|
|
@override
|
|
String get decline => 'Decline';
|
|
|
|
@override
|
|
String get thisDevice => 'This device:';
|
|
|
|
@override
|
|
String get initAppError => 'An error occured while init the app';
|
|
|
|
@override
|
|
String get userRole => 'User role';
|
|
|
|
@override
|
|
String minimumPowerLevel(String level) {
|
|
return '$level is the minimum power level.';
|
|
}
|
|
|
|
@override
|
|
String searchIn(String chat) {
|
|
return 'Search in chat \"$chat\"...';
|
|
}
|
|
|
|
@override
|
|
String get searchMore => 'Search more...';
|
|
|
|
@override
|
|
String get gallery => 'Gallery';
|
|
|
|
@override
|
|
String get files => 'Files';
|
|
|
|
@override
|
|
String databaseBuildErrorBody(String url, String error) {
|
|
return 'Unable to build the SQlite database. The app tries to use the legacy database for now. Please report this error to the developers at $url. The error message is: $error';
|
|
}
|
|
|
|
@override
|
|
String sessionLostBody(String url, String error) {
|
|
return 'Your session is lost. Please report this error to the developers at $url. The error message is: $error';
|
|
}
|
|
|
|
@override
|
|
String restoreSessionBody(String url, String error) {
|
|
return 'The app now tries to restore your session from the backup. Please report this error to the developers at $url. The error message is: $error';
|
|
}
|
|
|
|
@override
|
|
String forwardMessageTo(String roomName) {
|
|
return 'Forward message to $roomName?';
|
|
}
|
|
|
|
@override
|
|
String get sendReadReceipts => 'Send read receipts';
|
|
|
|
@override
|
|
String get sendTypingNotificationsDescription =>
|
|
'Other participants in a chat can see when you are typing a new message.';
|
|
|
|
@override
|
|
String get sendReadReceiptsDescription =>
|
|
'Other participants in a chat can see when you have read a message.';
|
|
|
|
@override
|
|
String get formattedMessages => 'Formatted messages';
|
|
|
|
@override
|
|
String get formattedMessagesDescription =>
|
|
'Display rich message content like bold text using markdown.';
|
|
|
|
@override
|
|
String get verifyOtherUser => '🔐 Verify other user';
|
|
|
|
@override
|
|
String get verifyOtherUserDescription =>
|
|
'If you verify another user, you can be sure that you know who you are really writing to. 💪\n\nWhen you start a verification, you and the other user will see a popup in the app. There you will then see a series of emojis or numbers that you have to compare with each other.\n\nThe best way to do this is to meet up or start a video call. 👭';
|
|
|
|
@override
|
|
String get verifyOtherDevice => '🔐 Verify other device';
|
|
|
|
@override
|
|
String get verifyOtherDeviceDescription =>
|
|
'When you verify another device, those devices can exchange keys, increasing your overall security. 💪 When you start a verification, a popup will appear in the app on both devices. There you will then see a series of emojis or numbers that you have to compare with each other. It\'s best to have both devices handy before you start the verification. 🤳';
|
|
|
|
@override
|
|
String acceptedKeyVerification(String sender) {
|
|
return '$sender accepted key verification';
|
|
}
|
|
|
|
@override
|
|
String get customReaction => 'Add reaction';
|
|
|
|
@override
|
|
String canceledKeyVerification(String sender) {
|
|
return '$sender canceled key verification';
|
|
}
|
|
|
|
@override
|
|
String completedKeyVerification(String sender) {
|
|
return '$sender completed key verification';
|
|
}
|
|
|
|
@override
|
|
String isReadyForKeyVerification(String sender) {
|
|
return '$sender is ready for key verification';
|
|
}
|
|
|
|
@override
|
|
String requestedKeyVerification(String sender) {
|
|
return '$sender requested key verification';
|
|
}
|
|
|
|
@override
|
|
String startedKeyVerification(String sender) {
|
|
return '$sender started key verification';
|
|
}
|
|
|
|
@override
|
|
String get transparent => 'Transparent';
|
|
|
|
@override
|
|
String get incomingMessages => 'Tin nhắn đến';
|
|
|
|
@override
|
|
String get stickers => 'Nhãn dán';
|
|
|
|
@override
|
|
String get discover => 'Khám phá';
|
|
|
|
@override
|
|
String get commandHint_ignore => 'Phớt lờ matrix ID này';
|
|
|
|
@override
|
|
String get commandHint_unignore => 'Bỏ phớt lờ matrix ID này';
|
|
|
|
@override
|
|
String unreadChatsInApp(String appname, String unread) {
|
|
return '$appname: $unread unread chats';
|
|
}
|
|
|
|
@override
|
|
String get noDatabaseEncryption =>
|
|
'Database encryption is not supported on this platform';
|
|
|
|
@override
|
|
String thereAreCountUsersBlocked(Object count) {
|
|
return 'Right now there are $count users blocked.';
|
|
}
|
|
|
|
@override
|
|
String get restricted => 'Bị hạn chế';
|
|
|
|
@override
|
|
String get knockRestricted => 'Knock restricted';
|
|
|
|
@override
|
|
String goToSpace(Object space) {
|
|
return 'Go to space: $space';
|
|
}
|
|
|
|
@override
|
|
String get markAsUnread => 'Mark as unread';
|
|
|
|
@override
|
|
String userLevel(int level) {
|
|
return '$level - User';
|
|
}
|
|
|
|
@override
|
|
String moderatorLevel(int level) {
|
|
return '$level - Moderator';
|
|
}
|
|
|
|
@override
|
|
String adminLevel(int level) {
|
|
return '$level - Admin';
|
|
}
|
|
|
|
@override
|
|
String get changeGeneralChatSettings => 'Change general chat settings';
|
|
|
|
@override
|
|
String get inviteOtherUsers => 'Invite other users to this chat';
|
|
|
|
@override
|
|
String get changeTheChatPermissions => 'Change the chat permissions';
|
|
|
|
@override
|
|
String get changeTheVisibilityOfChatHistory =>
|
|
'Change the visibility of the chat history';
|
|
|
|
@override
|
|
String get changeTheCanonicalRoomAlias =>
|
|
'Change the main public chat address';
|
|
|
|
@override
|
|
String get sendRoomNotifications => 'Send a @room notifications';
|
|
|
|
@override
|
|
String get changeTheDescriptionOfTheGroup =>
|
|
'Change the description of the chat';
|
|
|
|
@override
|
|
String get chatPermissionsDescription =>
|
|
'Define which power level is necessary for certain actions in this chat. The power levels 0, 50 and 100 are usually representing users, moderators and admins, but any gradation is possible.';
|
|
|
|
@override
|
|
String updateInstalled(String version) {
|
|
return '🎉 Update $version installed!';
|
|
}
|
|
|
|
@override
|
|
String get changelog => 'Changelog';
|
|
|
|
@override
|
|
String get sendCanceled => 'Sending canceled';
|
|
|
|
@override
|
|
String get loginWithMatrixId => 'Login with Matrix-ID';
|
|
|
|
@override
|
|
String get discoverHomeservers => 'Discover homeservers';
|
|
|
|
@override
|
|
String get whatIsAHomeserver => 'What is a homeserver?';
|
|
|
|
@override
|
|
String get homeserverDescription =>
|
|
'All your data is stored on the homeserver, just like an email provider. You can choose which homeserver you want to use, while you can still communicate with everyone. Learn more at at https://matrix.org.';
|
|
|
|
@override
|
|
String get doesNotSeemToBeAValidHomeserver =>
|
|
'Doesn\'t seem to be a compatible homeserver. Wrong URL?';
|
|
|
|
@override
|
|
String get calculatingFileSize => 'Calculating file size...';
|
|
|
|
@override
|
|
String get prepareSendingAttachment => 'Prepare sending attachment...';
|
|
|
|
@override
|
|
String get sendingAttachment => 'Sending attachment...';
|
|
|
|
@override
|
|
String get generatingVideoThumbnail => 'Generating video thumbnail...';
|
|
|
|
@override
|
|
String get compressVideo => 'Compressing video...';
|
|
|
|
@override
|
|
String sendingAttachmentCountOfCount(int index, int length) {
|
|
return 'Sending attachment $index of $length...';
|
|
}
|
|
|
|
@override
|
|
String serverLimitReached(int seconds) {
|
|
return 'Server limit reached! Waiting $seconds seconds...';
|
|
}
|
|
|
|
@override
|
|
String get oneOfYourDevicesIsNotVerified =>
|
|
'One of your devices is not verified';
|
|
|
|
@override
|
|
String get noticeChatBackupDeviceVerification =>
|
|
'Note: When you connect all your devices to the chat backup, they are automatically verified.';
|
|
|
|
@override
|
|
String get continueText => 'Continue';
|
|
|
|
@override
|
|
String get welcomeText =>
|
|
'Hey Hey 👋 This is Extera. You can sign in to any homeserver, which is compatible with https://matrix.org. And then chat with anyone. It\'s a huge decentralized messaging network!';
|
|
|
|
@override
|
|
String get blur => 'Blur:';
|
|
|
|
@override
|
|
String get opacity => 'Opacity:';
|
|
|
|
@override
|
|
String get setWallpaper => 'Set wallpaper';
|
|
|
|
@override
|
|
String get manageAccount => 'Manage account';
|
|
|
|
@override
|
|
String get noContactInformationProvided =>
|
|
'Server does not provide any valid contact information';
|
|
|
|
@override
|
|
String get contactServerAdmin => 'Contact server admin';
|
|
|
|
@override
|
|
String get contactServerSecurity => 'Contact server security';
|
|
|
|
@override
|
|
String get supportPage => 'Support page';
|
|
|
|
@override
|
|
String get serverInformation => 'Server information:';
|
|
|
|
@override
|
|
String get name => 'Name';
|
|
|
|
@override
|
|
String get version => 'Version';
|
|
|
|
@override
|
|
String get website => 'Website';
|
|
|
|
@override
|
|
String get compress => 'Compress';
|
|
|
|
@override
|
|
String get boldText => 'Bold text';
|
|
|
|
@override
|
|
String get italicText => 'Italic text';
|
|
|
|
@override
|
|
String get strikeThrough => 'Strikethrough';
|
|
|
|
@override
|
|
String get pleaseFillOut => 'Please fill out';
|
|
|
|
@override
|
|
String get invalidUrl => 'Invalid url';
|
|
|
|
@override
|
|
String get addLink => 'Add link';
|
|
|
|
@override
|
|
String get unableToJoinChat =>
|
|
'Unable to join chat. Maybe the other party has already closed the conversation.';
|
|
|
|
@override
|
|
String get previous => 'Previous';
|
|
|
|
@override
|
|
String get otherPartyNotLoggedIn =>
|
|
'The other party is currently not logged in and therefore cannot receive messages!';
|
|
|
|
@override
|
|
String appWantsToUseForLogin(String server) {
|
|
return 'Use \'$server\' to log in';
|
|
}
|
|
|
|
@override
|
|
String get appWantsToUseForLoginDescription =>
|
|
'You hereby allow the app and website to share information about you.';
|
|
|
|
@override
|
|
String get open => 'Open';
|
|
|
|
@override
|
|
String get waitingForServer => 'Waiting for server...';
|
|
|
|
@override
|
|
String get appIntroduction =>
|
|
'Extera lets you chat with your friends across different messengers. Learn more at https://matrix.org or just tap *Continue*.';
|
|
|
|
@override
|
|
String get newChatRequest => '📩 New chat request';
|
|
|
|
@override
|
|
String get contentNotificationSettings => 'Content notification settings';
|
|
|
|
@override
|
|
String get generalNotificationSettings => 'General notification settings';
|
|
|
|
@override
|
|
String get roomNotificationSettings => 'Room notification settings';
|
|
|
|
@override
|
|
String get userSpecificNotificationSettings =>
|
|
'User specific notification settings';
|
|
|
|
@override
|
|
String get otherNotificationSettings => 'Other notification settings';
|
|
|
|
@override
|
|
String get notificationRuleContainsUserName => 'Contains User Name';
|
|
|
|
@override
|
|
String get notificationRuleContainsUserNameDescription =>
|
|
'Notifies the user when a message contains their username.';
|
|
|
|
@override
|
|
String get notificationRuleMaster => 'Mute all notifications';
|
|
|
|
@override
|
|
String get notificationRuleMasterDescription =>
|
|
'Overrides all other rules and disables all notifications.';
|
|
|
|
@override
|
|
String get notificationRuleSuppressNotices => 'Suppress Automated Messages';
|
|
|
|
@override
|
|
String get notificationRuleSuppressNoticesDescription =>
|
|
'Suppresses notifications from automated clients like bots.';
|
|
|
|
@override
|
|
String get notificationRuleInviteForMe => 'Invite for Me';
|
|
|
|
@override
|
|
String get notificationRuleInviteForMeDescription =>
|
|
'Notifies the user when they are invited to a room.';
|
|
|
|
@override
|
|
String get notificationRuleMemberEvent => 'Member Event';
|
|
|
|
@override
|
|
String get notificationRuleMemberEventDescription =>
|
|
'Suppresses notifications for membership events.';
|
|
|
|
@override
|
|
String get notificationRuleIsUserMention => 'User Mention';
|
|
|
|
@override
|
|
String get notificationRuleIsUserMentionDescription =>
|
|
'Notifies the user when they are directly mentioned in a message.';
|
|
|
|
@override
|
|
String get notificationRuleContainsDisplayName => 'Contains Display Name';
|
|
|
|
@override
|
|
String get notificationRuleContainsDisplayNameDescription =>
|
|
'Notifies the user when a message contains their display name.';
|
|
|
|
@override
|
|
String get notificationRuleIsRoomMention => 'Room Mention';
|
|
|
|
@override
|
|
String get notificationRuleIsRoomMentionDescription =>
|
|
'Notifies the user when there is a room mention.';
|
|
|
|
@override
|
|
String get notificationRuleRoomnotif => 'Room Notification';
|
|
|
|
@override
|
|
String get notificationRuleRoomnotifDescription =>
|
|
'Notifies the user when a message contains \'@room\'.';
|
|
|
|
@override
|
|
String get notificationRuleTombstone => 'Tombstone';
|
|
|
|
@override
|
|
String get notificationRuleTombstoneDescription =>
|
|
'Notifies the user about room deactivation messages.';
|
|
|
|
@override
|
|
String get notificationRuleReaction => 'Reaction';
|
|
|
|
@override
|
|
String get notificationRuleReactionDescription =>
|
|
'Suppresses notifications for reactions.';
|
|
|
|
@override
|
|
String get notificationRuleRoomServerAcl => 'Room Server ACL';
|
|
|
|
@override
|
|
String get notificationRuleRoomServerAclDescription =>
|
|
'Suppresses notifications for room server access control lists (ACL).';
|
|
|
|
@override
|
|
String get notificationRuleSuppressEdits => 'Suppress Edits';
|
|
|
|
@override
|
|
String get notificationRuleSuppressEditsDescription =>
|
|
'Suppresses notifications for edited messages.';
|
|
|
|
@override
|
|
String get notificationRuleCall => 'Call';
|
|
|
|
@override
|
|
String get notificationRuleCallDescription =>
|
|
'Notifies the user about calls.';
|
|
|
|
@override
|
|
String get notificationRuleEncryptedRoomOneToOne =>
|
|
'Encrypted Room One-to-One';
|
|
|
|
@override
|
|
String get notificationRuleEncryptedRoomOneToOneDescription =>
|
|
'Notifies the user about messages in encrypted one-to-one rooms.';
|
|
|
|
@override
|
|
String get notificationRuleRoomOneToOne => 'Room One-to-One';
|
|
|
|
@override
|
|
String get notificationRuleRoomOneToOneDescription =>
|
|
'Notifies the user about messages in one-to-one rooms.';
|
|
|
|
@override
|
|
String get notificationRuleMessage => 'Message';
|
|
|
|
@override
|
|
String get notificationRuleMessageDescription =>
|
|
'Notifies the user about general messages.';
|
|
|
|
@override
|
|
String get notificationRuleEncrypted => 'Encrypted';
|
|
|
|
@override
|
|
String get notificationRuleEncryptedDescription =>
|
|
'Notifies the user about messages in encrypted rooms.';
|
|
|
|
@override
|
|
String get notificationRuleJitsi => 'Jitsi';
|
|
|
|
@override
|
|
String get notificationRuleJitsiDescription =>
|
|
'Notifies the user about Jitsi widget events.';
|
|
|
|
@override
|
|
String get notificationRuleServerAcl => 'Suppress Server ACL Events';
|
|
|
|
@override
|
|
String get notificationRuleServerAclDescription =>
|
|
'Suppresses notifications for Server ACL events.';
|
|
|
|
@override
|
|
String unknownPushRule(String rule) {
|
|
return 'Unknown push rule \'$rule\'';
|
|
}
|
|
|
|
@override
|
|
String get deletePushRuleCanNotBeUndone =>
|
|
'If you delete this notification setting, this can not be undone.';
|
|
|
|
@override
|
|
String get more => 'More';
|
|
|
|
@override
|
|
String get shareKeysWith => 'Share keys with...';
|
|
|
|
@override
|
|
String get shareKeysWithDescription =>
|
|
'Which devices should be trusted so that they can read along your messages in encrypted chats?';
|
|
|
|
@override
|
|
String get allDevices => 'All devices';
|
|
|
|
@override
|
|
String get crossVerifiedDevicesIfEnabled =>
|
|
'Cross verified devices if enabled';
|
|
|
|
@override
|
|
String get crossVerifiedDevices => 'Cross verified devices';
|
|
|
|
@override
|
|
String get verifiedDevicesOnly => 'Verified devices only';
|
|
|
|
@override
|
|
String get takeAPhoto => 'Take a photo';
|
|
|
|
@override
|
|
String get recordAVideo => 'Record a video';
|
|
|
|
@override
|
|
String get optionalMessage => '(Optional) message...';
|
|
|
|
@override
|
|
String get notSupportedOnThisDevice => 'Not supported on this device';
|
|
|
|
@override
|
|
String get enterNewChat => 'Enter new chat';
|
|
|
|
@override
|
|
String get approve => 'Approve';
|
|
|
|
@override
|
|
String get youHaveKnocked => 'You have knocked';
|
|
|
|
@override
|
|
String get pleaseWaitUntilInvited =>
|
|
'Please wait now, until someone from the room invites you.';
|
|
}
|