mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
Merge branch 'hotfix/2.19.1'
This commit is contained in:
commit
fd829ba575
14 changed files with 3624 additions and 104 deletions
|
@ -38,7 +38,7 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>2.19.0</string>
|
||||
<string>2.19.1</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
|
@ -55,7 +55,7 @@
|
|||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>2.19.0.22</string>
|
||||
<string>2.19.1.0</string>
|
||||
<key>ITSAppUsesNonExemptEncryption</key>
|
||||
<false/>
|
||||
<key>LOGS_EMAIL</key>
|
||||
|
@ -103,6 +103,8 @@
|
|||
<string>Signal needs access to your microphone to make and receive phone calls and record voice messages.</string>
|
||||
<key>NSPhotoLibraryUsageDescription</key>
|
||||
<string>Signal will let you choose which photos from your library to send.</string>
|
||||
<key>NSPhotoLibraryAddUsageDescription</key>
|
||||
<string>Signal will save photos to your library.</string>
|
||||
<key>UIAppFonts</key>
|
||||
<array>
|
||||
<string>dripicons-v2.ttf</string>
|
||||
|
|
|
@ -15,6 +15,24 @@ enum SignalAttachmentError: Error {
|
|||
case invalidFileFormat
|
||||
}
|
||||
|
||||
extension String {
|
||||
var filenameWithoutExtension: String {
|
||||
return (self as NSString).deletingPathExtension
|
||||
}
|
||||
|
||||
var fileExtension: String? {
|
||||
return (self as NSString).pathExtension
|
||||
}
|
||||
|
||||
func appendingFileExtension(_ fileExtension: String) -> String {
|
||||
guard let result = (self as NSString).appendingPathExtension(fileExtension) else {
|
||||
owsFail("Failed to append file extension: \(fileExtension) to string: \(self)")
|
||||
return self
|
||||
}
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
extension SignalAttachmentError: LocalizedError {
|
||||
public var errorDescription: String {
|
||||
switch self {
|
||||
|
@ -485,6 +503,7 @@ class SignalAttachment: NSObject {
|
|||
attachment.error = .fileSizeTooLarge
|
||||
return attachment
|
||||
}
|
||||
|
||||
// Never re-encode animated images (i.e. GIFs) as JPEGs.
|
||||
Logger.verbose("\(TAG) Sending raw \(attachment.mimeType) to retain any animation")
|
||||
return attachment
|
||||
|
@ -496,6 +515,25 @@ class SignalAttachment: NSObject {
|
|||
attachment.cachedImage = image
|
||||
|
||||
if isInputImageValidOutputImage(image: image, dataSource: dataSource, dataUTI: dataUTI) {
|
||||
if let sourceFilename = dataSource.sourceFilename,
|
||||
let sourceFileExtension = sourceFilename.fileExtension,
|
||||
["heic", "heif"].contains(sourceFileExtension.lowercased()) {
|
||||
|
||||
// If a .heic file actually contains jpeg data, update the extension to match.
|
||||
//
|
||||
// Here's how that can happen:
|
||||
// In iOS11, the Photos.app records photos with HEIC UTIType, with the .HEIC extension.
|
||||
// Since HEIC isn't a valid output format for Signal, we'll detect that and convert to JPEG,
|
||||
// updating the extension as well. No problem.
|
||||
// However the problem comes in when you edit an HEIC image in Photos.app - the image is saved
|
||||
// in the Photos.app as a JPEG, but retains the (now incongruous) HEIC extension in the filename.
|
||||
assert(dataUTI == kUTTypeJPEG as String)
|
||||
Logger.verbose("\(self.TAG) changing extension: \(sourceFileExtension) to match jpg uti type")
|
||||
|
||||
let baseFilename = sourceFilename.filenameWithoutExtension
|
||||
dataSource.sourceFilename = baseFilename.appendingFileExtension("jpg")
|
||||
}
|
||||
|
||||
Logger.verbose("\(TAG) Sending raw \(attachment.mimeType)")
|
||||
return attachment
|
||||
}
|
||||
|
@ -580,7 +618,10 @@ class SignalAttachment: NSObject {
|
|||
attachment.error = .couldNotConvertToJpeg
|
||||
return attachment
|
||||
}
|
||||
dataSource.sourceFilename = filename
|
||||
|
||||
let baseFilename = filename?.filenameWithoutExtension
|
||||
let jpgFilename = baseFilename?.appendingFileExtension("jpg")
|
||||
dataSource.sourceFilename = jpgFilename
|
||||
|
||||
if UInt(jpgImageData.count) <= kMaxFileSizeImage {
|
||||
let recompressedAttachment = SignalAttachment(dataSource : dataSource, dataUTI: kUTTypeJPEG as String)
|
||||
|
|
|
@ -198,18 +198,33 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
// We don't support shift-return because it is often used for "newline" in other
|
||||
// messaging apps.
|
||||
return @[
|
||||
[UIKeyCommand keyCommandWithInput:@"\r"
|
||||
modifierFlags:UIKeyModifierCommand
|
||||
action:@selector(modifiedReturnPressed:)
|
||||
discoverabilityTitle:@"Send Message"],
|
||||
[self keyCommandWithInput:@"\r"
|
||||
modifierFlags:UIKeyModifierCommand
|
||||
action:@selector(modifiedReturnPressed:)
|
||||
discoverabilityTitle:@"Send Message"],
|
||||
// "Alternate" is option.
|
||||
[UIKeyCommand keyCommandWithInput:@"\r"
|
||||
modifierFlags:UIKeyModifierAlternate
|
||||
action:@selector(modifiedReturnPressed:)
|
||||
discoverabilityTitle:@"Send Message"],
|
||||
[self keyCommandWithInput:@"\r"
|
||||
modifierFlags:UIKeyModifierAlternate
|
||||
action:@selector(modifiedReturnPressed:)
|
||||
discoverabilityTitle:@"Send Message"],
|
||||
];
|
||||
}
|
||||
|
||||
- (UIKeyCommand *)keyCommandWithInput:(NSString *)input
|
||||
modifierFlags:(UIKeyModifierFlags)modifierFlags
|
||||
action:(SEL)action
|
||||
discoverabilityTitle:(NSString *)discoverabilityTitle
|
||||
{
|
||||
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(9, 0)) {
|
||||
return [UIKeyCommand keyCommandWithInput:input
|
||||
modifierFlags:modifierFlags
|
||||
action:action
|
||||
discoverabilityTitle:discoverabilityTitle];
|
||||
} else {
|
||||
return [UIKeyCommand keyCommandWithInput:input modifierFlags:modifierFlags action:action];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)modifiedReturnPressed:(UIKeyCommand *)sender
|
||||
{
|
||||
DDLogInfo(@"%@ modifiedReturnPressed: %@", self.logTag, sender.input);
|
||||
|
|
|
@ -2734,9 +2734,13 @@ typedef NS_ENUM(NSInteger, MessagesRangeSizeMode) {
|
|||
}
|
||||
|
||||
[modalActivityIndicator dismissWithCompletion:^{
|
||||
|
||||
NSString *baseFilename = filename.stringByDeletingPathExtension;
|
||||
NSString *mp4Filename = [baseFilename stringByAppendingPathExtension:@"mp4"];
|
||||
DataSource *_Nullable dataSource =
|
||||
[DataSourcePath dataSourceWithURL:compressedVideoUrl];
|
||||
[dataSource setSourceFilename:filename];
|
||||
[dataSource setSourceFilename:mp4Filename];
|
||||
|
||||
// Remove temporary file when complete.
|
||||
[dataSource setShouldDeleteOnDeallocation];
|
||||
SignalAttachment *attachment =
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
"APN_MESSAGE_IN_GROUP_DETAILED" = "%@ en el grup %@: %@";
|
||||
|
||||
/* Text prompting user to edit their profile name. */
|
||||
"APP_SETTINGS_EDIT_PROFILE_NAME_PROMPT" = "Enter your name";
|
||||
"APP_SETTINGS_EDIT_PROFILE_NAME_PROMPT" = "Introduïu el vostre nom";
|
||||
|
||||
/* Message format for the 'new app version available' alert. Embeds: {{The latest app version number.}}. */
|
||||
"APP_UPDATE_NAG_ALERT_MESSAGE_FORMAT" = "Ja és disponible la versió %@ a l'App Store.";
|
||||
|
@ -191,7 +191,7 @@
|
|||
"BLOCK_OFFER_ACTIONSHEET_TITLE_FORMAT" = "Voleu blocar %@?";
|
||||
|
||||
/* Label for generic done button. */
|
||||
"BUTTON_DONE" = "Done";
|
||||
"BUTTON_DONE" = "Fet";
|
||||
|
||||
/* Alert message when calling and permissions for microphone are missing */
|
||||
"CALL_AUDIO_PERMISSION_MESSAGE" = "El Signal necessita accés al micròfon per a trucar i enregistrar missatges de veu. Podeu donar-li l'accés a la configuració del sistema.";
|
||||
|
@ -221,19 +221,19 @@
|
|||
"CALL_USER_ALERT_TITLE" = "Voleu trucar?";
|
||||
|
||||
/* Accessibility label for accepting incoming calls */
|
||||
"CALL_VIEW_ACCEPT_INCOMING_CALL_LABEL" = "Accept incoming call";
|
||||
"CALL_VIEW_ACCEPT_INCOMING_CALL_LABEL" = "Accepta trucades";
|
||||
|
||||
/* Accessibility label for selection the audio source */
|
||||
"CALL_VIEW_AUDIO_SOURCE_LABEL" = "Audio";
|
||||
"CALL_VIEW_AUDIO_SOURCE_LABEL" = "Àudio";
|
||||
|
||||
/* Accessibility label for declining incoming calls */
|
||||
"CALL_VIEW_DECLINE_INCOMING_CALL_LABEL" = "Decline incoming call";
|
||||
"CALL_VIEW_DECLINE_INCOMING_CALL_LABEL" = "Rebutja trucades";
|
||||
|
||||
/* Accessibility label for hang up call */
|
||||
"CALL_VIEW_HANGUP_LABEL" = "End call";
|
||||
"CALL_VIEW_HANGUP_LABEL" = "Finalitza la trucada";
|
||||
|
||||
/* Accessibility label for muting the microphone */
|
||||
"CALL_VIEW_MUTE_LABEL" = "Mute";
|
||||
"CALL_VIEW_MUTE_LABEL" = "Silencia";
|
||||
|
||||
/* Reminder to the user of the benefits of enabling CallKit and disabling CallKit privacy. */
|
||||
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_ALL" = "Podeu contestar telefonades directament des de la pantalla de bloqueig i veure el nom i el telèfon de les telefonades rebudes si canvieu la configuració.\n\nVegeu la configuració de privadesa per a més detalls.";
|
||||
|
@ -248,10 +248,10 @@
|
|||
"CALL_VIEW_SETTINGS_NAG_SHOW_CALL_SETTINGS" = "Mostra la configuració de privadesa";
|
||||
|
||||
/* Accessibility label to switch to audio only */
|
||||
"CALL_VIEW_SWITCH_TO_AUDIO_LABEL" = "Switch to audio call";
|
||||
"CALL_VIEW_SWITCH_TO_AUDIO_LABEL" = "Canvia a trucada d'àudio";
|
||||
|
||||
/* Accessibility label to switch to video call */
|
||||
"CALL_VIEW_SWITCH_TO_VIDEO_LABEL" = "Switch to video call";
|
||||
"CALL_VIEW_SWITCH_TO_VIDEO_LABEL" = "Canvia a trucada de vídeo";
|
||||
|
||||
/* notification action */
|
||||
"CALLBACK_BUTTON_TITLE" = "Torna-li la trucada";
|
||||
|
@ -272,13 +272,13 @@
|
|||
"COMPARE_SAFETY_NUMBER_ACTION" = "Compara'l amb el porta-retalls";
|
||||
|
||||
/* Table section header for contact listing when composing a new message */
|
||||
"COMPOSE_MESSAGE_CONTACT_SECTION_TITLE" = "Contacts";
|
||||
"COMPOSE_MESSAGE_CONTACT_SECTION_TITLE" = "Contactes";
|
||||
|
||||
/* Table section header for group listing when composing a new message */
|
||||
"COMPOSE_MESSAGE_GROUP_SECTION_TITLE" = "Groups";
|
||||
"COMPOSE_MESSAGE_GROUP_SECTION_TITLE" = "Grups";
|
||||
|
||||
/* Table section header for invite listing when composing a new message */
|
||||
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "Invite";
|
||||
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "Convida";
|
||||
|
||||
/* Multiline label explaining why compose-screen contact picker is empty. */
|
||||
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "Per a veure quins dels vostres contactes són usuaris del Signal, permeteu-li l'accés als contactes a la configuració del sistema.";
|
||||
|
@ -386,7 +386,7 @@
|
|||
"CONVERSATION_SETTINGS_VIEW_SHARE_PROFILE_WITH_USER" = "Compartiu el vostre perfil";
|
||||
|
||||
/* Message shown in conversation view that offers to add an unknown user to your phone's contacts. */
|
||||
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "Add to Contacts";
|
||||
"CONVERSATION_VIEW_ADD_TO_CONTACTS_OFFER" = "Afegeux als contactes";
|
||||
|
||||
/* Message shown in conversation view that offers to share your profile with a user. */
|
||||
"CONVERSATION_VIEW_ADD_USER_TO_PROFILE_WHITELIST_OFFER" = "Share Your Profile With This User";
|
||||
|
@ -485,10 +485,10 @@
|
|||
"EDIT_ITEM_COPY_ACTION" = "Copia";
|
||||
|
||||
/* Short name for edit menu item to delete contents of media message. */
|
||||
"EDIT_ITEM_DELETE_ACTION" = "Delete";
|
||||
"EDIT_ITEM_DELETE_ACTION" = "Elimina";
|
||||
|
||||
/* Short name for edit menu item to show message metadata. */
|
||||
"EDIT_ITEM_MESSAGE_METADATA_ACTION" = "Info";
|
||||
"EDIT_ITEM_MESSAGE_METADATA_ACTION" = "Informació";
|
||||
|
||||
/* Short name for edit menu item to save contents of media message. */
|
||||
"EDIT_ITEM_SAVE_ACTION" = "Desa";
|
||||
|
@ -653,13 +653,13 @@
|
|||
"GIF_PICKER_VIEW_MISSING_QUERY" = "Please enter your search.";
|
||||
|
||||
/* Title for the 'gif picker' dialog. */
|
||||
"GIF_PICKER_VIEW_TITLE" = "GIF Search";
|
||||
"GIF_PICKER_VIEW_TITLE" = "Cerca GIF";
|
||||
|
||||
/* Indicates that an error occured while searching. */
|
||||
"GIF_VIEW_SEARCH_ERROR" = "Error. Tap to Retry.";
|
||||
"GIF_VIEW_SEARCH_ERROR" = "Error. Toca per a tornar-ho a intentar";
|
||||
|
||||
/* Indicates that the user's search had no results. */
|
||||
"GIF_VIEW_SEARCH_NO_RESULTS" = "No Results.";
|
||||
"GIF_VIEW_SEARCH_NO_RESULTS" = "No hi ha cap resultat.";
|
||||
|
||||
/* Placeholder text for the search field in gif view */
|
||||
"GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "Enter your search";
|
||||
|
@ -836,10 +836,10 @@
|
|||
"MESSAGE_COMPOSEVIEW_TITLE" = "Missatge nou";
|
||||
|
||||
/* Label for file size of attachments in the 'message metadata' view. */
|
||||
"MESSAGE_METADATA_VIEW_ATTACHMENT_FILE_SIZE" = "File Size";
|
||||
"MESSAGE_METADATA_VIEW_ATTACHMENT_FILE_SIZE" = "Mida del fitxer";
|
||||
|
||||
/* Label for the MIME type of attachments in the 'message metadata' view. */
|
||||
"MESSAGE_METADATA_VIEW_ATTACHMENT_MIME_TYPE" = "MIME type";
|
||||
"MESSAGE_METADATA_VIEW_ATTACHMENT_MIME_TYPE" = "Tipus MIME";
|
||||
|
||||
/* Label for 'missing' attachments in the 'message metadata' view. */
|
||||
"MESSAGE_METADATA_VIEW_ATTACHMENT_MISSING_FILE" = "Missing Attachment";
|
||||
|
@ -878,10 +878,10 @@
|
|||
"MESSAGE_METADATA_VIEW_SENT_DATE_TIME" = "Sent";
|
||||
|
||||
/* Label for the original filename of any attachment in the 'message metadata' view. */
|
||||
"MESSAGE_METADATA_VIEW_SOURCE_FILENAME" = "Filename";
|
||||
"MESSAGE_METADATA_VIEW_SOURCE_FILENAME" = "Nom del fitxer";
|
||||
|
||||
/* Title for the 'message metadata' view. */
|
||||
"MESSAGE_METADATA_VIEW_TITLE" = "Message";
|
||||
"MESSAGE_METADATA_VIEW_TITLE" = "Missatge";
|
||||
|
||||
/* message status for message delivered to their recipient. */
|
||||
"MESSAGE_STATUS_DELIVERED" = "S'ha enviat";
|
||||
|
@ -890,10 +890,10 @@
|
|||
"MESSAGE_STATUS_FAILED" = "No s'ha pogut enviar. Toqueu per a més informació.";
|
||||
|
||||
/* message footer for read messages */
|
||||
"MESSAGE_STATUS_READ" = "Read";
|
||||
"MESSAGE_STATUS_READ" = "Llegeix";
|
||||
|
||||
/* message status while message is sending. */
|
||||
"MESSAGE_STATUS_SENDING" = "Sending...";
|
||||
"MESSAGE_STATUS_SENDING" = "S'està enviant...";
|
||||
|
||||
/* message footer for sent messages */
|
||||
"MESSAGE_STATUS_SENT" = "S'ha enviat";
|
||||
|
@ -970,7 +970,7 @@
|
|||
"MUTE_BEHAVIOR_EXPLANATION" = "No rebreu notificacions de converses silenciades.";
|
||||
|
||||
/* A button to skip a view. */
|
||||
"NAVIGATION_ITEM_SKIP_BUTTON" = "Skip";
|
||||
"NAVIGATION_ITEM_SKIP_BUTTON" = "Omet";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"NETWORK_ERROR_RECOVERY" = "Comproveu que esteu connectat i proveu de nou.";
|
||||
|
@ -1079,7 +1079,7 @@
|
|||
"OUTGOING_INCOMPLETE_CALL" = "Trucada feta no contestada";
|
||||
|
||||
/* A display format for oversize text messages. */
|
||||
"OVERSIZE_TEXT_DISPLAY_FORMAT" = "%@…";
|
||||
"OVERSIZE_TEXT_DISPLAY_FORMAT" = "%@...";
|
||||
|
||||
/* A format for a label showing an example phone number. Embeds {{the example phone number}}. */
|
||||
"PHONE_NUMBER_EXAMPLE_FORMAT" = "Exemple: %@";
|
||||
|
@ -1184,13 +1184,13 @@
|
|||
"PROFILE_VIEW_CLEAR_AVATAR" = "Esborra l'avatar";
|
||||
|
||||
/* Error message shown when user tries to update profile with a profile name that is too long. */
|
||||
"PROFILE_VIEW_ERROR_PROFILE_NAME_TOO_LONG" = "Your profile name is too long.";
|
||||
"PROFILE_VIEW_ERROR_PROFILE_NAME_TOO_LONG" = "El nom del perfil és massa llarg.";
|
||||
|
||||
/* Error message shown when a profile update fails. */
|
||||
"PROFILE_VIEW_ERROR_UPDATE_FAILED" = "Ha fallat l'actualització del perfil.";
|
||||
|
||||
/* Default text for the profile name field of the profile view. */
|
||||
"PROFILE_VIEW_NAME_DEFAULT_TEXT" = "Enter your name";
|
||||
"PROFILE_VIEW_NAME_DEFAULT_TEXT" = "Introduïu el vostre nom";
|
||||
|
||||
/* Label for the profile avatar field of the profile view. */
|
||||
"PROFILE_VIEW_PROFILE_AVATAR_FIELD" = "Avatar";
|
||||
|
@ -1205,10 +1205,10 @@
|
|||
"PROFILE_VIEW_PROFILE_NAME_FIELD" = "Profile Name";
|
||||
|
||||
/* Button to save the profile view in the profile view. */
|
||||
"PROFILE_VIEW_SAVE_BUTTON" = "Save";
|
||||
"PROFILE_VIEW_SAVE_BUTTON" = "Desa";
|
||||
|
||||
/* Alert title that indicates the user's profile view is being saved. */
|
||||
"PROFILE_VIEW_SAVING" = "Saving...";
|
||||
"PROFILE_VIEW_SAVING" = "S'està desant...";
|
||||
|
||||
/* Title for the profile view. */
|
||||
"PROFILE_VIEW_TITLE" = "Perfil";
|
||||
|
@ -1574,7 +1574,7 @@
|
|||
"UNKNOWN_CONTACT_NAME" = "Contacte desconegut";
|
||||
|
||||
/* Indicates an unknown or unrecognizable value. */
|
||||
"UNKNOWN_VALUE" = "Unknown";
|
||||
"UNKNOWN_VALUE" = "Desconegut";
|
||||
|
||||
/* button title for unlinking a device */
|
||||
"UNLINK_ACTION" = "Desenllaça";
|
||||
|
@ -1661,7 +1661,7 @@
|
|||
"VERIFICATION_CHALLENGE_SUBMIT_AGAIN" = "Reenvia el codi via SMS";
|
||||
|
||||
/* button text during registration to submit your SMS verification code. */
|
||||
"VERIFICATION_CHALLENGE_SUBMIT_CODE" = "Submit";
|
||||
"VERIFICATION_CHALLENGE_SUBMIT_CODE" = "Tramet";
|
||||
|
||||
/* Label indicating the phone number currently being verified. */
|
||||
"VERIFICATION_PHONE_NUMBER_FORMAT" = "Introduïu el codi de verificació que hem enviat a %@.";
|
||||
|
|
1729
Signal/translations/et.lproj/Localizable.strings
Normal file
1729
Signal/translations/et.lproj/Localizable.strings
Normal file
File diff suppressed because it is too large
Load diff
|
@ -395,7 +395,7 @@
|
|||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "نام این کاربر در مخاطبین شما نیست.";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages...";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "نمایش پیامهای بیشتر…";
|
||||
|
||||
/* Indicator on truncated text messages that they can be tapped to see the entire text message. */
|
||||
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "برای خواندن، لمس کنید";
|
||||
|
@ -551,7 +551,7 @@
|
|||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_BLOCK_LIST" = "امکان ارسال پیام به کاربری که مسدود کردهاید وجود ندارد.";
|
||||
|
||||
/* Error mesage indicating that message send failed due to failed attachment write */
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_FAILED_ATTACHMENT_WRITE" = "Failed due to failed attachment write.";
|
||||
"ERROR_DESCRIPTION_MESSAGE_SEND_FAILED_DUE_TO_FAILED_ATTACHMENT_WRITE" = "خطا در نوشتن ضمیمه.";
|
||||
|
||||
/* Generic error used whenver Signal can't contact the server */
|
||||
"ERROR_DESCRIPTION_NO_INTERNET" = "امکان برقراری ارتباط سیگنال با اینترنت وجود ندارد. لطفاً از یک شبکهی بیسیم دیگر و یا از اینترنت سیم کارت خود استفاده کنید.";
|
||||
|
@ -839,10 +839,10 @@
|
|||
"MESSAGE_METADATA_VIEW_ATTACHMENT_FILE_SIZE" = "اندازه فایل";
|
||||
|
||||
/* Label for the MIME type of attachments in the 'message metadata' view. */
|
||||
"MESSAGE_METADATA_VIEW_ATTACHMENT_MIME_TYPE" = "MIME type";
|
||||
"MESSAGE_METADATA_VIEW_ATTACHMENT_MIME_TYPE" = "نوع MIME";
|
||||
|
||||
/* Label for 'missing' attachments in the 'message metadata' view. */
|
||||
"MESSAGE_METADATA_VIEW_ATTACHMENT_MISSING_FILE" = "Missing Attachment";
|
||||
"MESSAGE_METADATA_VIEW_ATTACHMENT_MISSING_FILE" = "ضمیمه یافت نشد";
|
||||
|
||||
/* Label for 'not yet downloaded' attachments in the 'message metadata' view. */
|
||||
"MESSAGE_METADATA_VIEW_ATTACHMENT_NOT_YET_DOWNLOADED" = "هنوز دانلود نشده";
|
||||
|
@ -1505,10 +1505,10 @@
|
|||
"SETTINGS_VERSION" = "نسخه";
|
||||
|
||||
/* action sheet item to open native mail app */
|
||||
"SHARE_ACTION_MAIL" = "Mail";
|
||||
"SHARE_ACTION_MAIL" = "ایمیل";
|
||||
|
||||
/* action sheet item to open native messages app */
|
||||
"SHARE_ACTION_MESSAGE" = "Message";
|
||||
"SHARE_ACTION_MESSAGE" = "پیام";
|
||||
|
||||
/* action sheet item */
|
||||
"SHARE_ACTION_TWEET" = "توییتر";
|
||||
|
@ -1574,7 +1574,7 @@
|
|||
"UNKNOWN_CONTACT_NAME" = "مخاطب ناشناس";
|
||||
|
||||
/* Indicates an unknown or unrecognizable value. */
|
||||
"UNKNOWN_VALUE" = "Unknown";
|
||||
"UNKNOWN_VALUE" = "ناشناخته";
|
||||
|
||||
/* button title for unlinking a device */
|
||||
"UNLINK_ACTION" = "قطع ارتباط";
|
||||
|
|
|
@ -1574,7 +1574,7 @@
|
|||
"UNKNOWN_CONTACT_NAME" = "Tuntematon yhteystieto";
|
||||
|
||||
/* Indicates an unknown or unrecognizable value. */
|
||||
"UNKNOWN_VALUE" = "Unknown";
|
||||
"UNKNOWN_VALUE" = "Tuntematon";
|
||||
|
||||
/* button title for unlinking a device */
|
||||
"UNLINK_ACTION" = "Poista";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"AB_PERMISSION_MISSING_ACTION_NOT_NOW" = "לא עכשיו";
|
||||
|
||||
/* Action sheet item */
|
||||
"ACCEPT_NEW_IDENTITY_ACTION" = "אשר/י מספר ביטחון חדש";
|
||||
"ACCEPT_NEW_IDENTITY_ACTION" = "קבל מספר בטיחות חדש";
|
||||
|
||||
/* A label for the 'add by phone number' button in the 'add group member' view */
|
||||
"ADD_GROUP_MEMBER_VIEW_BUTTON" = "הוסף";
|
||||
|
@ -203,7 +203,7 @@
|
|||
"CALL_LABEL" = "חייג";
|
||||
|
||||
/* Text shown on call screen in place of remote video */
|
||||
"CALL_REMOTE_VIDEO_DISABLED" = "Please upgrade to iOS 9 or newer to see remote video.";
|
||||
"CALL_REMOTE_VIDEO_DISABLED" = "אנא שדרג אל iOS 9 או גרסה חדשה יותר כדי לראות וידאו מרוחק.";
|
||||
|
||||
/* Call setup status label after outgoing call times out */
|
||||
"CALL_SCREEN_STATUS_NO_ANSWER" = "אין מענה.";
|
||||
|
@ -221,19 +221,19 @@
|
|||
"CALL_USER_ALERT_TITLE" = "לחייג?";
|
||||
|
||||
/* Accessibility label for accepting incoming calls */
|
||||
"CALL_VIEW_ACCEPT_INCOMING_CALL_LABEL" = "Accept incoming call";
|
||||
"CALL_VIEW_ACCEPT_INCOMING_CALL_LABEL" = "קבל שיחה נכנסת";
|
||||
|
||||
/* Accessibility label for selection the audio source */
|
||||
"CALL_VIEW_AUDIO_SOURCE_LABEL" = "Audio";
|
||||
"CALL_VIEW_AUDIO_SOURCE_LABEL" = "שמע";
|
||||
|
||||
/* Accessibility label for declining incoming calls */
|
||||
"CALL_VIEW_DECLINE_INCOMING_CALL_LABEL" = "Decline incoming call";
|
||||
"CALL_VIEW_DECLINE_INCOMING_CALL_LABEL" = "דחה שיחה נכנסת";
|
||||
|
||||
/* Accessibility label for hang up call */
|
||||
"CALL_VIEW_HANGUP_LABEL" = "End call";
|
||||
"CALL_VIEW_HANGUP_LABEL" = "סיים שיחה";
|
||||
|
||||
/* Accessibility label for muting the microphone */
|
||||
"CALL_VIEW_MUTE_LABEL" = "Mute";
|
||||
"CALL_VIEW_MUTE_LABEL" = "השתק";
|
||||
|
||||
/* Reminder to the user of the benefits of enabling CallKit and disabling CallKit privacy. */
|
||||
"CALL_VIEW_SETTINGS_NAG_DESCRIPTION_ALL" = "ניתן לענות לשיחות ממסך הנעילה ולראות את השם ומספר הטלפון של שיחות נכנסות ע״י שינוי ההגדרות שלך.\n\nראה/י הגדרות פרטיות לפרטים נוספים.";
|
||||
|
@ -248,10 +248,10 @@
|
|||
"CALL_VIEW_SETTINGS_NAG_SHOW_CALL_SETTINGS" = "הראה הגדרות פרטיות";
|
||||
|
||||
/* Accessibility label to switch to audio only */
|
||||
"CALL_VIEW_SWITCH_TO_AUDIO_LABEL" = "Switch to audio call";
|
||||
"CALL_VIEW_SWITCH_TO_AUDIO_LABEL" = "החלף אל שיחת שמע";
|
||||
|
||||
/* Accessibility label to switch to video call */
|
||||
"CALL_VIEW_SWITCH_TO_VIDEO_LABEL" = "Switch to video call";
|
||||
"CALL_VIEW_SWITCH_TO_VIDEO_LABEL" = "החלף אל שיחת וידאו";
|
||||
|
||||
/* notification action */
|
||||
"CALLBACK_BUTTON_TITLE" = "חיוג חוזר";
|
||||
|
@ -272,13 +272,13 @@
|
|||
"COMPARE_SAFETY_NUMBER_ACTION" = "השווה ללוח גזירים";
|
||||
|
||||
/* Table section header for contact listing when composing a new message */
|
||||
"COMPOSE_MESSAGE_CONTACT_SECTION_TITLE" = "Contacts";
|
||||
"COMPOSE_MESSAGE_CONTACT_SECTION_TITLE" = "אנשי קשר";
|
||||
|
||||
/* Table section header for group listing when composing a new message */
|
||||
"COMPOSE_MESSAGE_GROUP_SECTION_TITLE" = "Groups";
|
||||
"COMPOSE_MESSAGE_GROUP_SECTION_TITLE" = "קבוצות";
|
||||
|
||||
/* Table section header for invite listing when composing a new message */
|
||||
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "Invite";
|
||||
"COMPOSE_MESSAGE_INVITE_SECTION_TITLE" = "הזמן";
|
||||
|
||||
/* Multiline label explaining why compose-screen contact picker is empty. */
|
||||
"COMPOSE_SCREEN_MISSING_CONTACTS_PERMISSION" = "כדי לראות מי מאנשי הקשר שלך הם משתמשי סיגנל, התר גישה לאנשי הקשר בהגדרות המערכת שלך.";
|
||||
|
@ -299,10 +299,10 @@
|
|||
"CONFIRM_LINK_NEW_DEVICE_ACTION" = "קשר מכשיר חדש";
|
||||
|
||||
/* Action sheet body presented when a user's SN have recently changed. Embeds {{contact's name or phone nubmer}} */
|
||||
"CONFIRM_SENDING_TO_CHANGED_IDENTITY_BODY_FORMAT" = "ייתכן ו%@ התקין מחדש את האפילקציה או החליף מכשיר. אמת את מספר הביטחון שלך עמו כדי להבטיח פרטיות.";
|
||||
"CONFIRM_SENDING_TO_CHANGED_IDENTITY_BODY_FORMAT" = "ייתכן כי %@ התקין מחדש או החליף מכשירים. וודא את מספר הבטיחות שלך איתו כדי להבטיח פרטיות.";
|
||||
|
||||
/* Action sheet title presented when a users's SN have recently changed. Embeds {{contact's name or phone number}} */
|
||||
"CONFIRM_SENDING_TO_CHANGED_IDENTITY_TITLE_FORMAT" = "מספר הביטחון עם %@ השתנה";
|
||||
"CONFIRM_SENDING_TO_CHANGED_IDENTITY_TITLE_FORMAT" = "מספר בטיחות עם %@ השתנה";
|
||||
|
||||
/* Generic button text to proceed with an action */
|
||||
"CONFIRMATION_TITLE" = "אישור";
|
||||
|
@ -395,10 +395,10 @@
|
|||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "משתמש זה אינו באנשי הקשר שלך.";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages...";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "טוען עוד הודעות...";
|
||||
|
||||
/* Indicator on truncated text messages that they can be tapped to see the entire text message. */
|
||||
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "Tap For More";
|
||||
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "הקש לעוד";
|
||||
|
||||
/* Message shown in conversation view that offers to block an unknown user. */
|
||||
"CONVERSATION_VIEW_UNKNOWN_CONTACT_BLOCK_OFFER" = "חסום משתמש זה";
|
||||
|
@ -485,7 +485,7 @@
|
|||
"EDIT_ITEM_COPY_ACTION" = "העתק";
|
||||
|
||||
/* Short name for edit menu item to delete contents of media message. */
|
||||
"EDIT_ITEM_DELETE_ACTION" = "Delete";
|
||||
"EDIT_ITEM_DELETE_ACTION" = "מחק";
|
||||
|
||||
/* Short name for edit menu item to show message metadata. */
|
||||
"EDIT_ITEM_MESSAGE_METADATA_ACTION" = "מידע";
|
||||
|
@ -590,16 +590,16 @@
|
|||
"ERROR_MESSAGE_NO_SESSION" = "אין התחברות זמינה לאיש הקשר הזה.";
|
||||
|
||||
/* Shown when signal users safety numbers changed */
|
||||
"ERROR_MESSAGE_NON_BLOCKING_IDENTITY_CHANGE" = "מספר ביטחון שונה";
|
||||
"ERROR_MESSAGE_NON_BLOCKING_IDENTITY_CHANGE" = "מספר בטיחות השתנה.";
|
||||
|
||||
/* Shown when signal users safety numbers changed, embeds the user's {{name or phone number}} */
|
||||
"ERROR_MESSAGE_NON_BLOCKING_IDENTITY_CHANGE_FORMAT" = "מספר הביטחון עם %@ השתנה";
|
||||
"ERROR_MESSAGE_NON_BLOCKING_IDENTITY_CHANGE_FORMAT" = "מספר הבטיחות שלך עם %@ השתנה.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_UNKNOWN_ERROR" = "התרחשה שגיאה לא ידועה";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"ERROR_MESSAGE_WRONG_TRUSTED_IDENTITY_KEY" = "מספר ביטחון התשתנה. הקש לאימות.";
|
||||
"ERROR_MESSAGE_WRONG_TRUSTED_IDENTITY_KEY" = "מספר בטיחות השתנה. הקש כדי לוודא.";
|
||||
|
||||
/* Message for the alert indicating the 'export with signal' file had an invalid filename. */
|
||||
"EXPORT_WITH_SIGNAL_ERROR_MESSAGE_INVALID_FILENAME" = "שם קובץ לא חוקי.";
|
||||
|
@ -620,10 +620,10 @@
|
|||
"FAILED_SENDING_BECAUSE_RATE_LIMIT" = "שגיאות רבות מידי עם איש קשר זה. נסה שוב עוד מספר רגעים.";
|
||||
|
||||
/* action sheet header when re-sending message which failed because of untrusted identity keys */
|
||||
"FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "מספר הביטחון עם %@ השתנה. מומלץ לוודא את המספר לפני השליחה.";
|
||||
"FAILED_SENDING_BECAUSE_UNTRUSTED_IDENTITY_KEY" = "מספר הבטיחות שלך עם %@ השתנה לאחרונה. מומלץ לוודא לפני שליחה מחדש.";
|
||||
|
||||
/* alert title */
|
||||
"FAILED_VERIFICATION_TITLE" = "שגיאה באימות מספר ביטחון";
|
||||
"FAILED_VERIFICATION_TITLE" = "נכשל בוידוא מספר בטיחות!";
|
||||
|
||||
/* Button that marks user as verified after a successful fingerprint scan. */
|
||||
"FINGERPRINT_SCAN_VERIFY_BUTTON" = "סמן כמאומת";
|
||||
|
@ -644,10 +644,10 @@
|
|||
"GIF_PICKER_ERROR_FETCH_FAILURE" = "Failed to fetch the requested GIF. Please verify you are online.";
|
||||
|
||||
/* Generic error displayed when picking a gif */
|
||||
"GIF_PICKER_ERROR_GENERIC" = "An unknown error occured.";
|
||||
"GIF_PICKER_ERROR_GENERIC" = "שגיאה בלתי ידועה התרחשה.";
|
||||
|
||||
/* Shown when selected gif couldn't be fetched */
|
||||
"GIF_PICKER_FAILURE_ALERT_TITLE" = "Unable to Choose GIF";
|
||||
"GIF_PICKER_FAILURE_ALERT_TITLE" = "לא היה ניתן לבחור GIF";
|
||||
|
||||
/* Alert message shown when user tries to search for GIFs without entering any search terms. */
|
||||
"GIF_PICKER_VIEW_MISSING_QUERY" = "אנא הכנס את חיפושך.";
|
||||
|
@ -656,10 +656,10 @@
|
|||
"GIF_PICKER_VIEW_TITLE" = "חיפוש GIF";
|
||||
|
||||
/* Indicates that an error occured while searching. */
|
||||
"GIF_VIEW_SEARCH_ERROR" = "Error. Tap to Retry.";
|
||||
"GIF_VIEW_SEARCH_ERROR" = "שגיאה. הקש כדי לנסות שוב.";
|
||||
|
||||
/* Indicates that the user's search had no results. */
|
||||
"GIF_VIEW_SEARCH_NO_RESULTS" = "No Results.";
|
||||
"GIF_VIEW_SEARCH_NO_RESULTS" = "אין תוצאות.";
|
||||
|
||||
/* Placeholder text for the search field in gif view */
|
||||
"GIF_VIEW_SEARCH_PLACEHOLDER_TEXT" = "הכנס את חיפושך";
|
||||
|
@ -692,7 +692,7 @@
|
|||
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED" = "בטל אישורים לכולם";
|
||||
|
||||
/* Label for the 'reset all no-longer-verified group members' confirmation alert. */
|
||||
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "פעולה זו תבטל את האישורים לכל המשתמשים שמספר הביטחון שונה מאז שאומתו לאחרונה.";
|
||||
"GROUP_MEMBERS_RESET_NO_LONGER_VERIFIED_ALERT_MESSAGE" = "זה ינקה את הוידוא של כל חברי הקבוצה שמספרי הבטיחות שלהם השתנו מאז שוודאו בפעם האחרונה.";
|
||||
|
||||
/* Title for the 'members' section of the 'group members' view. */
|
||||
"GROUP_MEMBERS_SECTION_TITLE_MEMBERS" = "חברים";
|
||||
|
@ -755,7 +755,7 @@
|
|||
"INCOMING_INCOMPLETE_CALL" = "שיחה נכנסת לקויה מאת";
|
||||
|
||||
/* info message text shown in conversation view */
|
||||
"INFO_MESSAGE_MISSED_CALL_DUE_TO_CHANGED_IDENITY" = "שיחה נדחתה בגלל שמספר הביטחון של איש הקשר השתנה.";
|
||||
"INFO_MESSAGE_MISSED_CALL_DUE_TO_CHANGED_IDENITY" = "שיחה לא נענתה מאחר שמספר הבטיחות של איש הקשר השתנה.";
|
||||
|
||||
/* Message for the alert indicating that an audio file is invalid. */
|
||||
"INVALID_AUDIO_FILE_ALERT_ERROR_MESSAGE" = "קובץ שמע לא חוקי";
|
||||
|
@ -1124,7 +1124,7 @@
|
|||
"PRIVACY_IDENTITY_IS_NOT_VERIFIED_FORMAT" = "You have not marked %@ as verified.";
|
||||
|
||||
/* Badge indicating that the user is verified. */
|
||||
"PRIVACY_IDENTITY_IS_VERIFIED_BADGE" = "Verified";
|
||||
"PRIVACY_IDENTITY_IS_VERIFIED_BADGE" = "מוודא";
|
||||
|
||||
/* Label indicating that the user is verified. Embeds {{the user's name or phone number}}. */
|
||||
"PRIVACY_IDENTITY_IS_VERIFIED_FORMAT" = "%@ is verified.";
|
||||
|
@ -1136,7 +1136,7 @@
|
|||
"PRIVACY_TAP_TO_SCAN" = "הקש כדי לסרוק";
|
||||
|
||||
/* Button that lets user mark another user's identity as unverified. */
|
||||
"PRIVACY_UNVERIFY_BUTTON" = "Clear Verification";
|
||||
"PRIVACY_UNVERIFY_BUTTON" = "נקה וידוא";
|
||||
|
||||
/* Alert body when verifying with {{contact name}} */
|
||||
"PRIVACY_VERIFICATION_FAILED_I_HAVE_WRONG_KEY_FOR_THEM" = "This doesn't look like your safety number with %@. Are you verifying the correct contact?";
|
||||
|
@ -1163,10 +1163,10 @@
|
|||
"PRIVACY_VERIFICATION_INSTRUCTIONS" = "If you wish to verify the security of your end-to-end encryption with %@, compare the numbers above with the numbers on their device.\n\nAlternatively, you can scan the code on their phone, or ask them to scan your code.";
|
||||
|
||||
/* Navbar title */
|
||||
"PRIVACY_VERIFICATION_TITLE" = "Verify Safety Number";
|
||||
"PRIVACY_VERIFICATION_TITLE" = "וודא מספר בטיחות";
|
||||
|
||||
/* Button that lets user mark another user's identity as verified. */
|
||||
"PRIVACY_VERIFY_BUTTON" = "Mark as Verified";
|
||||
"PRIVACY_VERIFY_BUTTON" = "סמן כמוודא";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"PROCEED_BUTTON" = "המשך";
|
||||
|
@ -1280,7 +1280,7 @@
|
|||
"REGISTRATION_TITLE_LABEL" = "מספר הטלפון שלך";
|
||||
|
||||
/* Alert view title */
|
||||
"REGISTRATION_VERIFICATION_FAILED_TITLE" = "Verification Failed";
|
||||
"REGISTRATION_VERIFICATION_FAILED_TITLE" = "וידוא נכשל";
|
||||
|
||||
/* Alert body, during registration */
|
||||
"REGISTRATION_VERIFICATION_FAILED_WRONG_CODE_DESCRIPTION" = "The numbers you submitted don't match what we sent. Want to double check?";
|
||||
|
@ -1289,10 +1289,10 @@
|
|||
"REGISTRATION_VERIFY_DEVICE" = "שפעל מכשיר זה";
|
||||
|
||||
/* Message of alert indicating that users needs to enter a valid phone number to register. */
|
||||
"REGISTRATION_VIEW_INVALID_PHONE_NUMBER_ALERT_MESSAGE" = "Please enter a valid phone number to register.";
|
||||
"REGISTRATION_VIEW_INVALID_PHONE_NUMBER_ALERT_MESSAGE" = "אנא הכנס מספר תקף של טלפון כדי להירשם.";
|
||||
|
||||
/* Title of alert indicating that users needs to enter a valid phone number to register. */
|
||||
"REGISTRATION_VIEW_INVALID_PHONE_NUMBER_ALERT_TITLE" = "Invalid Phone Number";
|
||||
"REGISTRATION_VIEW_INVALID_PHONE_NUMBER_ALERT_TITLE" = "מספר לא תקף של טלפון";
|
||||
|
||||
/* Message of alert indicating that users needs to enter a phone number to register. */
|
||||
"REGISTRATION_VIEW_NO_PHONE_NUMBER_ALERT_MESSAGE" = "אנא הכנס מספר טלפון כדי לרשום אותו.";
|
||||
|
@ -1361,7 +1361,7 @@
|
|||
"SEND_INVITE_SUCCESS" = "הזמנת את חברך להשתמש בסיגנל!";
|
||||
|
||||
/* Text for button to send a Signal invite via SMS. %@ is placeholder for the receipient's phone number. */
|
||||
"SEND_INVITE_VIA_SMS_BUTTON_FORMAT" = "Invite via SMS: %@";
|
||||
"SEND_INVITE_VIA_SMS_BUTTON_FORMAT" = "הזמן דרך מסרון: %@";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SEND_SMS_CONFIRM_TITLE" = "הזמן חבר דרך SMS (ערוץ לא מבוטח)";
|
||||
|
@ -1385,7 +1385,7 @@
|
|||
"SETTINGS_ADVANCED_CENSORSHIP_CIRCUMVENTION" = "עקיפת צנזורה";
|
||||
|
||||
/* Label for the 'manual censorship circumvention' country. Embeds {{the manual censorship circumvention country}}. */
|
||||
"SETTINGS_ADVANCED_CENSORSHIP_CIRCUMVENTION_COUNTRY_FORMAT" = "Location: %@";
|
||||
"SETTINGS_ADVANCED_CENSORSHIP_CIRCUMVENTION_COUNTRY_FORMAT" = "מיקום: %@";
|
||||
|
||||
/* Table footer for the 'censorship circumvention' section when censorship circumvention can be manually enabled. */
|
||||
"SETTINGS_ADVANCED_CENSORSHIP_CIRCUMVENTION_FOOTER" = "אם מאופשר, סיגנל ינסה לעקוף צנזורה. אל תאפשר מאפיין זה אלא אם אתה במיקום שבו סיגנל מצונזר.";
|
||||
|
@ -1514,7 +1514,7 @@
|
|||
"SHARE_ACTION_TWEET" = "טוויטר";
|
||||
|
||||
/* Action sheet item */
|
||||
"SHOW_SAFETY_NUMBER_ACTION" = "Show New Safety Number";
|
||||
"SHOW_SAFETY_NUMBER_ACTION" = "הראה מספר בטיחות חדש";
|
||||
|
||||
/* notification action */
|
||||
"SHOW_THREAD_BUTTON_TITLE" = "הצג שיחה";
|
||||
|
@ -1526,7 +1526,7 @@
|
|||
"SUCCESSFUL_VERIFICATION_DESCRIPTION" = "Your safety number with %@ matches. You can mark this contact as verified.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"SUCCESSFUL_VERIFICATION_TITLE" = "Safety Number Matches!";
|
||||
"SUCCESSFUL_VERIFICATION_TITLE" = "מספר בטיחות תואם!";
|
||||
|
||||
/* {{number of days}} embedded in strings, e.g. 'Alice updated disappearing messages expiration to {{5 days}}'. See other *_TIME_AMOUNT strings */
|
||||
"TIME_AMOUNT_DAYS" = "%@ ימים";
|
||||
|
@ -1574,7 +1574,7 @@
|
|||
"UNKNOWN_CONTACT_NAME" = "איש קשר בלתי ידוע";
|
||||
|
||||
/* Indicates an unknown or unrecognizable value. */
|
||||
"UNKNOWN_VALUE" = "Unknown";
|
||||
"UNKNOWN_VALUE" = "בלתי ידוע";
|
||||
|
||||
/* button title for unlinking a device */
|
||||
"UNLINK_ACTION" = "Unlink";
|
||||
|
@ -1679,13 +1679,13 @@
|
|||
"VERIFICATION_STATE_CHANGE_FORMAT_VERIFIED_OTHER_DEVICE" = "You marked %@ as verified on another device.";
|
||||
|
||||
/* Generic message indicating that verification state changed for a given user. */
|
||||
"VERIFICATION_STATE_CHANGE_GENERIC" = "Verification state changed.";
|
||||
"VERIFICATION_STATE_CHANGE_GENERIC" = "מצב וידוא השתנה.";
|
||||
|
||||
/* Label for button or row which allows users to verify the safety number of another user. */
|
||||
"VERIFY_PRIVACY" = "הראה מספר ביטחון";
|
||||
"VERIFY_PRIVACY" = "הראה מספר בטיחות";
|
||||
|
||||
/* Label for button or row which allows users to verify the safety numbers of multiple users. */
|
||||
"VERIFY_PRIVACY_MULTIPLE" = "סקור מספר ביטחון";
|
||||
"VERIFY_PRIVACY_MULTIPLE" = "סקור מספרי בטיחות";
|
||||
|
||||
/* Indicates how to cancel a voice message. */
|
||||
"VOICE_MESSAGE_CANCEL_INSTRUCTIONS" = "החלק כדי לבטל";
|
||||
|
|
|
@ -371,10 +371,10 @@
|
|||
"CONVERSATION_SETTINGS_UNMUTE_ACTION" = "消音をやめる";
|
||||
|
||||
/* Indicates that user's profile has been shared with a group. */
|
||||
"CONVERSATION_SETTINGS_VIEW_PROFILE_IS_SHARED_WITH_GROUP" = "私のプロフィールを見れる";
|
||||
"CONVERSATION_SETTINGS_VIEW_PROFILE_IS_SHARED_WITH_GROUP" = "私のプロフィールを閲覧可能";
|
||||
|
||||
/* Indicates that user's profile has been shared with a user. */
|
||||
"CONVERSATION_SETTINGS_VIEW_PROFILE_IS_SHARED_WITH_USER" = "私のプロフィールを見れる";
|
||||
"CONVERSATION_SETTINGS_VIEW_PROFILE_IS_SHARED_WITH_USER" = "私のプロフィールを閲覧可能";
|
||||
|
||||
/* Button to confirm that user wants to share their profile with a user or group. */
|
||||
"CONVERSATION_SETTINGS_VIEW_SHARE_PROFILE" = "プロフィールを共有する";
|
||||
|
@ -395,7 +395,7 @@
|
|||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "この人は連絡先にいません";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages...";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "メッセージを読込中";
|
||||
|
||||
/* Indicator on truncated text messages that they can be tapped to see the entire text message. */
|
||||
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "詳細";
|
||||
|
@ -1574,7 +1574,7 @@
|
|||
"UNKNOWN_CONTACT_NAME" = "不明な連絡先";
|
||||
|
||||
/* Indicates an unknown or unrecognizable value. */
|
||||
"UNKNOWN_VALUE" = "Unknown";
|
||||
"UNKNOWN_VALUE" = "不明";
|
||||
|
||||
/* button title for unlinking a device */
|
||||
"UNLINK_ACTION" = "登録解除";
|
||||
|
|
|
@ -395,7 +395,7 @@
|
|||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Acest utilizator nu se află în lista ta de contacte.";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages...";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Se încarcă mai multe mesaje...";
|
||||
|
||||
/* Indicator on truncated text messages that they can be tapped to see the entire text message. */
|
||||
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "Apasă pentru detalii";
|
||||
|
@ -1574,7 +1574,7 @@
|
|||
"UNKNOWN_CONTACT_NAME" = "Contact necunoscut";
|
||||
|
||||
/* Indicates an unknown or unrecognizable value. */
|
||||
"UNKNOWN_VALUE" = "Unknown";
|
||||
"UNKNOWN_VALUE" = "Necunoscut";
|
||||
|
||||
/* button title for unlinking a device */
|
||||
"UNLINK_ACTION" = "Disociază";
|
||||
|
|
|
@ -395,7 +395,7 @@
|
|||
"CONVERSATION_VIEW_CONTACTS_OFFER_TITLE" = "Användaren finns inte bland dina kontakter.";
|
||||
|
||||
/* Indicates that the app is loading more messages in this conversation. */
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Loading More Messages...";
|
||||
"CONVERSATION_VIEW_LOADING_MORE_MESSAGES" = "Hämtar fler meddelanden...";
|
||||
|
||||
/* Indicator on truncated text messages that they can be tapped to see the entire text message. */
|
||||
"CONVERSATION_VIEW_OVERSIZE_TEXT_TAP_FOR_MORE" = "Tryck för mer";
|
||||
|
@ -1574,7 +1574,7 @@
|
|||
"UNKNOWN_CONTACT_NAME" = "Okänd kontakt";
|
||||
|
||||
/* Indicates an unknown or unrecognizable value. */
|
||||
"UNKNOWN_VALUE" = "Unknown";
|
||||
"UNKNOWN_VALUE" = "Okänt";
|
||||
|
||||
/* button title for unlinking a device */
|
||||
"UNLINK_ACTION" = "Avlänka";
|
||||
|
|
|
@ -1700,7 +1700,7 @@
|
|||
"VOICE_MESSAGE_TOO_SHORT_ALERT_TITLE" = "语音消息";
|
||||
|
||||
/* Activity indicator title, shown upon returning to the device manager, until you complete the provisioning process on desktop */
|
||||
"WAITING_TO_COMPLETE_DEVICE_LINK_TEXT" = "Signal桌面版设置成功。";
|
||||
"WAITING_TO_COMPLETE_DEVICE_LINK_TEXT" = "请完成 Signal 桌面版设置。";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"WHISPER_NAV_BAR_TITLE" = "收件箱";
|
||||
|
|
1729
Signal/translations/zh_TW.lproj/Localizable.strings
Normal file
1729
Signal/translations/zh_TW.lproj/Localizable.strings
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue