adding pods method of package managing
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol FUICodeFieldDelegate <NSObject>
|
||||
|
||||
- (void) entryIsCompletedWithCode:(NSString *)code;
|
||||
- (void) entryIsIncomplete;
|
||||
|
||||
@end
|
||||
|
||||
@interface FUICodeField : UITextField <UITextFieldDelegate>
|
||||
|
||||
@property (nonatomic, retain, readonly) NSMutableString *codeEntry;
|
||||
|
||||
@property (nonatomic, readwrite) IBOutlet id<FUICodeFieldDelegate> codeDelegate;
|
||||
|
||||
@property (nonatomic, readonly) IBInspectable NSInteger codeLength;
|
||||
|
||||
- (void)clearCodeInput;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,163 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUICodeField.h"
|
||||
|
||||
#if SWIFT_PACKAGE
|
||||
#import <FirebaseAuthUI/FirebaseAuthUI.h>
|
||||
#else
|
||||
#import <FirebaseAuthUI/FirebaseAuthUI.h>
|
||||
#endif
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
const CGFloat FUICodeFieldMinInputFieldHeight = 60.0f;
|
||||
|
||||
@interface FUICodeField ()
|
||||
|
||||
@property (nonatomic, readonly) IBInspectable NSString *placeholderChar;
|
||||
|
||||
@end
|
||||
|
||||
@implementation FUICodeField
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
if (self = [super initWithFrame:frame]){
|
||||
[self commonInit];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder {
|
||||
if (self = [super initWithCoder:aDecoder]){
|
||||
[self commonInit];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)commonInit {
|
||||
// Initialization code
|
||||
_codeEntry = [NSMutableString string];
|
||||
self.backgroundColor = UIColor.clearColor;
|
||||
self.tintColor = UIColor.clearColor;
|
||||
self.font = [UIFont fontWithName:@"Courier" size:40];
|
||||
self.textAlignment = NSTextAlignmentLeft;
|
||||
UIView *paddingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 20, self.bounds.size.height)];
|
||||
self.leftView = paddingView;
|
||||
self.leftViewMode = UITextFieldViewModeAlways;
|
||||
if (@available(iOS 12.0, *)) {
|
||||
self.textContentType = UITextContentTypeOneTimeCode;
|
||||
}
|
||||
|
||||
// Default values
|
||||
if (!self.codeLength) {
|
||||
_codeLength = 6;
|
||||
} else {
|
||||
_codeLength = MIN(self.codeLength, 12);
|
||||
}
|
||||
|
||||
if (!self.placeholderChar || !self.placeholderChar.length) {
|
||||
_placeholderChar = @"-";
|
||||
}
|
||||
|
||||
self.delegate = self;
|
||||
[self updateText];
|
||||
}
|
||||
|
||||
- (UIKeyboardType)keyboardType {
|
||||
if (@available(iOS 10, *)) {
|
||||
return UIKeyboardTypeASCIICapableNumberPad;
|
||||
} else {
|
||||
return UIKeyboardTypeNumberPad;
|
||||
}
|
||||
}
|
||||
|
||||
- (BOOL)hasText {
|
||||
return self.codeEntry.length > 0;
|
||||
}
|
||||
|
||||
- (void)insertText:(NSString *)theText {
|
||||
if (self.codeEntry.length >= self.codeLength){
|
||||
// UX: if code was submitted and there is an error message,
|
||||
// typing a new number should clear the field and start over
|
||||
[self updateText];
|
||||
return;
|
||||
}
|
||||
|
||||
[self.codeEntry appendString:theText];
|
||||
[self updateText];
|
||||
[self notifyEntryCompletion];
|
||||
}
|
||||
|
||||
- (void)deleteBackward {
|
||||
if (!self.codeEntry.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
NSRange theRange = NSMakeRange(self.codeEntry.length - 1, 1);
|
||||
[self.codeEntry deleteCharactersInRange:theRange];
|
||||
[self updateText];
|
||||
[self notifyEntryCompletion];
|
||||
}
|
||||
|
||||
- (void)clearCodeInput {
|
||||
[self.codeEntry setString:@""];
|
||||
[self updateText];
|
||||
[self notifyEntryCompletion];
|
||||
}
|
||||
|
||||
- (void)notifyEntryCompletion {
|
||||
if (self.codeEntry.length >= self.codeLength) {
|
||||
[self.codeDelegate entryIsCompletedWithCode:[self.codeEntry copy]];
|
||||
} else {
|
||||
[self.codeDelegate entryIsIncomplete];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)updateText {
|
||||
NSString *code = [self.codeEntry copy];
|
||||
if (self.secureTextEntry) {
|
||||
code = [[NSString string] stringByPaddingToLength:code.length
|
||||
withString:@"\u2022" startingAtIndex:0];
|
||||
}
|
||||
|
||||
NSInteger add = self.codeLength - code.length;
|
||||
if (add > 0) {
|
||||
NSString *pad = [[NSString string] stringByPaddingToLength:add
|
||||
withString:self.placeholderChar
|
||||
startingAtIndex:0];
|
||||
code = [code stringByAppendingString:pad];
|
||||
}
|
||||
|
||||
NSMutableAttributedString *attributedString =
|
||||
[[NSMutableAttributedString alloc] initWithString:code];
|
||||
[attributedString addAttribute:NSKernAttributeName value:@20
|
||||
range:NSMakeRange(0, attributedString.length - 1)];
|
||||
self.attributedText = attributedString;
|
||||
}
|
||||
|
||||
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
|
||||
if (string.length == 0) {
|
||||
[self deleteBackward];
|
||||
} else {
|
||||
[self insertText:string];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUICountryCodes.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/** @class FUICollationForCountries
|
||||
@brief Replacement class for UILocalizedIndexedCollation tailored to FUICountryCodes, used to
|
||||
create UITableView alphabetical indices. Main difference from UILocalizedIndexedCollation
|
||||
is sectionTitles and sectionIndexTitles methods remove sections with zero countries in them.
|
||||
*/
|
||||
@interface FUICollationForCountries : NSObject
|
||||
|
||||
- (instancetype)initWithCountryCodes:(FUICountryCodes *)countryCodes NS_DESIGNATED_INITIALIZER;
|
||||
+ (instancetype)new __unavailable;
|
||||
- (instancetype)init __unavailable;
|
||||
|
||||
/** @fn sectionTitles
|
||||
@brief Drop-in replacement for [UILocalizedIndexedCollation sectionTitles]
|
||||
*/
|
||||
- (NSArray *)sectionTitles;
|
||||
|
||||
/** @fn sectionIndexTitles
|
||||
@brief Drop-in replacement for [UILocalizedIndexedCollation sectionIndexTitles]
|
||||
*/
|
||||
- (NSArray *)sectionIndexTitles;
|
||||
|
||||
/** @fn numberOfCountriesInSection:
|
||||
@brief Returns number of countries that belong to a given alphabetical section (e.g. how many
|
||||
countries are there in section "A"). Works by counting how many countries are lexically
|
||||
greater than the section but smaller than the next section (e.g. how many countries are
|
||||
greater than "A" but smaller than "B").
|
||||
@param sectionIndex Index of the section.
|
||||
@return Returns number of countries.
|
||||
*/
|
||||
- (NSInteger)numberOfCountriesInSection:(NSInteger)sectionIndex;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+100
@@ -0,0 +1,100 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUICollationForCountries.h"
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface FUICollationForCountries ()
|
||||
|
||||
@property (nonatomic, readonly) FUICountryCodes *countryCodes;
|
||||
@property (nonatomic, readonly, copy) NSArray *sectionTitlesArray;
|
||||
|
||||
@end
|
||||
|
||||
@implementation FUICollationForCountries
|
||||
|
||||
- (instancetype)initWithCountryCodes:(FUICountryCodes *)countryCodes {
|
||||
if (self = [super init]) {
|
||||
_countryCodes = countryCodes;
|
||||
|
||||
// Apple's default collation ordering is not lexically sorted, so fix it
|
||||
NSArray *sortedSectionTitlesArray =
|
||||
[[[UILocalizedIndexedCollation currentCollation] sectionTitles]
|
||||
sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
|
||||
|
||||
// Remove section indices with zero countries in it
|
||||
NSIndexSet *indexesOfFilteredArray =
|
||||
[sortedSectionTitlesArray indexesOfObjectsPassingTest:
|
||||
^BOOL(id obj, NSUInteger sectionIndex, BOOL *stop) {
|
||||
BOOL sectionHasCountries =
|
||||
[self numberOfCountriesInSection:sectionIndex titlesArray:sortedSectionTitlesArray] > 0;
|
||||
return sectionHasCountries;
|
||||
}];
|
||||
_sectionTitlesArray = [sortedSectionTitlesArray objectsAtIndexes:indexesOfFilteredArray];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (NSArray *)sectionTitles {
|
||||
return self.sectionTitlesArray;
|
||||
}
|
||||
|
||||
- (NSArray *)sectionIndexTitles {
|
||||
return self.sectionTitlesArray;
|
||||
}
|
||||
|
||||
- (NSInteger)numberOfCountriesInSection:(NSInteger)sectionIndex {
|
||||
return [self numberOfCountriesInSection:sectionIndex titlesArray:self.sectionTitlesArray];
|
||||
}
|
||||
|
||||
- (NSInteger)numberOfCountriesInSection:(NSInteger)sectionIndex titlesArray:(NSArray *)titlesArray {
|
||||
// sectionTitle and nextSectionTitle are e.g. "A" and "B"
|
||||
// However when sectionTitle is the last available section (e.g. "Z"), nextSectionTitle is the
|
||||
// last unicode char available (\uFFFF). This is to ensure all remaining countries are lexically
|
||||
// smaller than that section, so that all remaining countries fall in sectionTitle
|
||||
NSString *sectionTitle = [titlesArray objectAtIndex:sectionIndex];
|
||||
NSString *nextSectionTitle =
|
||||
(sectionIndex+1 < titlesArray.count) ? [titlesArray objectAtIndex:(sectionIndex+1)]
|
||||
: @"\uFFFF";
|
||||
|
||||
NSInteger countriesInSection = 0;
|
||||
for (NSInteger row = 0; row < self.countryCodes.count; row++) {
|
||||
NSString* localizedCountryName =
|
||||
[self.countryCodes countryCodeInfoAtIndex:row].localizedCountryName;
|
||||
BOOL countryNameIsInBetweenTitles =
|
||||
([sectionTitle localizedCaseInsensitiveCompare:localizedCountryName] == NSOrderedAscending
|
||||
&& [nextSectionTitle localizedCaseInsensitiveCompare:localizedCountryName] ==
|
||||
NSOrderedDescending);
|
||||
BOOL countryNameIsPastTitles =
|
||||
[nextSectionTitle localizedCaseInsensitiveCompare:localizedCountryName] ==
|
||||
NSOrderedAscending;
|
||||
|
||||
if (countryNameIsInBetweenTitles) {
|
||||
countriesInSection++;
|
||||
} else if (countryNameIsPastTitles) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return countriesInSection;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,90 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface FUICountryCodeInfo : NSObject
|
||||
|
||||
@property (nonatomic, copy) NSString *countryName;
|
||||
@property (nonatomic, copy) NSString *localizedCountryName;
|
||||
@property (nonatomic, copy) NSString *countryCode;
|
||||
@property (nonatomic, copy) NSString *dialCode;
|
||||
@property (nonatomic, copy) NSNumber *level;
|
||||
|
||||
- (NSString *)countryFlagEmoji;
|
||||
|
||||
@end
|
||||
|
||||
@interface FUICountryCodes : NSObject
|
||||
|
||||
/** @fn count:
|
||||
@brief Return the number of available country codes.
|
||||
*/
|
||||
- (NSUInteger)count;
|
||||
|
||||
/** @fn countryCodeInfoAtIndex:
|
||||
@brief Get the @c FUICountryCodeInfo object with provided index.
|
||||
@param index The index number of the object.
|
||||
*/
|
||||
- (FUICountryCodeInfo *)countryCodeInfoAtIndex:(NSInteger)index;
|
||||
|
||||
/** @fn countryCodeInfoForPhoneNumber:
|
||||
@brief Get the @c FUICountryCodeInfo object based on the provided phone number.
|
||||
@param phoneNumber The phone number in string format.
|
||||
*/
|
||||
- (FUICountryCodeInfo *)countryCodeInfoForPhoneNumber:(NSString *)phoneNumber;
|
||||
|
||||
/** @fn countryCodeInfoForCode:
|
||||
@brief Get the @c FUICountryCodeInfo object of the selected country code.
|
||||
@param countryCode Country codes are in NSString format, and ISO (alpha-2) formatted.
|
||||
*/
|
||||
- (nullable FUICountryCodeInfo *)countryCodeInfoForCode:(NSString *)countryCode;
|
||||
|
||||
/** @fn defaultCountryCodeInfo
|
||||
@brief Get the default country code info
|
||||
@detail The default country is retrieved based on the following logic:
|
||||
1. The country code info of user's carrier provider if available.
|
||||
2. The country code info of user's device locale, if available.
|
||||
3. A hard coded coutry code info (US), if available.
|
||||
4. The first available country code info in the instance.
|
||||
*/
|
||||
- (FUICountryCodeInfo *)defaultCountryCodeInfo;
|
||||
|
||||
/** @fn blacklistCountries:
|
||||
@brief Remove the set of countries from available country codes.
|
||||
@param countries A set of blacklisted country codes. Country codes are in NSString format, and
|
||||
are either ISO (alpha-2) or E164 formatted.
|
||||
*/
|
||||
- (void)blacklistCountries:(NSSet<NSString *> *)countries;
|
||||
|
||||
/** @fn blacklistCountries:
|
||||
@brief Filter the available country codes, leaving only the set of whitelisted countries.
|
||||
@param countries A set of whitelisted country codes. Country codes are in NSString format, and
|
||||
are either ISO (alpha-2) or E164 formatted.
|
||||
*/
|
||||
- (void)whitelistCountries:(NSSet<NSString *> *)countries;
|
||||
|
||||
/** @fn searchCountriesByName:
|
||||
@brief Get a filtered instance based on provided country name query.
|
||||
@param nameQuery The search query.
|
||||
*/
|
||||
- (instancetype)searchCountriesByName:(NSString *)nameQuery;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,308 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUICountryCodes.h"
|
||||
|
||||
#import <CoreTelephony/CTCarrier.h>
|
||||
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
|
||||
#import <FirebaseAuthUI/FirebaseAuthUI.h>
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/Public/FirebasePhoneAuthUI/FUIPhoneAuth.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneAuthStrings.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
NSString* const kFUIJSONCountryNameKey = @"name";
|
||||
NSString* const kFUIJSONLocalizedCountryNameKey = @"localized_name";
|
||||
NSString* const kFUIJSONCountryCodeKey = @"iso2_cc";
|
||||
NSString* const kFUIJSONDialcodeKey = @"e164_cc";
|
||||
NSString* const kFUIJSONLevelKey = @"level";
|
||||
NSString* const kFUIJSONCountryCodePredicate = @"(iso2_cc like[c] %@)";
|
||||
NSString* const kFUIJSONCountryNamePredicate = @"(localized_name beginswith[cd] %@)";
|
||||
NSString* const kFUIDefaultCountryCode = @"US";
|
||||
|
||||
@implementation FUICountryCodeInfo
|
||||
|
||||
- (NSString *)countryFlagEmoji {
|
||||
NSAssert(self.countryCode.length == 2, @"Expecting ISO country code");
|
||||
if (self.countryCode.length != 2) {
|
||||
return nil;
|
||||
}
|
||||
|
||||
// Unicode offset for regional characters.
|
||||
// Country code flag emoji are the result of the combination of the two regional characters
|
||||
// that make up that country's two-character code.
|
||||
// https://en.wikipedia.org/wiki/Regional_Indicator_Symbol
|
||||
const int base = 127397;
|
||||
|
||||
const wchar_t bytes[2] = {
|
||||
base + [self.countryCode characterAtIndex:0],
|
||||
base + [self.countryCode characterAtIndex:1]
|
||||
};
|
||||
|
||||
return [[NSString alloc] initWithBytes:bytes
|
||||
length:sizeof(bytes)
|
||||
encoding:NSUTF32LittleEndianStringEncoding];
|
||||
}
|
||||
@end
|
||||
|
||||
@interface FUICountryCodes ()
|
||||
@property (nonatomic, readonly) NSArray<NSDictionary *> *countryCodesArray;
|
||||
@end
|
||||
|
||||
@implementation FUICountryCodes
|
||||
|
||||
- (instancetype)init {
|
||||
if (self = [super init]) {
|
||||
// Country codes JSON containing country codes and phone number info.
|
||||
NSBundle *bundle = [FUIPhoneAuth bundle];
|
||||
NSString *countryCodeFilePath = [bundle pathForResource:@"country-codes" ofType:@"json"];
|
||||
NSAssert([[NSFileManager defaultManager] fileExistsAtPath:countryCodeFilePath],
|
||||
@"Could not find country code file");
|
||||
|
||||
NSInputStream *inputStream = [[NSInputStream alloc] initWithFileAtPath:countryCodeFilePath];
|
||||
[inputStream open];
|
||||
|
||||
NSError* error = nil;
|
||||
_countryCodesArray =
|
||||
[NSJSONSerialization JSONObjectWithStream:inputStream
|
||||
options:NSJSONReadingMutableContainers
|
||||
error:&error];
|
||||
|
||||
[inputStream close];
|
||||
|
||||
NSAssert(error == nil, @"Could not parse country codes JSON");
|
||||
|
||||
[self localizeCountryCodesArray];
|
||||
[self sortCountryCodesArray];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (NSUInteger)count {
|
||||
return [self.countryCodesArray count];
|
||||
}
|
||||
|
||||
- (nullable FUICountryCodeInfo *)countryCodeInfoForCode:(NSString *)countryCode {
|
||||
NSArray *filtered =
|
||||
[self.countryCodesArray filteredArrayUsingPredicate:
|
||||
[NSPredicate predicateWithFormat:kFUIJSONCountryCodePredicate, countryCode]];
|
||||
if (filtered.count != 1) {
|
||||
return nil;
|
||||
}
|
||||
NSDictionary *match = filtered[0];
|
||||
|
||||
return [self countryCodeInfoForDictionary:match];
|
||||
}
|
||||
|
||||
- (FUICountryCodeInfo *)countryCodeInfoAtIndex:(NSInteger)index {
|
||||
NSDictionary *match = [self.countryCodesArray objectAtIndex:index];
|
||||
return [self countryCodeInfoForDictionary:match];
|
||||
}
|
||||
|
||||
- (FUICountryCodeInfo *)defaultCountryCodeInfo {
|
||||
// Get the country code based on the information of user's telecommunication carrier provider.
|
||||
CTCarrier *carrier;
|
||||
if (@available(iOS 12, *)) {
|
||||
NSDictionary *carriers =
|
||||
[[[CTTelephonyNetworkInfo alloc] init] serviceSubscriberCellularProviders];
|
||||
// For multi-sim phones, use the current locale to make an educated guess for
|
||||
// which carrier to use.
|
||||
NSString *currentCountryCode = [NSLocale currentLocale].countryCode;
|
||||
for (CTCarrier *provider in carriers.allValues) {
|
||||
if ([provider isKindOfClass:[CTCarrier class]] &&
|
||||
[provider.isoCountryCode isEqualToString:currentCountryCode]) {
|
||||
carrier = provider;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// If the carrier is still nil, grab a random carrier from the dictionary.
|
||||
if (carrier == nil) {
|
||||
for (CTCarrier *provider in carriers.allValues) {
|
||||
if ([provider isKindOfClass:[CTCarrier class]]) {
|
||||
carrier = provider;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
carrier = [[[CTTelephonyNetworkInfo alloc] init] subscriberCellularProvider];
|
||||
#pragma clang diagnostic pop
|
||||
}
|
||||
NSString *countryCode = carrier.isoCountryCode ?: [[self class] countryCodeFromDeviceLocale];
|
||||
FUICountryCodeInfo *countryCodeInfo = [self countryCodeInfoForCode:countryCode];
|
||||
// If carrier is not available, get the hard coded default country code.
|
||||
if (!countryCodeInfo) {
|
||||
countryCodeInfo = [self countryCodeInfoForCode:kFUIDefaultCountryCode];
|
||||
}
|
||||
// If the hard coded default country code is not available, get the first available country code.
|
||||
if (!countryCodeInfo) {
|
||||
countryCodeInfo = [self countryCodeInfoAtIndex:0];
|
||||
}
|
||||
return countryCodeInfo;
|
||||
}
|
||||
|
||||
- (FUICountryCodeInfo *)countryCodeInfoForPhoneNumber:(NSString *)phoneNumber {
|
||||
if (phoneNumber.length == 0 || [phoneNumber characterAtIndex:0] != '+') {
|
||||
return nil;
|
||||
}
|
||||
|
||||
phoneNumber = [phoneNumber substringFromIndex:1];
|
||||
|
||||
NSDictionary *countryCodes = [self countryCodesByDialCode];
|
||||
const NSUInteger maxCountryCodeLengh = 3;
|
||||
|
||||
for (NSUInteger i = maxCountryCodeLengh; i > 0; i -= 1) {
|
||||
if (phoneNumber.length < i) {
|
||||
continue;
|
||||
}
|
||||
|
||||
NSString *candidateDialCode = [phoneNumber substringToIndex:i];
|
||||
|
||||
if (countryCodes[candidateDialCode]) {
|
||||
return countryCodes[candidateDialCode];
|
||||
}
|
||||
}
|
||||
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (void)blacklistCountries:(NSSet<NSString *> *)countries {
|
||||
NSMutableArray<NSDictionary *> *array =
|
||||
[[NSMutableArray alloc] initWithCapacity:_countryCodesArray.count];
|
||||
for (NSDictionary *dict in self.countryCodesArray) {
|
||||
NSString *countryCode = dict[kFUIJSONCountryCodeKey];
|
||||
NSString *dialCode = dict[kFUIJSONDialcodeKey];
|
||||
if ([countries containsObject:countryCode] || [countries containsObject:dialCode]) {
|
||||
continue;
|
||||
}
|
||||
[array addObject:dict];
|
||||
}
|
||||
_countryCodesArray = array.mutableCopy;
|
||||
}
|
||||
|
||||
- (void)whitelistCountries:(NSSet<NSString *> *)countries {
|
||||
NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:countries.count];
|
||||
for (NSDictionary *dict in self.countryCodesArray) {
|
||||
NSString *countryCode = dict[kFUIJSONCountryCodeKey];
|
||||
NSString *dialCode = dict[kFUIJSONDialcodeKey];
|
||||
if ([countries containsObject:countryCode] || [countries containsObject:dialCode]) {
|
||||
[array addObject:dict];
|
||||
}
|
||||
}
|
||||
_countryCodesArray = array.mutableCopy;
|
||||
}
|
||||
|
||||
- (instancetype)searchCountriesByName:(NSString *)nameQuery {
|
||||
NSArray<NSDictionary *> *results =
|
||||
[self.countryCodesArray filteredArrayUsingPredicate:
|
||||
[NSPredicate predicateWithFormat:kFUIJSONCountryNamePredicate, nameQuery]];
|
||||
return [[FUICountryCodes alloc] initWithCountriesArray:results];
|
||||
}
|
||||
|
||||
#pragma mark Helper methods
|
||||
|
||||
- (instancetype)initWithCountriesArray:(NSArray<NSDictionary *> *)countries {
|
||||
NSParameterAssert(countries);
|
||||
|
||||
if (self = [super init]) {
|
||||
_countryCodesArray = countries;
|
||||
|
||||
[self localizeCountryCodesArray];
|
||||
[self sortCountryCodesArray];
|
||||
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (FUICountryCodeInfo *)countryCodeInfoForDictionary:(NSDictionary *)dictionary {
|
||||
FUICountryCodeInfo* countryCodeInfo = [[FUICountryCodeInfo alloc] init];
|
||||
countryCodeInfo.countryName = dictionary[kFUIJSONCountryNameKey];
|
||||
countryCodeInfo.countryCode = dictionary[kFUIJSONCountryCodeKey];
|
||||
countryCodeInfo.localizedCountryName = dictionary[kFUIJSONLocalizedCountryNameKey];
|
||||
countryCodeInfo.dialCode = dictionary[kFUIJSONDialcodeKey];
|
||||
countryCodeInfo.level = dictionary[kFUIJSONLevelKey];
|
||||
|
||||
return countryCodeInfo;
|
||||
}
|
||||
|
||||
- (void)localizeCountryCodesArray {
|
||||
NSMutableArray *array = [NSMutableArray new];
|
||||
for (NSDictionary *dict in self.countryCodesArray) {
|
||||
NSMutableDictionary *newDict = [[NSMutableDictionary alloc] initWithDictionary:dict];
|
||||
NSString *localizedCountryName =
|
||||
[FUICountryCodes localizedCountryNameForCountryCode:dict[kFUIJSONCountryCodeKey]];
|
||||
if (localizedCountryName == nil) {
|
||||
localizedCountryName = dict[kFUIJSONCountryNameKey];
|
||||
}
|
||||
[newDict setValue:localizedCountryName forKey:kFUIJSONLocalizedCountryNameKey];
|
||||
[array addObject:newDict];
|
||||
}
|
||||
_countryCodesArray = array;
|
||||
}
|
||||
|
||||
- (void)sortCountryCodesArray {
|
||||
NSSortDescriptor *descriptor =
|
||||
[[NSSortDescriptor alloc] initWithKey:kFUIJSONLocalizedCountryNameKey
|
||||
ascending:YES
|
||||
selector:@selector(localizedCaseInsensitiveCompare:)];
|
||||
_countryCodesArray = [self.countryCodesArray sortedArrayUsingDescriptors:
|
||||
[NSArray arrayWithObjects:descriptor, nil]];
|
||||
}
|
||||
|
||||
- (NSDictionary *)countryCodesByDialCode {
|
||||
NSMutableDictionary *countryCodes =
|
||||
[NSMutableDictionary dictionaryWithCapacity:self.countryCodesArray.count];
|
||||
|
||||
for (NSDictionary *dict in self.countryCodesArray) {
|
||||
NSString *dialCode = dict[kFUIJSONDialcodeKey];
|
||||
NSNumber *level = dict[kFUIJSONLevelKey];
|
||||
|
||||
if (!countryCodes[dialCode]) {
|
||||
countryCodes[dialCode] = [self countryCodeInfoForDictionary:dict];
|
||||
} else if (level != nil) {
|
||||
FUICountryCodeInfo *existing = countryCodes[dialCode];
|
||||
|
||||
if (level.integerValue < existing.level.integerValue) {
|
||||
countryCodes[dialCode] = [self countryCodeInfoForDictionary:dict];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return countryCodes;
|
||||
}
|
||||
|
||||
+ (NSString *)localizedCountryNameForCountryCode:(NSString *)countryCode {
|
||||
NSLocale *locale = [NSLocale currentLocale];
|
||||
NSString *localizedCountryName = [locale displayNameForKey:NSLocaleCountryCode value:countryCode];
|
||||
return localizedCountryName;
|
||||
}
|
||||
|
||||
+ (NSString *)countryCodeFromDeviceLocale {
|
||||
NSString *countryCode = kFUIDefaultCountryCode;
|
||||
NSLocale *currentLocale = [NSLocale currentLocale];
|
||||
if (currentLocale) {
|
||||
countryCode = [currentLocale objectForKey:NSLocaleCountryCode];
|
||||
}
|
||||
return countryCode;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUICountryCodes.h"
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol FUICountryTableViewDelegate
|
||||
|
||||
- (void)didSelectCountry:(FUICountryCodeInfo*)countryCodeInfo;
|
||||
|
||||
@end
|
||||
|
||||
@interface FUICountryTableViewController : UIViewController
|
||||
<UITableViewDelegate, UITableViewDataSource, UISearchBarDelegate, UISearchResultsUpdating>
|
||||
|
||||
@property (nonatomic, weak) id<FUICountryTableViewDelegate> delegate;
|
||||
|
||||
- (instancetype)initWithCountryCodes:(FUICountryCodes *)countryCodes;
|
||||
|
||||
+ (instancetype)new __unavailable;
|
||||
- (instancetype)init __unavailable;
|
||||
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil
|
||||
bundle:(nullable NSBundle *)nibBundleOrNil __unavailable;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+216
@@ -0,0 +1,216 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUICollationForCountries.h"
|
||||
|
||||
#import <FirebaseAuthUI/FirebaseAuthUI.h>
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/Public/FirebasePhoneAuthUI/FUIPhoneAuth.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUICountryCodes.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUICountryTableViewController.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIFeatureSwitch.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneAuthStrings.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface FUICountryTableViewController ()<UISearchResultsUpdating>
|
||||
|
||||
@property (nonatomic, readonly) FUICountryCodes *countryCodes;
|
||||
@property (nonatomic, readwrite) FUICountryCodes *searchResults;
|
||||
@property (nonatomic, readonly) FUICollationForCountries *collationForCountries;
|
||||
@property (nonatomic, readonly) NSMutableDictionary *cachedNumberOfCountriesInSection;
|
||||
@property (nonatomic, readonly) UISearchController *searchController;
|
||||
@property (unsafe_unretained, nonatomic) IBOutlet UITableView *tableView;
|
||||
@end
|
||||
|
||||
|
||||
@implementation FUICountryTableViewController
|
||||
|
||||
- (instancetype)initWithCountryCodes:(FUICountryCodes *)countryCodes {
|
||||
if ((self = [super initWithNibName:NSStringFromClass([self class])
|
||||
bundle:[FUIPhoneAuth bundle]])) {
|
||||
_countryCodes = countryCodes;
|
||||
_collationForCountries =
|
||||
[[FUICollationForCountries alloc] initWithCountryCodes:self.countryCodes];
|
||||
_cachedNumberOfCountriesInSection = [NSMutableDictionary new];
|
||||
_searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
|
||||
self.searchController.searchResultsUpdater = self;
|
||||
if (@available(iOS 12, *)) {
|
||||
self.searchController.obscuresBackgroundDuringPresentation = NO;
|
||||
} else {
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
self.searchController.dimsBackgroundDuringPresentation = NO;
|
||||
#pragma clang diagnostic pop
|
||||
}
|
||||
self.definesPresentationContext = YES;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
self.tableView.tableHeaderView = self.searchController.searchBar;
|
||||
}
|
||||
|
||||
- (UITableViewCell*)tableView:(UITableView*)tableView
|
||||
cellForRowAtIndexPath:(NSIndexPath*)indexPath {
|
||||
static NSString *identifier = @"fui-country-cell";
|
||||
NSInteger textLabelTag = 1;
|
||||
NSInteger detailTextLabelTag = 2;
|
||||
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
|
||||
UILabel *detailTextLabel;
|
||||
UILabel *textLabel;
|
||||
if (cell == nil) {
|
||||
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
|
||||
reuseIdentifier:identifier];
|
||||
detailTextLabel = [[UILabel alloc] init];
|
||||
[detailTextLabel setTranslatesAutoresizingMaskIntoConstraints:NO];
|
||||
detailTextLabel.textColor = [UIColor grayColor];
|
||||
detailTextLabel.tag = detailTextLabelTag;
|
||||
[cell.contentView addSubview:detailTextLabel];
|
||||
|
||||
textLabel = [[UILabel alloc] init];
|
||||
[textLabel setTranslatesAutoresizingMaskIntoConstraints:NO];
|
||||
textLabel.tag = textLabelTag;
|
||||
[cell.contentView addSubview:textLabel];
|
||||
|
||||
NSDictionary *views = NSDictionaryOfVariableBindings(detailTextLabel, textLabel);
|
||||
NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[detailTextLabel]|"
|
||||
options:0
|
||||
metrics:nil
|
||||
views:views];
|
||||
[cell.contentView addConstraints:constraints];
|
||||
|
||||
constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[textLabel]|"
|
||||
options: 0
|
||||
metrics:nil
|
||||
views:views];
|
||||
[cell.contentView addConstraints:constraints];
|
||||
|
||||
constraints =
|
||||
[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[textLabel]-[detailTextLabel(<=90)]|"
|
||||
options: 0
|
||||
metrics:nil
|
||||
views:views];
|
||||
[cell.contentView addConstraints:constraints];
|
||||
} else {
|
||||
detailTextLabel = [cell.contentView viewWithTag:detailTextLabelTag];
|
||||
textLabel = [cell.contentView viewWithTag:textLabelTag];
|
||||
}
|
||||
|
||||
FUICountryCodeInfo* countryCodeInfo;
|
||||
NSInteger row = [self cumulativeRowForTableView:tableView indexPath:indexPath];
|
||||
if ([self isSearchActive]) {
|
||||
countryCodeInfo = [self.searchResults countryCodeInfoAtIndex:row];
|
||||
} else {
|
||||
countryCodeInfo = [self.countryCodes countryCodeInfoAtIndex:row];
|
||||
}
|
||||
|
||||
if (countryCodeInfo) {
|
||||
if ([FUIFeatureSwitch isCountryFlagEmojiEnabled]) {
|
||||
NSString *countryFlag = [countryCodeInfo countryFlagEmoji];
|
||||
textLabel.text =
|
||||
[NSString stringWithFormat:@"%@ %@", countryFlag, countryCodeInfo.localizedCountryName];
|
||||
} else {
|
||||
textLabel.text = countryCodeInfo.localizedCountryName;
|
||||
}
|
||||
detailTextLabel.text = countryCodeInfo.dialCode;
|
||||
}
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (NSInteger)cumulativeRowForTableView:(UITableView*)tableView indexPath:(NSIndexPath*)indexPath {
|
||||
NSInteger row = indexPath.row;
|
||||
NSInteger section;
|
||||
for (section = 0; section < indexPath.section; section++) {
|
||||
row += [self tableView:tableView numberOfRowsInSection:section];
|
||||
}
|
||||
return row;
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath {
|
||||
NSInteger row = [self cumulativeRowForTableView:tableView indexPath:indexPath];
|
||||
|
||||
FUICountryCodeInfo *selectedCountry;
|
||||
if ([self isSearchActive]) {
|
||||
selectedCountry = [self.searchResults countryCodeInfoAtIndex:row];
|
||||
} else {
|
||||
selectedCountry = [self.countryCodes countryCodeInfoAtIndex:row];
|
||||
}
|
||||
[self.delegate didSelectCountry:selectedCountry];
|
||||
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
#pragma mark Section index
|
||||
|
||||
- (nullable NSString *)tableView:(UITableView *)tableView
|
||||
titleForHeaderInSection:(NSInteger)section {
|
||||
if ([self isSearchActive]) {
|
||||
NSString *queryString = self.searchController.searchBar.text;
|
||||
return queryString.length ? [[queryString substringToIndex:1] capitalizedString] : @"";
|
||||
}
|
||||
|
||||
return [[self.collationForCountries sectionTitles] objectAtIndex:section];
|
||||
}
|
||||
|
||||
- (nullable NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
|
||||
return [self.collationForCountries sectionIndexTitles];
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title
|
||||
atIndex:(NSInteger)index {
|
||||
return index;
|
||||
}
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
if ([self isSearchActive]) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return [self.collationForCountries sectionIndexTitles].count;
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)sectionIndex {
|
||||
if ([self isSearchActive]) {
|
||||
return [self.searchResults count];
|
||||
}
|
||||
|
||||
if (self.cachedNumberOfCountriesInSection[@(sectionIndex)] != nil) {
|
||||
return [self.cachedNumberOfCountriesInSection[@(sectionIndex)] integerValue];
|
||||
}
|
||||
|
||||
NSInteger rows = [self.collationForCountries numberOfCountriesInSection:sectionIndex];
|
||||
self.cachedNumberOfCountriesInSection[@(sectionIndex)] = @(rows);
|
||||
|
||||
return rows;
|
||||
}
|
||||
|
||||
- (void)updateSearchResultsForSearchController:(UISearchController *)searchController {
|
||||
self.searchResults = [self.countryCodes searchCountriesByName:searchController.searchBar.text];
|
||||
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
|
||||
- (BOOL)isSearchActive {
|
||||
return self.searchResults != nil;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,28 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/** @class FUIFeatureSwitch
|
||||
@brief A helper class for setting and detecting os dependent features.
|
||||
*/
|
||||
@interface FUIFeatureSwitch : NSObject
|
||||
+ (BOOL)isCountryFlagEmojiEnabled;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,34 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIFeatureSwitch.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@implementation FUIFeatureSwitch
|
||||
+ (BOOL)isCountryFlagEmojiEnabled {
|
||||
static BOOL useEmoji = false;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
// Cutoff version of using country flag emoji is ios 8.4
|
||||
static NSOperatingSystemVersion ios8_4_0 = (NSOperatingSystemVersion){8, 4, 0};
|
||||
useEmoji = [[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:ios8_4_0];
|
||||
});
|
||||
return useEmoji;
|
||||
}
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,236 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneAuth_Internal.h"
|
||||
|
||||
#import <FirebaseAuthUI/FirebaseAuthUI.h>
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUICountryCodes.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneAuthStrings.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneEntryViewController.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@implementation FUIPhoneAuth {
|
||||
/** The @c FUIAuth instance of the application. */
|
||||
FUIAuth *_authUI;
|
||||
|
||||
/** The callback which should be invoked when the sign in flow completes (or is cancelled.) */
|
||||
FUIAuthProviderSignInCompletionBlock _pendingSignInCallback;
|
||||
|
||||
/** Available country codes For the authUI to use. */
|
||||
FUICountryCodes *_countryCodes;
|
||||
}
|
||||
|
||||
+ (NSBundle *)bundle {
|
||||
return [FUIAuthUtils bundleNamed:FUIPhoneAuthBundleName
|
||||
inFrameworkBundle:[NSBundle bundleForClass:[self class]]];
|
||||
}
|
||||
|
||||
- (instancetype)initWithAuthUI:(FUIAuth *)authUI {
|
||||
if (self = [super init]) {
|
||||
_authUI = authUI;
|
||||
_countryCodes = [[FUICountryCodes alloc] init];
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (instancetype)initWithAuthUI:(FUIAuth *)authUI
|
||||
whitelistedCountries:(NSSet<NSString *> *)countries {
|
||||
NSParameterAssert(countries);
|
||||
NSParameterAssert(countries.count > 0);
|
||||
if (self = [self initWithAuthUI:authUI]) {
|
||||
[_countryCodes whitelistCountries:countries];
|
||||
NSAssert(_countryCodes.count, @"No available country code found.");
|
||||
if (!_countryCodes.count) {
|
||||
return nil;
|
||||
}
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (instancetype)initWithAuthUI:(FUIAuth *)authUI
|
||||
blacklistedCountries:(NSSet<NSString *> *)countries {
|
||||
if (!countries.count) {
|
||||
return nil;
|
||||
}
|
||||
if (self = [self initWithAuthUI:authUI]) {
|
||||
[_countryCodes blacklistCountries:countries];
|
||||
NSAssert(_countryCodes.count, @"No available country code found.");
|
||||
if (!_countryCodes.count) {
|
||||
return nil;
|
||||
}
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - FUIAuthProvider
|
||||
|
||||
- (nullable NSString *)providerID {
|
||||
return FIRPhoneAuthProviderID;
|
||||
}
|
||||
|
||||
/** @fn accessToken:
|
||||
@brief Phone Auth token is matched by FirebaseUI User Access Token
|
||||
*/
|
||||
- (nullable NSString *)accessToken {
|
||||
return nil;
|
||||
}
|
||||
|
||||
/** @fn idToken:
|
||||
@brief Phone Auth Token Secret is matched by FirebaseUI User Id Token
|
||||
*/
|
||||
- (nullable NSString *)idToken {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (NSString *)shortName {
|
||||
return @"Phone";
|
||||
}
|
||||
|
||||
- (NSString *)signInLabel {
|
||||
return FUIPhoneAuthLocalizedString(kPAStr_SignInWithPhone);
|
||||
}
|
||||
|
||||
- (UIImage *)icon {
|
||||
return [FUIAuthUtils imageNamed:@"ic_phone" fromBundle:[FUIPhoneAuth bundle]];
|
||||
}
|
||||
|
||||
- (UIColor *)buttonBackgroundColor {
|
||||
return [UIColor colorWithRed:68.0f/255.0f green:197.0f/255.0f blue:166.0f/255.0f alpha:1.0f];
|
||||
}
|
||||
|
||||
- (UIColor *)buttonTextColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
|
||||
- (void)signInWithPresentingViewController:(UIViewController *)presentingViewController {
|
||||
[self signInWithPresentingViewController:presentingViewController phoneNumber:nil];
|
||||
}
|
||||
|
||||
|
||||
- (void)signInWithPresentingViewController:(UIViewController *)presentingViewController
|
||||
phoneNumber:(nullable NSString *)phoneNumber {
|
||||
[_authUI signInWithProviderUI:self presentingViewController:presentingViewController
|
||||
defaultValue:phoneNumber];
|
||||
}
|
||||
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-implementations"
|
||||
- (void)signInWithEmail:(nullable NSString *)email
|
||||
presentingViewController:(nullable UIViewController *)presentingViewController
|
||||
completion:(nullable FUIAuthProviderSignInCompletionBlock)completion {
|
||||
[self signInWithDefaultValue:email
|
||||
presentingViewController:presentingViewController
|
||||
completion:completion];
|
||||
}
|
||||
#pragma clang diagnostic pop
|
||||
|
||||
- (void)signInWithDefaultValue:(nullable NSString *)defaultValue
|
||||
presentingViewController:(nullable UIViewController *)presentingViewController
|
||||
completion:(nullable FUIAuthProviderSignInCompletionBlock)completion {
|
||||
_pendingSignInCallback = completion;
|
||||
|
||||
FUIPhoneAuth *delegate = [_authUI providerWithID:FIRPhoneAuthProviderID];
|
||||
if (!delegate) {
|
||||
NSError *error = [FUIAuthErrorUtils errorWithCode:FUIAuthErrorCodeCantFindProvider
|
||||
userInfo:@{
|
||||
FUIAuthErrorUserInfoProviderIDKey : FIRPhoneAuthProviderID
|
||||
}];
|
||||
[self callbackWithCredential:nil error:error result:^(FIRUser *_Nullable user,
|
||||
NSError *_Nullable error) {
|
||||
if (error) {
|
||||
[FUIAuthBaseViewController showAlertWithMessage:error.localizedDescription
|
||||
presentingViewController:presentingViewController];
|
||||
}
|
||||
}];
|
||||
return;
|
||||
}
|
||||
|
||||
UIViewController *controller = [[FUIPhoneEntryViewController alloc] initWithAuthUI:_authUI
|
||||
phoneNumber:defaultValue
|
||||
countryCodes:_countryCodes];
|
||||
UINavigationController *navigationController =
|
||||
[[UINavigationController alloc] initWithRootViewController:controller];
|
||||
[presentingViewController presentViewController:navigationController animated:YES completion:nil];
|
||||
}
|
||||
|
||||
- (void)signOut {
|
||||
return;
|
||||
}
|
||||
|
||||
- (BOOL)handleOpenURL:(NSURL *)URL sourceApplication:(nullable NSString *)sourceApplication {
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (void)callbackWithCredential:(nullable FIRAuthCredential *)credential
|
||||
error:(nullable NSError *)error
|
||||
result:(nullable FIRAuthResultCallback)result {
|
||||
FUIAuthProviderSignInCompletionBlock callback = _pendingSignInCallback;
|
||||
|
||||
FIRAuthResultCallback resultAuthCallback = ^(FIRUser *_Nullable user, NSError *_Nullable error) {
|
||||
if (!error) {
|
||||
self->_pendingSignInCallback = nil;
|
||||
}
|
||||
if (result) {
|
||||
result(user, error);
|
||||
}
|
||||
};
|
||||
if (callback) {
|
||||
callback(credential, error, resultAuthCallback, nil);
|
||||
}
|
||||
}
|
||||
|
||||
+ (UIAlertController *)alertControllerForError:(NSError *)error
|
||||
actionHandler:(nullable FUIAuthAlertActionHandler)actionHandler {
|
||||
NSString *message;
|
||||
if (error.code == FIRAuthErrorCodeInvalidPhoneNumber) {
|
||||
message = FUIPhoneAuthLocalizedString(kPAStr_IncorrectPhoneMessage);
|
||||
} else if (error.code == FIRAuthErrorCodeInvalidVerificationCode) {
|
||||
message = FUIPhoneAuthLocalizedString(kPAStr_IncorrectCodeMessage);
|
||||
} else if (error.code == FIRAuthErrorCodeTooManyRequests) {
|
||||
message = FUIPhoneAuthLocalizedString(kPAStr_TooManyCodesSent);
|
||||
} else if (error.code == FIRAuthErrorCodeQuotaExceeded) {
|
||||
message = FUIPhoneAuthLocalizedString(kPAStr_MessageQuotaExceeded);
|
||||
} else if (error.code == FIRAuthErrorCodeSessionExpired) {
|
||||
message = FUIPhoneAuthLocalizedString(kPAStr_MessageExpired);
|
||||
} else if ((error.code >= FIRAuthErrorCodeMissingPhoneNumber
|
||||
&& error.code <= FIRAuthErrorCodeAppNotVerified)
|
||||
|| error.code >= FIRAuthErrorCodeInternalError) {
|
||||
message = FUIPhoneAuthLocalizedString(kPAStr_InternalErrorMessage);
|
||||
} else {
|
||||
message = error.localizedDescription;
|
||||
}
|
||||
UIAlertController *alertController =
|
||||
[UIAlertController alertControllerWithTitle:nil
|
||||
message:message
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
UIAlertAction *okAction =
|
||||
[UIAlertAction actionWithTitle:FUIPhoneAuthLocalizedString(kPAStr_Done)
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction *_Nonnull action) {
|
||||
if (actionHandler) {
|
||||
actionHandler();
|
||||
}
|
||||
}];
|
||||
[alertController addAction:okAction];
|
||||
return alertController;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,65 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <FirebaseAuthUI/FirebaseAuthUI.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
extern NSString *const kPAStr_EnterPhoneTitle;
|
||||
extern NSString *const kPAStr_SignInWithPhone;
|
||||
extern NSString *const kPAStr_Next;
|
||||
extern NSString *const kPAStr_Verify;
|
||||
extern NSString *const kPAStr_EmptyVerificationCode;
|
||||
extern NSString *const kPAStr_EmptyPhoneNumber;
|
||||
extern NSString *const kPAStr_PhoneNumber;
|
||||
extern NSString *const kPAStr_EnterYourPhoneNumber;
|
||||
extern NSString *const kPAStr_Country;
|
||||
extern NSString *const kPAStr_EnterCodeDescription;
|
||||
extern NSString *const kPAStr_ResendCode;
|
||||
extern NSString *const kPAStr_ResendCodeTimer;
|
||||
extern NSString *const kPAStr_VerifyPhoneTitle;
|
||||
extern NSString *const kPAStr_ResendCodeResult;
|
||||
extern NSString *const kPAStr_IncorrectCodeTitle;
|
||||
extern NSString *const kPAStr_IncorrectCodeMessage;
|
||||
extern NSString *const kPAStr_Done;
|
||||
extern NSString *const kPAStr_Back;
|
||||
extern NSString *const kPAStr_IncorrectPhoneTitle;
|
||||
extern NSString *const kPAStr_IncorrectPhoneMessage;
|
||||
extern NSString *const kPAStr_InternalErrorMessage;
|
||||
extern NSString *const kPAStr_TooManyCodesSent;
|
||||
extern NSString *const kPAStr_MessageQuotaExceeded;
|
||||
extern NSString *const kPAStr_MessageExpired;
|
||||
extern NSString *const kPAStr_TermsSMS;
|
||||
|
||||
/* Name of the FirebasePhoneAuthUI resource bundle. */
|
||||
extern NSString *const FUIPhoneAuthBundleName;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** @fn FUIPhoneAuthLocalizedString
|
||||
@brief Gets a localized string from a name.
|
||||
@param key The key value of the string.
|
||||
@return The string by the key localized in the current locale.
|
||||
*/
|
||||
NSString *FUIPhoneAuthLocalizedString(NSString *key);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,66 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/Public/FirebasePhoneAuthUI/FUIPhoneAuth.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneAuthStrings.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneAuth_Internal.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
NSString *const kPAStr_EnterPhoneTitle = @"EnterPhoneTitle";
|
||||
NSString *const kPAStr_SignInWithPhone = @"SignInWithPhone";
|
||||
NSString *const kPAStr_Next = @"Next";
|
||||
NSString *const kPAStr_Verify = @"Verify";
|
||||
NSString *const kPAStr_EmptyVerificationCode = @"EmptyVerificationCode";
|
||||
NSString *const kPAStr_EmptyPhoneNumber = @"EmptyPhoneNumber";
|
||||
NSString *const kPAStr_PhoneNumber = @"PhoneNumber";
|
||||
NSString *const kPAStr_EnterYourPhoneNumber = @"EnterYourPhoneNumber";
|
||||
NSString *const kPAStr_Country = @"Country";
|
||||
NSString *const kPAStr_EnterCodeDescription = @"EnterCodeDescription";
|
||||
NSString *const kPAStr_ResendCode = @"ResendCode";
|
||||
NSString *const kPAStr_ResendCodeTimer = @"ResendCodeTimer";
|
||||
NSString *const kPAStr_VerifyPhoneTitle = @"VerifyPhoneTitle";
|
||||
NSString *const kPAStr_ResendCodeResult = @"ResendCodeResult";
|
||||
NSString *const kPAStr_IncorrectCodeTitle = @"IncorrectCodeTitle";
|
||||
NSString *const kPAStr_IncorrectCodeMessage = @"IncorrectCodeMessage";
|
||||
NSString *const kPAStr_Done = @"Done";
|
||||
NSString *const kPAStr_Back = @"Back";
|
||||
NSString *const kPAStr_IncorrectPhoneTitle = @"IncorrectPhoneTitle";
|
||||
NSString *const kPAStr_IncorrectPhoneMessage = @"IncorrectPhoneMessage";
|
||||
NSString *const kPAStr_InternalErrorMessage = @"InternalErrorMessage";
|
||||
NSString *const kPAStr_TooManyCodesSent = @"TooManyCodesSent";
|
||||
NSString *const kPAStr_MessageQuotaExceeded = @"MessageQuotaExceeded";
|
||||
NSString *const kPAStr_MessageExpired = @"MessageExpired";
|
||||
NSString *const kPAStr_TermsSMS = @"TermsSMS";
|
||||
|
||||
#if SWIFT_PACKAGE
|
||||
NSString *const FUIPhoneAuthBundleName = @"FirebaseUI_FirebasePhoneAuthUI";
|
||||
#else
|
||||
NSString *const FUIPhoneAuthBundleName = @"FirebasePhoneAuthUI";
|
||||
#endif // SWIFT_PACKAGE
|
||||
|
||||
/** @var kPhoneAuthProviderTableName
|
||||
@brief The name of the strings table to search for localized strings.
|
||||
*/
|
||||
NSString *const kPhoneAuthProviderTableName = @"FirebasePhoneAuthUI";
|
||||
|
||||
NSString *FUIPhoneAuthLocalizedString(NSString *key) {
|
||||
return FUILocalizedStringFromTableInBundle(key,
|
||||
kPhoneAuthProviderTableName,
|
||||
[FUIPhoneAuth bundle]);
|
||||
}
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/Public/FirebasePhoneAuthUI/FUIPhoneAuth.h"
|
||||
|
||||
#import <FirebaseAuthUI/FirebaseAuthUI.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface FUIPhoneAuth (Internal)
|
||||
|
||||
/** @fn callbackWithCredential:error:
|
||||
@brief Ends the sign-in flow by cleaning up and calling back with given credential or error.
|
||||
@param credential The credential to pass back, if any.
|
||||
@param error The error to pass back, if any.
|
||||
@param result The result of sign-in operation using provided @c FIRAuthCredential object.
|
||||
@see @c FIRAuth.signInWithCredential:completion:
|
||||
*/
|
||||
- (void)callbackWithCredential:(nullable FIRAuthCredential *)credential
|
||||
error:(nullable NSError *)error
|
||||
result:(nullable FIRAuthResultCallback)result;
|
||||
|
||||
/** @fn alertControllerForError:actionHandler:
|
||||
@brief Creates alert controller for specified phone auth error.
|
||||
@param error The error which should be shown in alert.
|
||||
@param actionHandler The handler of alert action button, if any.
|
||||
*/
|
||||
+ (UIAlertController *)alertControllerForError:(NSError *)error
|
||||
actionHandler:(nullable FUIAuthAlertActionHandler)actionHandler;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <FirebaseAuthUI/FirebaseAuthUI.h>
|
||||
|
||||
@class FUICountryCodes;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface FUIPhoneEntryViewController : FUIAuthBaseViewController
|
||||
|
||||
/** @fn initWithNibName:bundle:authUI:
|
||||
@brief Designated initializer.
|
||||
@param nibNameOrNil The name of the nib file to associate with the view controller.
|
||||
@param nibBundleOrNil The bundle in which to search for the nib file.
|
||||
@param authUI The @c FUIAuth instance that manages this view controller.
|
||||
*/
|
||||
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil
|
||||
bundle:(nullable NSBundle *)nibBundleOrNil
|
||||
authUI:(FUIAuth *)authUI
|
||||
__attribute__((deprecated("This is deprecated API and will be removed in a future release."
|
||||
"Please use initWithNibName:bundle:authUI:phoneNumber:")));
|
||||
|
||||
/** @fn initWithAuthUI:
|
||||
@brief Convenience initializer.
|
||||
@param authUI The @c FUIAuth instance that manages this view controller.
|
||||
*/
|
||||
- (instancetype)initWithAuthUI:(FUIAuth *)authUI
|
||||
__attribute__((deprecated("This is deprecated API and will be removed in a future release."
|
||||
"Please use initWithNibName:bundle:authUI:phoneNumber:")));
|
||||
|
||||
/** @fn initWithAuthUI:phoneNumber:countryCodes:
|
||||
@brief Convenience initializer.
|
||||
@param authUI The @c FUIAuth instance that manages this view controller.
|
||||
@param phoneNumber The phone number which is being verifying.
|
||||
@param countryCodes Available country codes For the view controller to use. If the argument is
|
||||
nil, the default @c FUICountryCodes will be used.
|
||||
*/
|
||||
- (instancetype)initWithAuthUI:(FUIAuth *)authUI
|
||||
phoneNumber:(nullable NSString *)phoneNumber
|
||||
countryCodes:(nullable FUICountryCodes *)countryCodes;
|
||||
|
||||
/** @fn initWithNibName:bundle:authUI:phoneNumber:countryCodes:
|
||||
@brief Designated initializer.
|
||||
@param nibNameOrNil The name of the nib file to associate with the view controller.
|
||||
@param nibBundleOrNil The bundle in which to search for the nib file.
|
||||
@param authUI The @c FUIAuth instance that manages this view controller.
|
||||
@param phoneNumber The phone number which is being verifying.
|
||||
@param countryCodes Available country codes For the view controller to use. If the argument is
|
||||
nil, the default @c FUICountryCodes will be used.
|
||||
*/
|
||||
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil
|
||||
bundle:(nullable NSBundle *)nibBundleOrNil
|
||||
authUI:(FUIAuth *)authUI
|
||||
phoneNumber:(nullable NSString *)phoneNumber
|
||||
countryCodes:(nullable FUICountryCodes *)countryCodes NS_DESIGNATED_INITIALIZER;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
Generated
Executable
+373
@@ -0,0 +1,373 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneEntryViewController.h"
|
||||
|
||||
#import <FirebaseAuth/FirebaseAuth.h>
|
||||
#import <FirebaseAuth/FIRAuthUIDelegate.h>
|
||||
#import <FirebaseAuth/FIRPhoneAuthProvider.h>
|
||||
#import <FirebaseAuthUI/FirebaseAuthUI.h>
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/Public/FirebasePhoneAuthUI/FUIPhoneAuth.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUICountryTableViewController.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIFeatureSwitch.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneAuthStrings.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneAuth_Internal.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneNumber.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneVerificationViewController.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPrivacyAndTermsOfServiceView+PhoneAuth.h"
|
||||
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
NS_ENUM(NSInteger, FUIPhoneEntryRow) {
|
||||
FUIPhoneEntryRowCountrySelector = 0,
|
||||
FUIPhoneEntryRowPhoneNumber
|
||||
};
|
||||
|
||||
/** @var kCellReuseIdentifier
|
||||
@brief The reuse identifier for table view cell.
|
||||
*/
|
||||
static NSString *const kCellReuseIdentifier = @"cellReuseIdentifier";
|
||||
|
||||
/** @var kPhoneNumberCellAccessibilityID
|
||||
@brief The Accessibility Identifier for the phone number cell.
|
||||
*/
|
||||
static NSString *const kPhoneNumberCellAccessibilityID = @"PhoneNumberCellAccessibilityID";
|
||||
|
||||
/** @var kNextButtonAccessibilityID
|
||||
@brief The Accessibility Identifier for the @c next button.
|
||||
*/
|
||||
static NSString *const kNextButtonAccessibilityID = @"NextButtonAccessibilityID";
|
||||
|
||||
@interface FUIPhoneEntryViewController () <UITextFieldDelegate,
|
||||
UITabBarDelegate,
|
||||
UITableViewDataSource,
|
||||
FUICountryTableViewDelegate,
|
||||
FIRAuthUIDelegate>
|
||||
@end
|
||||
|
||||
@implementation FUIPhoneEntryViewController {
|
||||
/** @var _phoneNumberField
|
||||
@brief The @c UITextField that user enters phone number.
|
||||
*/
|
||||
UITextField *_phoneNumberField;
|
||||
UITextField *_countryCodeField;
|
||||
FUICountryCodeInfo *_selectedCountryCode;
|
||||
__weak IBOutlet UITableView *_tableView;
|
||||
__weak IBOutlet FUIPrivacyAndTermsOfServiceView *_tosView;
|
||||
FUICountryCodes *_countryCodes;
|
||||
FUIPhoneNumber *_phoneNumber;
|
||||
}
|
||||
|
||||
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil
|
||||
bundle:(nullable NSBundle *)nibBundleOrNil
|
||||
authUI:(FUIAuth *)authUI {
|
||||
return [self initWithNibName:nibNameOrNil
|
||||
bundle:nibBundleOrNil
|
||||
authUI:authUI
|
||||
phoneNumber:nil
|
||||
countryCodes:nil];
|
||||
}
|
||||
|
||||
- (instancetype)initWithAuthUI:(FUIAuth *)authUI {
|
||||
return [self initWithNibName:NSStringFromClass([self class])
|
||||
bundle:[FUIPhoneAuth bundle]
|
||||
authUI:authUI
|
||||
phoneNumber:nil
|
||||
countryCodes:nil];
|
||||
}
|
||||
|
||||
- (instancetype)initWithAuthUI:(FUIAuth *)authUI
|
||||
phoneNumber:(nullable NSString *)phoneNumber
|
||||
countryCodes:(nullable FUICountryCodes *)countryCodes {
|
||||
return [self initWithNibName:NSStringFromClass([self class])
|
||||
bundle:[FUIPhoneAuth bundle]
|
||||
authUI:authUI
|
||||
phoneNumber:phoneNumber
|
||||
countryCodes:countryCodes];
|
||||
}
|
||||
|
||||
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil
|
||||
bundle:(nullable NSBundle *)nibBundleOrNil
|
||||
authUI:(FUIAuth *)authUI
|
||||
phoneNumber:(nullable NSString *)phoneNumber
|
||||
countryCodes:(nullable FUICountryCodes *)countryCodes {
|
||||
|
||||
self = [super initWithNibName:nibNameOrNil
|
||||
bundle:nibBundleOrNil
|
||||
authUI:authUI];
|
||||
if (self) {
|
||||
self.title = FUIPhoneAuthLocalizedString(kPAStr_EnterPhoneTitle);
|
||||
_countryCodes = countryCodes ?: [[FUICountryCodes alloc] init];
|
||||
if (phoneNumber.length) {
|
||||
_phoneNumber = [[FUIPhoneNumber alloc] initWithNormalizedPhoneNumber:phoneNumber
|
||||
countryCodes:_countryCodes];
|
||||
}
|
||||
_selectedCountryCode = _phoneNumber.countryCode ?:
|
||||
[_countryCodes defaultCountryCodeInfo];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
UIBarButtonItem *nextButtonItem =
|
||||
[FUIAuthBaseViewController barItemWithTitle:FUIPhoneAuthLocalizedString(kPAStr_Verify)
|
||||
target:self
|
||||
action:@selector(next)];
|
||||
nextButtonItem.accessibilityIdentifier = kNextButtonAccessibilityID;
|
||||
self.navigationItem.rightBarButtonItem = nextButtonItem;
|
||||
|
||||
NSString *backLabel = FUIPhoneAuthLocalizedString(kPAStr_Back);
|
||||
UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithTitle:backLabel
|
||||
style:UIBarButtonItemStylePlain
|
||||
target:nil
|
||||
action:nil];
|
||||
[self.navigationItem setBackBarButtonItem:backItem];
|
||||
_tosView.authUI = self.authUI;
|
||||
[_tosView useFullMessageWithSMSRateTerm];
|
||||
|
||||
[self enableDynamicCellHeightForTableView:_tableView];
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
|
||||
if (self.navigationController.viewControllers.firstObject == self) {
|
||||
if (self.authUI.providers.count != 1){
|
||||
UIBarButtonItem *cancelBarButton =
|
||||
[[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back)
|
||||
style:UIBarButtonItemStylePlain
|
||||
target:self
|
||||
action:@selector(cancelAuthorization)];
|
||||
self.navigationItem.leftBarButtonItem = cancelBarButton;
|
||||
} else if (!self.authUI.shouldHideCancelButton) {
|
||||
UIBarButtonItem *cancelBarButton =
|
||||
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
|
||||
target:self
|
||||
action:@selector(cancelAuthorization)];
|
||||
self.navigationItem.leftBarButtonItem = cancelBarButton;
|
||||
}
|
||||
self.navigationItem.backBarButtonItem =
|
||||
[[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back)
|
||||
style:UIBarButtonItemStylePlain
|
||||
target:nil
|
||||
action:nil];
|
||||
|
||||
if (@available(iOS 13, *)) {
|
||||
if (!self.authUI.isInteractiveDismissEnabled) {
|
||||
self.modalInPresentation = YES;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Actions
|
||||
|
||||
- (void)next {
|
||||
[self onNext:_phoneNumberField.text];
|
||||
}
|
||||
|
||||
- (void)onNext:(NSString *)phoneNumber {
|
||||
if (!phoneNumber.length) {
|
||||
[self showAlertWithMessage:FUIPhoneAuthLocalizedString(kPAStr_EmptyPhoneNumber)];
|
||||
return;
|
||||
}
|
||||
|
||||
[_phoneNumberField resignFirstResponder];
|
||||
[self incrementActivity];
|
||||
self.navigationItem.rightBarButtonItem.enabled = NO;
|
||||
FIRPhoneAuthProvider *provider = [FIRPhoneAuthProvider providerWithAuth:self.auth];
|
||||
NSString *selectedCountryCodeString =
|
||||
[NSString stringWithFormat:@"+%@", _selectedCountryCode.dialCode];
|
||||
BOOL isPhoneNumberAlreadyPrefixed = [phoneNumber hasPrefix:selectedCountryCodeString];
|
||||
NSString *phoneNumberWithCountryCode;
|
||||
if (isPhoneNumberAlreadyPrefixed) {
|
||||
phoneNumberWithCountryCode = phoneNumber;
|
||||
} else {
|
||||
phoneNumberWithCountryCode =
|
||||
[NSString stringWithFormat:@"%@%@", selectedCountryCodeString, phoneNumber];
|
||||
}
|
||||
[provider verifyPhoneNumber:phoneNumberWithCountryCode
|
||||
UIDelegate:self
|
||||
completion:^(NSString *_Nullable verificationID, NSError *_Nullable error) {
|
||||
// Temporary fix to guarantee execution of the completion block on the main thread.
|
||||
// TODO: Remove temporary workaround when the issue is fixed in FirebaseAuth.
|
||||
dispatch_block_t completionBlock = ^() {
|
||||
[self decrementActivity];
|
||||
self.navigationItem.rightBarButtonItem.enabled = YES;
|
||||
|
||||
if (error) {
|
||||
[self->_phoneNumberField becomeFirstResponder];
|
||||
|
||||
UIAlertController *alertController = [FUIPhoneAuth alertControllerForError:error
|
||||
actionHandler:nil];
|
||||
[self presentViewController:alertController animated:YES completion:nil];
|
||||
|
||||
FUIPhoneAuth *delegate = [self.authUI providerWithID:FIRPhoneAuthProviderID];
|
||||
[delegate callbackWithCredential:nil error:error result:nil];
|
||||
return;
|
||||
}
|
||||
|
||||
UIViewController *controller =
|
||||
[[FUIPhoneVerificationViewController alloc] initWithAuthUI:self.authUI
|
||||
verificationID:verificationID
|
||||
phoneNumber:phoneNumberWithCountryCode];
|
||||
|
||||
[self pushViewController:controller];
|
||||
};
|
||||
if ([NSThread isMainThread]) {
|
||||
completionBlock();
|
||||
} else {
|
||||
dispatch_async(dispatch_get_main_queue(), completionBlock);
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)onBack {
|
||||
[super onBack];
|
||||
}
|
||||
|
||||
- (void)textFieldDidChange {
|
||||
[self didChangePhoneNumber:_phoneNumberField.text];
|
||||
}
|
||||
|
||||
- (void)didChangePhoneNumber:(NSString *)phoneNumber {
|
||||
self.navigationItem.rightBarButtonItem.enabled = (phoneNumber.length > 0);
|
||||
}
|
||||
|
||||
#pragma mark - UITableViewDataSource
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return 2;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView
|
||||
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
FUIAuthTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellReuseIdentifier];
|
||||
if (!cell) {
|
||||
UINib *cellNib = [UINib nibWithNibName:NSStringFromClass([FUIAuthTableViewCell class])
|
||||
bundle:[FUIAuthUtils authUIBundle]];
|
||||
[tableView registerNib:cellNib forCellReuseIdentifier:kCellReuseIdentifier];
|
||||
cell = [tableView dequeueReusableCellWithIdentifier:kCellReuseIdentifier];
|
||||
}
|
||||
if (indexPath.row == FUIPhoneEntryRowCountrySelector) {
|
||||
cell.label.text = FUIPhoneAuthLocalizedString(kPAStr_Country);
|
||||
cell.textField.enabled = NO;
|
||||
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
|
||||
_countryCodeField = cell.textField;
|
||||
[self setCountryCodeValue];
|
||||
} else if (indexPath.row == FUIPhoneEntryRowPhoneNumber) {
|
||||
cell.accessoryType = UITableViewCellAccessoryNone;
|
||||
cell.label.text = FUIPhoneAuthLocalizedString(kPAStr_PhoneNumber);
|
||||
cell.textField.enabled = YES;
|
||||
cell.textField.clearButtonMode = UITextFieldViewModeWhileEditing;
|
||||
cell.textField.placeholder = FUIPhoneAuthLocalizedString(kPAStr_EnterYourPhoneNumber);
|
||||
cell.textField.delegate = self;
|
||||
cell.accessibilityIdentifier = kPhoneNumberCellAccessibilityID;
|
||||
_phoneNumberField = cell.textField;
|
||||
_phoneNumberField.secureTextEntry = NO;
|
||||
_phoneNumberField.autocorrectionType = UITextAutocorrectionTypeNo;
|
||||
_phoneNumberField.autocapitalizationType = UITextAutocapitalizationTypeNone;
|
||||
_phoneNumberField.returnKeyType = UIReturnKeyNext;
|
||||
_phoneNumberField.keyboardType = UIKeyboardTypeNumberPad;
|
||||
if (@available(iOS 10.0, *)) {
|
||||
_phoneNumberField.textContentType = UITextContentTypeTelephoneNumber;
|
||||
}
|
||||
[_phoneNumberField becomeFirstResponder];
|
||||
if (_phoneNumber) {
|
||||
_phoneNumberField.text = _phoneNumber.rawPhoneNumber;
|
||||
} else {
|
||||
_phoneNumberField.text = nil;
|
||||
}
|
||||
[cell.textField addTarget:self
|
||||
action:@selector(textFieldDidChange)
|
||||
forControlEvents:UIControlEventEditingChanged];
|
||||
[self didChangePhoneNumber:_phoneNumberField.text];
|
||||
}
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
if (indexPath.row == FUIPhoneEntryRowCountrySelector) {
|
||||
FUICountryTableViewController* countryTableViewController =
|
||||
[[FUICountryTableViewController alloc] initWithCountryCodes:_countryCodes];
|
||||
countryTableViewController.delegate = self;
|
||||
[self.navigationController pushViewController:countryTableViewController animated:YES];
|
||||
}
|
||||
}
|
||||
- (nullable id<FUIAuthProvider>)bestProviderFromProviderIDs:(NSArray<NSString *> *)providerIDs {
|
||||
NSArray<id<FUIAuthProvider>> *providers = self.authUI.providers;
|
||||
for (NSString *providerID in providerIDs) {
|
||||
for (id<FUIAuthProvider> provider in providers) {
|
||||
if ([providerID isEqual:provider.providerID]) {
|
||||
return provider;
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
#pragma mark - UITextFieldDelegate
|
||||
|
||||
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
|
||||
if (textField == _phoneNumberField) {
|
||||
[self onNext:_phoneNumberField.text];
|
||||
}
|
||||
return NO;
|
||||
}
|
||||
|
||||
#pragma mark - CountryCodeDelegate
|
||||
|
||||
- (void)didSelectCountry:(FUICountryCodeInfo*)countryCodeInfo {
|
||||
_selectedCountryCode = countryCodeInfo;
|
||||
[self setCountryCodeValue];
|
||||
[_tableView reloadData];
|
||||
}
|
||||
|
||||
- (void)setCountryCodeValue {
|
||||
NSString *countruCode;
|
||||
if ([FUIFeatureSwitch isCountryFlagEmojiEnabled]) {
|
||||
NSString *countryFlag = [_selectedCountryCode countryFlagEmoji];
|
||||
countruCode = [NSString stringWithFormat:@"%@ +%@ (%@)", countryFlag,
|
||||
_selectedCountryCode.dialCode, _selectedCountryCode.localizedCountryName];
|
||||
} else {
|
||||
countruCode = [NSString stringWithFormat:@"+%@ (%@)", _selectedCountryCode.dialCode,
|
||||
_selectedCountryCode.localizedCountryName];
|
||||
}
|
||||
_countryCodeField.text = countruCode;
|
||||
}
|
||||
|
||||
#pragma mark - Private
|
||||
|
||||
- (void)cancelAuthorization {
|
||||
NSError *error = [FUIAuthErrorUtils userCancelledSignInError];
|
||||
FUIPhoneAuth *delegate = [self.authUI providerWithID:FIRPhoneAuthProviderID];
|
||||
[delegate callbackWithCredential:nil error:error result:^(FIRUser *_Nullable user,
|
||||
NSError *_Nullable error) {
|
||||
if (!error || error.code == FUIAuthErrorCodeUserCancelledSignIn) {
|
||||
[self.navigationController dismissViewControllerAnimated:YES completion:nil];
|
||||
} else {
|
||||
[self showAlertWithMessage:error.localizedDescription];
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,81 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class FUICountryCodeInfo;
|
||||
@class FUICountryCodes;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
FOUNDATION_EXPORT NSString * const FUIPhoneNumberValidationErrorDomain;
|
||||
|
||||
typedef NS_ENUM(NSInteger, FUIPhoneNumberValidationError) {
|
||||
FUIPhoneNumberValidationErrorMissingPlus = 0,
|
||||
FUIPhoneNumberValidationErrorMissingDialCode = 1,
|
||||
FUIPhoneNumberValidationErrorMissingNumber = 2,
|
||||
};
|
||||
|
||||
/** Encapsulates a phone number with the raw and the normalized representations */
|
||||
@interface FUIPhoneNumber : NSObject
|
||||
|
||||
@property(nonatomic, readonly) FUICountryCodeInfo *countryCode;
|
||||
@property(nonatomic, copy, readonly) NSString *rawPhoneNumber;
|
||||
@property(nonatomic, copy, readonly) NSString *normalizedPhoneNumber;
|
||||
|
||||
/** @fn initWithNormalizedPhoneNumber:
|
||||
@brief Attempts to parse the given phone number into a raw phone number and country code.
|
||||
Parse behavior:
|
||||
If given phone number starts with a '+' character, then look for the country code matching
|
||||
the prefix of the number.
|
||||
Otherwise use the normalized number as the raw number, and use the default country code.
|
||||
@param normalizedPhoneNumber (required) A phone number string that will be parsed into
|
||||
a raw phone number and country code.
|
||||
@param countryCodes (required) The @c FUICountryCodes object that contains all the available
|
||||
country codes.
|
||||
*/
|
||||
- (instancetype)initWithNormalizedPhoneNumber:(NSString *)normalizedPhoneNumber
|
||||
countryCodes:(FUICountryCodes *)countryCodes;
|
||||
|
||||
/** @fn initWithRawPhoneNumber:countryCode:
|
||||
@param rawPhoneNumber (required) The raw phone number without country code
|
||||
@param countryCode (required) The country code information
|
||||
*/
|
||||
- (instancetype)initWithRawPhoneNumber:(NSString *)rawPhoneNumber
|
||||
countryCode:(FUICountryCodeInfo *)countryCode;
|
||||
|
||||
/** @fn initWithNormalizedPhoneNumber:rawPhoneNumber:countryCode:
|
||||
@param normalizedPhoneNumber (optional) The phone number returned from the endpoint;
|
||||
if null or empty it will be computed ('+' + rawCountryCode + rawPhoneNumber)
|
||||
@param rawPhoneNumber (required) The raw phone number without country code
|
||||
@param countryCode (required) The country code information
|
||||
*/
|
||||
- (instancetype)initWithNormalizedPhoneNumber:(NSString *)normalizedPhoneNumber
|
||||
rawPhoneNumber:(NSString *)rawPhoneNumber
|
||||
countryCode:(FUICountryCodeInfo *)countryCode;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/** @fn validate:
|
||||
@brief Checks if current phone number has valid international format.
|
||||
@param errorRef The error which occurred, if any.
|
||||
@return True if phone number format is valid.
|
||||
*/
|
||||
- (BOOL)validate:(NSError *__autoreleasing _Nullable *_Nullable)errorRef;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,123 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneNumber.h"
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUICountryCodes.h"
|
||||
|
||||
NSString * const FUIPhoneNumberValidationErrorDomain = @"FUIPhoneNumberValidationErrorDomain";
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@implementation FUIPhoneNumber
|
||||
|
||||
- (instancetype)initWithNormalizedPhoneNumber:(NSString *)normalizedPhoneNumber
|
||||
countryCodes:(FUICountryCodes *)countryCodes {
|
||||
NSAssert(normalizedPhoneNumber, @"normalizedPhoneNumber can't be nil");
|
||||
NSString *rawPhoneNumber;
|
||||
FUICountryCodeInfo *countryCode =
|
||||
[countryCodes countryCodeInfoForPhoneNumber:normalizedPhoneNumber];
|
||||
|
||||
if (countryCode) {
|
||||
// Add 1 for the '+' character
|
||||
NSInteger countryCodeLength = countryCode.dialCode.length + 1;
|
||||
if (normalizedPhoneNumber.length >= countryCodeLength) {
|
||||
rawPhoneNumber = [normalizedPhoneNumber substringFromIndex:countryCodeLength];
|
||||
}
|
||||
}
|
||||
if (!rawPhoneNumber) {
|
||||
rawPhoneNumber = normalizedPhoneNumber;
|
||||
countryCode = [countryCodes defaultCountryCodeInfo];
|
||||
}
|
||||
return [self initWithRawPhoneNumber:rawPhoneNumber countryCode:countryCode];
|
||||
}
|
||||
|
||||
- (instancetype)initWithNormalizedPhoneNumber:(NSString *)normalizedPhoneNumber
|
||||
rawPhoneNumber:(NSString *)rawPhoneNumber
|
||||
countryCode:(FUICountryCodeInfo *)countryCode {
|
||||
NSAssert(normalizedPhoneNumber, @"normalizedPhoneNumber can't be nil");
|
||||
NSAssert(rawPhoneNumber, @"rawPhoneNumber can't be nil");
|
||||
NSAssert(countryCode, @"countryCode can't be nil");
|
||||
if (self = [super init]) {
|
||||
_countryCode = countryCode;
|
||||
_rawPhoneNumber = rawPhoneNumber;
|
||||
_normalizedPhoneNumber = normalizedPhoneNumber;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (instancetype)initWithRawPhoneNumber:(NSString *)rawPhoneNumber
|
||||
countryCode:(FUICountryCodeInfo *)countryCode {
|
||||
NSAssert(rawPhoneNumber, @"rawPhoneNumber can't be nil");
|
||||
NSAssert(countryCode, @"countryCode can't be nil");
|
||||
NSString *dialCode = countryCode.dialCode;
|
||||
NSAssert(dialCode.length, @"dialCode can't be empty");
|
||||
if ([dialCode characterAtIndex:0] != '+') {
|
||||
dialCode = [@"+" stringByAppendingString:dialCode];
|
||||
}
|
||||
NSString *normalizedPhoneNumber = [NSString stringWithFormat:@"%@%@", dialCode, rawPhoneNumber];
|
||||
|
||||
return [self initWithNormalizedPhoneNumber:normalizedPhoneNumber
|
||||
rawPhoneNumber:rawPhoneNumber
|
||||
countryCode:countryCode];
|
||||
}
|
||||
|
||||
- (BOOL)validate:(NSError *__autoreleasing _Nullable *_Nullable)errorRef {
|
||||
// The first character is always the '+'
|
||||
BOOL firstCharacterIsPlus = [_normalizedPhoneNumber characterAtIndex:0] == '+';
|
||||
if (!firstCharacterIsPlus) {
|
||||
if (errorRef) {
|
||||
NSString *message = [NSString stringWithFormat:@"Phone number %@ should start with '+'",
|
||||
_normalizedPhoneNumber];
|
||||
NSDictionary *userInfo = @{ NSLocalizedDescriptionKey : message };
|
||||
*errorRef = [NSError errorWithDomain:FUIPhoneNumberValidationErrorDomain
|
||||
code:FUIPhoneNumberValidationErrorMissingPlus
|
||||
userInfo:userInfo];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
BOOL containsMoreThanThePlus = self.normalizedPhoneNumber.length > 1;
|
||||
if (!containsMoreThanThePlus) {
|
||||
if (errorRef) {
|
||||
NSString *message = [NSString stringWithFormat:@"Phone number %@ should have only one '+'",
|
||||
_normalizedPhoneNumber];
|
||||
NSDictionary *userInfo = @{ NSLocalizedDescriptionKey : message };
|
||||
*errorRef = [NSError errorWithDomain:FUIPhoneNumberValidationErrorDomain
|
||||
code:FUIPhoneNumberValidationErrorMissingDialCode
|
||||
userInfo:userInfo];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
BOOL containsMoreThanTheCountryCode =
|
||||
self.normalizedPhoneNumber.length > 1 + self.countryCode.dialCode.length;
|
||||
if (!containsMoreThanTheCountryCode) {
|
||||
if (errorRef) {
|
||||
NSString *message =
|
||||
[NSString stringWithFormat:@"Phone number %@ should have only one country code",
|
||||
_normalizedPhoneNumber];
|
||||
NSDictionary *userInfo = @{ NSLocalizedDescriptionKey : message };
|
||||
*errorRef = [NSError errorWithDomain:FUIPhoneNumberValidationErrorDomain
|
||||
code:FUIPhoneNumberValidationErrorMissingNumber
|
||||
userInfo:userInfo];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <FirebaseAuthUI/FirebaseAuthUI.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface FUIPhoneVerificationViewController : FUIAuthBaseViewController
|
||||
|
||||
/** @fn initWithNibName:bundle:authUI:
|
||||
@brief Designated initializer.
|
||||
@param nibNameOrNil The name of the nib file to associate with the view controller.
|
||||
@param nibBundleOrNil The bundle in which to search for the nib file.
|
||||
@param authUI The @c FUIAuth instance that manages this view controller.
|
||||
*/
|
||||
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil
|
||||
bundle:(nullable NSBundle *)nibBundleOrNil
|
||||
authUI:(FUIAuth *)authUI NS_UNAVAILABLE;
|
||||
|
||||
/** @fn initWithAuthUI:
|
||||
@brief Convenience initializer.
|
||||
@param authUI The @c FUIAuth instance that manages this view controller.
|
||||
*/
|
||||
- (instancetype)initWithAuthUI:(FUIAuth *)authUI NS_UNAVAILABLE;
|
||||
|
||||
/** @fn initWithAuthUI:
|
||||
@brief Convenience initializer.
|
||||
@param authUI The @c FUIAuth instance that manages this view controller.
|
||||
@param verificationID The verification ID obtained while verifying phone number.
|
||||
@param phoneNumber The phone number which is being verifying.
|
||||
*/
|
||||
- (instancetype)initWithAuthUI:(FUIAuth *)authUI
|
||||
verificationID:(NSString *)verificationID
|
||||
phoneNumber:(NSString *)phoneNumber;
|
||||
|
||||
/** @fn initWithNibName:bundle:authUI:
|
||||
@brief Designated initializer.
|
||||
@param nibNameOrNil The name of the nib file to associate with the view controller.
|
||||
@param nibBundleOrNil The bundle in which to search for the nib file.
|
||||
@param authUI The @c FUIAuth instance that manages this view controller.
|
||||
@param verificationID The verification ID obtained while verifying phone number.
|
||||
@param phoneNumber The phone number which is being verifying.
|
||||
*/
|
||||
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil
|
||||
bundle:(nullable NSBundle *)nibBundleOrNil
|
||||
authUI:(FUIAuth *)authUI
|
||||
verificationID:(NSString *)verificationID
|
||||
phoneNumber:(NSString *)phoneNumber NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+341
@@ -0,0 +1,341 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneVerificationViewController.h"
|
||||
|
||||
#import <FirebaseAuth/FIRAuthUIDelegate.h>
|
||||
#import <FirebaseAuth/FIRPhoneAuthProvider.h>
|
||||
#import <FirebaseAuthUI/FirebaseAuthUI.h>
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/Public/FirebasePhoneAuthUI/FUIPhoneAuth.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUICodeField.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneAuthStrings.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneAuth_Internal.h"
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPrivacyAndTermsOfServiceView+PhoneAuth.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/** @var kNextButtonAccessibilityID
|
||||
@brief The Accessibility Identifier for the @c next button.
|
||||
*/
|
||||
static NSString *const kNextButtonAccessibilityID = @"NextButtonAccessibilityID";
|
||||
|
||||
static NSTimeInterval FUIDelayInSecondsBeforeShowingResendConfirmationCode = 60;
|
||||
|
||||
/** Regex pattern that matches for a TOS style link. For example: [Terms]. */
|
||||
static NSString *const kLinkPlaceholderPattern = @"\\[([^\\]]+)\\]";
|
||||
|
||||
@interface FUIPhoneVerificationViewController () <FUICodeFieldDelegate, FIRAuthUIDelegate>
|
||||
@end
|
||||
|
||||
@implementation FUIPhoneVerificationViewController {
|
||||
__weak IBOutlet FUICodeField *_codeField;
|
||||
__weak IBOutlet UILabel *_resendConfirmationCodeTimerLabel;
|
||||
__weak IBOutlet UIButton *_resendCodeButton;
|
||||
__weak IBOutlet UILabel *_actionDescriptionLabel;
|
||||
__weak IBOutlet UIButton *_phoneNumberButton;
|
||||
__weak IBOutlet FUIPrivacyAndTermsOfServiceView *_tosView;
|
||||
__weak IBOutlet UIScrollView *_scrollView;
|
||||
NSString *_verificationID;
|
||||
NSTimer *_resendConfirmationCodeTimer;
|
||||
NSTimeInterval _resendConfirmationCodeSeconds;
|
||||
NSString *_phoneNumber;
|
||||
}
|
||||
|
||||
- (instancetype)initWithAuthUI:(FUIAuth *)authUI
|
||||
verificationID:(NSString *)verificationID
|
||||
phoneNumber:(NSString *)phoneNumber{
|
||||
return [self initWithNibName:NSStringFromClass([self class])
|
||||
bundle:[FUIPhoneAuth bundle]
|
||||
authUI:authUI
|
||||
verificationID:verificationID
|
||||
phoneNumber:phoneNumber];
|
||||
}
|
||||
|
||||
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil
|
||||
bundle:(nullable NSBundle *)nibBundleOrNil
|
||||
authUI:(FUIAuth *)authUI
|
||||
verificationID:(NSString *)verificationID
|
||||
phoneNumber:(NSString *)phoneNumber {
|
||||
|
||||
self = [super initWithNibName:nibNameOrNil
|
||||
bundle:nibBundleOrNil
|
||||
authUI:authUI];
|
||||
if (self) {
|
||||
self.title = FUIPhoneAuthLocalizedString(kPAStr_VerifyPhoneTitle);
|
||||
_verificationID = [verificationID copy];
|
||||
_phoneNumber = [phoneNumber copy];
|
||||
|
||||
[_resendCodeButton setTitle:FUIPhoneAuthLocalizedString(kPAStr_ResendCode)
|
||||
forState:UIControlStateNormal];
|
||||
_actionDescriptionLabel.text =
|
||||
[NSString stringWithFormat:FUIPhoneAuthLocalizedString(kPAStr_EnterCodeDescription),
|
||||
@(_codeField.codeLength)];
|
||||
[_phoneNumberButton setTitle:_phoneNumber forState:UIControlStateNormal];
|
||||
|
||||
[_codeField becomeFirstResponder];
|
||||
[self startResendTimer];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
UIBarButtonItem *nextButtonItem =
|
||||
[FUIAuthBaseViewController barItemWithTitle:FUIPhoneAuthLocalizedString(kPAStr_Next)
|
||||
target:self
|
||||
action:@selector(next)];
|
||||
nextButtonItem.accessibilityIdentifier = kNextButtonAccessibilityID;
|
||||
self.navigationItem.rightBarButtonItem = nextButtonItem;
|
||||
self.navigationItem.rightBarButtonItem.enabled = NO;
|
||||
_tosView.authUI = self.authUI;
|
||||
[_tosView useFooterMessage];
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
[self registerForKeyboardNotifications];
|
||||
}
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
[super viewWillDisappear:animated];
|
||||
[self unregisterFromNotifications];
|
||||
}
|
||||
|
||||
- (void)entryIsIncomplete {
|
||||
self.navigationItem.rightBarButtonItem.enabled = NO;
|
||||
}
|
||||
|
||||
- (void) entryIsCompletedWithCode:(NSString *)code {
|
||||
self.navigationItem.rightBarButtonItem.enabled = YES;
|
||||
}
|
||||
|
||||
#pragma mark - Actions
|
||||
- (IBAction)onResendCode:(id)sender {
|
||||
[_codeField clearCodeInput];
|
||||
[self startResendTimer];
|
||||
[self incrementActivity];
|
||||
[_codeField resignFirstResponder];
|
||||
FIRPhoneAuthProvider *provider = [FIRPhoneAuthProvider providerWithAuth:self.auth];
|
||||
[provider verifyPhoneNumber:_phoneNumber
|
||||
UIDelegate:self
|
||||
completion:^(NSString *_Nullable verificationID, NSError *_Nullable error) {
|
||||
// Temporary fix to guarantee execution of the completion block on the main thread.
|
||||
// TODO: Remove temporary workaround when the issue is fixed in FirebaseAuth.
|
||||
dispatch_block_t completionBlock = ^() {
|
||||
[self decrementActivity];
|
||||
self->_verificationID = verificationID;
|
||||
[self->_codeField becomeFirstResponder];
|
||||
|
||||
if (error) {
|
||||
UIAlertController *alertController = [FUIPhoneAuth alertControllerForError:error
|
||||
actionHandler:^{
|
||||
[self->_codeField clearCodeInput];
|
||||
[self->_codeField becomeFirstResponder];
|
||||
}];
|
||||
[self presentViewController:alertController animated:YES completion:nil];
|
||||
return;
|
||||
}
|
||||
|
||||
NSString *resultMessage =
|
||||
[NSString stringWithFormat:FUIPhoneAuthLocalizedString(kPAStr_ResendCodeResult),
|
||||
self->_phoneNumber];
|
||||
[self showAlertWithMessage:resultMessage];
|
||||
};
|
||||
if ([NSThread isMainThread]) {
|
||||
completionBlock();
|
||||
} else {
|
||||
dispatch_async(dispatch_get_main_queue(), completionBlock);
|
||||
}
|
||||
}];
|
||||
}
|
||||
- (IBAction)onPhoneNumberSelected:(id)sender {
|
||||
[self onBack];
|
||||
}
|
||||
|
||||
- (void)next {
|
||||
[self onNext:_codeField.codeEntry];
|
||||
}
|
||||
|
||||
- (void)onNext:(NSString *)verificationCode {
|
||||
if (!verificationCode.length) {
|
||||
[self showAlertWithMessage:FUIPhoneAuthLocalizedString(kPAStr_EmptyVerificationCode)];
|
||||
return;
|
||||
}
|
||||
|
||||
FIRPhoneAuthProvider *provider = [FIRPhoneAuthProvider providerWithAuth:self.auth];
|
||||
|
||||
FIRAuthCredential *credential =
|
||||
[provider credentialWithVerificationID:_verificationID verificationCode:verificationCode];
|
||||
|
||||
[self incrementActivity];
|
||||
[_codeField resignFirstResponder];
|
||||
self.navigationItem.rightBarButtonItem.enabled = NO;
|
||||
FUIPhoneAuth *delegate = [self.authUI providerWithID:FIRPhoneAuthProviderID];
|
||||
[delegate callbackWithCredential:credential
|
||||
error:nil
|
||||
result:^(FIRUser *_Nullable user, NSError *_Nullable error) {
|
||||
[self decrementActivity];
|
||||
self.navigationItem.rightBarButtonItem.enabled = YES;
|
||||
if (!error ||
|
||||
error.code == FUIAuthErrorCodeUserCancelledSignIn ||
|
||||
error.code == FUIAuthErrorCodeMergeConflict) {
|
||||
[self.navigationController dismissViewControllerAnimated:YES completion:nil];
|
||||
} else {
|
||||
UIAlertController *alertController = [FUIPhoneAuth alertControllerForError:error
|
||||
actionHandler:^{
|
||||
[self->_codeField clearCodeInput];
|
||||
[self->_codeField becomeFirstResponder];
|
||||
}];
|
||||
[self presentViewController:alertController animated:YES completion:nil];
|
||||
}
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
- (void)observeValueForKeyPath:(nullable NSString *)keyPath
|
||||
ofObject:(nullable id)object
|
||||
change:(nullable NSDictionary<NSKeyValueChangeKey, id> *)change
|
||||
context:(nullable void *)context {
|
||||
if (object == _codeField) {
|
||||
self.navigationItem.rightBarButtonItem.enabled =
|
||||
_codeField.codeEntry.length == _codeField.codeLength;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Private
|
||||
|
||||
- (void)cancelAuthorization {
|
||||
NSError *error = [FUIAuthErrorUtils userCancelledSignInError];
|
||||
FUIPhoneAuth *delegate = [self.authUI providerWithID:FIRPhoneAuthProviderID];
|
||||
[delegate callbackWithCredential:nil
|
||||
error:error
|
||||
result:^(FIRUser *_Nullable user, NSError *_Nullable error) {
|
||||
if (!error || error.code == FUIAuthErrorCodeUserCancelledSignIn) {
|
||||
[self.navigationController dismissViewControllerAnimated:YES completion:nil];
|
||||
} else {
|
||||
[self showAlertWithMessage:error.localizedDescription];
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)startResendTimer {
|
||||
_resendConfirmationCodeSeconds = FUIDelayInSecondsBeforeShowingResendConfirmationCode;
|
||||
[self updateResendLabel];
|
||||
|
||||
_resendCodeButton.hidden = YES;
|
||||
_resendConfirmationCodeTimerLabel.hidden = NO;
|
||||
|
||||
_resendConfirmationCodeTimer =
|
||||
[NSTimer scheduledTimerWithTimeInterval:1.0
|
||||
target:self
|
||||
selector:@selector(resendConfirmationCodeTick:)
|
||||
userInfo:nil
|
||||
repeats:YES];
|
||||
}
|
||||
|
||||
- (void)cleanUpTimer {
|
||||
[_resendConfirmationCodeTimer invalidate];
|
||||
_resendConfirmationCodeTimer = nil;
|
||||
_resendConfirmationCodeSeconds = 0;
|
||||
_resendConfirmationCodeTimerLabel.hidden = YES;
|
||||
}
|
||||
|
||||
- (void)resendConfirmationCodeTick:(id)sender {
|
||||
_resendConfirmationCodeSeconds -= 1.0;
|
||||
if (_resendConfirmationCodeSeconds <= 0){
|
||||
_resendConfirmationCodeSeconds = 0;
|
||||
[self resendConfirmationCodeTimerFinished];
|
||||
}
|
||||
|
||||
[self updateResendLabel];
|
||||
}
|
||||
|
||||
- (void)resendConfirmationCodeTimerFinished {
|
||||
[self cleanUpTimer];
|
||||
|
||||
_resendCodeButton.hidden = NO;
|
||||
}
|
||||
|
||||
- (void)updateResendLabel {
|
||||
NSInteger minutes = (NSInteger)_resendConfirmationCodeSeconds / 60; // Integer type for truncation
|
||||
NSInteger seconds = (NSInteger)round(_resendConfirmationCodeSeconds) % 60;
|
||||
NSString *formattedTime = [NSString stringWithFormat:@"%ld:%02ld", (long)minutes, (long)seconds];
|
||||
|
||||
_resendConfirmationCodeTimerLabel.text =
|
||||
[NSString stringWithFormat:FUIPhoneAuthLocalizedString(kPAStr_ResendCodeTimer),
|
||||
formattedTime];
|
||||
}
|
||||
|
||||
#pragma mark - UIKeyboard observer methods
|
||||
|
||||
- (void)registerForKeyboardNotifications {
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(keyboardWasShown:)
|
||||
name:UIKeyboardDidShowNotification object:nil];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(keyboardWillBeHidden:)
|
||||
name:UIKeyboardWillHideNotification object:nil];
|
||||
}
|
||||
|
||||
- (void)unregisterFromNotifications {
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
}
|
||||
|
||||
- (void)keyboardWasShown:(NSNotification*)aNotification {
|
||||
NSDictionary* info = [aNotification userInfo];
|
||||
CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
|
||||
CGFloat topOffset = self.navigationController.navigationBar.frame.size.height +
|
||||
[UIApplication sharedApplication].statusBarFrame.size.height;
|
||||
|
||||
UIEdgeInsets contentInsets = UIEdgeInsetsMake(topOffset, 0.0, kbSize.height, 0.0);
|
||||
|
||||
[UIView beginAnimations:nil context:NULL];
|
||||
|
||||
NSDictionary *userInfo = [aNotification userInfo];
|
||||
[UIView setAnimationDuration:[userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue]];
|
||||
[UIView setAnimationCurve:[userInfo[UIKeyboardAnimationCurveUserInfoKey] integerValue]];
|
||||
|
||||
_scrollView.contentInset = contentInsets;
|
||||
_scrollView.scrollIndicatorInsets = contentInsets;
|
||||
|
||||
[_scrollView scrollRectToVisible:_codeField.frame animated:NO];
|
||||
|
||||
[UIView commitAnimations];
|
||||
}
|
||||
|
||||
- (void)keyboardWillBeHidden:(NSNotification*)aNotification {
|
||||
UIEdgeInsets contentInsets = UIEdgeInsetsZero;
|
||||
CGFloat topOffset = self.navigationController.navigationBar.frame.size.height +
|
||||
[UIApplication sharedApplication].statusBarFrame.size.height;
|
||||
contentInsets.top = topOffset;
|
||||
|
||||
[UIView beginAnimations:nil context:NULL];
|
||||
|
||||
NSDictionary *userInfo = [aNotification userInfo];
|
||||
[UIView setAnimationDuration:[userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue]];
|
||||
[UIView setAnimationCurve:[userInfo[UIKeyboardAnimationCurveUserInfoKey] integerValue]];
|
||||
|
||||
_scrollView.contentInset = contentInsets;
|
||||
_scrollView.scrollIndicatorInsets = contentInsets;
|
||||
|
||||
[UIView commitAnimations];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
Generated
+31
@@ -0,0 +1,31 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <FirebaseAuthUI/FirebaseAuthUI.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface FUIPrivacyAndTermsOfServiceView (PhoneAuth)
|
||||
|
||||
/** @fn useFullMessageWithSMSRateTerm
|
||||
@brief Display Privacy and Terms of Service message, along with a note related to SMS rate for
|
||||
phone authentication.
|
||||
*/
|
||||
- (void)useFullMessageWithSMSRateTerm;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
Generated
+43
@@ -0,0 +1,43 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPrivacyAndTermsOfServiceView+PhoneAuth.h"
|
||||
|
||||
#import <FirebaseAuthUI/FirebaseAuthUI.h>
|
||||
|
||||
#import "FirebasePhoneAuthUI/Sources/FUIPhoneAuthStrings.h"
|
||||
|
||||
@implementation FUIPrivacyAndTermsOfServiceView (PhoneAuth)
|
||||
|
||||
- (void)useFullMessageWithSMSRateTerm {
|
||||
self.textAlignment = NSTextAlignmentLeft;
|
||||
NSMutableAttributedString *fullMessage =
|
||||
[[self fullPrivacyPolicyAndTOSMessageWithSMSRateInfo] mutableCopy];
|
||||
self.attributedText = fullMessage;
|
||||
}
|
||||
|
||||
#pragma mark - Private
|
||||
|
||||
- (NSAttributedString *)fullPrivacyPolicyAndTOSMessageWithSMSRateInfo {
|
||||
NSString *messageFormat =
|
||||
[NSString stringWithFormat:FUIPhoneAuthLocalizedString(kPAStr_TermsSMS),
|
||||
FUIPhoneAuthLocalizedString(kPAStr_Verify), @"%@", @"%@"];
|
||||
return [self privacyPolicyAndTOSMessageFromFormat:messageFormat];
|
||||
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
Generated
+83
@@ -0,0 +1,83 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <FirebaseAuthUI/FirebaseAuthUI.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/** @class FUIPhoneAuth
|
||||
@brief AuthUI components for Phone Sign In.
|
||||
*/
|
||||
@interface FUIPhoneAuth : NSObject <FUIAuthProvider>
|
||||
|
||||
/** @property buttonAlignment
|
||||
@brief The alignment of the icon and text of the button.
|
||||
*/
|
||||
@property(nonatomic, readwrite) FUIButtonAlignment buttonAlignment;
|
||||
|
||||
/** @fn bundle
|
||||
@brief Returns the resource bundle required by this class.
|
||||
*/
|
||||
+ (NSBundle *)bundle;
|
||||
|
||||
/** @fn init
|
||||
@brief Please use @c initWithAuthUI: .
|
||||
*/
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/** @fn initWithAuthUI:
|
||||
@param authUI The @c FUIAuth instance that manages controllers of this provider.
|
||||
*/
|
||||
- (instancetype)initWithAuthUI:(FUIAuth *)authUI NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
/** @fn initWithAuthUI:whitelistedCountries:
|
||||
@param authUI The @c FUIAuth instance that manages controllers of this provider.
|
||||
@param countries A set of whitelisted country codes. Country codes are in NSString format, and
|
||||
are either ISO (alpha-2) or E164 formatted.
|
||||
*/
|
||||
- (instancetype)initWithAuthUI:(FUIAuth *)authUI
|
||||
whitelistedCountries:(NSSet<NSString *> *)countries;
|
||||
|
||||
/** @fn initWithAuthUI:blacklistedCountries:
|
||||
@param authUI The @c FUIAuth instance that manages controllers of this provider.
|
||||
@param countries A set of blacklisted country codes. Country codes are in NSString format, and
|
||||
are either ISO (alpha-2) or E164 formatted.
|
||||
*/
|
||||
- (instancetype)initWithAuthUI:(FUIAuth *)authUI
|
||||
blacklistedCountries:(NSSet<NSString *> *)countries;
|
||||
|
||||
/** @fn signInWithPresentingViewController:
|
||||
@brief Signs in with phone auth provider.
|
||||
@see FUIAuthDelegate.authUI:didSignInWithAuthDataResult:URL:error: for method callback.
|
||||
@param presentingViewController The view controller used to present the UI.
|
||||
*/
|
||||
- (void)signInWithPresentingViewController:(UIViewController *)presentingViewController
|
||||
__attribute__((deprecated("This is deprecated API and will be removed in a future release."
|
||||
"Please use signInWithPresentingViewController:phoneNumber:")));
|
||||
|
||||
/** @fn signInWithPresentingViewController:phoneNumber:
|
||||
@brief Signs in with phone auth provider.
|
||||
@see FUIAuthDelegate.authUI:didSignInWithAuthDataResult:URL:error: for method callback.
|
||||
@param presentingViewController The view controller used to present the UI.
|
||||
@param phoneNumber The default phone number specified in the international format
|
||||
e.g. +14151112233
|
||||
*/
|
||||
- (void)signInWithPresentingViewController:(UIViewController *)presentingViewController
|
||||
phoneNumber:(nullable NSString *)phoneNumber;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
//
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
//! Project version number for FirebasePhoneAuthUI.
|
||||
FOUNDATION_EXPORT double FirebasePhoneAuthUIVersionNumber;
|
||||
|
||||
//! Project version string for FirebasePhoneAuthUI.
|
||||
FOUNDATION_EXPORT const unsigned char FirebasePhoneAuthUIVersionString[];
|
||||
|
||||
#import "FUIPhoneAuth.h"
|
||||
Generated
+40
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14835.7" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14790.5"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="FUICountryTableViewController">
|
||||
<connections>
|
||||
<outlet property="tableView" destination="hg9-yI-N8Q" id="iLe-xV-T7Y"/>
|
||||
<outlet property="view" destination="YSO-gq-Bsm" id="kL7-u3-M1t"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="YSO-gq-Bsm">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="hg9-yI-N8Q">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="-1" id="PfW-Z4-lXH"/>
|
||||
<outlet property="delegate" destination="-1" id="8PV-om-trg"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="hg9-yI-N8Q" firstAttribute="top" secondItem="YSO-gq-Bsm" secondAttribute="top" id="3HS-x1-e0t"/>
|
||||
<constraint firstAttribute="bottom" secondItem="hg9-yI-N8Q" secondAttribute="bottom" id="5uY-yC-Sbi"/>
|
||||
<constraint firstAttribute="trailing" secondItem="hg9-yI-N8Q" secondAttribute="trailing" id="NbC-PZ-M9d"/>
|
||||
<constraint firstItem="hg9-yI-N8Q" firstAttribute="leading" secondItem="YSO-gq-Bsm" secondAttribute="leading" id="Tky-AD-NeZ"/>
|
||||
</constraints>
|
||||
<point key="canvasLocation" x="355.07246376811599" y="6.6964285714285712"/>
|
||||
</view>
|
||||
</objects>
|
||||
</document>
|
||||
Generated
+63
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="FUIPhoneEntryViewController">
|
||||
<connections>
|
||||
<outlet property="_tableView" destination="ZXV-PY-1fK" id="jxd-xz-C6f"/>
|
||||
<outlet property="_tosView" destination="kGX-Qm-s2k" id="E18-dA-xIS"/>
|
||||
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="18" sectionFooterHeight="18" translatesAutoresizingMaskIntoConstraints="NO" id="ZXV-PY-1fK">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
|
||||
<view key="tableFooterView" contentMode="scaleToFill" id="1jX-mt-zck">
|
||||
<rect key="frame" x="0.0" y="896.5" width="375" height="100"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" text="By tapping Verify Phone Number, an SMS may be sent. Message & data rates may apply." textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="kGX-Qm-s2k" userLabel="Tos View" customClass="FUIPrivacyAndTermsOfServiceView">
|
||||
<rect key="frame" x="10" y="0.0" width="355" height="100"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.28999999999999998" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
|
||||
<dataDetectorType key="dataDetectorTypes" link="YES"/>
|
||||
</textView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="kGX-Qm-s2k" secondAttribute="bottom" id="apr-W2-fhI"/>
|
||||
<constraint firstAttribute="trailing" secondItem="kGX-Qm-s2k" secondAttribute="trailing" constant="10" id="eqh-Yd-HEL"/>
|
||||
<constraint firstItem="kGX-Qm-s2k" firstAttribute="top" secondItem="1jX-mt-zck" secondAttribute="top" id="kAy-j4-skz"/>
|
||||
<constraint firstItem="kGX-Qm-s2k" firstAttribute="leading" secondItem="1jX-mt-zck" secondAttribute="leading" constant="10" id="zff-58-ueo"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="-1" id="cIO-fO-UsX"/>
|
||||
<outlet property="delegate" destination="-1" id="IWT-TE-EyX"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="ZXV-PY-1fK" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="RqV-RV-Axm"/>
|
||||
<constraint firstItem="ZXV-PY-1fK" firstAttribute="width" secondItem="i5M-Pr-FkT" secondAttribute="width" id="W2j-8H-7xa"/>
|
||||
<constraint firstItem="ZXV-PY-1fK" firstAttribute="centerY" secondItem="i5M-Pr-FkT" secondAttribute="centerY" id="ibc-Lu-Lpt"/>
|
||||
<constraint firstItem="ZXV-PY-1fK" firstAttribute="height" secondItem="i5M-Pr-FkT" secondAttribute="height" id="uNZ-29-fq6"/>
|
||||
</constraints>
|
||||
<point key="canvasLocation" x="64.5" y="93.5"/>
|
||||
</view>
|
||||
</objects>
|
||||
</document>
|
||||
+140
@@ -0,0 +1,140 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="17701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<device id="retina5_5" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17703"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="FUIPhoneVerificationViewController">
|
||||
<connections>
|
||||
<outlet property="_actionDescriptionLabel" destination="ND2-cc-05r" id="hQo-f9-hBE"/>
|
||||
<outlet property="_codeField" destination="WCV-7f-nzd" id="RJn-XF-C6g"/>
|
||||
<outlet property="_phoneNumberButton" destination="pLV-Br-GnD" id="yvI-Uj-E95"/>
|
||||
<outlet property="_resendCodeButton" destination="PcA-t5-BTE" id="LzC-9b-60t"/>
|
||||
<outlet property="_resendConfirmationCodeTimerLabel" destination="WHW-Rm-HAw" id="zfA-Cb-SSz"/>
|
||||
<outlet property="_scrollView" destination="dye-T3-FoY" id="KOp-Ke-uIn"/>
|
||||
<outlet property="_tosView" destination="IbP-WL-gSm" id="M90-5t-YaT"/>
|
||||
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dye-T3-FoY">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Enter the 6-digit code we sent to" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ND2-cc-05r">
|
||||
<rect key="frame" x="20" y="30" width="374" height="20.333333333333329"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="20" id="xV4-wG-lLz"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="pLV-Br-GnD">
|
||||
<rect key="frame" x="72" y="50.333333333333343" width="270" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="8oS-Wo-7iq"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Phone number"/>
|
||||
<connections>
|
||||
<action selector="onPhoneNumberSelected:" destination="-1" eventType="touchUpInside" id="NaO-jz-NQo"/>
|
||||
</connections>
|
||||
</button>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="WCV-7f-nzd" customClass="FUICodeField">
|
||||
<rect key="frame" x="67" y="88.333333333333329" width="280" height="59.999999999999986"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="60" id="1I2-T1-6XH"/>
|
||||
<constraint firstAttribute="width" constant="280" id="OY2-MW-bRs"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="codeLength">
|
||||
<integer key="value" value="6"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="placeholder" value="-"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<outlet property="codeDelegate" destination="-1" id="NhR-hc-Ddi"/>
|
||||
</connections>
|
||||
</view>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PcA-t5-BTE">
|
||||
<rect key="frame" x="20" y="158.33333333333334" width="374" height="30"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="30" id="8Gd-RE-Qv3"/>
|
||||
</constraints>
|
||||
<state key="normal" title="Resend code"/>
|
||||
<connections>
|
||||
<action selector="onResendCode:" destination="-1" eventType="touchUpInside" id="vx8-RJ-2TG"/>
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Resend code in" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WHW-Rm-HAw">
|
||||
<rect key="frame" x="20" y="164.33333333333334" width="374" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="17" id="dhl-OS-L3V"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" editable="NO" usesAttributedText="YES" translatesAutoresizingMaskIntoConstraints="NO" id="IbP-WL-gSm" userLabel="Tos View" customClass="FUIPrivacyAndTermsOfServiceView">
|
||||
<rect key="frame" x="67" y="208.33333333333334" width="280" height="30.333333333333343"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<attributedString key="attributedText">
|
||||
<fragment content="By tapping Continue you are indicating that you agree to the [Terms of Service].">
|
||||
<attributes>
|
||||
<color key="NSColor" red="0.0" green="0.0" blue="0.0" alpha="0.28999999999999998" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<font key="NSFont" metaFont="cellTitle"/>
|
||||
<paragraphStyle key="NSParagraphStyle" alignment="center" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0"/>
|
||||
</attributes>
|
||||
</fragment>
|
||||
</attributedString>
|
||||
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
|
||||
<dataDetectorType key="dataDetectorTypes" link="YES"/>
|
||||
</textView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="WHW-Rm-HAw" firstAttribute="leading" secondItem="dye-T3-FoY" secondAttribute="leading" constant="20" id="0De-xW-B7U"/>
|
||||
<constraint firstItem="IbP-WL-gSm" firstAttribute="width" secondItem="WCV-7f-nzd" secondAttribute="width" id="1O8-sk-mzG"/>
|
||||
<constraint firstAttribute="trailing" secondItem="pLV-Br-GnD" secondAttribute="trailing" constant="72" id="4E8-Nz-0ej"/>
|
||||
<constraint firstItem="PcA-t5-BTE" firstAttribute="top" secondItem="WCV-7f-nzd" secondAttribute="bottom" constant="10" id="5D4-Ae-1RK"/>
|
||||
<constraint firstItem="IbP-WL-gSm" firstAttribute="top" secondItem="PcA-t5-BTE" secondAttribute="bottom" constant="20" id="7Sc-Dv-sZG"/>
|
||||
<constraint firstAttribute="trailing" secondItem="ND2-cc-05r" secondAttribute="trailing" constant="20" id="IAN-91-GEI"/>
|
||||
<constraint firstItem="pLV-Br-GnD" firstAttribute="top" secondItem="ND2-cc-05r" secondAttribute="bottom" id="OTf-Jb-T2S"/>
|
||||
<constraint firstAttribute="trailing" secondItem="PcA-t5-BTE" secondAttribute="trailing" constant="20" id="Qoc-Ld-UfD"/>
|
||||
<constraint firstItem="ND2-cc-05r" firstAttribute="centerX" secondItem="dye-T3-FoY" secondAttribute="centerX" id="XmG-ll-T2V"/>
|
||||
<constraint firstItem="WCV-7f-nzd" firstAttribute="top" secondItem="pLV-Br-GnD" secondAttribute="bottom" constant="8" id="ZRx-YX-9UF"/>
|
||||
<constraint firstItem="WHW-Rm-HAw" firstAttribute="centerX" secondItem="ND2-cc-05r" secondAttribute="centerX" id="am3-Zw-DRc"/>
|
||||
<constraint firstItem="ND2-cc-05r" firstAttribute="leading" secondItem="dye-T3-FoY" secondAttribute="leading" constant="20" id="d4U-su-icR"/>
|
||||
<constraint firstAttribute="trailing" secondItem="WHW-Rm-HAw" secondAttribute="trailing" constant="20" id="dJO-pk-zhO"/>
|
||||
<constraint firstItem="WHW-Rm-HAw" firstAttribute="top" secondItem="WCV-7f-nzd" secondAttribute="bottom" constant="16" id="gmO-lX-GmB"/>
|
||||
<constraint firstItem="ND2-cc-05r" firstAttribute="top" secondItem="dye-T3-FoY" secondAttribute="top" constant="30" id="isu-X4-ahE"/>
|
||||
<constraint firstItem="WCV-7f-nzd" firstAttribute="centerX" secondItem="dye-T3-FoY" secondAttribute="centerX" id="k8O-qS-evd"/>
|
||||
<constraint firstItem="IbP-WL-gSm" firstAttribute="centerX" secondItem="WCV-7f-nzd" secondAttribute="centerX" id="qBQ-sU-TD5"/>
|
||||
<constraint firstItem="pLV-Br-GnD" firstAttribute="leading" secondItem="dye-T3-FoY" secondAttribute="leading" constant="72" id="sXd-Vz-5Qy"/>
|
||||
<constraint firstAttribute="bottom" secondItem="IbP-WL-gSm" secondAttribute="bottom" constant="5" id="svL-ih-Jnz"/>
|
||||
<constraint firstItem="PcA-t5-BTE" firstAttribute="leading" secondItem="dye-T3-FoY" secondAttribute="leading" constant="20" id="wJz-al-TQH"/>
|
||||
</constraints>
|
||||
</scrollView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="groupTableViewBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="dye-T3-FoY" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="2yn-Wn-ouf"/>
|
||||
<constraint firstItem="dye-T3-FoY" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="5bQ-tv-8DA"/>
|
||||
<constraint firstAttribute="bottom" secondItem="dye-T3-FoY" secondAttribute="bottom" id="GMa-Li-yRx"/>
|
||||
<constraint firstItem="dye-T3-FoY" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="SNJ-zl-7vw"/>
|
||||
</constraints>
|
||||
<point key="canvasLocation" x="25" y="52"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<systemColor name="groupTableViewBackgroundColor">
|
||||
<color red="0.94901960784313721" green="0.94901960784313721" blue="0.96862745098039216" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</systemColor>
|
||||
</resources>
|
||||
</document>
|
||||
+3226
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
|
After Width: | Height: | Size: 246 B |
Generated
Executable
BIN
Binary file not shown.
|
After Width: | Height: | Size: 420 B |
Generated
Executable
BIN
Binary file not shown.
|
After Width: | Height: | Size: 597 B |
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "تسجيل الدخول عبر رقم الهاتف";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "إدخال رقم الهاتف";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "رجوع";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "التالي";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "إثبات الملكية";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "لا يمكن إبقاء حقل رمز التحقق فارغًا";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "لا يمكن إبقاء حقل رقم الهاتف فارغًا";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "الرقم";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "رقم الهاتف";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "البلد";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "أدخل الرمز المكوّن من %@ رقم الذي أرسلناه إلى";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "إعادة إرسال الرمز";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "إعادة إرسال الرمز بعد %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "إثبات ملكية رقم الهاتف";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "تم";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "رقم الهاتف غير صالح";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "يُرجى إدخال رقم هاتف صالحًا";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "تم إرسال الرمز إلى %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "رمز التحقق غير صحيح";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "الرمز غير صحيح. يُرجى المحاولة مجددًا.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "حدث خطأ، يُرجى المحاولة مجددًا.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "تم استخدام رقم الهاتف هذا لعدد كبير جدًا من المرات";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "حدثت مشكلة أثناء إثبات ملكية رقم هاتفك";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "لم يعد هذا الرمز صالحًا";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "يشير النقر على %@ إلى موافقتك على %@ و%@. قد يتمّ إرسال رسالة قصيرة وقد تُفرَض رسوم الرسائل والبيانات.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Вход с телефон";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Въвеждане на телефонен номер";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Назад";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Напред";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Потвърждаване";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Трябва да посочите код за потвърждение";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Трябва да посочите телефонен номер";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Номер";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Телефонен номер";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Държава";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Въведете %@-цифрения код, който изпратихме до";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Повторно изпращане на кода";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Повторно изпращане на кода след %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Потвърждаване на телефонния номер";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Готово";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Невалиден телефонен номер";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Въведете валиден телефонен номер";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Кодът бе изпратен до %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Неправилен код за потвърждение";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Неправилен код. Опитайте отново.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Нещо се обърка. Моля, опитайте отново.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Този телефонен номер е използван твърде много пъти";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "При потвърждаването на телефонния ви номер възникна проблем";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Този код вече не е валиден";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Докосвайки „%@“, приемате нашите %@ и %@. Възможно е да получите SMS съобщение. То може да се таксува по тарифите за данни и SMS.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "ফোন দিয়ে সাইন-ইন করুন";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "ফোন নম্বর লিখুন";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "ফিরে যান";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "পরবর্তী";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "যাচাই করুন";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "যাচাইকরণের কোডটি খালি রাখা যাবে না";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "ফোন নম্বর খালি রাখা যাবে না";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "নম্বর";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "ফোন নম্বর";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "দেশ";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "আমাদের পাঠানো %@-সংখ্যার কোডটি লিখুন";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "কোডটি আবার পাঠান";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "%@ এ কোডটি আবার পাঠান";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "ফোন নম্বর যাচাই করুন";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "সম্পন্ন হয়েছে";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "ফোন নম্বরটি সঠিক নয়";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "সঠিক ফোন নম্বরটি লিখুন";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "%@ তে কোডটি পাঠানো হয়েছে";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "যাচাইকরণের কোডটি ভুল";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "কোডটি ভুল। আবার চেষ্টা করুন।";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "কিছু সমস্যা হয়েছে। অনুগ্রহ করে আবার চেষ্টা করুন।";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "এই ফোন নম্বরটি অনেকবার ব্যবহার করা হয়েছে";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "আপনার ফোন নম্বরটি যাচাই করতে সমস্যা হয়েছে";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "এই কোডটি আর ব্যবহার করা যাবে না";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "%@ বোতামে ট্যাপ করার অর্থ, আপনি আমাদের %@ এবং %@-এর সাথে সম্মত। একটি এসএমএস পাঠানো হতে পারে। মেসেজ এবং ডেটার উপরে প্রযোজ্য চার্জ লাগতে পারে।";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Inicia la sessió amb el telèfon";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Introdueix el número de telèfon";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Enrere";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Següent";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verifica";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Cal introduir el codi de verificació";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Cal introduir el número de telèfon";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de telèfon";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Introdueix el codi de %@ dígits que s'ha enviat al número";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Torna a enviar el codi";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Torna a enviar el codi d'aquí a %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verifica el número de telèfon";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Fet";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "El número de telèfon no és vàlid";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Introdueix un número de telèfon vàlid";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "S'ha enviat el codi al número %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "El codi de verificació no és correcte";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "El codi no és correcte. Torna-ho a provar.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "S'ha produït un error. Torna-ho a provar.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Aquest número de telèfon s'ha fet servir massa vegades";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Hi ha hagut un problema en verificar el número de telèfon";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Aquest codi ja no és vàlid";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "En tocar %@, acceptes les nostres %@ i la nostra %@. És possible que s'enviï un SMS. Es poden aplicar tarifes de dades i missatges.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Přihlásit se pomocí telefonu";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Zadejte telefonní číslo";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Zpět";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Další";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Ověřit";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Pole ověřovacího kódu nesmí být prázdné";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Pole telefonního čísla nesmí být prázdné";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Číslo";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Telefonní číslo";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Země";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Zadejte %@místný kód, který jsme vám zaslali";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Znovu odeslat kód";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Znovu odeslat kód za %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Ověření telefonního čísla";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Hotovo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Neplatné telefonní číslo";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Zadejte platné telefonní číslo";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Kód odeslán na číslo %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Nesprávný ověřovací kód";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Špatný kód. Zkuste to znovu.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Něco se nepovedlo. Zkuste to prosím znovu.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Toto telefonní číslo již bylo použito příliš mnohokrát";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Při ověřování telefonního čísla došlo k potížím";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Platnost kódu vypršela";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Klepnutím na tlačítko %@ vyjadřujete svůj souhlas s těmito dokumenty: %@ a %@. Může být odeslána SMS a mohou být účtovány poplatky za zprávy a data.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Log ind med telefon";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Angiv telefonnummer";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Tilbage";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Næste";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Bekræft";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Bekræftelseskode skal udfyldes";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Telefonnummer skal angives";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Tal";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Telefonnummer";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Land";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Angiv den %@-cifrede kode, vi sendte til";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Send koden igen";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Send koden igen om %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Bekræft telefonnummer";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Udført";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Ugyldigt telefonnummer";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Angiv et gyldigt telefonnummer";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Koden blev sendt til %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Forkert bekræftelseskode";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Koden er forkert. Prøv igen.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Noget gik galt. Prøv igen.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Dette telefonnummer er blevet brugt for mange gange";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Dit telefonnummer kunne ikke bekræftes";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Denne kode er ikke længere gyldig";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Når du trykker på %@, indikerer du, at du accepterer vores %@ og %@. Der sendes måske en sms. Der opkræves muligvis gebyrer for beskeder og data.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/de-AT.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Mit Telefonnummer anmelden";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Telefonnummer eingeben";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Zurück";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Weiter";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Bestätigen";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "\"Bestätigungscode\" darf nicht leer sein";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "\"Telefonnummer\" darf nicht leer sein";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Nummer";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Telefonnummer";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Land";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "%@-stelligen Code eingeben, der an folgende Nummer gesendet wurde:";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Code erneut senden";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Code in %@ erneut senden";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Telefonnummer bestätigen";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Fertig";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Ungültige Telefonnummer";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Geben Sie eine gültige Telefonnummer ein";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Code wurde an %@ gesendet";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Falscher Bestätigungscode";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Falscher Code. Versuchen Sie es noch einmal.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Ein Problem ist aufgetreten. Bitte versuchen Sie es noch einmal.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Diese Telefonnummer wurde schon zu oft verwendet";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Bei der Bestätigung Ihrer Telefonnummer ist ein Problem aufgetreten";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Dieser Code ist nicht mehr gültig";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Wenn Sie auf \"%@\" tippen, stimmen Sie unseren %@ und unserer %@ zu. Sie erhalten möglicherweise eine SMS und es können Gebühren für die Nachricht und die Datenübertragung anfallen.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/de-CH.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Mit Telefonnummer anmelden";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Telefonnummer eingeben";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Zurück";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Weiter";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Bestätigen";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "\"Bestätigungscode\" darf nicht leer sein";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "\"Telefonnummer\" darf nicht leer sein";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Nummer";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Telefonnummer";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Land";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "%@-stelligen Code eingeben, der an folgende Nummer gesendet wurde:";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Code erneut senden";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Code in %@ erneut senden";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Telefonnummer bestätigen";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Fertig";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Ungültige Telefonnummer";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Geben Sie eine gültige Telefonnummer ein";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Code wurde an %@ gesendet";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Falscher Bestätigungscode";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Falscher Code. Versuchen Sie es noch einmal.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Ein Problem ist aufgetreten. Bitte versuchen Sie es noch einmal.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Diese Telefonnummer wurde schon zu oft verwendet";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Bei der Bestätigung Ihrer Telefonnummer ist ein Problem aufgetreten";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Dieser Code ist nicht mehr gültig";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Wenn Sie auf \"%@\" tippen, stimmen Sie unseren %@ und unserer %@ zu. Sie erhalten möglicherweise eine SMS und es können Gebühren für die Nachricht und die Datenübertragung anfallen.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Mit Telefonnummer anmelden";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Telefonnummer eingeben";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Zurück";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Weiter";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Bestätigen";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "\"Bestätigungscode\" darf nicht leer sein";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "\"Telefonnummer\" darf nicht leer sein";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Nummer";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Telefonnummer";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Land";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "%@-stelligen Code eingeben, der an folgende Nummer gesendet wurde:";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Code erneut senden";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Code in %@ erneut senden";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Telefonnummer bestätigen";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Fertig";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Ungültige Telefonnummer";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Geben Sie eine gültige Telefonnummer ein";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Code wurde an %@ gesendet";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Falscher Bestätigungscode";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Falscher Code. Versuchen Sie es noch einmal.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Ein Problem ist aufgetreten. Bitte versuchen Sie es noch einmal.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Diese Telefonnummer wurde schon zu oft verwendet";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Bei der Bestätigung Ihrer Telefonnummer ist ein Problem aufgetreten";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Dieser Code ist nicht mehr gültig";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Wenn Sie auf \"%@\" tippen, stimmen Sie unseren %@ und unserer %@ zu. Sie erhalten möglicherweise eine SMS und es können Gebühren für die Nachricht und die Datenübertragung anfallen.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Σύνδεση μέσω τηλεφώνου";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Εισαγωγή αριθμού τηλεφώνου";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Πίσω";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Επόμενο";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Επαλήθευση";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Ο κωδικός επαλήθευσης δεν μπορεί να είναι κενός";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Ο αριθμός τηλεφώνου δεν μπορεί να είναι κενός";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Αριθμός";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Αριθμός τηλεφώνου";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Χώρα";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Εισαγάγετε τον κωδικό %@ ψηφίων που στείλαμε στο";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Επανάληψη αποστολής κωδικού";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Επανάληψη αποστολής κωδικού στο %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Επαλήθευση αριθμού τηλεφώνου";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Τέλος";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Μη έγκυρος αριθμός τηλεφώνου";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Εισαγάγετε έναν έγκυρο αριθμό τηλεφώνου";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Ο κωδικός στάλθηκε στο %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Εσφαλμένος κωδικός επαλήθευσης";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Εσφαλμένος κωδικός. Δοκιμάστε ξανά.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Κάτι πήγε στραβά. Δοκιμάστε ξανά.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Αυτός ο αριθμός τηλεφώνου χρησιμοποιήθηκε πάρα πολλές φορές";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Παρουσιάστηκε πρόβλημα με την επαλήθευση του αριθμού τηλεφώνου";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Αυτός ο κωδικός δεν είναι πλέον έγκυρος";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Πατώντας %@, δηλώνετε ότι αποδέχεστε τους %@ και την %@ μας. Ενδέχεται να σταλεί ένα SMS. Ενδέχεται να ισχύουν χρεώσεις μηνυμάτων και δεδομένων.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/en-AU.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Sign in with phone";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Enter phone number";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Back";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Next";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verify";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Verification code can't be empty";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Phone number can't be empty";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Number";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Phone number";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Country";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Enter the %@-digit code that we sent to";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Resend code";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Resend code in %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verify phone number";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Done";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Invalid phone number";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Enter a valid phone number";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Code was sent to %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Incorrect verification code";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Wrong code. Try again.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Something went wrong. Please try again.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "This phone number has been used too many times";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "There was a problem verifying your phone number";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "This code is no longer valid";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "By tapping %@, you are indicating that you accept our %@ and %@. An SMS may be sent. Message & data rates may apply.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/en-CA.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Sign in with phone";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Enter phone number";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Back";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Next";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verify";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Verification code can't be empty";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Phone number can't be empty";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Number";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Phone number";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Country";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Enter the %@-digit code that we sent to";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Resend code";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Resend code in %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verify phone number";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Done";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Invalid phone number";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Enter a valid phone number";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Code was sent to %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Incorrect verification code";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Wrong code. Try again.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Something went wrong. Please try again.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "This phone number has been used too many times";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "There was a problem verifying your phone number";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "This code is no longer valid";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "By tapping %@, you are indicating that you accept our %@ and %@. An SMS may be sent. Message & data rates may apply.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/en-GB.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Sign in with phone";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Enter phone number";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Back";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Next";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verify";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Verification code can't be empty";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Phone number can't be empty";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Number";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Phone number";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Country";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Enter the %@-digit code that we sent to";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Resend code";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Resend code in %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verify phone number";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Done";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Invalid phone number";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Enter a valid phone number";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Code was sent to %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Incorrect verification code";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Wrong code. Try again.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Something went wrong. Please try again.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "This phone number has been used too many times";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "There was a problem verifying your phone number";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "This code is no longer valid";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "By tapping %@, you are indicating that you accept our %@ and %@. An SMS may be sent. Message & data rates may apply.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/en-IE.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Sign in with phone";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Enter phone number";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Back";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Next";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verify";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Verification code can't be empty";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Phone number can't be empty";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Number";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Phone number";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Country";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Enter the %@-digit code that we sent to";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Resend code";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Resend code in %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verify phone number";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Done";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Invalid phone number";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Enter a valid phone number";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Code was sent to %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Incorrect verification code";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Wrong code. Try again.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Something went wrong. Please try again.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "This phone number has been used too many times";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "There was a problem verifying your phone number";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "This code is no longer valid";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "By tapping %@, you are indicating that you accept our %@ and %@. An SMS may be sent. Message & data rates may apply.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/en-IN.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Sign in with phone";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Enter phone number";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Back";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Next";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verify";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Verification code can't be empty";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Phone number can't be empty";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Number";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Phone number";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Country";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Enter the %@-digit code that we sent to";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Resend code";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Resend code in %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verify phone number";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Done";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Invalid phone number";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Enter a valid phone number";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Code was sent to %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Incorrect verification code";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Wrong code. Try again.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Something went wrong. Please try again.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "This phone number has been used too many times";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "There was a problem verifying your phone number";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "This code is no longer valid";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "By tapping %@, you are indicating that you accept our %@ and %@. An SMS may be sent. Message & data rates may apply.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/en-SG.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Sign in with phone";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Enter phone number";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Back";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Next";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verify";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Verification code can't be empty";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Phone number can't be empty";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Number";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Phone number";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Country";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Enter the %@-digit code that we sent to";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Resend code";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Resend code in %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verify phone number";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Done";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Invalid phone number";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Enter a valid phone number";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Code was sent to %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Incorrect verification code";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Wrong code. Try again.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Something went wrong. Please try again.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "This phone number has been used too many times";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "There was a problem verifying your phone number";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "This code is no longer valid";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "By tapping %@, you are indicating that you accept our %@ and %@. An SMS may be sent. Message & data rates may apply.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/en-ZA.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Sign in with phone";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Enter phone number";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Back";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Next";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verify";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Verification code can't be empty";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Phone number can't be empty";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Number";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Phone number";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Country";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Enter the %@-digit code that we sent to";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Resend code";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Resend code in %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verify phone number";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Done";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Invalid phone number";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Enter a valid phone number";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Code was sent to %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Incorrect verification code";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Wrong code. Try again.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Something went wrong. Please try again.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "This phone number has been used too many times";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "There was a problem verifying your phone number";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "This code is no longer valid";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "By tapping %@, you are indicating that you accept our %@ and %@. An SMS may be sent. Message & data rates may apply.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Sign in with phone";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Enter phone number";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Back";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Next";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verify";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Verification code can't be empty";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Phone number can't be empty";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Number";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Phone number";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Country";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Enter the %@-digit code we sent to";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Resend code";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Resend code in %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verify phone number";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Done";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Invalid phone number";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Enter a valid phone number";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Code was sent to %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Incorrect verification code";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Wrong code. Try again.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Something went wrong. Please try again.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "This phone number has been used too many times";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "There was a problem verifying your phone number";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "This code is no longer valid";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "By tapping %@, you are indicating that you accept our %@ and %@. An SMS may be sent. Message & data rates may apply.";
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-AR.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-BO.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-CL.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-CO.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-CR.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-DO.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-EC.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-GT.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-HN.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-MX.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-NI.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-PA.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-PE.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-PR.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-PY.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-SV.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-US.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-UY.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/es-VE.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Acceder con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ingresar número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El campo de código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El campo de número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ingresa el código de %@ dígitos que enviamos a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Volver a enviar el código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Volver a enviar el código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar tu número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de teléfono no válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ingresa un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se envió el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se produjo un error. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se usó demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocurrió un problema durante la verificación de tu número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si presionas %@, indicas que aceptas nuestras %@ y %@. Es posible que te enviemos un SMS, por lo que podrían aplicarse las tarifas de mensajes y uso de datos.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Iniciar sesión con el teléfono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Introduce el número de teléfono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atrás";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Siguiente";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "El código de verificación no puede estar vacío";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "El número de teléfono no puede estar vacío";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de teléfono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Introduce el código de %@ dígitos que te hemos enviado a";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Reenviar código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Reenviar código en %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificar número de teléfono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Listo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "El número de teléfono no es válido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Introduce un número de teléfono válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Se ha enviado el código a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificación incorrecto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "El código es incorrecto. Vuelve a intentarlo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Se ha producido un error. Inténtalo de nuevo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de teléfono se ha usado demasiadas veces";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Se ha producido un problema al verificar el número de teléfono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código ya no es válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Si tocas %@, confirmas que aceptas nuestras %@ y nuestra %@. Puede que te enviemos un SMS, por lo que es posible que se apliquen cargos de mensajería y de uso de datos.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "ورود به سیستم با تلفن";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "شماره تلفن را وارد کنید";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "قبلی";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "بعدی";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "تأیید";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "فیلد کد تأیید نباید خالی باشد";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "فیلد شماره تلفن نباید خالی باشد";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "عدد";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "شماره تلفن";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "کشور";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "کد %@ رقمیای را که به این شماره ارسال کردیم وارد کنید";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "ارسال مجدد کد";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "کد پس از %@ مجدداً ارسال میشود";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "تأیید شماره تلفن";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "انجام شد";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "شماره تلفن نامعتبر";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "شماره تلفن معتبری وارد کنید";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "کد به %@ ارسال شد";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "کد تأیید نادرست";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "کد اشتباه است. دوباره امتحان کنید.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "مشکلی پیش آمد. لطفاً دوباره امتحان کنید.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "از این شماره تلفن به دفعات زیاد استفاده شده است";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "مشکلی در تأیید شماره تلفنتان پیش آمد";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "این کد دیگر معتبر نیست";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "با ضربهزدن روی %@، موافقتتان را با %@ و %@ ما اعلام میکنید. ممکن است پیامکی ارسال شود. ممکن است هزینه داده و پیام اعمال شود.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Kirjaudu puhelimella";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Anna puhelinnumero";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Takaisin";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Seuraava";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Vahvista";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Vahvistuskoodi ei voi olla tyhjä.";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Puhelinnumero ei voi olla tyhjä.";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Numero";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Puhelinnumero";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Maa";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Anna %@ merkin pituinen koodi, jonka lähetimme numeroon";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Lähetä koodi uudelleen";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Lähetä koodi uudelleen seuraavan ajan kuluttua: %@.";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Vahvista puhelinnumero";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Valmis";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Virheellinen puhelinnumero";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Anna voimassa oleva puhelinnumero.";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Koodi lähetettiin numeroon %@.";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Virheellinen vahvistuskoodi";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Väärä koodi. Yritä uudelleen.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Tapahtui virhe. Yritä uudelleen.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Tätä puhelinnumeroa on käytetty liian monta kertaa.";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Puhelinnumerosi vahvistamisessa tapahtui virhe.";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Tämä koodi ei ole enää voimassa.";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Napauttamalla %@ vahvistat hyväksyväsi seuraavat: %@ ja %@. Tekstiviesti voidaan lähettää, ja datan ja viestien käyttö voi olla maksullista.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Mag-sign in gamit ang telepono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ilagay ang numero ng telepono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Bumalik";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Susunod";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "I-verify";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Hindi maaaring walang laman ang code sa pag-verify";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Hindi maaaring walang laman ang numero ng telepono";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Numero";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Numero ng telepono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Bansa";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ilagay ang %@-digit na code na ipinadala namin sa";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Ipadala muli ang code";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Ipadala muli ang code sa %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "I-verify ang numero ng telepono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Tapos Na";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Di-wastong numero ng telepono";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Maglagay ng wastong numero ng telepono";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Ipinadala ang code sa %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Maling verification code";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Maling code. Subukang muli.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Nagkaroon ng problema. Pakisubukang muli.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Masyadong maraming beses nang nagamit ang numero ng teleponong ito";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Nagkaproblema sa pag-verify ng numero ng iyong telepono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Wala nang bisa ang code na ito";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Sa pag-tap sa %@, ipinababatid mo na tinatanggap mo ang aming %@ at %@. Maaaring magpadala ng SMS. Maaaring ipatupad ang mga rate ng pagmemensahe at data.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/fr-CH.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Se connecter avec un téléphone";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Saisissez un numéro de téléphone";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Retour";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Suivant";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Valider";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Code de validation obligatoire";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Numéro de téléphone obligatoire";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Numéro";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Numéro de téléphone";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Pays";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Saisissez le code à %@ chiffres envoyé au";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Renvoyer le code";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Renvoyer le code dans %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Validez le numéro de téléphone";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "OK";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Numéro de téléphone incorrect";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Saisissez un numéro de téléphone valide";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Le code a été envoyé au %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Code de validation incorrect";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Code erroné. Veuillez réessayer.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Une erreur s'est produite. Veuillez réessayer.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Ce numéro de téléphone a été utilisé un trop grand nombre de fois";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Un problème est survenu lors de la validation de votre numéro de téléphone";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Ce code n'est plus valide";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "En appuyant sur %@, vous acceptez les %@ et les %@. Vous déclencherez peut-être l'envoi d'un SMS. Des frais de messages et de données peuvent être facturés.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Se connecter avec un téléphone";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Saisissez un numéro de téléphone";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Retour";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Suivant";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Valider";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Code de validation obligatoire";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Numéro de téléphone obligatoire";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Numéro";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Numéro de téléphone";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Pays";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Saisissez le code à %@ chiffres envoyé au";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Renvoyer le code";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Renvoyer le code dans %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Validez le numéro de téléphone";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "OK";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Numéro de téléphone incorrect";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Saisissez un numéro de téléphone valide";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Le code a été envoyé au %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Code de validation incorrect";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Code erroné. Veuillez réessayer.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Une erreur s'est produite. Veuillez réessayer.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Ce numéro de téléphone a été utilisé un trop grand nombre de fois";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Un problème est survenu lors de la validation de votre numéro de téléphone";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Ce code n'est plus valide";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "En appuyant sur %@, vous acceptez les %@ et les %@. Vous déclencherez peut-être l'envoi d'un SMS. Des frais de messages et de données peuvent être facturés.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Mit Telefonnummer anmelden";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Telefonnummer eingeben";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Zurück";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Weiter";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Bestätigen";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "\"Bestätigungscode\" darf nicht leer sein";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "\"Telefonnummer\" darf nicht leer sein";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Nummer";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Telefonnummer";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Land";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "%@-stelligen Code eingeben, der an folgende Nummer gesendet wurde:";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Code erneut senden";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Code in %@ erneut senden";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Telefonnummer bestätigen";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Fertig";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Ungültige Telefonnummer";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Geben Sie eine gültige Telefonnummer ein";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Code wurde an %@ gesendet";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Falscher Bestätigungscode";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Falscher Code. Versuchen Sie es noch einmal.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Ein Problem ist aufgetreten. Bitte versuchen Sie es noch einmal.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Diese Telefonnummer wurde schon zu oft verwendet";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Bei der Bestätigung Ihrer Telefonnummer ist ein Problem aufgetreten";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Dieser Code ist nicht mehr gültig";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Wenn Sie auf \"%@\" tippen, stimmen Sie unseren %@ und unserer %@ zu. Sie erhalten möglicherweise eine SMS und es können Gebühren für die Nachricht und die Datenübertragung anfallen.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "ફોન વડે સાઇન ઇન કરો";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "ફોન નંબર દાખલ કરો";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "પાછળ";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "આગળ";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "ચકાસો";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "ચકાસણી કોડ દાખલ કરવો આવશ્યક છે";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "ફોન નંબર દાખલ કરવો આવશ્યક છે";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "નંબર";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "ફોન નંબર";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "દેશ";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "અમે આ ફોન નંબર પર મોકલેલ %@-અંકનો કોડ દાખલ કરો";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "કોડ ફરીથી મોકલો";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "%@માં કોડ ફરીથી મોકલો";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "ફોન નંબર ચકાસો";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "થઈ ગયું";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "અમાન્ય ફોન નંબર";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "એક માન્ય ફોન નંબર દાખલ કરો";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "કોડ %@ પર મોકલવામાં આવ્યો હતો";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "ખોટો ચકાસણી કોડ";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "કોડ ખોટો છે. ફરી પ્રયાસ કરો.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "કંઈક ખોટું થયું. કૃપા કરીને ફરી પ્રયાસ કરો.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "આ ફોન નંબરનો ઉપયોગ ઘણી બધી વખત થઈ ગયો છે";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "તમારો ફોન નંબર ચકાસવામાં સમસ્યા આવી હતી";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "આ કોડ હવે માન્ય નથી";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "%@ને ટૅપ કરીને, તમે સૂચવી રહ્યાં છો કે તમે અમારી %@ અને %@ને સ્વીકારો છો. SMS મોકલવામાં આવી શકે છે. સંદેશ અને ડેટા શુલ્ક લાગુ થઈ શકે છે.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "כניסה באמצעות הטלפון";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "מה מספר הטלפון שלך?";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "הקודם";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "הבא";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "אמת";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "לא הזנת קוד אימות";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "לא הזנת מספר טלפון";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "מספר";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "מספר טלפון";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "מדינה";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "הזן את הקוד בן %@ הספרות ששלחנו למספר";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "שלח קוד חדש";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "שולח קוד חדש בעוד %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "אימות מספר הטלפון";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "סיום";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "מספר הטלפון לא תקין";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "מספר הטלפון שהזנת לא תקין";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "שלחנו קוד למספר %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "קוד האימות שגוי";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "הקוד שגוי. נסה שוב.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "משהו השתבש. נסה שוב.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "למספר הטלפון הזה כבר נשלחו יותר מדי קודים";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "אירעה בעיה באימות של מספר הטלפון";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "הקוד הזה כבר לא בתוקף";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "הקשה על %@ תפורש כהסכמתך ל%@ ול%@. ייתכן שתישלח הודעת SMS. ייתכנו חיובים בגין שליחת הודעות ושימוש בנתונים.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "फ़ोन से प्रवेश करें";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "फ़ोन नंबर डालें";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "वापस जाएं";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "अगला";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "पुष्टि करें";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "पुष्टि कोड खाली नहीं हो सकता";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "फ़ोन नंबर खाली नहीं हो सकता";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "नंबर";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "फ़ोन नंबर";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "देश";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "हमारी ओर से भेजा गया %@-अंकों वाला कोड डालें";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "कोड फिर से भेजें";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "%@ में कोड फिर से भेजें";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "फ़ोन नंबर की पुष्टि करें";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "हो गया";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "अमान्य फ़ोन नंबर";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "कोई मान्य फ़ोन नंबर डालें";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "%@ को कोड भेजा गया";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "गलत पुष्टि कोड";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "गलत कोड. फिर से कोशिश करें.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "कुछ गलत हो गया. कृपया फिर से कोशिश करें.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "इस फ़ोन नंबर का उपयोग कई बार किया गया है";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "आपके फ़ोन नंबर की पुष्टि करने में एक समस्या हुई";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "यह कोड अब मान्य नहीं है";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "%@ पर टैप करके, आप यह बताते हैं कि आप हमारे %@ और %@ को स्वीकार करते हैं. एक मैसेज (एसएमएस) भेजा जा सकता है. मैसेज और डेटा दरें लागू हो सकती हैं.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Prijava putem telefona";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Unesite telefonski broj";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Natrag";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Dalje";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Potvrdi";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Polje za kontrolni kôd ne može biti prazno";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Polje za telefonski broj ne može biti prazno";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Broj";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Telefonski broj";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Zemlja";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Unesite %@-znamenkasti kôd koji smo poslali na broj";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Ponovo pošalji kôd";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Ponovno slanje koda za %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Potvrda telefonskog broja";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Gotovo";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Nevažeći telefonski broj";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Unesite važeći telefonski broj";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Kôd smo poslali na broj %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Nevažeći kontrolni kôd";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Pogrešan kôd. Pokušajte ponovo.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Nešto nije u redu. Pokušajte ponovo.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Taj telefonski broj upotrijebljen je previše puta";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Došlo je do problema s potvrdom vašeg telefonskog broja.";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Kôd više nije važeći";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Dodirom na %@ potvrđujete da prihvaćate odredbe koje sadrže naši %@ i %@. Možda ćemo vam poslati SMS. Moguća je naplata poruke i podatkovnog prometa.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Bejelentkezés telefonnal";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Telefonszám megadása";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Vissza";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Következő";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Ellenőrzés";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Az ellenőrző kód mező nem lehet üres.";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "A telefonszám mező nem lehet üres.";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Szám";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Telefonszám";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Ország";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Adja meg a(z) %@ számjegyű kódot, melyet ide küldtünk:";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Kód újraküldése";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Kód újraküldése ennyi idő elteltével: %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Telefonszám igazolása";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Kész";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Érvénytelen telefonszám";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Érvényes telefonszámot adjon meg.";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "A kódot elküldtük ide: %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Hibás ellenőrző kód";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Hibás kód. Próbálja újra.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Hiba történt. Próbálja újra.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Ezt a telefonszámot már túl sokszor használták.";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Hiba történt a telefonszám ellenőrzésekor.";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Ez a kód már nem érvényes.";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Az %@ gombra koppintva kinyilvánítja, hogy elfogadja %@ és %@ dokumentumainkat. Erről SMS-t küldhetünk Önnek. A szolgáltató ezért üzenet- és adatforgalmi díjat számíthat fel.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Login dengan ponsel";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Masukkan nomor telepon";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Kembali";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Berikutnya";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verifikasi";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Kode verifikasi tidak boleh kosong";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Nomor telepon tidak boleh kosong";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Nomor";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Nomor telepon";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Negara";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Masukkan kode %@ digit yang kami kirimkan";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Kirim ulang kode";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Kirirmkan kembali kode dalam %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verifikasi nomor telepon";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Selesai";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Nomor telepon tidak valid";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Masukan nomor telepon yang valid";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Kode telah dikirimkan ke %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Kode verifikasi salah";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Kode salah. Coba lagi.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Terjadi kesalahan. Coba lagi.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Nomor telepon ini sudah terlalu sering digunakan";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ada masalah saat memverifikasi nomor telepon Anda";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Kode ini sudah tidak valid";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Dengan menge-tap %@, Anda menyatakan persetujuan atas %@ dan %@ kami. SMS mungkin akan dikirim. Mungkin akan ada biaya pesan & data.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Accedi con il telefono";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Inserisci il numero di telefono";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Indietro";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Avanti";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verifica";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Il codice di verifica non può essere vuoto";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Il numero di telefono non può essere vuoto";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Numero";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Numero di telefono";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Paese";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Inserisci il codice a %@ cifre che abbiamo inviato al numero";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Invia di nuovo il codice";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Invia di nuovo il codice tra %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verifica numero di telefono";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Fine";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Numero di telefono non valido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Inserisci un numero di telefono valido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Il codice è stato inviato a %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Codice di verifica non corretto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Codice errato. Riprova.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Si è verificato un errore. Riprova.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Questo numero di telefono è stato usato troppe volte";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Si è verificato un problema durante la verifica del tuo numero di telefono";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Questo codice non è più valido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Se tocchi %@, accetti i nostri %@ e le nostre %@. È possibile che venga inviato un SMS. Potrebbero essere applicate le tariffe per l'invio dei messaggi e per il traffico dati.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "携帯電話を使用してログイン";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "電話番号の入力";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "戻る";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "次へ";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "確認";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "確認コードは空白にできません";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "電話番号は空白にできません";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "数字";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "電話番号";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "国";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "送信された %@ 桁のコードを入力してください";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "コードを再送信";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "%@後にコードを再送信";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "電話番号の確認";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "完了";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "電話番号が無効です";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "有効な電話番号を入力してください";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "コードを %@ に送信しました";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "確認コードが正しくありません";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "コードが間違っています。もう一度お試しください。";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "エラーが発生しました。もう一度お試しください。";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "この電話番号は何度も使用されています";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "電話番号の確認中に問題が発生しました";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "このコードは無効になりました";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "[%@] をタップすると、%@と%@に同意したことになり、SMS が送信されます。データ通信料がかかることがあります。";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "ಫೋನ್ ಮೂಲಕ ಸೈನ್ ಇನ್ ಮಾಡಿ";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "ಹಿಂದೆ";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "ಮುಂದೆ";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "ಪರಿಶೀಲಿಸು";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "ಪರಿಶೀಲನೆಯ ಕೋಡ್ ಖಾಲಿ ಇರುವಂತಿಲ್ಲ";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "ಫೋನ್ ಸಂಖ್ಯೆಯು ಖಾಲಿ ಇರುವಂತಿಲ್ಲ";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "ಸಂಖ್ಯೆ";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "ಫೋನ್ ಸಂಖ್ಯೆ";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "ದೇಶ";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "ನಾವು ಕಳುಹಿಸಿರುವ %@-ಅಂಕಿಯ ಕೋಡ್ ನಮೂದಿಸಿ";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "ಕೋಡ್ ಅನ್ನು ಮತ್ತೆ ಕಳುಹಿಸಿ";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "%@ ಗಳಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಮತ್ತೆ ಕಳುಹಿಸಿ";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ಪರಿಶೀಲಿಸಿ";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "ಮುಗಿದಿದೆ";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "ಅಮಾನ್ಯವಾದ ಫೋನ್ ಸಂಖ್ಯೆ";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "ಮಾನ್ಯವಾದ ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "%@ ಗೆ ಕೋಡ್ ಅನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "ಪರಿಶೀಲನೆಯ ಕೋಡ್ ತಪ್ಪಾಗಿದೆ";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "ಕೋಡ್ ತಪ್ಪಾಗಿದೆ. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "ಯಾವುದೋ ತಪ್ಪು ಸಂಭವಿಸಿದೆ. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "ಈ ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ಹಲವಾರು ಬಾರಿ ಬಳಸಲಾಗಿದೆ";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "ನಿಮ್ಮ ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ಪರಿಶೀಲಿಸುವಾಗ ಸಮಸ್ಯೆ ಎದುರಾಗಿದೆ";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "ಈ ಕೋಡ್ ಇನ್ನು ಮುಂದೆ ಮಾನ್ಯವಾಗಿರುವುದಿಲ್ಲ";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "“%@” ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡುವ ಮೂಲಕ, ನೀವು ನಮ್ಮ %@ ಮತ್ತು %@ ಸ್ವೀಕರಿಸುತ್ತೀರಿ ಎಂದು ನೀವು ಸೂಚಿಸುತ್ತಿರುವಿರಿ. ಎಸ್ಎಂಎಸ್ ಅನ್ನು ಕಳುಹಿಸಬಹುದಾಗಿದೆ. ಸಂದೇಶ ಮತ್ತು ಡೇಟಾ ದರಗಳು ಅನ್ವಯಿಸಬಹುದು.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "휴대전화로 로그인";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "전화번호 입력";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "뒤로";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "다음";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "인증";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "인증 코드는 비워둘 수 없습니다.";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "전화번호는 비워둘 수 없습니다.";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "번호";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "전화번호";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "국가";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "전송된 %@자리 코드를 입력하세요.";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "코드 재전송";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "%@ 후에 코드 재전송";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "전화번호 확인";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "완료";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "전화번호가 잘못되었습니다.";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "올바른 전화번호를 입력하세요.";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "%@으(로) 코드가 전송되었습니다.";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "잘못된 인증 코드";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "코드가 잘못되었습니다. 다시 시도하세요.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "문제가 발생했습니다. 다시 시도해 주세요.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "이 전화번호로 전송 시도를 너무 많이 했습니다.";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "전화번호를 인증하는 중에 문제가 발생했습니다.";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "더 이상 유효하지 않은 코드입니다.";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "%@ 버튼을 탭하면 %@ 및 %@에 동의하는 것으로 간주됩니다. SMS가 발송될 수 있으며, 메시지 및 데이터 요금이 부과될 수 있습니다.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Se connecter avec un téléphone";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Saisissez un numéro de téléphone";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Retour";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Suivant";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Valider";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Code de validation obligatoire";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Numéro de téléphone obligatoire";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Numéro";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Numéro de téléphone";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Pays";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Saisissez le code à %@ chiffres envoyé au";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Renvoyer le code";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Renvoyer le code dans %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Validez le numéro de téléphone";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "OK";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Numéro de téléphone incorrect";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Saisissez un numéro de téléphone valide";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Le code a été envoyé au %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Code de validation incorrect";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Code erroné. Veuillez réessayer.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Une erreur s'est produite. Veuillez réessayer.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Ce numéro de téléphone a été utilisé un trop grand nombre de fois";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Un problème est survenu lors de la validation de votre numéro de téléphone";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Ce code n'est plus valide";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "En appuyant sur %@, vous acceptez les %@ et les %@. Vous déclencherez peut-être l'envoi d'un SMS. Des frais de messages et de données peuvent être facturés.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Prisijungti nurodant telefono numerį";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Įveskite telefono numerį";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atgal";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Kitas";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Patvirtinti";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Patvirtinimo kodo laukas negali būti tuščias";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Telefono numerio laukas negali būti tuščias";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Numeris";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Telefono numeris";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Šalis";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Įveskite %@ skaitmenų kodą, kurį išsiuntėme jums";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Siųsti kodą dar kartą";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Siųsti kodą dar kartą po %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Patvirtinti telefono numerį";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Atlikta";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Netinkamas telefono numeris";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Įveskite tinkamą telefono numerį";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Kodas išsiųstas telefono numeriu %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Netinkamas patvirtinimo kodas";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Klaidingas kodas. Bandykite dar kartą.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Kažkas nepavyko. Bandykite dar kartą.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Šis telefono numeris panaudotas per daug kartų";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Patvirtinant telefono numerį kilo problema";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Šis kodas nebegalioja";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Paliesdami „%@“ nurodote, kad sutinkate su %@ ir %@. Gali būti išsiųstas SMS pranešimas, taip pat – taikomi pranešimų ir duomenų įkainiai.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Pierakstīties ar tālruni";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Ievadīt tālruņa numuru";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Atpakaļ";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Tālāk";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificēt";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Verifikācijas koda lauks nedrīkst būt tukšs";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Tālruņa numura lauks nedrīkst būt tukšs";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Numurs";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Tālruņa numurs";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Valsts";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Ievadiet %@ ciparu kodu, ko nosūtījām uz šādu tālruņa numuru:";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Vēlreiz nosūtīt kodu";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Vēlreiz nosūtīt kodu pēc %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Verificēt tālruņa numuru";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Gatavs";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Nederīgs tālruņa numurs";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Ievadiet derīgu tālruņa numuru";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Kods tika nosūtīts uz: %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Nepareizs verifikācijas kods";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Nepareizs kods. Mēģiniet vēlreiz.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Radās problēma. Lūdzu, mēģiniet vēlreiz.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Šis tālruņa numurs ir izmantots pārāk daudz reižu";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Verificējot jūsu tālruņa numuru, radās problēma";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Šis kods vairs nav derīgs";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Pieskaroties vienumam %@, jūs norādāt, ka piekrītat šādiem dokumentiem: %@ un %@. Var tikt nosūtīta īsziņa. Var tikt piemērota maksa par ziņojumiem un datu pārsūtīšanu.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "फोनने साइन इन करा";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "फोन नंबर टाका";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "मागील";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "पुढील";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "पडताळणी करा";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "पडताळणी कोड रिक्त ठेवता येणार नाही";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "फोन नंबर रिक्त ठेवता येणार नाही";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "नंबर";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "फोन नंबर";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "देश";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "वर आम्ही पाठवलेला %@ अंकी कोड टाका";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "कोड पुन्हा पाठवा";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "कोड %@मध्ये पुन्हा पाठवा";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "फोन नंबरची पडताळणी करा";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "पूर्ण झाले";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "अवैध फोन नंबर";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "एखादा वैध फोन नंबर टाका";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "कोड %@वर पाठवण्यात आला";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "चुकीचा पडताळणी कोड";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "कोड चुकीचा आहे. पुन्हा प्रयत्न करा.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "काहीतरी चूक झाली. कृपया पुन्हा प्रयत्न करा.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "हा फोन नंबर अनेकदा वापरण्यात आला आहे";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "तुमच्या फोन नंबरची पडताळणी करताना समस्या आली";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "हा कोड यापुढे वैध नाही";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "%@ वर टॅप करून, तुम्ही सूचित करता की, तुम्ही आमचे %@ आणि %@ स्वीकारता. एसएमएस पाठवला जाऊ शकतो. मेसेज आणि डेटा दर लागू केले जाऊ शकतात.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Log masuk dengan telefon";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Masukkan nombor telefon";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Kembali";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Seterusnya";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Sahkan";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Kod pengesahan tidak boleh kosong";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Nombor telefon tidak boleh kosong";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Nombor";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Nombor telefon";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Negara";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Masukkan kod %@ digit yang kami hantar ke";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Hantar semula kod";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Hantar semula kod dalam masa %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Sahkan nombor telefon";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Selesai";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Nombor telefon tidak sah";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Masukkan nombor telefon yang sah";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Kod dihantar ke %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Kod pengesahan tidak sah";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Kod salah. Cuba lagi.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Kesilapan telah berlaku. Sila cuba lagi.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Nombor telefon ini terlalu kerap digunakan";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Terdapat masalah sewaktu mengesahkan nombor telefon anda";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Kod ini tidak sah lagi";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Dengan mengetik %@, anda menyatakan bahawa anda menerima %@ dan %@ kami. SMS akan dihantar. Tertakluk pada kadar mesej & data.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Logg på med telefonnummeret ditt";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Angi telefonnummeret";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Tilbake";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Neste";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Bekreft";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Du må oppgi en bekreftelseskode";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Du må oppgi et telefonnummer";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Telefonnummer";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Telefonnummer";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Land";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Angi den %@-sifrede koden vi sendte til";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Send koden på nytt";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Send koden på nytt om %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Bekreft telefonnummeret";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Ferdig";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Ugyldig telefonnummer";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Oppgi et gyldig telefonnummer";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Koden ble sendt til %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Feil bekreftelseskode";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Feil kode. Prøv på nytt.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Noe gikk galt. Prøv på nytt.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Dette telefonnummeret er brukt for mange ganger";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Kunne ikke bekrefte telefonnummeret ditt";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Denne koden er ikke lenger gyldig";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Ved å trykke på %@ godtar du %@ og %@. Du kan bli tilsendt en SMS. Kostnader for meldinger og datatrafikk kan påløpe.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Inloggen met telefoon";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Telefoonnummer invoeren";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Terug";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Volgende";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verifiëren";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Verificatiecode mag niet leeg zijn";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Telefoonnummer mag niet leeg zijn";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Nummer";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Telefoonnummer";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Land";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Voer de %@-cijferige code in die we hebben verzonden naar";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Code opnieuw verzenden";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Code opnieuw verzenden over %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Telefoonnummer verifiëren";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Gereed";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Ongeldig telefoonnummer";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Voer een geldig telefoonnummer in";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Code is verzonden naar %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Onjuiste verificatiecode";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Onjuiste code. Probeer het opnieuw.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Er is iets verkeerd gegaan. Probeer het opnieuw.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Dit telefoonnummer is te vaak gebruikt";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Er is een probleem met de verificatie van uw telefoonnummer";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Deze code is niet meer geldig";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Door op %@ te tikken, geeft u aan dat u onze %@ en ons %@ accepteert. Mogelijk ontvangt u een sms. Er kunnen sms- en datakosten in rekening worden gebracht.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/nn-NO.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Logg på med telefonnummeret ditt";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Angi telefonnummeret";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Tilbake";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Neste";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Bekreft";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Du må oppgi en bekreftelseskode";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Du må oppgi et telefonnummer";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Telefonnummer";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Telefonnummer";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Land";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Angi den %@-sifrede koden vi sendte til";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Send koden på nytt";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Send koden på nytt om %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Bekreft telefonnummeret";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Ferdig";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Ugyldig telefonnummer";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Oppgi et gyldig telefonnummer";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Koden ble sendt til %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Feil bekreftelseskode";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Feil kode. Prøv på nytt.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Noe gikk galt. Prøv på nytt.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Dette telefonnummeret er brukt for mange ganger";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Kunne ikke bekrefte telefonnummeret ditt";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Denne koden er ikke lenger gyldig";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Ved å trykke på %@ godtar du %@ og %@. Du kan bli tilsendt en SMS. Kostnader for meldinger og datatrafikk kan påløpe.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Zaloguj się z użyciem numeru telefonu";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Wpisywanie numeru telefonu";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Wstecz";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Dalej";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Zweryfikuj";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Pole z kodem weryfikacyjnym nie może być puste";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Pole z numerem telefonu nie może być puste";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Numer";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Numer telefonu";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Kraj";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Wpisz %@-cyfrowy kod, który wysłaliśmy na numer";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Wyślij kod ponownie";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Wyślij kod ponownie za %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Weryfikowanie numeru telefonu";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Gotowe";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Nieprawidłowy numer telefonu";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Wpisz prawidłowy numer telefonu";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Kod został wysłany na numer %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Niepoprawny kod weryfikacyjny";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Nieprawidłowy kod. Spróbuj jeszcze raz.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Coś się nie udało. Spróbuj jeszcze raz.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Ten numer telefonu został użyty zbyt wiele razy.";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Podczas weryfikacji Twojego numeru telefonu wystąpił problem.";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Ten kod stracił ważność.";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Klikając „%@”, potwierdzasz, że akceptujesz te dokumenty: %@ i %@. Może zostać wysłany SMS. Może to skutkować pobraniem opłat za przesłanie wiadomości i danych.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/pt-BR.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Fazer login com o telefone";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Inserir número de telefone";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Voltar";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Próxima";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "O código de verificação não pode estar em branco.";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "O número do telefone não pode estar em branco.";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de telefone";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Insira o código de %@ dígitos que enviamos";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Reenviar código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Reenviar o código em %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Confirmar número de telefone";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Concluir";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de telefone inválido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Insira um número de telefone válido.";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "O código foi enviado para %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificação inválido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorreto. Tente novamente.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Ocorreu um erro. Tente novamente.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de telefone já foi usado muitas vezes.";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocorreu um problema na verificação do seu número de telefone.";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código não é mais válido.";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Ao tocar em %@, você concorda com nossos %@ e a %@. Um SMS poderá ser enviado e tarifas de mensagens e de dados poderão ser cobradas.";
|
||||
Pods/FirebasePhoneAuthUI/FirebasePhoneAuthUI/Sources/Strings/pt-PT.lproj/FirebasePhoneAuthUI.strings
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Iniciar sessão com o telemóvel";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Introduzir número de telemóvel";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Anterior";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Seguinte";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Validar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "O código de validação não pode ficar vazio.";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "O número de telefone não pode ficar vazio.";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de telefone";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Introduza o código de %@ dígitos que enviámos para";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Reenviar código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Reenviar código em %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Validar número de telefone";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Concluído";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de telefone inválido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Introduza um número de telefone válido";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "O código foi enviado para %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de validação incorreto";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código errado. Tente novamente.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Ocorreu um erro. Tente novamente.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de telefone foi utilizado demasiadas vezes";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocorreu um problema ao validar o número de telefone";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código já não é válido";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Ao tocar em %@, indica que aceita os %@ e a %@. Pode gerar o envio de uma SMS. Podem aplicar-se tarifas de dados e de mensagens.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Fazer login com o telefone";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Inserir número de telefone";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Voltar";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Próxima";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Verificar";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "O código de verificação não pode estar em branco.";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "O número do telefone não pode estar em branco.";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Número";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Número de telefone";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "País";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Insira o código de %@ dígitos que enviamos";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Reenviar código";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Reenviar o código em %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Confirmar número de telefone";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Concluir";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Número de telefone inválido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Insira um número de telefone válido.";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "O código foi enviado para %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Código de verificação inválido";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Código incorreto. Tente novamente.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Ocorreu um erro. Tente novamente.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Este número de telefone já foi usado muitas vezes.";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Ocorreu um problema na verificação do seu número de telefone.";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Este código não é mais válido.";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Ao tocar em %@, você concorda com nossos %@ e a %@. Um SMS poderá ser enviado e tarifas de mensagens e de dados poderão ser cobradas.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Conectați-vă cu numărul de telefon";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Introduceți numărul de telefon";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Înapoi";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Înainte";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Confirmați";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Codul de confirmare trebuie completat";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Numărul de telefon trebuie completat";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Număr de telefon";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Număr de telefon";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Țară";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Introduceți codul din %@ cifre pe care l-am trimis la";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Retrimiteți codul";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Retrimiteți codul în %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Confirmați numărul de telefon";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Gata";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Număr de telefon nevalid";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Introduceți un număr de telefon valid.";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Codul a fost trimis la %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Codul de confirmare este greșit";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Cod greșit. Încercați din nou.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "A apărut o eroare. Încercați din nou.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Acest număr de telefon a fost folosit de prea multe ori";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "A apărut o problemă la confirmarea numărului de telefon";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Codul nu mai este valid";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Dacă atingeți %@, sunteți de acord cu %@ și cu %@. Poate fi trimis un SMS. Se pot aplica tarife pentru mesaje și date.";
|
||||
Generated
+74
@@ -0,0 +1,74 @@
|
||||
/* The text of the button used to sign-in with Phone. */
|
||||
"SignInWithPhone" = "Войти по номеру телефона";
|
||||
|
||||
/* The title of view controller where user enters phone number. */
|
||||
"EnterPhoneTitle" = "Введите номер телефона";
|
||||
|
||||
/* The title of button on navigation controller which navigates to previous screen. */
|
||||
"Back" = "Назад";
|
||||
|
||||
/* The title of button on navigation controller which navigates to the next screen. */
|
||||
"Next" = "Далее";
|
||||
|
||||
/* The title of button which user taps on phone verification screen. */
|
||||
"Verify" = "Подтвердить";
|
||||
|
||||
/* Alert message displayed when user submits empty verification code. */
|
||||
"EmptyVerificationCode" = "Укажите код подтверждения.";
|
||||
|
||||
/* Alert message displayed when user submits empty phone number. */
|
||||
"EmptyPhoneNumber" = "Укажите номер телефона.";
|
||||
|
||||
/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/
|
||||
"PhoneNumber" = "Номер телефона";
|
||||
|
||||
/* Placeholder shown for phone number input field. */
|
||||
"EnterYourPhoneNumber" = "Номер телефона";
|
||||
|
||||
/* Label next to the left of country selector control. */
|
||||
"Country" = "Страна";
|
||||
|
||||
/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */
|
||||
"EnterCodeDescription" = "Укажите код из %@ цифр, который мы отправили на номер";
|
||||
|
||||
/* The title of button with resend verification code functionality. */
|
||||
"ResendCode" = "Отправить код ещё раз";
|
||||
|
||||
/* Text of the resend timer label shown on verification phone number screen. */
|
||||
"ResendCodeTimer" = "Код можно будет запросить ещё раз через %@";
|
||||
|
||||
/* The title of view controller where user verifies phone number. . */
|
||||
"VerifyPhoneTitle" = "Подтвердите номер телефона";
|
||||
|
||||
/* The title of button displayed when user closes alert message. */
|
||||
"Done" = "Готово";
|
||||
|
||||
/* The title of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneTitle" = "Неверный номер телефона";
|
||||
|
||||
/* The body message of alert shown when user entered invalid phone number format. */
|
||||
"IncorrectPhoneMessage" = "Введите действительный номер телефона.";
|
||||
|
||||
/* The body message of alert shown when user tapped resend verification code button. */
|
||||
"ResendCodeResult" = "Код был отправлен на номер %@";
|
||||
|
||||
/* The title of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeTitle" = "Неверный код подтверждения";
|
||||
|
||||
/* The body message of alert shown when user entered invalid verification code. */
|
||||
"IncorrectCodeMessage" = "Неверный код. Повторите попытку.";
|
||||
|
||||
/* The body message of alert shown when internal server error appeared. */
|
||||
"InternalErrorMessage" = "Произошла ошибка. Повторите попытку.";
|
||||
|
||||
/* The body message of alert shown when the user has tried to send too many SMS messages. */
|
||||
"TooManyCodesSent" = "Этот номер телефона использовался слишком много раз.";
|
||||
|
||||
/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */
|
||||
"MessageQuotaExceeded" = "Не удалось подтвердить номер телефона.";
|
||||
|
||||
/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */
|
||||
"MessageExpired" = "Этот код уже неактивен.";
|
||||
|
||||
/* Message shown at the footer of the screen before sending SMS confirmation code. The first placeholder is the value of the key "Verify". The second placeholder is the terms of service agreement link, the third placeholder is the privacy policy agreement link. */
|
||||
"TermsSMS" = "Нажимая кнопку \"%@\", вы принимаете два документа. Вот они: %@ и %@. Также вы соглашаетесь получить SMS. За сообщение и обмен данными может взиматься плата.";
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user