mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
Merge tag '2.37.2.0'
This commit is contained in:
commit
95b11ddf8c
10 changed files with 130 additions and 39 deletions
|
@ -475,6 +475,7 @@
|
|||
4C1885D2218F8E1C00B67051 /* PhotoGridViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1885D1218F8E1C00B67051 /* PhotoGridViewCell.swift */; };
|
||||
4C20B2B720CA0034001BAC90 /* ThreadViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4542DF51208B82E9007B4E76 /* ThreadViewModel.swift */; };
|
||||
4C20B2B920CA10DE001BAC90 /* ConversationSearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C20B2B820CA10DE001BAC90 /* ConversationSearchViewController.swift */; };
|
||||
4C21D5D6223A9DC500EF8A77 /* UIAlerts+iOS9.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C21D5D5223A9DC500EF8A77 /* UIAlerts+iOS9.m */; };
|
||||
4C23A5F2215C4ADE00534937 /* SheetViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C23A5F1215C4ADE00534937 /* SheetViewController.swift */; };
|
||||
4C2F454F214C00E1004871FF /* AvatarTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C2F454E214C00E1004871FF /* AvatarTableViewCell.swift */; };
|
||||
4C3E245C21F29FCE000AE092 /* Toast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA5F792211E1F06008C2708 /* Toast.swift */; };
|
||||
|
@ -1223,6 +1224,7 @@
|
|||
4C1D233A218B6CDB00A0598F /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = translations/th.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
4C1D233B218B6D3100A0598F /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = translations/tr.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
4C20B2B820CA10DE001BAC90 /* ConversationSearchViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConversationSearchViewController.swift; sourceTree = "<group>"; };
|
||||
4C21D5D5223A9DC500EF8A77 /* UIAlerts+iOS9.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIAlerts+iOS9.m"; sourceTree = "<group>"; };
|
||||
4C23A5F1215C4ADE00534937 /* SheetViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SheetViewController.swift; sourceTree = "<group>"; };
|
||||
4C2F454E214C00E1004871FF /* AvatarTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AvatarTableViewCell.swift; sourceTree = "<group>"; };
|
||||
4C3EF7FC2107DDEE0007EBF7 /* ParamParserTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParamParserTest.swift; sourceTree = "<group>"; };
|
||||
|
@ -2664,6 +2666,7 @@
|
|||
FCFA64B11A24F29E0007FB87 /* UI Categories */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4C21D5D5223A9DC500EF8A77 /* UIAlerts+iOS9.m */,
|
||||
45C0DC1A1E68FE9000E04C47 /* UIApplication+OWS.swift */,
|
||||
45C0DC1D1E69011F00E04C47 /* UIStoryboard+OWS.swift */,
|
||||
EF764C331DB67CC5000D9A87 /* UIViewController+Permissions.h */,
|
||||
|
@ -3677,6 +3680,7 @@
|
|||
34D1F0841F8678AA0066283D /* ConversationInputToolbar.m in Sources */,
|
||||
457F671B20746193000EABCD /* QuotedReplyPreview.swift in Sources */,
|
||||
34A6C28021E503E700B5B12E /* OWSImagePickerController.swift in Sources */,
|
||||
4C21D5D6223A9DC500EF8A77 /* UIAlerts+iOS9.m in Sources */,
|
||||
34DBF004206BD5A500025978 /* OWSBubbleView.m in Sources */,
|
||||
3496957021A301A100DCFE74 /* OWSBackupIO.m in Sources */,
|
||||
34E88D262098C5AE00A608F4 /* ContactViewController.swift in Sources */,
|
||||
|
|
85
Signal/src/UIAlerts+iOS9.m
Normal file
85
Signal/src/UIAlerts+iOS9.m
Normal file
|
@ -0,0 +1,85 @@
|
|||
//
|
||||
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
#import <objc/runtime.h>
|
||||
|
||||
@implementation UIAlertController (iOS9)
|
||||
|
||||
+ (void)load {
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
// On iOS9, avoids an exception when presenting an alert controller.
|
||||
//
|
||||
// *** Assertion failure in -[UIAlertController supportedInterfaceOrientations], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3512.30.14/UIAlertController.m:542
|
||||
// Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UIAlertController:supportedInterfaceOrientations was invoked recursively!'
|
||||
//
|
||||
// I'm not sure when this was introduced, or the exact root casue, but this quick workaround
|
||||
// seems reasonable given the small size of our iOS9 userbase.
|
||||
if (@available(iOS 10, *)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Class class = [self class];
|
||||
|
||||
// supportedInterfaceOrientation
|
||||
|
||||
SEL originalOrientationSelector = @selector(supportedInterfaceOrientations);
|
||||
SEL swizzledOrientationSelector = @selector(ows_iOS9Alerts_swizzle_supportedInterfaceOrientation);
|
||||
|
||||
Method originalOrientationMethod = class_getInstanceMethod(class, originalOrientationSelector);
|
||||
Method swizzledOrientationMethod = class_getInstanceMethod(class, swizzledOrientationSelector);
|
||||
|
||||
BOOL didAddOrientationMethod = class_addMethod(class,
|
||||
originalOrientationSelector,
|
||||
method_getImplementation(swizzledOrientationMethod),
|
||||
method_getTypeEncoding(swizzledOrientationMethod));
|
||||
|
||||
if (didAddOrientationMethod) {
|
||||
class_replaceMethod(class,
|
||||
swizzledOrientationSelector,
|
||||
method_getImplementation(originalOrientationMethod),
|
||||
method_getTypeEncoding(originalOrientationMethod));
|
||||
} else {
|
||||
method_exchangeImplementations(originalOrientationMethod, swizzledOrientationMethod);
|
||||
}
|
||||
|
||||
// shouldAutorotate
|
||||
|
||||
SEL originalAutorotateSelector = @selector(shouldAutorotate);
|
||||
SEL swizzledAutorotateSelector = @selector(ows_iOS9Alerts_swizzle_shouldAutorotate);
|
||||
|
||||
Method originalAutorotateMethod = class_getInstanceMethod(class, originalAutorotateSelector);
|
||||
Method swizzledAutorotateMethod = class_getInstanceMethod(class, swizzledAutorotateSelector);
|
||||
|
||||
BOOL didAddAutorotateMethod = class_addMethod(class,
|
||||
originalAutorotateSelector,
|
||||
method_getImplementation(swizzledAutorotateMethod),
|
||||
method_getTypeEncoding(swizzledAutorotateMethod));
|
||||
|
||||
if (didAddAutorotateMethod) {
|
||||
class_replaceMethod(class,
|
||||
swizzledAutorotateSelector,
|
||||
method_getImplementation(originalAutorotateMethod),
|
||||
method_getTypeEncoding(originalAutorotateMethod));
|
||||
} else {
|
||||
method_exchangeImplementations(originalAutorotateMethod, swizzledAutorotateMethod);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
#pragma mark - Method Swizzling
|
||||
|
||||
- (UIInterfaceOrientationMask)ows_iOS9Alerts_swizzle_supportedInterfaceOrientation
|
||||
{
|
||||
OWSLogInfo(@"swizzled");
|
||||
return UIInterfaceOrientationMaskAllButUpsideDown;
|
||||
}
|
||||
|
||||
- (BOOL)ows_iOS9Alerts_swizzle_shouldAutorotate
|
||||
{
|
||||
OWSLogInfo(@"swizzled");
|
||||
return NO;
|
||||
}
|
||||
|
||||
@end
|
|
@ -113,7 +113,9 @@ extension UserNotificationPresenterAdaptee: NotificationPresenterAdaptee {
|
|||
content.categoryIdentifier = category.identifier
|
||||
content.userInfo = userInfo
|
||||
let isAppActive = UIApplication.shared.applicationState == .active
|
||||
content.sound = sound?.notificationSound(isQuiet: isAppActive)
|
||||
if let sound = sound, sound != OWSSound.none {
|
||||
content.sound = sound.notificationSound(isQuiet: isAppActive)
|
||||
}
|
||||
|
||||
var notificationIdentifier: String = UUID().uuidString
|
||||
if let replacingIdentifier = replacingIdentifier {
|
||||
|
|
|
@ -1533,7 +1533,7 @@
|
|||
"ONBOARDING_PERMISSIONS_TITLE" = "Signal can let you know when you get a message (and who it is from)";
|
||||
|
||||
/* Title of the 'onboarding phone number' view. */
|
||||
"ONBOARDING_PHONE_NUMBER_TITLE" = "Enter your phone number to get started";
|
||||
"ONBOARDING_PHONE_NUMBER_TITLE" = "Začněte zadáním telefoního čísla";
|
||||
|
||||
/* Label indicating that the phone number is invalid in the 'onboarding phone number' view. */
|
||||
"ONBOARDING_PHONE_NUMBER_VALIDATION_WARNING" = "Neplatné číslo";
|
||||
|
@ -1545,7 +1545,7 @@
|
|||
"ONBOARDING_PROFILE_NAME_PLACEHOLDER" = "Your Name";
|
||||
|
||||
/* Title of the 'onboarding profile' view. */
|
||||
"ONBOARDING_PROFILE_TITLE" = "Set up your profile";
|
||||
"ONBOARDING_PROFILE_TITLE" = "Nastavit váš profil";
|
||||
|
||||
/* Link to the 'terms and privacy policy' in the 'onboarding splash' view. */
|
||||
"ONBOARDING_SPLASH_TERM_AND_PRIVACY_POLICY" = "Smluvní podmínky a zásady ochrany osobních údajů";
|
||||
|
|
|
@ -1057,7 +1057,7 @@
|
|||
"HOME_VIEW_CONVERSATION_SEARCHBAR_PLACEHOLDER" = "Suchen";
|
||||
|
||||
/* Format string for a label offering to start a new conversation with your contacts, if you have 1 Signal contact. Embeds: {{The name of 1 of your Signal contacts}}. */
|
||||
"HOME_VIEW_FIRST_CONVERSATION_OFFER_1_CONTACT_FORMAT" = "Einige deiner Kontakte sind bereits bei Signal, darunter %@.";
|
||||
"HOME_VIEW_FIRST_CONVERSATION_OFFER_1_CONTACT_FORMAT" = "Einige deiner Kontakte sind bereits bei Signal, darunter %@";
|
||||
|
||||
/* Format string for a label offering to start a new conversation with your contacts, if you have 2 Signal contacts. Embeds: {{The names of 2 of your Signal contacts}}. */
|
||||
"HOME_VIEW_FIRST_CONVERSATION_OFFER_2_CONTACTS_FORMAT" = "Einige deiner Kontakte sind bereits bei Signal, darunter %@ und %@";
|
||||
|
@ -1102,7 +1102,7 @@
|
|||
"IN_CALL_CONNECTING" = "Verbinden …";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RECONNECTING" = "Verbindung wird wiederhergestellt …";
|
||||
"IN_CALL_RECONNECTING" = "Neu verbinden …";
|
||||
|
||||
/* Call setup status label */
|
||||
"IN_CALL_RINGING" = "Klingeln …";
|
||||
|
@ -1503,7 +1503,7 @@
|
|||
"NOTIFICATIONS_SHOW" = "Anzeigen";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"OK" = "O. K.";
|
||||
"OK" = "Okay";
|
||||
|
||||
/* The first explanation in the 'onboarding 2FA' view. */
|
||||
"ONBOARDING_2FA_EXPLANATION_1" = "Für diese Rufnummer ist eine Registrierungssperre aktiviert. Bitte gib die PIN für die Registrierungssperre ein.";
|
||||
|
|
|
@ -1533,7 +1533,7 @@
|
|||
"ONBOARDING_PERMISSIONS_TITLE" = "Signal can let you know when you get a message (and who it is from)";
|
||||
|
||||
/* Title of the 'onboarding phone number' view. */
|
||||
"ONBOARDING_PHONE_NUMBER_TITLE" = "Enter your phone number to get started";
|
||||
"ONBOARDING_PHONE_NUMBER_TITLE" = "Sisesta alustamiseks oma telefoninumber";
|
||||
|
||||
/* Label indicating that the phone number is invalid in the 'onboarding phone number' view. */
|
||||
"ONBOARDING_PHONE_NUMBER_VALIDATION_WARNING" = "Vigane number";
|
||||
|
@ -1545,7 +1545,7 @@
|
|||
"ONBOARDING_PROFILE_NAME_PLACEHOLDER" = "Your Name";
|
||||
|
||||
/* Title of the 'onboarding profile' view. */
|
||||
"ONBOARDING_PROFILE_TITLE" = "Set up your profile";
|
||||
"ONBOARDING_PROFILE_TITLE" = "Seadista oma profiil";
|
||||
|
||||
/* Link to the 'terms and privacy policy' in the 'onboarding splash' view. */
|
||||
"ONBOARDING_SPLASH_TERM_AND_PRIVACY_POLICY" = "Tingimused ja privaatsuspoliitika";
|
||||
|
|
|
@ -1048,7 +1048,7 @@
|
|||
"GROUP_YOU_LEFT" = "Elhagytad a csoportot.";
|
||||
|
||||
/* Label for 'archived conversations' button. */
|
||||
"HOME_VIEW_ARCHIVED_CONVERSATIONS" = "Archived Conversations";
|
||||
"HOME_VIEW_ARCHIVED_CONVERSATIONS" = "Archív beszélgetések";
|
||||
|
||||
/* Table cell subtitle label for a conversation the user has blocked. */
|
||||
"HOME_VIEW_BLOCKED_CONVERSATION" = "Letiltva";
|
||||
|
@ -1114,7 +1114,7 @@
|
|||
"IN_CALL_TERMINATED" = "Hívás vége";
|
||||
|
||||
/* Label reminding the user that they are in archive mode. */
|
||||
"INBOX_VIEW_ARCHIVE_MODE_REMINDER" = "These conversations are archived and will only appear in the Inbox if new messages are received.";
|
||||
"INBOX_VIEW_ARCHIVE_MODE_REMINDER" = "Ezek a beszélgetések archiválva vannak, ezért csak akkor jelennek meg újra a bejövő üzenet közt, ha újabb üzenet érkezik.";
|
||||
|
||||
/* Message shown in the home view when the inbox is empty. */
|
||||
"INBOX_VIEW_EMPTY_INBOX" = "Dobj a postaládádba valamit, hogy ne legyen olyan magányos! Láss hozzá, és üzenj egy barátodnak!";
|
||||
|
|
|
@ -1533,7 +1533,7 @@
|
|||
"ONBOARDING_PERMISSIONS_TITLE" = "Signal can let you know when you get a message (and who it is from)";
|
||||
|
||||
/* Title of the 'onboarding phone number' view. */
|
||||
"ONBOARDING_PHONE_NUMBER_TITLE" = "Enter your phone number to get started";
|
||||
"ONBOARDING_PHONE_NUMBER_TITLE" = "Skriv inn telefonnummeret ditt for å komme i gang";
|
||||
|
||||
/* Label indicating that the phone number is invalid in the 'onboarding phone number' view. */
|
||||
"ONBOARDING_PHONE_NUMBER_VALIDATION_WARNING" = "Ugyldig nummer";
|
||||
|
|
|
@ -1057,16 +1057,16 @@
|
|||
"HOME_VIEW_CONVERSATION_SEARCHBAR_PLACEHOLDER" = "Buscar";
|
||||
|
||||
/* Format string for a label offering to start a new conversation with your contacts, if you have 1 Signal contact. Embeds: {{The name of 1 of your Signal contacts}}. */
|
||||
"HOME_VIEW_FIRST_CONVERSATION_OFFER_1_CONTACT_FORMAT" = "Some of your contacts are already on Signal, including %@.";
|
||||
"HOME_VIEW_FIRST_CONVERSATION_OFFER_1_CONTACT_FORMAT" = "Alguns dos seus contatos já estão no Signal, inclusive %@.";
|
||||
|
||||
/* Format string for a label offering to start a new conversation with your contacts, if you have 2 Signal contacts. Embeds: {{The names of 2 of your Signal contacts}}. */
|
||||
"HOME_VIEW_FIRST_CONVERSATION_OFFER_2_CONTACTS_FORMAT" = "Some of your contacts are already on Signal, including %@ and %@";
|
||||
"HOME_VIEW_FIRST_CONVERSATION_OFFER_2_CONTACTS_FORMAT" = "Alguns dos seus contatos já estão no Signal, inclusive %@ e %@";
|
||||
|
||||
/* Format string for a label offering to start a new conversation with your contacts, if you have at least 3 Signal contacts. Embeds: {{The names of 3 of your Signal contacts}}. */
|
||||
"HOME_VIEW_FIRST_CONVERSATION_OFFER_3_CONTACTS_FORMAT" = "Some of your contacts are already on Signal, including %@, %@ and %@";
|
||||
"HOME_VIEW_FIRST_CONVERSATION_OFFER_3_CONTACTS_FORMAT" = "Alguns dos seus contatos já estão no Signal, inclusive %@, %@ e %@";
|
||||
|
||||
/* A label offering to start a new conversation with your contacts, if you have no Signal contacts. */
|
||||
"HOME_VIEW_FIRST_CONVERSATION_OFFER_NO_CONTACTS" = "Start your first conversation here.";
|
||||
"HOME_VIEW_FIRST_CONVERSATION_OFFER_NO_CONTACTS" = "Inicie sua primeira conversa aqui.";
|
||||
|
||||
/* Format string when search returns no results. Embeds {{search term}} */
|
||||
"HOME_VIEW_SEARCH_NO_RESULTS_FORMAT" = "Nenhum resultado encontrado para '%@'";
|
||||
|
@ -1087,10 +1087,10 @@
|
|||
"IMAGE_EDITOR_RESET_BUTTON" = "Reiniciar";
|
||||
|
||||
/* Label for button that rotates image 45 degrees. */
|
||||
"IMAGE_EDITOR_ROTATE_45_BUTTON" = "Rotate 45°";
|
||||
"IMAGE_EDITOR_ROTATE_45_BUTTON" = "Girar 45°";
|
||||
|
||||
/* Label for button that rotates image 90 degrees. */
|
||||
"IMAGE_EDITOR_ROTATE_90_BUTTON" = "Rotate 90°";
|
||||
"IMAGE_EDITOR_ROTATE_90_BUTTON" = "Girar 90°";
|
||||
|
||||
/* Momentarily shown to the user when attempting to select more images than is allowed. Embeds {{max number of items}} that can be shared. */
|
||||
"IMAGE_PICKER_CAN_SELECT_NO_MORE_TOAST_FORMAT" = "Você não pode compartilhar mais de %@ itens.";
|
||||
|
@ -1509,82 +1509,82 @@
|
|||
"ONBOARDING_2FA_EXPLANATION_1" = "Este número de telefone está com o Bloqueio de Cadastro ativo. Por favor, insira o PIN de Desbloqueio de Cadastro.";
|
||||
|
||||
/* The first explanation in the 'onboarding 2FA' view. */
|
||||
"ONBOARDING_2FA_EXPLANATION_2" = "Your Registration Lock PIN is separate from the automated verification code that was sent to your phone during the last step.";
|
||||
"ONBOARDING_2FA_EXPLANATION_2" = "Seu PIN de Bloqueio de Cadastro é diferente do código de verificação automático que foi enviado para o seu celular na última etapa.";
|
||||
|
||||
/* Label for the 'forgot 2FA PIN' link in the 'onboarding 2FA' view. */
|
||||
"ONBOARDING_2FA_FORGOT_PIN_LINK" = "I forgot my PIN";
|
||||
"ONBOARDING_2FA_FORGOT_PIN_LINK" = "Esqueci meu PIN";
|
||||
|
||||
/* Title of the 'onboarding 2FA' view. */
|
||||
"ONBOARDING_2FA_TITLE" = "Bloqueio de Cadastro";
|
||||
|
||||
/* Title of the 'onboarding Captcha' view. */
|
||||
"ONBOARDING_CAPTCHA_TITLE" = "Add a touch of humanity to your messages";
|
||||
"ONBOARDING_CAPTCHA_TITLE" = "Adicione um toque de humanidade às suas mensagens";
|
||||
|
||||
/* Label for the 'give access' button in the 'onboarding permissions' view. */
|
||||
"ONBOARDING_PERMISSIONS_ENABLE_PERMISSIONS_BUTTON" = "Enable Permissions";
|
||||
"ONBOARDING_PERMISSIONS_ENABLE_PERMISSIONS_BUTTON" = "Habilitar permissões";
|
||||
|
||||
/* Explanation in the 'onboarding permissions' view. */
|
||||
"ONBOARDING_PERMISSIONS_EXPLANATION" = "Your contact information is always transmitted securely.";
|
||||
"ONBOARDING_PERMISSIONS_EXPLANATION" = "As suas informações de contato são sempre transmitidas com segurança.";
|
||||
|
||||
/* Label for the 'not now' button in the 'onboarding permissions' view. */
|
||||
"ONBOARDING_PERMISSIONS_NOT_NOW_BUTTON" = "Agora Não";
|
||||
|
||||
/* Title of the 'onboarding permissions' view. */
|
||||
"ONBOARDING_PERMISSIONS_TITLE" = "Signal can let you know when you get a message (and who it is from)";
|
||||
"ONBOARDING_PERMISSIONS_TITLE" = "O Signal pode avisar quando você receber uma mensagem (e quem a mandou)";
|
||||
|
||||
/* Title of the 'onboarding phone number' view. */
|
||||
"ONBOARDING_PHONE_NUMBER_TITLE" = "Enter your phone number to get started";
|
||||
"ONBOARDING_PHONE_NUMBER_TITLE" = "Insira seu número de telefone para começar";
|
||||
|
||||
/* Label indicating that the phone number is invalid in the 'onboarding phone number' view. */
|
||||
"ONBOARDING_PHONE_NUMBER_VALIDATION_WARNING" = "Número inválido";
|
||||
|
||||
/* Explanation in the 'onboarding profile' view. */
|
||||
"ONBOARDING_PROFILE_EXPLANATION" = "Signal profiles are end-to-end encrypted and the Signal service never has access to this information.";
|
||||
"ONBOARDING_PROFILE_EXPLANATION" = "Os perfis do Signal são criptografados de ponta a ponta, e o Signal jamais tem acesso a estas informações.";
|
||||
|
||||
/* Placeholder text for the profile name in the 'onboarding profile' view. */
|
||||
"ONBOARDING_PROFILE_NAME_PLACEHOLDER" = "Your Name";
|
||||
"ONBOARDING_PROFILE_NAME_PLACEHOLDER" = "Seu nome";
|
||||
|
||||
/* Title of the 'onboarding profile' view. */
|
||||
"ONBOARDING_PROFILE_TITLE" = "Set up your profile";
|
||||
"ONBOARDING_PROFILE_TITLE" = "Crie seu perfil";
|
||||
|
||||
/* Link to the 'terms and privacy policy' in the 'onboarding splash' view. */
|
||||
"ONBOARDING_SPLASH_TERM_AND_PRIVACY_POLICY" = "Termos & Política de Privacidade";
|
||||
|
||||
/* Title of the 'onboarding splash' view. */
|
||||
"ONBOARDING_SPLASH_TITLE" = "Take privacy with you.\nBe yourself in every message.";
|
||||
"ONBOARDING_SPLASH_TITLE" = "Leve a privacidade consigo.\nSeja você em cada mensagem.";
|
||||
|
||||
/* Label for the link that lets users change their phone number in the onboarding views. */
|
||||
"ONBOARDING_VERIFICATION_BACK_LINK" = "Número errado?";
|
||||
|
||||
/* Format for the label of the 'sent code' label of the 'onboarding verification' view. Embeds {{the time until the code can be resent}}. */
|
||||
"ONBOARDING_VERIFICATION_CODE_COUNTDOWN_FORMAT" = "I didn't get a code (available in %@)";
|
||||
"ONBOARDING_VERIFICATION_CODE_COUNTDOWN_FORMAT" = "Não recebi um código (disponível em %@)";
|
||||
|
||||
/* Label indicating that the verification code is incorrect in the 'onboarding verification' view. */
|
||||
"ONBOARDING_VERIFICATION_INVALID_CODE" = "This code is incorrect";
|
||||
"ONBOARDING_VERIFICATION_INVALID_CODE" = "O código está incorreto";
|
||||
|
||||
/* Label for link that can be used when the original code did not arrive. */
|
||||
"ONBOARDING_VERIFICATION_ORIGINAL_CODE_MISSING_LINK" = "I didn't get a code";
|
||||
"ONBOARDING_VERIFICATION_ORIGINAL_CODE_MISSING_LINK" = "Não recebi um código";
|
||||
|
||||
/* Message for the 'resend code' alert in the 'onboarding verification' view. */
|
||||
"ONBOARDING_VERIFICATION_RESEND_CODE_ALERT_MESSAGE" = "Please ensure that you have cellular service and can receive SMS messages.";
|
||||
"ONBOARDING_VERIFICATION_RESEND_CODE_ALERT_MESSAGE" = "Por favor, verifique se o seu celular está com sinal e pode receber mensagens de SMS.";
|
||||
|
||||
/* Title for the 'resend code' alert in the 'onboarding verification' view. */
|
||||
"ONBOARDING_VERIFICATION_RESEND_CODE_ALERT_TITLE" = "No code?";
|
||||
"ONBOARDING_VERIFICATION_RESEND_CODE_ALERT_TITLE" = "Nada de código?";
|
||||
|
||||
/* Label for the 'resend code by SMS' button in the 'onboarding verification' view. */
|
||||
"ONBOARDING_VERIFICATION_RESEND_CODE_BY_SMS_BUTTON" = "Resend code";
|
||||
"ONBOARDING_VERIFICATION_RESEND_CODE_BY_SMS_BUTTON" = "Reenviar código";
|
||||
|
||||
/* Label for the 'resend code by voice' button in the 'onboarding verification' view. */
|
||||
"ONBOARDING_VERIFICATION_RESEND_CODE_BY_VOICE_BUTTON" = "Ligue para mim";
|
||||
|
||||
/* Label for link that can be used when the resent code did not arrive. */
|
||||
"ONBOARDING_VERIFICATION_RESENT_CODE_MISSING_LINK" = "Still no code?";
|
||||
"ONBOARDING_VERIFICATION_RESENT_CODE_MISSING_LINK" = "Ainda nada de código?";
|
||||
|
||||
/* Format for the title of the 'onboarding verification' view. Embeds {{the user's phone number}}. */
|
||||
"ONBOARDING_VERIFICATION_TITLE_DEFAULT_FORMAT" = "Enter the code we sent to %@";
|
||||
"ONBOARDING_VERIFICATION_TITLE_DEFAULT_FORMAT" = "Insira o código que enviamos para %@";
|
||||
|
||||
/* Format for the title of the 'onboarding verification' view after the verification code has been resent. Embeds {{the user's phone number}}. */
|
||||
"ONBOARDING_VERIFICATION_TITLE_RESENT_FORMAT" = "We just resent a code to %@";
|
||||
"ONBOARDING_VERIFICATION_TITLE_RESENT_FORMAT" = "Acabamos de reenviar um código para %@";
|
||||
|
||||
/* Button text which opens the settings app */
|
||||
"OPEN_SETTINGS_BUTTON" = "Configurações";
|
||||
|
@ -2412,7 +2412,7 @@
|
|||
"UNKNOWN_CONTACT_NAME" = "Contato Desconhecido";
|
||||
|
||||
/* Label for unknown countries. */
|
||||
"UNKNOWN_COUNTRY_NAME" = "Unknown Country";
|
||||
"UNKNOWN_COUNTRY_NAME" = "País desconhecido";
|
||||
|
||||
/* Indicates an unknown or unrecognizable value. */
|
||||
"UNKNOWN_VALUE" = "Desconhecida/o";
|
||||
|
|
|
@ -1114,7 +1114,7 @@
|
|||
"IN_CALL_TERMINATED" = "Končan klic.";
|
||||
|
||||
/* Label reminding the user that they are in archive mode. */
|
||||
"INBOX_VIEW_ARCHIVE_MODE_REMINDER" = "These conversations are archived and will only appear in the Inbox if new messages are received.";
|
||||
"INBOX_VIEW_ARCHIVE_MODE_REMINDER" = "Ti pogovori so premaknjeni v arhiv in se bodo znova pojavili v nabiralniku samo, če prejmete novo sporočilo.";
|
||||
|
||||
/* Message shown in the home view when the inbox is empty. */
|
||||
"INBOX_VIEW_EMPTY_INBOX" = "Vaš poštni nabiralnik je lačen nove pošte. ;-) Začnite s sporočilom prijatelju!";
|
||||
|
|
Loading…
Reference in a new issue