2022-04-26 22:48:17 +03:00
|
|
|
|
// swiftlint:disable all
|
|
|
|
|
// Generated using SwiftGen — https://github.com/SwiftGen/SwiftGen
|
|
|
|
|
|
|
|
|
|
import Foundation
|
|
|
|
|
|
|
|
|
|
// swiftlint:disable superfluous_disable_command file_length implicit_return
|
|
|
|
|
|
|
|
|
|
// MARK: - Strings
|
|
|
|
|
|
|
|
|
|
// swiftlint:disable explicit_type_interface function_parameter_count identifier_name line_length
|
|
|
|
|
// swiftlint:disable nesting type_body_length type_name vertical_whitespace_opening_braces
|
2023-03-17 16:17:45 +00:00
|
|
|
|
public enum L10n {
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Hide password
|
|
|
|
|
public static var a11yHidePassword: String { return L10n.tr("Localizable", "a11y_hide_password") }
|
|
|
|
|
/// Send files
|
|
|
|
|
public static var a11ySendFiles: String { return L10n.tr("Localizable", "a11y_send_files") }
|
|
|
|
|
/// Show password
|
|
|
|
|
public static var a11yShowPassword: String { return L10n.tr("Localizable", "a11y_show_password") }
|
|
|
|
|
/// User menu
|
|
|
|
|
public static var a11yUserMenu: String { return L10n.tr("Localizable", "a11y_user_menu") }
|
2023-04-12 12:03:11 +02:00
|
|
|
|
/// Accept
|
|
|
|
|
public static var actionAccept: String { return L10n.tr("Localizable", "action_accept") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Back
|
|
|
|
|
public static var actionBack: String { return L10n.tr("Localizable", "action_back") }
|
|
|
|
|
/// Cancel
|
|
|
|
|
public static var actionCancel: String { return L10n.tr("Localizable", "action_cancel") }
|
2023-04-12 12:03:11 +02:00
|
|
|
|
/// Choose photo
|
|
|
|
|
public static var actionChoosePhoto: String { return L10n.tr("Localizable", "action_choose_photo") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Clear
|
|
|
|
|
public static var actionClear: String { return L10n.tr("Localizable", "action_clear") }
|
|
|
|
|
/// Close
|
|
|
|
|
public static var actionClose: String { return L10n.tr("Localizable", "action_close") }
|
|
|
|
|
/// Complete verification
|
|
|
|
|
public static var actionCompleteVerification: String { return L10n.tr("Localizable", "action_complete_verification") }
|
2023-03-17 16:17:45 +00:00
|
|
|
|
/// Confirm
|
|
|
|
|
public static var actionConfirm: String { return L10n.tr("Localizable", "action_confirm") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Continue
|
|
|
|
|
public static var actionContinue: String { return L10n.tr("Localizable", "action_continue") }
|
|
|
|
|
/// Copy
|
|
|
|
|
public static var actionCopy: String { return L10n.tr("Localizable", "action_copy") }
|
|
|
|
|
/// Copy link
|
|
|
|
|
public static var actionCopyLink: String { return L10n.tr("Localizable", "action_copy_link") }
|
2023-04-12 12:03:11 +02:00
|
|
|
|
/// Create
|
|
|
|
|
public static var actionCreate: String { return L10n.tr("Localizable", "action_create") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Create a room
|
|
|
|
|
public static var actionCreateARoom: String { return L10n.tr("Localizable", "action_create_a_room") }
|
2023-04-12 12:03:11 +02:00
|
|
|
|
/// Decline
|
|
|
|
|
public static var actionDecline: String { return L10n.tr("Localizable", "action_decline") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Disable
|
|
|
|
|
public static var actionDisable: String { return L10n.tr("Localizable", "action_disable") }
|
|
|
|
|
/// Done
|
|
|
|
|
public static var actionDone: String { return L10n.tr("Localizable", "action_done") }
|
|
|
|
|
/// Edit
|
|
|
|
|
public static var actionEdit: String { return L10n.tr("Localizable", "action_edit") }
|
|
|
|
|
/// Enable
|
|
|
|
|
public static var actionEnable: String { return L10n.tr("Localizable", "action_enable") }
|
|
|
|
|
/// Invite
|
|
|
|
|
public static var actionInvite: String { return L10n.tr("Localizable", "action_invite") }
|
|
|
|
|
/// Invite friends to %1$@
|
|
|
|
|
public static func actionInviteFriendsToApp(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "action_invite_friends_to_app", String(describing: p1))
|
|
|
|
|
}
|
2023-04-12 12:03:11 +02:00
|
|
|
|
/// Invites
|
|
|
|
|
public static var actionInvitesList: String { return L10n.tr("Localizable", "action_invites_list") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Learn more
|
|
|
|
|
public static var actionLearnMore: String { return L10n.tr("Localizable", "action_learn_more") }
|
|
|
|
|
/// Leave
|
|
|
|
|
public static var actionLeave: String { return L10n.tr("Localizable", "action_leave") }
|
|
|
|
|
/// Leave room
|
|
|
|
|
public static var actionLeaveRoom: String { return L10n.tr("Localizable", "action_leave_room") }
|
|
|
|
|
/// Next
|
|
|
|
|
public static var actionNext: String { return L10n.tr("Localizable", "action_next") }
|
|
|
|
|
/// No
|
|
|
|
|
public static var actionNo: String { return L10n.tr("Localizable", "action_no") }
|
|
|
|
|
/// Not now
|
|
|
|
|
public static var actionNotNow: String { return L10n.tr("Localizable", "action_not_now") }
|
|
|
|
|
/// OK
|
|
|
|
|
public static var actionOk: String { return L10n.tr("Localizable", "action_ok") }
|
|
|
|
|
/// Quick reply
|
|
|
|
|
public static var actionQuickReply: String { return L10n.tr("Localizable", "action_quick_reply") }
|
|
|
|
|
/// Quote
|
|
|
|
|
public static var actionQuote: String { return L10n.tr("Localizable", "action_quote") }
|
|
|
|
|
/// Remove
|
|
|
|
|
public static var actionRemove: String { return L10n.tr("Localizable", "action_remove") }
|
|
|
|
|
/// Reply
|
|
|
|
|
public static var actionReply: String { return L10n.tr("Localizable", "action_reply") }
|
|
|
|
|
/// Report bug
|
|
|
|
|
public static var actionReportBug: String { return L10n.tr("Localizable", "action_report_bug") }
|
|
|
|
|
/// Report Content
|
|
|
|
|
public static var actionReportContent: String { return L10n.tr("Localizable", "action_report_content") }
|
|
|
|
|
/// Retry
|
|
|
|
|
public static var actionRetry: String { return L10n.tr("Localizable", "action_retry") }
|
|
|
|
|
/// Retry decryption
|
|
|
|
|
public static var actionRetryDecryption: String { return L10n.tr("Localizable", "action_retry_decryption") }
|
|
|
|
|
/// Save
|
|
|
|
|
public static var actionSave: String { return L10n.tr("Localizable", "action_save") }
|
|
|
|
|
/// Search
|
|
|
|
|
public static var actionSearch: String { return L10n.tr("Localizable", "action_search") }
|
|
|
|
|
/// Send
|
|
|
|
|
public static var actionSend: String { return L10n.tr("Localizable", "action_send") }
|
2023-04-12 12:03:11 +02:00
|
|
|
|
/// Send message
|
|
|
|
|
public static var actionSendMessage: String { return L10n.tr("Localizable", "action_send_message") }
|
2023-04-03 13:18:19 +02:00
|
|
|
|
/// Share
|
2023-04-04 10:47:41 +02:00
|
|
|
|
public static var actionShare: String { return L10n.tr("Localizable", "action_share") }
|
|
|
|
|
/// Share link
|
2023-03-27 18:18:59 +01:00
|
|
|
|
public static var actionShareLink: String { return L10n.tr("Localizable", "action_share_link") }
|
|
|
|
|
/// Skip
|
|
|
|
|
public static var actionSkip: String { return L10n.tr("Localizable", "action_skip") }
|
|
|
|
|
/// Start
|
|
|
|
|
public static var actionStart: String { return L10n.tr("Localizable", "action_start") }
|
|
|
|
|
/// Start chat
|
|
|
|
|
public static var actionStartChat: String { return L10n.tr("Localizable", "action_start_chat") }
|
|
|
|
|
/// Start verification
|
|
|
|
|
public static var actionStartVerification: String { return L10n.tr("Localizable", "action_start_verification") }
|
2023-04-12 12:03:11 +02:00
|
|
|
|
/// Take photo
|
|
|
|
|
public static var actionTakePhoto: String { return L10n.tr("Localizable", "action_take_photo") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// View Source
|
|
|
|
|
public static var actionViewSource: String { return L10n.tr("Localizable", "action_view_source") }
|
|
|
|
|
/// Yes
|
|
|
|
|
public static var actionYes: String { return L10n.tr("Localizable", "action_yes") }
|
|
|
|
|
/// About
|
|
|
|
|
public static var commonAbout: String { return L10n.tr("Localizable", "common_about") }
|
2023-04-18 09:33:32 +02:00
|
|
|
|
/// Analytics
|
|
|
|
|
public static var commonAnalytics: String { return L10n.tr("Localizable", "common_analytics") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Audio
|
|
|
|
|
public static var commonAudio: String { return L10n.tr("Localizable", "common_audio") }
|
|
|
|
|
/// Bubbles
|
|
|
|
|
public static var commonBubbles: String { return L10n.tr("Localizable", "common_bubbles") }
|
2023-04-03 13:18:19 +02:00
|
|
|
|
/// Creating room…
|
|
|
|
|
public static var commonCreatingRoom: String { return L10n.tr("Localizable", "common_creating_room") }
|
2023-04-05 10:36:02 +02:00
|
|
|
|
/// Left room
|
|
|
|
|
public static var commonCurrentUserLeftRoom: String { return L10n.tr("Localizable", "common_current_user_left_room") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Decryption error
|
|
|
|
|
public static var commonDecryptionError: String { return L10n.tr("Localizable", "common_decryption_error") }
|
|
|
|
|
/// Developer options
|
|
|
|
|
public static var commonDeveloperOptions: String { return L10n.tr("Localizable", "common_developer_options") }
|
|
|
|
|
/// (edited)
|
|
|
|
|
public static var commonEditedSuffix: String { return L10n.tr("Localizable", "common_edited_suffix") }
|
|
|
|
|
/// Editing
|
|
|
|
|
public static var commonEditing: String { return L10n.tr("Localizable", "common_editing") }
|
|
|
|
|
/// Encryption enabled
|
|
|
|
|
public static var commonEncryptionEnabled: String { return L10n.tr("Localizable", "common_encryption_enabled") }
|
|
|
|
|
/// Error
|
|
|
|
|
public static var commonError: String { return L10n.tr("Localizable", "common_error") }
|
|
|
|
|
/// File
|
|
|
|
|
public static var commonFile: String { return L10n.tr("Localizable", "common_file") }
|
|
|
|
|
/// GIF
|
|
|
|
|
public static var commonGif: String { return L10n.tr("Localizable", "common_gif") }
|
|
|
|
|
/// Image
|
|
|
|
|
public static var commonImage: String { return L10n.tr("Localizable", "common_image") }
|
|
|
|
|
/// Link copied to clipboard
|
|
|
|
|
public static var commonLinkCopiedToClipboard: String { return L10n.tr("Localizable", "common_link_copied_to_clipboard") }
|
|
|
|
|
/// Loading…
|
|
|
|
|
public static var commonLoading: String { return L10n.tr("Localizable", "common_loading") }
|
|
|
|
|
/// Plural format key: "%#@COUNT@"
|
|
|
|
|
public static func commonMemberCount(_ p1: Int) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "common_member_count", p1)
|
|
|
|
|
}
|
|
|
|
|
/// Message
|
|
|
|
|
public static var commonMessage: String { return L10n.tr("Localizable", "common_message") }
|
|
|
|
|
/// Message layout
|
|
|
|
|
public static var commonMessageLayout: String { return L10n.tr("Localizable", "common_message_layout") }
|
|
|
|
|
/// Message removed
|
|
|
|
|
public static var commonMessageRemoved: String { return L10n.tr("Localizable", "common_message_removed") }
|
|
|
|
|
/// Modern
|
|
|
|
|
public static var commonModern: String { return L10n.tr("Localizable", "common_modern") }
|
2023-03-29 14:29:25 +02:00
|
|
|
|
/// No results
|
|
|
|
|
public static var commonNoResults: String { return L10n.tr("Localizable", "common_no_results") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Offline
|
|
|
|
|
public static var commonOffline: String { return L10n.tr("Localizable", "common_offline") }
|
|
|
|
|
/// Password
|
|
|
|
|
public static var commonPassword: String { return L10n.tr("Localizable", "common_password") }
|
|
|
|
|
/// People
|
|
|
|
|
public static var commonPeople: String { return L10n.tr("Localizable", "common_people") }
|
|
|
|
|
/// Permalink
|
|
|
|
|
public static var commonPermalink: String { return L10n.tr("Localizable", "common_permalink") }
|
|
|
|
|
/// Reactions
|
|
|
|
|
public static var commonReactions: String { return L10n.tr("Localizable", "common_reactions") }
|
|
|
|
|
/// Replying to %1$@
|
|
|
|
|
public static func commonReplyingTo(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "common_replying_to", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// Report a bug
|
|
|
|
|
public static var commonReportABug: String { return L10n.tr("Localizable", "common_report_a_bug") }
|
|
|
|
|
/// Report submitted
|
|
|
|
|
public static var commonReportSubmitted: String { return L10n.tr("Localizable", "common_report_submitted") }
|
|
|
|
|
/// Search for someone
|
|
|
|
|
public static var commonSearchForSomeone: String { return L10n.tr("Localizable", "common_search_for_someone") }
|
|
|
|
|
/// Security
|
|
|
|
|
public static var commonSecurity: String { return L10n.tr("Localizable", "common_security") }
|
|
|
|
|
/// Select your server
|
|
|
|
|
public static var commonSelectYourServer: String { return L10n.tr("Localizable", "common_select_your_server") }
|
|
|
|
|
/// Sending…
|
|
|
|
|
public static var commonSending: String { return L10n.tr("Localizable", "common_sending") }
|
|
|
|
|
/// Server not supported
|
|
|
|
|
public static var commonServerNotSupported: String { return L10n.tr("Localizable", "common_server_not_supported") }
|
|
|
|
|
/// Server URL
|
|
|
|
|
public static var commonServerUrl: String { return L10n.tr("Localizable", "common_server_url") }
|
|
|
|
|
/// Settings
|
|
|
|
|
public static var commonSettings: String { return L10n.tr("Localizable", "common_settings") }
|
|
|
|
|
/// Sticker
|
|
|
|
|
public static var commonSticker: String { return L10n.tr("Localizable", "common_sticker") }
|
|
|
|
|
/// Success
|
|
|
|
|
public static var commonSuccess: String { return L10n.tr("Localizable", "common_success") }
|
|
|
|
|
/// Suggestions
|
|
|
|
|
public static var commonSuggestions: String { return L10n.tr("Localizable", "common_suggestions") }
|
|
|
|
|
/// Topic
|
|
|
|
|
public static var commonTopic: String { return L10n.tr("Localizable", "common_topic") }
|
|
|
|
|
/// Unable to decrypt
|
|
|
|
|
public static var commonUnableToDecrypt: String { return L10n.tr("Localizable", "common_unable_to_decrypt") }
|
|
|
|
|
/// Unsupported event
|
|
|
|
|
public static var commonUnsupportedEvent: String { return L10n.tr("Localizable", "common_unsupported_event") }
|
|
|
|
|
/// Username
|
|
|
|
|
public static var commonUsername: String { return L10n.tr("Localizable", "common_username") }
|
|
|
|
|
/// Verification cancelled
|
|
|
|
|
public static var commonVerificationCancelled: String { return L10n.tr("Localizable", "common_verification_cancelled") }
|
|
|
|
|
/// Verification complete
|
|
|
|
|
public static var commonVerificationComplete: String { return L10n.tr("Localizable", "common_verification_complete") }
|
|
|
|
|
/// Video
|
|
|
|
|
public static var commonVideo: String { return L10n.tr("Localizable", "common_video") }
|
|
|
|
|
/// Waiting…
|
|
|
|
|
public static var commonWaiting: String { return L10n.tr("Localizable", "common_waiting") }
|
|
|
|
|
/// %1$@ crashed the last time it was used. Would you like to share a crash report with us?
|
|
|
|
|
public static func crashDetectionDialogContent(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "crash_detection_dialog_content", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// Confirmation
|
|
|
|
|
public static var dialogTitleConfirmation: String { return L10n.tr("Localizable", "dialog_title_confirmation") }
|
|
|
|
|
/// Error
|
|
|
|
|
public static var dialogTitleError: String { return L10n.tr("Localizable", "dialog_title_error") }
|
|
|
|
|
/// Success
|
|
|
|
|
public static var dialogTitleSuccess: String { return L10n.tr("Localizable", "dialog_title_success") }
|
|
|
|
|
/// Warning
|
|
|
|
|
public static var dialogTitleWarning: String { return L10n.tr("Localizable", "dialog_title_warning") }
|
|
|
|
|
/// Activities
|
|
|
|
|
public static var emojiPickerCategoryActivity: String { return L10n.tr("Localizable", "emoji_picker_category_activity") }
|
|
|
|
|
/// Flags
|
|
|
|
|
public static var emojiPickerCategoryFlags: String { return L10n.tr("Localizable", "emoji_picker_category_flags") }
|
|
|
|
|
/// Food & Drink
|
|
|
|
|
public static var emojiPickerCategoryFoods: String { return L10n.tr("Localizable", "emoji_picker_category_foods") }
|
|
|
|
|
/// Animals & Nature
|
|
|
|
|
public static var emojiPickerCategoryNature: String { return L10n.tr("Localizable", "emoji_picker_category_nature") }
|
|
|
|
|
/// Objects
|
|
|
|
|
public static var emojiPickerCategoryObjects: String { return L10n.tr("Localizable", "emoji_picker_category_objects") }
|
|
|
|
|
/// Smileys & People
|
|
|
|
|
public static var emojiPickerCategoryPeople: String { return L10n.tr("Localizable", "emoji_picker_category_people") }
|
|
|
|
|
/// Travel & Places
|
|
|
|
|
public static var emojiPickerCategoryPlaces: String { return L10n.tr("Localizable", "emoji_picker_category_places") }
|
|
|
|
|
/// Symbols
|
|
|
|
|
public static var emojiPickerCategorySymbols: String { return L10n.tr("Localizable", "emoji_picker_category_symbols") }
|
|
|
|
|
/// Failed creating the permalink
|
|
|
|
|
public static var errorFailedCreatingThePermalink: String { return L10n.tr("Localizable", "error_failed_creating_the_permalink") }
|
|
|
|
|
/// Failed loading messages
|
|
|
|
|
public static var errorFailedLoadingMessages: String { return L10n.tr("Localizable", "error_failed_loading_messages") }
|
2023-04-03 13:18:19 +02:00
|
|
|
|
/// No compatible app was found to handle this action.
|
|
|
|
|
public static var errorNoCompatibleAppFound: String { return L10n.tr("Localizable", "error_no_compatible_app_found") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Some messages have not been sent
|
|
|
|
|
public static var errorSomeMessagesHaveNotBeenSent: String { return L10n.tr("Localizable", "error_some_messages_have_not_been_sent") }
|
|
|
|
|
/// Sorry, an error occurred
|
|
|
|
|
public static var errorUnknown: String { return L10n.tr("Localizable", "error_unknown") }
|
|
|
|
|
/// Hey, talk to me on %1$@: %2$@
|
|
|
|
|
public static func inviteFriendsText(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "invite_friends_text", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// Are you sure that you want to leave this room? You are the only person here. If you leave, no one will be able to join in the future, including you.
|
|
|
|
|
public static var leaveRoomAlertEmptySubtitle: String { return L10n.tr("Localizable", "leave_room_alert_empty_subtitle") }
|
|
|
|
|
/// Are you sure that you want to leave this room? This room is not public and you will not be able to rejoin without an invite.
|
|
|
|
|
public static var leaveRoomAlertPrivateSubtitle: String { return L10n.tr("Localizable", "leave_room_alert_private_subtitle") }
|
|
|
|
|
/// Are you sure that you want to leave the room?
|
|
|
|
|
public static var leaveRoomAlertSubtitle: String { return L10n.tr("Localizable", "leave_room_alert_subtitle") }
|
|
|
|
|
/// %1$@ iOS
|
|
|
|
|
public static func loginInitialDeviceNameIos(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "login_initial_device_name_ios", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// Notification
|
|
|
|
|
public static var notification: String { return L10n.tr("Localizable", "Notification") }
|
2023-04-12 12:03:11 +02:00
|
|
|
|
/// Call
|
|
|
|
|
public static var notificationChannelCall: String { return L10n.tr("Localizable", "notification_channel_call") }
|
|
|
|
|
/// Listening for events
|
|
|
|
|
public static var notificationChannelListeningForEvents: String { return L10n.tr("Localizable", "notification_channel_listening_for_events") }
|
|
|
|
|
/// Noisy notifications
|
|
|
|
|
public static var notificationChannelNoisy: String { return L10n.tr("Localizable", "notification_channel_noisy") }
|
|
|
|
|
/// Silent notifications
|
|
|
|
|
public static var notificationChannelSilent: String { return L10n.tr("Localizable", "notification_channel_silent") }
|
|
|
|
|
/// Plural format key: "%#@COUNT@"
|
|
|
|
|
public static func notificationCompatSummaryLineForRoom(_ p1: Int) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "notification_compat_summary_line_for_room", p1)
|
|
|
|
|
}
|
|
|
|
|
/// Plural format key: "%#@COUNT@"
|
|
|
|
|
public static func notificationCompatSummaryTitle(_ p1: Int) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "notification_compat_summary_title", p1)
|
|
|
|
|
}
|
|
|
|
|
/// ** Failed to send - please open room
|
|
|
|
|
public static var notificationInlineReplyFailed: String { return L10n.tr("Localizable", "notification_inline_reply_failed") }
|
|
|
|
|
/// Join
|
|
|
|
|
public static var notificationInvitationActionJoin: String { return L10n.tr("Localizable", "notification_invitation_action_join") }
|
|
|
|
|
/// Reject
|
|
|
|
|
public static var notificationInvitationActionReject: String { return L10n.tr("Localizable", "notification_invitation_action_reject") }
|
|
|
|
|
/// Plural format key: "%#@COUNT@"
|
|
|
|
|
public static func notificationInvitations(_ p1: Int) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "notification_invitations", p1)
|
|
|
|
|
}
|
|
|
|
|
/// New Messages
|
|
|
|
|
public static var notificationNewMessages: String { return L10n.tr("Localizable", "notification_new_messages") }
|
|
|
|
|
/// Plural format key: "%#@COUNT@"
|
|
|
|
|
public static func notificationNewMessagesForRoom(_ p1: Int) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "notification_new_messages_for_room", p1)
|
|
|
|
|
}
|
|
|
|
|
/// Mark as read
|
|
|
|
|
public static var notificationRoomActionMarkAsRead: String { return L10n.tr("Localizable", "notification_room_action_mark_as_read") }
|
|
|
|
|
/// Quick reply
|
|
|
|
|
public static var notificationRoomActionQuickReply: String { return L10n.tr("Localizable", "notification_room_action_quick_reply") }
|
|
|
|
|
/// Me
|
|
|
|
|
public static var notificationSenderMe: String { return L10n.tr("Localizable", "notification_sender_me") }
|
|
|
|
|
/// You are viewing the notification! Click me!
|
|
|
|
|
public static var notificationTestPushNotificationContent: String { return L10n.tr("Localizable", "notification_test_push_notification_content") }
|
|
|
|
|
/// %1$@: %2$@
|
|
|
|
|
public static func notificationTickerTextDm(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "notification_ticker_text_dm", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@: %2$@ %3$@
|
|
|
|
|
public static func notificationTickerTextGroup(_ p1: Any, _ p2: Any, _ p3: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "notification_ticker_text_group", String(describing: p1), String(describing: p2), String(describing: p3))
|
|
|
|
|
}
|
|
|
|
|
/// Plural format key: "%#@COUNT@"
|
|
|
|
|
public static func notificationUnreadNotifiedMessages(_ p1: Int) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "notification_unread_notified_messages", p1)
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ and %2$@
|
|
|
|
|
public static func notificationUnreadNotifiedMessagesAndInvitation(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "notification_unread_notified_messages_and_invitation", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ in %2$@
|
|
|
|
|
public static func notificationUnreadNotifiedMessagesInRoom(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "notification_unread_notified_messages_in_room", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ in %2$@ and %3$@
|
|
|
|
|
public static func notificationUnreadNotifiedMessagesInRoomAndInvitation(_ p1: Any, _ p2: Any, _ p3: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "notification_unread_notified_messages_in_room_and_invitation", String(describing: p1), String(describing: p2), String(describing: p3))
|
|
|
|
|
}
|
|
|
|
|
/// Plural format key: "%#@COUNT@"
|
|
|
|
|
public static func notificationUnreadNotifiedMessagesInRoomRooms(_ p1: Int) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "notification_unread_notified_messages_in_room_rooms", p1)
|
|
|
|
|
}
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Rageshake to report bug
|
|
|
|
|
public static var preferenceRageshake: String { return L10n.tr("Localizable", "preference_rageshake") }
|
|
|
|
|
/// You seem to be shaking the phone in frustration. Would you like to open the bug report screen?
|
|
|
|
|
public static var rageshakeDetectionDialogContent: String { return L10n.tr("Localizable", "rageshake_detection_dialog_content") }
|
|
|
|
|
/// You seem to be shaking the phone in frustration. Would you like to open the bug report screen?
|
|
|
|
|
public static var rageshakeDialogContent: String { return L10n.tr("Localizable", "rageshake_dialog_content") }
|
2023-04-03 10:21:24 +01:00
|
|
|
|
/// This message will be reported to your homeserver’s administrator. They will not be able to read any encrypted messages.
|
2023-03-27 18:18:59 +01:00
|
|
|
|
public static var reportContentExplanation: String { return L10n.tr("Localizable", "report_content_explanation") }
|
|
|
|
|
/// Reason for reporting this content
|
|
|
|
|
public static var reportContentHint: String { return L10n.tr("Localizable", "report_content_hint") }
|
|
|
|
|
/// Toggle bullet list
|
|
|
|
|
public static var richTextEditorBulletList: String { return L10n.tr("Localizable", "rich_text_editor_bullet_list") }
|
|
|
|
|
/// Toggle code block
|
|
|
|
|
public static var richTextEditorCodeBlock: String { return L10n.tr("Localizable", "rich_text_editor_code_block") }
|
|
|
|
|
/// Message…
|
|
|
|
|
public static var richTextEditorComposerPlaceholder: String { return L10n.tr("Localizable", "rich_text_editor_composer_placeholder") }
|
|
|
|
|
/// Apply bold format
|
|
|
|
|
public static var richTextEditorFormatBold: String { return L10n.tr("Localizable", "rich_text_editor_format_bold") }
|
|
|
|
|
/// Apply italic format
|
|
|
|
|
public static var richTextEditorFormatItalic: String { return L10n.tr("Localizable", "rich_text_editor_format_italic") }
|
|
|
|
|
/// Apply strikethrough format
|
|
|
|
|
public static var richTextEditorFormatStrikethrough: String { return L10n.tr("Localizable", "rich_text_editor_format_strikethrough") }
|
|
|
|
|
/// Apply underline format
|
|
|
|
|
public static var richTextEditorFormatUnderline: String { return L10n.tr("Localizable", "rich_text_editor_format_underline") }
|
|
|
|
|
/// Toggle full screen mode
|
|
|
|
|
public static var richTextEditorFullScreenToggle: String { return L10n.tr("Localizable", "rich_text_editor_full_screen_toggle") }
|
|
|
|
|
/// Indent
|
|
|
|
|
public static var richTextEditorIndent: String { return L10n.tr("Localizable", "rich_text_editor_indent") }
|
|
|
|
|
/// Apply inline code format
|
|
|
|
|
public static var richTextEditorInlineCode: String { return L10n.tr("Localizable", "rich_text_editor_inline_code") }
|
|
|
|
|
/// Set link
|
|
|
|
|
public static var richTextEditorLink: String { return L10n.tr("Localizable", "rich_text_editor_link") }
|
|
|
|
|
/// Toggle numbered list
|
|
|
|
|
public static var richTextEditorNumberedList: String { return L10n.tr("Localizable", "rich_text_editor_numbered_list") }
|
|
|
|
|
/// Toggle quote
|
|
|
|
|
public static var richTextEditorQuote: String { return L10n.tr("Localizable", "rich_text_editor_quote") }
|
|
|
|
|
/// Unindent
|
|
|
|
|
public static var richTextEditorUnindent: String { return L10n.tr("Localizable", "rich_text_editor_unindent") }
|
|
|
|
|
/// This is the beginning of %1$@.
|
|
|
|
|
public static func roomTimelineBeginningOfRoom(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "room_timeline_beginning_of_room", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// This is the beginning of this conversation.
|
|
|
|
|
public static var roomTimelineBeginningOfRoomNoName: String { return L10n.tr("Localizable", "room_timeline_beginning_of_room_no_name") }
|
|
|
|
|
/// New
|
|
|
|
|
public static var roomTimelineReadMarkerTitle: String { return L10n.tr("Localizable", "room_timeline_read_marker_title") }
|
|
|
|
|
/// Plural format key: "%#@COUNT@"
|
|
|
|
|
public static func roomTimelineStateChanges(_ p1: Int) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "room_timeline_state_changes", p1)
|
|
|
|
|
}
|
2023-04-18 09:33:32 +02:00
|
|
|
|
/// Help us identify issues and improve %1$@ by sharing anonymous usage data.
|
|
|
|
|
public static func screenAnalyticsHelpUsImprove(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "screen_analytics_help_us_improve", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// We <b>don't</b> record or profile any account data
|
|
|
|
|
public static var screenAnalyticsPromptDataUsage: String { return L10n.tr("Localizable", "screen_analytics_prompt_data_usage") }
|
|
|
|
|
/// Help us identify issues and improve %1$@ by sharing anonymous usage data.
|
|
|
|
|
public static func screenAnalyticsPromptHelpUsImprove(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "screen_analytics_prompt_help_us_improve", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// You can read all our terms %1$@.
|
|
|
|
|
public static func screenAnalyticsPromptReadTerms(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "screen_analytics_prompt_read_terms", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// here
|
|
|
|
|
public static var screenAnalyticsPromptReadTermsContentLink: String { return L10n.tr("Localizable", "screen_analytics_prompt_read_terms_content_link") }
|
|
|
|
|
/// You can turn this off anytime in settings
|
|
|
|
|
public static var screenAnalyticsPromptSettings: String { return L10n.tr("Localizable", "screen_analytics_prompt_settings") }
|
|
|
|
|
/// We <b>don't</b> share information with third parties
|
|
|
|
|
public static var screenAnalyticsPromptThirdPartySharing: String { return L10n.tr("Localizable", "screen_analytics_prompt_third_party_sharing") }
|
|
|
|
|
/// Help improve %1$@
|
|
|
|
|
public static func screenAnalyticsPromptTitle(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "screen_analytics_prompt_title", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// You can read all our terms %1$@.
|
|
|
|
|
public static func screenAnalyticsReadTerms(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "screen_analytics_read_terms", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// here
|
|
|
|
|
public static var screenAnalyticsReadTermsContentLink: String { return L10n.tr("Localizable", "screen_analytics_read_terms_content_link") }
|
|
|
|
|
/// Share analytics data
|
|
|
|
|
public static var screenAnalyticsShareData: String { return L10n.tr("Localizable", "screen_analytics_share_data") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Attach screenshot
|
|
|
|
|
public static var screenBugReportAttachScreenshot: String { return L10n.tr("Localizable", "screen_bug_report_attach_screenshot") }
|
|
|
|
|
/// You may contact me if you have any follow up questions
|
|
|
|
|
public static var screenBugReportContactMe: String { return L10n.tr("Localizable", "screen_bug_report_contact_me") }
|
|
|
|
|
/// Edit screenshot
|
|
|
|
|
public static var screenBugReportEditScreenshot: String { return L10n.tr("Localizable", "screen_bug_report_edit_screenshot") }
|
|
|
|
|
/// Please describe the bug. What did you do? What did you expect to happen? What actually happened. Please go into as much detail as you can.
|
|
|
|
|
public static var screenBugReportEditorDescription: String { return L10n.tr("Localizable", "screen_bug_report_editor_description") }
|
|
|
|
|
/// Describe the bug…
|
|
|
|
|
public static var screenBugReportEditorPlaceholder: String { return L10n.tr("Localizable", "screen_bug_report_editor_placeholder") }
|
|
|
|
|
/// If possible, please write the description in English.
|
|
|
|
|
public static var screenBugReportEditorSupporting: String { return L10n.tr("Localizable", "screen_bug_report_editor_supporting") }
|
|
|
|
|
/// Send crash logs
|
|
|
|
|
public static var screenBugReportIncludeCrashLogs: String { return L10n.tr("Localizable", "screen_bug_report_include_crash_logs") }
|
|
|
|
|
/// Send logs to help
|
|
|
|
|
public static var screenBugReportIncludeLogs: String { return L10n.tr("Localizable", "screen_bug_report_include_logs") }
|
|
|
|
|
/// Send screenshot
|
|
|
|
|
public static var screenBugReportIncludeScreenshot: String { return L10n.tr("Localizable", "screen_bug_report_include_screenshot") }
|
|
|
|
|
/// To check things work as intended, logs will be sent with your message. These will be private. To just send your message, turn off this setting.
|
|
|
|
|
public static var screenBugReportLogsDescription: String { return L10n.tr("Localizable", "screen_bug_report_logs_description") }
|
|
|
|
|
/// %1$@ crashed the last time it was used. Would you like to share a crash report with us?
|
|
|
|
|
public static func screenBugReportRashLogsAlertTitle(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "screen_bug_report_rash_logs_alert_title", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// We couldn't reach this homeserver. Please check that you have entered the homeserver URL correctly. If the URL is correct, contact your homeserver administrator for further help.
|
|
|
|
|
public static var screenChangeServerErrorInvalidHomeserver: String { return L10n.tr("Localizable", "screen_change_server_error_invalid_homeserver") }
|
|
|
|
|
/// This server currently doesn’t support sliding sync.
|
|
|
|
|
public static var screenChangeServerErrorNoSlidingSyncMessage: String { return L10n.tr("Localizable", "screen_change_server_error_no_sliding_sync_message") }
|
|
|
|
|
/// Homeserver URL
|
|
|
|
|
public static var screenChangeServerFormHeader: String { return L10n.tr("Localizable", "screen_change_server_form_header") }
|
|
|
|
|
/// You can only connect to an existing server that supports sliding sync. Your homeserver admin will need to configure it. %1$@
|
|
|
|
|
public static func screenChangeServerFormNotice(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "screen_change_server_form_notice", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// Continue
|
|
|
|
|
public static var screenChangeServerSubmit: String { return L10n.tr("Localizable", "screen_change_server_submit") }
|
|
|
|
|
/// What is the address of your server?
|
|
|
|
|
public static var screenChangeServerSubtitle: String { return L10n.tr("Localizable", "screen_change_server_subtitle") }
|
|
|
|
|
/// Select your server
|
|
|
|
|
public static var screenChangeServerTitle: String { return L10n.tr("Localizable", "screen_change_server_title") }
|
|
|
|
|
/// New room
|
|
|
|
|
public static var screenCreateRoomActionCreateRoom: String { return L10n.tr("Localizable", "screen_create_room_action_create_room") }
|
|
|
|
|
/// Invite people
|
|
|
|
|
public static var screenCreateRoomActionInvitePeople: String { return L10n.tr("Localizable", "screen_create_room_action_invite_people") }
|
|
|
|
|
/// Add people
|
|
|
|
|
public static var screenCreateRoomAddPeopleTitle: String { return L10n.tr("Localizable", "screen_create_room_add_people_title") }
|
2023-04-17 00:05:10 +00:00
|
|
|
|
/// An error occurred when creating the room
|
|
|
|
|
public static var screenCreateRoomErrorCreatingRoom: String { return L10n.tr("Localizable", "screen_create_room_error_creating_room") }
|
2023-04-12 12:03:11 +02:00
|
|
|
|
/// Messages in this room are encrypted. Encryption can’t be disabled afterwards.
|
|
|
|
|
public static var screenCreateRoomPrivateOptionDescription: String { return L10n.tr("Localizable", "screen_create_room_private_option_description") }
|
|
|
|
|
/// Private room (invite only)
|
|
|
|
|
public static var screenCreateRoomPrivateOptionTitle: String { return L10n.tr("Localizable", "screen_create_room_private_option_title") }
|
|
|
|
|
/// Messages are not encrypted and anyone can read them. You can enable encryption at a later date.
|
|
|
|
|
public static var screenCreateRoomPublicOptionDescription: String { return L10n.tr("Localizable", "screen_create_room_public_option_description") }
|
|
|
|
|
/// Public room (anyone)
|
|
|
|
|
public static var screenCreateRoomPublicOptionTitle: String { return L10n.tr("Localizable", "screen_create_room_public_option_title") }
|
|
|
|
|
/// Room name
|
|
|
|
|
public static var screenCreateRoomRoomNameLabel: String { return L10n.tr("Localizable", "screen_create_room_room_name_label") }
|
|
|
|
|
/// e.g. Product Sprint
|
|
|
|
|
public static var screenCreateRoomRoomNamePlaceholder: String { return L10n.tr("Localizable", "screen_create_room_room_name_placeholder") }
|
|
|
|
|
/// Create a room
|
|
|
|
|
public static var screenCreateRoomTitle: String { return L10n.tr("Localizable", "screen_create_room_title") }
|
|
|
|
|
/// Topic (optional)
|
|
|
|
|
public static var screenCreateRoomTopicLabel: String { return L10n.tr("Localizable", "screen_create_room_topic_label") }
|
|
|
|
|
/// What is this room about?
|
|
|
|
|
public static var screenCreateRoomTopicPlaceholder: String { return L10n.tr("Localizable", "screen_create_room_topic_placeholder") }
|
2023-04-03 13:18:19 +02:00
|
|
|
|
/// Block
|
|
|
|
|
public static var screenDmDetailsBlockAlertAction: String { return L10n.tr("Localizable", "screen_dm_details_block_alert_action") }
|
|
|
|
|
/// Blocked users will not be able to send you messages and all message by them will be hidden. You can reverse this action anytime.
|
|
|
|
|
public static var screenDmDetailsBlockAlertDescription: String { return L10n.tr("Localizable", "screen_dm_details_block_alert_description") }
|
|
|
|
|
/// Block user
|
|
|
|
|
public static var screenDmDetailsBlockUser: String { return L10n.tr("Localizable", "screen_dm_details_block_user") }
|
|
|
|
|
/// Unblock
|
|
|
|
|
public static var screenDmDetailsUnblockAlertAction: String { return L10n.tr("Localizable", "screen_dm_details_unblock_alert_action") }
|
|
|
|
|
/// On unblocking the user, you will be able to see all messages by them again.
|
|
|
|
|
public static var screenDmDetailsUnblockAlertDescription: String { return L10n.tr("Localizable", "screen_dm_details_unblock_alert_description") }
|
|
|
|
|
/// Unblock user
|
|
|
|
|
public static var screenDmDetailsUnblockUser: String { return L10n.tr("Localizable", "screen_dm_details_unblock_user") }
|
2023-04-18 09:33:32 +02:00
|
|
|
|
/// Are you sure you want to decline joining %1$@?
|
|
|
|
|
public static func screenInvitesDeclineChatMessage(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "screen_invites_decline_chat_message", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// Decline invite
|
|
|
|
|
public static var screenInvitesDeclineChatTitle: String { return L10n.tr("Localizable", "screen_invites_decline_chat_title") }
|
|
|
|
|
/// Are you sure you want to decline to chat with %1$@?
|
|
|
|
|
public static func screenInvitesDeclineDirectChatMessage(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "screen_invites_decline_direct_chat_message", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// Decline chat
|
|
|
|
|
public static var screenInvitesDeclineDirectChatTitle: String { return L10n.tr("Localizable", "screen_invites_decline_direct_chat_title") }
|
2023-04-12 17:03:25 +00:00
|
|
|
|
/// No Invites
|
|
|
|
|
public static var screenInvitesEmptyList: String { return L10n.tr("Localizable", "screen_invites_empty_list") }
|
2023-04-12 12:03:11 +02:00
|
|
|
|
/// %1$@ invited you
|
|
|
|
|
public static func screenInvitesInvitedYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "screen_invites_invited_you", String(describing: p1))
|
|
|
|
|
}
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// This account has been deactivated.
|
|
|
|
|
public static var screenLoginErrorDeactivatedAccount: String { return L10n.tr("Localizable", "screen_login_error_deactivated_account") }
|
|
|
|
|
/// Incorrect username and/or password
|
|
|
|
|
public static var screenLoginErrorInvalidCredentials: String { return L10n.tr("Localizable", "screen_login_error_invalid_credentials") }
|
|
|
|
|
/// This is not a valid user identifier. Expected format: ‘@user:homeserver.org’
|
|
|
|
|
public static var screenLoginErrorInvalidUserId: String { return L10n.tr("Localizable", "screen_login_error_invalid_user_id") }
|
|
|
|
|
/// The selected homeserver doesn't support password or OIDC login. Please contact your admin or choose another homeserver.
|
|
|
|
|
public static var screenLoginErrorUnsupportedAuthentication: String { return L10n.tr("Localizable", "screen_login_error_unsupported_authentication") }
|
|
|
|
|
/// Enter your details
|
|
|
|
|
public static var screenLoginFormHeader: String { return L10n.tr("Localizable", "screen_login_form_header") }
|
|
|
|
|
/// Password
|
|
|
|
|
public static var screenLoginPasswordHint: String { return L10n.tr("Localizable", "screen_login_password_hint") }
|
|
|
|
|
/// Where your conversations live
|
|
|
|
|
public static var screenLoginServerHeader: String { return L10n.tr("Localizable", "screen_login_server_header") }
|
|
|
|
|
/// Continue
|
|
|
|
|
public static var screenLoginSubmit: String { return L10n.tr("Localizable", "screen_login_submit") }
|
|
|
|
|
/// Welcome back!
|
|
|
|
|
public static var screenLoginTitle: String { return L10n.tr("Localizable", "screen_login_title") }
|
|
|
|
|
/// Username
|
|
|
|
|
public static var screenLoginUsernameHint: String { return L10n.tr("Localizable", "screen_login_username_hint") }
|
|
|
|
|
/// Welcome to the %1$@ Beta. Supercharged, for speed and simplicity.
|
|
|
|
|
public static func screenOnboardingWelcomeSubtitle(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "screen_onboarding_welcome_subtitle", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// Be in your Element
|
|
|
|
|
public static var screenOnboardingWelcomeTitle: String { return L10n.tr("Localizable", "screen_onboarding_welcome_title") }
|
2023-04-03 10:21:24 +01:00
|
|
|
|
/// Block user
|
|
|
|
|
public static var screenReportContentBlockUser: String { return L10n.tr("Localizable", "screen_report_content_block_user") }
|
|
|
|
|
/// Check if you want to hide all current and future messages from this user
|
|
|
|
|
public static var screenReportContentBlockUserHint: String { return L10n.tr("Localizable", "screen_report_content_block_user_hint") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Messages are secured with locks. Only you and the recipients have the unique keys to unlock them.
|
|
|
|
|
public static var screenRoomDetailsEncryptionEnabledSubtitle: String { return L10n.tr("Localizable", "screen_room_details_encryption_enabled_subtitle") }
|
|
|
|
|
/// Message encryption enabled
|
|
|
|
|
public static var screenRoomDetailsEncryptionEnabledTitle: String { return L10n.tr("Localizable", "screen_room_details_encryption_enabled_title") }
|
|
|
|
|
/// Invite people
|
|
|
|
|
public static var screenRoomDetailsInvitePeopleTitle: String { return L10n.tr("Localizable", "screen_room_details_invite_people_title") }
|
|
|
|
|
/// Leave room
|
|
|
|
|
public static var screenRoomDetailsLeaveRoomTitle: String { return L10n.tr("Localizable", "screen_room_details_leave_room_title") }
|
|
|
|
|
/// People
|
|
|
|
|
public static var screenRoomDetailsPeopleTitle: String { return L10n.tr("Localizable", "screen_room_details_people_title") }
|
|
|
|
|
/// Security
|
|
|
|
|
public static var screenRoomDetailsSecurityTitle: String { return L10n.tr("Localizable", "screen_room_details_security_title") }
|
2023-04-03 13:18:19 +02:00
|
|
|
|
/// Share room
|
|
|
|
|
public static var screenRoomDetailsShareRoomTitle: String { return L10n.tr("Localizable", "screen_room_details_share_room_title") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Topic
|
|
|
|
|
public static var screenRoomDetailsTopicTitle: String { return L10n.tr("Localizable", "screen_room_details_topic_title") }
|
|
|
|
|
/// Block
|
|
|
|
|
public static var screenRoomMemberDetailsBlockAlertAction: String { return L10n.tr("Localizable", "screen_room_member_details_block_alert_action") }
|
|
|
|
|
/// Blocked users will not be able to send you messages and all message by them will be hidden. You can reverse this action anytime.
|
|
|
|
|
public static var screenRoomMemberDetailsBlockAlertDescription: String { return L10n.tr("Localizable", "screen_room_member_details_block_alert_description") }
|
|
|
|
|
/// Block user
|
|
|
|
|
public static var screenRoomMemberDetailsBlockUser: String { return L10n.tr("Localizable", "screen_room_member_details_block_user") }
|
|
|
|
|
/// Unblock
|
|
|
|
|
public static var screenRoomMemberDetailsUnblockAlertAction: String { return L10n.tr("Localizable", "screen_room_member_details_unblock_alert_action") }
|
|
|
|
|
/// On unblocking the user, you will be able to see all messages by them again.
|
|
|
|
|
public static var screenRoomMemberDetailsUnblockAlertDescription: String { return L10n.tr("Localizable", "screen_room_member_details_unblock_alert_description") }
|
|
|
|
|
/// Unblock user
|
|
|
|
|
public static var screenRoomMemberDetailsUnblockUser: String { return L10n.tr("Localizable", "screen_room_member_details_unblock_user") }
|
2023-04-03 13:18:19 +02:00
|
|
|
|
/// Plural format key: "%#@COUNT@"
|
|
|
|
|
public static func screenRoomMemberListHeaderTitle(_ p1: Int) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "screen_room_member_list_header_title", p1)
|
|
|
|
|
}
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Create a new conversation or room
|
|
|
|
|
public static var screenRoomlistA11yCreateMessage: String { return L10n.tr("Localizable", "screen_roomlist_a11y_create_message") }
|
|
|
|
|
/// All Chats
|
|
|
|
|
public static var screenRoomlistMainSpaceTitle: String { return L10n.tr("Localizable", "screen_roomlist_main_space_title") }
|
|
|
|
|
/// Something doesn’t seem right. Either the request timed out or the request was denied.
|
|
|
|
|
public static var screenSessionVerificationCancelledSubtitle: String { return L10n.tr("Localizable", "screen_session_verification_cancelled_subtitle") }
|
|
|
|
|
/// Verification cancelled
|
|
|
|
|
public static var screenSessionVerificationCancelledTitle: String { return L10n.tr("Localizable", "screen_session_verification_cancelled_title") }
|
|
|
|
|
/// Confirm that the emojis below match those shown on your other session.
|
|
|
|
|
public static var screenSessionVerificationCompareEmojisSubtitle: String { return L10n.tr("Localizable", "screen_session_verification_compare_emojis_subtitle") }
|
|
|
|
|
/// Compare emojis
|
|
|
|
|
public static var screenSessionVerificationCompareEmojisTitle: String { return L10n.tr("Localizable", "screen_session_verification_compare_emojis_title") }
|
|
|
|
|
/// Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.
|
|
|
|
|
public static var screenSessionVerificationCompleteSubtitle: String { return L10n.tr("Localizable", "screen_session_verification_complete_subtitle") }
|
|
|
|
|
/// Prove it’s you in order to access your encrypted message history.
|
|
|
|
|
public static var screenSessionVerificationOpenExistingSessionSubtitle: String { return L10n.tr("Localizable", "screen_session_verification_open_existing_session_subtitle") }
|
|
|
|
|
/// Open an existing session
|
|
|
|
|
public static var screenSessionVerificationOpenExistingSessionTitle: String { return L10n.tr("Localizable", "screen_session_verification_open_existing_session_title") }
|
|
|
|
|
/// Retry verification
|
|
|
|
|
public static var screenSessionVerificationPositiveButtonCanceled: String { return L10n.tr("Localizable", "screen_session_verification_positive_button_canceled") }
|
|
|
|
|
/// I am ready
|
|
|
|
|
public static var screenSessionVerificationPositiveButtonInitial: String { return L10n.tr("Localizable", "screen_session_verification_positive_button_initial") }
|
|
|
|
|
/// Start
|
|
|
|
|
public static var screenSessionVerificationPositiveButtonReady: String { return L10n.tr("Localizable", "screen_session_verification_positive_button_ready") }
|
|
|
|
|
/// Waiting to match
|
|
|
|
|
public static var screenSessionVerificationPositiveButtonVerifyingOngoing: String { return L10n.tr("Localizable", "screen_session_verification_positive_button_verifying_ongoing") }
|
|
|
|
|
/// Compare the unique emoji, ensuring they appear in the same order.
|
|
|
|
|
public static var screenSessionVerificationRequestAcceptedSubtitle: String { return L10n.tr("Localizable", "screen_session_verification_request_accepted_subtitle") }
|
|
|
|
|
/// They don’t match
|
|
|
|
|
public static var screenSessionVerificationTheyDontMatch: String { return L10n.tr("Localizable", "screen_session_verification_they_dont_match") }
|
|
|
|
|
/// They match
|
|
|
|
|
public static var screenSessionVerificationTheyMatch: String { return L10n.tr("Localizable", "screen_session_verification_they_match") }
|
|
|
|
|
/// Accept the request to start the verification process in your other session to continue.
|
|
|
|
|
public static var screenSessionVerificationWaitingToAcceptSubtitle: String { return L10n.tr("Localizable", "screen_session_verification_waiting_to_accept_subtitle") }
|
|
|
|
|
/// Waiting to accept request
|
|
|
|
|
public static var screenSessionVerificationWaitingToAcceptTitle: String { return L10n.tr("Localizable", "screen_session_verification_waiting_to_accept_title") }
|
|
|
|
|
/// Are you sure you want to sign out?
|
|
|
|
|
public static var screenSignoutConfirmationDialogContent: String { return L10n.tr("Localizable", "screen_signout_confirmation_dialog_content") }
|
|
|
|
|
/// Sign out
|
|
|
|
|
public static var screenSignoutConfirmationDialogSubmit: String { return L10n.tr("Localizable", "screen_signout_confirmation_dialog_submit") }
|
|
|
|
|
/// Sign out
|
|
|
|
|
public static var screenSignoutConfirmationDialogTitle: String { return L10n.tr("Localizable", "screen_signout_confirmation_dialog_title") }
|
|
|
|
|
/// Signing out…
|
|
|
|
|
public static var screenSignoutInProgressDialogContent: String { return L10n.tr("Localizable", "screen_signout_in_progress_dialog_content") }
|
|
|
|
|
/// Sign out
|
|
|
|
|
public static var screenSignoutPreferenceItem: String { return L10n.tr("Localizable", "screen_signout_preference_item") }
|
|
|
|
|
/// An error occurred when trying to start a chat
|
|
|
|
|
public static var screenStartChatErrorStartingChat: String { return L10n.tr("Localizable", "screen_start_chat_error_starting_chat") }
|
2023-04-04 10:47:41 +02:00
|
|
|
|
/// We can’t validate this user’s Matrix ID. The invite might not be received.
|
|
|
|
|
public static var screenStartChatUnknownProfile: String { return L10n.tr("Localizable", "screen_start_chat_unknown_profile") }
|
2023-03-27 18:18:59 +01:00
|
|
|
|
/// Looks like you’re using a new device. Verify it’s you to access your encrypted messages.
|
|
|
|
|
public static var sessionVerificationBannerMessage: String { return L10n.tr("Localizable", "session_verification_banner_message") }
|
|
|
|
|
/// Access your message history
|
|
|
|
|
public static var sessionVerificationBannerTitle: String { return L10n.tr("Localizable", "session_verification_banner_title") }
|
|
|
|
|
/// Rageshake
|
|
|
|
|
public static var settingsRageshake: String { return L10n.tr("Localizable", "settings_rageshake") }
|
|
|
|
|
/// Detection threshold
|
|
|
|
|
public static var settingsRageshakeDetectionThreshold: String { return L10n.tr("Localizable", "settings_rageshake_detection_threshold") }
|
|
|
|
|
/// General
|
|
|
|
|
public static var settingsTitleGeneral: String { return L10n.tr("Localizable", "settings_title_general") }
|
|
|
|
|
/// Version: %1$@ (%2$@)
|
|
|
|
|
public static func settingsVersionNumber(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "settings_version_number", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// (avatar was changed too)
|
|
|
|
|
public static var stateEventAvatarChangedToo: String { return L10n.tr("Localizable", "state_event_avatar_changed_too") }
|
|
|
|
|
/// %1$@ changed their avatar
|
|
|
|
|
public static func stateEventAvatarUrlChanged(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_avatar_url_changed", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// You changed your avatar
|
|
|
|
|
public static var stateEventAvatarUrlChangedByYou: String { return L10n.tr("Localizable", "state_event_avatar_url_changed_by_you") }
|
|
|
|
|
/// %1$@ changed their display name from %2$@ to %3$@
|
|
|
|
|
public static func stateEventDisplayNameChangedFrom(_ p1: Any, _ p2: Any, _ p3: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_display_name_changed_from", String(describing: p1), String(describing: p2), String(describing: p3))
|
|
|
|
|
}
|
|
|
|
|
/// You changed your display name from %1$@ to %2$@
|
|
|
|
|
public static func stateEventDisplayNameChangedFromByYou(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_display_name_changed_from_by_you", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ removed their display name (it was %2$@)
|
|
|
|
|
public static func stateEventDisplayNameRemoved(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_display_name_removed", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// You removed your display name (it was %1$@)
|
|
|
|
|
public static func stateEventDisplayNameRemovedByYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_display_name_removed_by_you", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ set their display name to %2$@
|
|
|
|
|
public static func stateEventDisplayNameSet(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_display_name_set", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// You set your display name to %1$@
|
|
|
|
|
public static func stateEventDisplayNameSetByYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_display_name_set_by_you", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ changed the room avatar
|
|
|
|
|
public static func stateEventRoomAvatarChanged(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_avatar_changed", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// You changed the room avatar
|
|
|
|
|
public static var stateEventRoomAvatarChangedByYou: String { return L10n.tr("Localizable", "state_event_room_avatar_changed_by_you") }
|
|
|
|
|
/// %1$@ removed the room avatar
|
|
|
|
|
public static func stateEventRoomAvatarRemoved(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_avatar_removed", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// You removed the room avatar
|
|
|
|
|
public static var stateEventRoomAvatarRemovedByYou: String { return L10n.tr("Localizable", "state_event_room_avatar_removed_by_you") }
|
|
|
|
|
/// %1$@ banned %2$@
|
|
|
|
|
public static func stateEventRoomBan(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_ban", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// You banned %1$@
|
|
|
|
|
public static func stateEventRoomBanByYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_ban_by_you", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ created the room
|
|
|
|
|
public static func stateEventRoomCreated(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_created", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// You created the room
|
|
|
|
|
public static var stateEventRoomCreatedByYou: String { return L10n.tr("Localizable", "state_event_room_created_by_you") }
|
|
|
|
|
/// %1$@ invited %2$@
|
|
|
|
|
public static func stateEventRoomInvite(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_invite", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ accepted the invite
|
|
|
|
|
public static func stateEventRoomInviteAccepted(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_invite_accepted", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// You accepted the invite
|
|
|
|
|
public static var stateEventRoomInviteAcceptedByYou: String { return L10n.tr("Localizable", "state_event_room_invite_accepted_by_you") }
|
|
|
|
|
/// You invited %1$@
|
|
|
|
|
public static func stateEventRoomInviteByYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_invite_by_you", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ invited you
|
|
|
|
|
public static func stateEventRoomInviteYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_invite_you", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ joined the room
|
|
|
|
|
public static func stateEventRoomJoin(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_join", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// You joined the room
|
|
|
|
|
public static var stateEventRoomJoinByYou: String { return L10n.tr("Localizable", "state_event_room_join_by_you") }
|
|
|
|
|
/// %1$@ requested to join
|
|
|
|
|
public static func stateEventRoomKnock(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_knock", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ allowed %2$@ to join
|
|
|
|
|
public static func stateEventRoomKnockAccepted(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_knock_accepted", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ allowed you to join
|
|
|
|
|
public static func stateEventRoomKnockAcceptedByYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_knock_accepted_by_you", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// You requested to join
|
|
|
|
|
public static var stateEventRoomKnockByYou: String { return L10n.tr("Localizable", "state_event_room_knock_by_you") }
|
|
|
|
|
/// %1$@ rejected %2$@'s request to join
|
|
|
|
|
public static func stateEventRoomKnockDenied(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_knock_denied", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// You rejected %1$@'s request to join
|
|
|
|
|
public static func stateEventRoomKnockDeniedByYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_knock_denied_by_you", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ rejected your request to join
|
|
|
|
|
public static func stateEventRoomKnockDeniedYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_knock_denied_you", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ is no longer interested in joining
|
|
|
|
|
public static func stateEventRoomKnockRetracted(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_knock_retracted", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// You cancelled your request to join
|
|
|
|
|
public static var stateEventRoomKnockRetractedByYou: String { return L10n.tr("Localizable", "state_event_room_knock_retracted_by_you") }
|
|
|
|
|
/// %1$@ left the room
|
|
|
|
|
public static func stateEventRoomLeave(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_leave", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// You left the room
|
|
|
|
|
public static var stateEventRoomLeaveByYou: String { return L10n.tr("Localizable", "state_event_room_leave_by_you") }
|
|
|
|
|
/// %1$@ changed the room name to: %2$@
|
|
|
|
|
public static func stateEventRoomNameChanged(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_name_changed", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// You changed the room name to: %1$@
|
|
|
|
|
public static func stateEventRoomNameChangedByYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_name_changed_by_you", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ removed the room name
|
|
|
|
|
public static func stateEventRoomNameRemoved(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_name_removed", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// You removed the room name
|
|
|
|
|
public static var stateEventRoomNameRemovedByYou: String { return L10n.tr("Localizable", "state_event_room_name_removed_by_you") }
|
|
|
|
|
/// %1$@ rejected the invitation
|
|
|
|
|
public static func stateEventRoomReject(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_reject", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// You rejected the invitation
|
|
|
|
|
public static var stateEventRoomRejectByYou: String { return L10n.tr("Localizable", "state_event_room_reject_by_you") }
|
|
|
|
|
/// %1$@ removed %2$@
|
|
|
|
|
public static func stateEventRoomRemove(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_remove", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// You removed %1$@
|
|
|
|
|
public static func stateEventRoomRemoveByYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_remove_by_you", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ sent an invitation to %2$@ to join the room
|
|
|
|
|
public static func stateEventRoomThirdPartyInvite(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_third_party_invite", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// You sent an invitation to %1$@ to join the room
|
|
|
|
|
public static func stateEventRoomThirdPartyInviteByYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_third_party_invite_by_you", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ revoked the invitation for %2$@ to join the room
|
|
|
|
|
public static func stateEventRoomThirdPartyRevokedInvite(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_third_party_revoked_invite", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// You revoked the invitation for %1$@ to join the room
|
|
|
|
|
public static func stateEventRoomThirdPartyRevokedInviteByYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_third_party_revoked_invite_by_you", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ changed the topic to: %2$@
|
|
|
|
|
public static func stateEventRoomTopicChanged(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_topic_changed", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// You changed the topic to: %1$@
|
|
|
|
|
public static func stateEventRoomTopicChangedByYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_topic_changed_by_you", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ removed the room topic
|
|
|
|
|
public static func stateEventRoomTopicRemoved(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_topic_removed", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// You removed the room topic
|
|
|
|
|
public static var stateEventRoomTopicRemovedByYou: String { return L10n.tr("Localizable", "state_event_room_topic_removed_by_you") }
|
|
|
|
|
/// %1$@ unbanned %2$@
|
|
|
|
|
public static func stateEventRoomUnban(_ p1: Any, _ p2: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_unban", String(describing: p1), String(describing: p2))
|
|
|
|
|
}
|
|
|
|
|
/// You unbanned %1$@
|
|
|
|
|
public static func stateEventRoomUnbanByYou(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_unban_by_you", String(describing: p1))
|
|
|
|
|
}
|
|
|
|
|
/// %1$@ made an unknown change to their membership
|
|
|
|
|
public static func stateEventRoomUnknownMembershipChange(_ p1: Any) -> String {
|
|
|
|
|
return L10n.tr("Localizable", "state_event_room_unknown_membership_change", String(describing: p1))
|
|
|
|
|
}
|
2023-04-05 10:36:02 +02:00
|
|
|
|
/// en
|
|
|
|
|
public static var testLanguageIdentifier: String { return L10n.tr("Localizable", "test_language_identifier") }
|
|
|
|
|
/// en
|
|
|
|
|
public static var testUntranslatedDefaultLanguageIdentifier: String { return L10n.tr("Localizable", "test_untranslated_default_language_identifier") }
|
2022-04-26 22:48:17 +03:00
|
|
|
|
}
|
|
|
|
|
// swiftlint:enable explicit_type_interface function_parameter_count identifier_name line_length
|
|
|
|
|
// swiftlint:enable nesting type_body_length type_name vertical_whitespace_opening_braces
|
|
|
|
|
|
|
|
|
|
// MARK: - Implementation Details
|
|
|
|
|
|
2023-03-17 16:17:45 +00:00
|
|
|
|
extension L10n {
|
2022-04-26 22:48:17 +03:00
|
|
|
|
static func tr(_ table: String, _ key: String, _ args: CVarArg...) -> String {
|
2023-04-17 15:58:39 +01:00
|
|
|
|
// Use preferredLocalizations to get a language that is in the bundle and the user's preferred list of languages.
|
|
|
|
|
let languages = Bundle.overrideLocalizations ?? Bundle.app.preferredLocalizations
|
2022-04-26 22:48:17 +03:00
|
|
|
|
|
|
|
|
|
for language in languages {
|
2023-04-05 10:36:02 +02:00
|
|
|
|
if let translation = trIn(language, table, key, args) {
|
2022-04-26 22:48:17 +03:00
|
|
|
|
return translation
|
|
|
|
|
}
|
2023-04-05 10:36:02 +02:00
|
|
|
|
}
|
2023-04-17 15:58:39 +01:00
|
|
|
|
return Bundle.app.developmentLocalization.flatMap { trIn($0, table, key, args) } ?? key
|
|
|
|
|
}
|
2022-04-26 22:48:17 +03:00
|
|
|
|
|
2023-04-05 10:36:02 +02:00
|
|
|
|
private static func trIn(_ language: String, _ table: String, _ key: String, _ args: CVarArg...) -> String? {
|
2023-04-17 15:58:39 +01:00
|
|
|
|
guard let bundle = Bundle.lprojBundle(for: language) else { return nil }
|
2022-04-26 22:48:17 +03:00
|
|
|
|
let format = NSLocalizedString(key, tableName: table, bundle: bundle, comment: "")
|
2023-04-17 15:58:39 +01:00
|
|
|
|
let translation = String(format: format, locale: Locale(identifier: language), arguments: args)
|
|
|
|
|
guard translation != key else { return nil }
|
|
|
|
|
return translation
|
2022-04-26 22:48:17 +03:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-04-12 10:33:38 +01:00
|
|
|
|
// swiftlint:enable all
|