diff --git a/.github/workflows/anonymousauth.yml b/.github/workflows/anonymousauth.yml deleted file mode 100644 index 2810f886653..00000000000 --- a/.github/workflows/anonymousauth.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: Anonymous Auth - -on: - push: - branches: [ main ] - paths: - - 'FirebaseAuthUI/**' - - 'FirebaseAuthUI.podspec' - - '.github/workflows/anonymousauth.yml' - - 'FirebaseAnonymousAuthUI/**' - - 'test.sh' - - 'FirebaseAnonymousAuthUI.podspec' - - 'Package.swift' - pull_request: - branches: [ main ] - paths: - - 'FirebaseAuthUI/**' - - 'FirebaseAuthUI.podspec' - - '.github/workflows/anonymousauth.yml' - - 'FirebaseAnonymousAuthUI/**' - - 'test.sh' - - 'FirebaseAnonymousAuthUI.podspec' - - 'Package.swift' - - workflow_dispatch: - -jobs: - xcodebuild: - name: xcodebuild - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Setup - run: | - cd FirebaseAnonymousAuthUI - gem install bundler - bundle install - gem install xcpretty - bundle exec pod install --repo-update - - name: Build - run: | - ./test.sh FirebaseAnonymousAuthUI - spm: - name: spm - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: List - run: | - xcodebuild -list - - name: Build - run: | - xcodebuild -scheme FirebaseAnonymousAuthUI -sdk iphonesimulator -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16 Pro' - pod: - name: pod lib lint - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: Setup - run: gem install bundler; bundle install - - name: Build - run: | - bundle exec pod lib lint FirebaseAnonymousAuthUI.podspec \ - --include-podspecs=FirebaseAuthUI.podspec diff --git a/.github/workflows/auth.yml b/.github/workflows/auth.yml deleted file mode 100644 index 7b48417b61c..00000000000 --- a/.github/workflows/auth.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: Auth - -on: - push: - branches: [ main ] - paths: - - '.github/workflows/auth.yml' - - 'FirebaseAuthUI/**' - - 'test.sh' - - 'FirebaseAuthUI.podspec' - - 'Package.swift' - pull_request: - branches: [ main ] - paths: - - '.github/workflows/auth.yml' - - 'FirebaseAuthUI/**' - - 'test.sh' - - 'FirebaseAuthUI.podspec' - - 'Package.swift' - - workflow_dispatch: - -jobs: - xcodebuild: - name: xcodebuild - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Setup - run: | - cd FirebaseAuthUI - gem install bundler - bundle install - gem install xcpretty - bundle exec pod install --repo-update - - name: Build - run: | - ./test.sh FirebaseAuthUI - spm: - name: spm - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: List - run: | - xcodebuild -list - - name: Build - run: | - xcodebuild -scheme FirebaseAuthUI -sdk iphonesimulator -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16 Pro' - pod: - name: pod lib lint - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: Setup - run: gem install bundler; bundle install - - name: Build - # Allow warnings for deprecated `updateEmail:completion:` API. - run: | - bundle exec pod lib lint FirebaseAuthUI.podspec --allow-warnings diff --git a/.github/workflows/emailauth.yml b/.github/workflows/emailauth.yml deleted file mode 100644 index 1efafed4896..00000000000 --- a/.github/workflows/emailauth.yml +++ /dev/null @@ -1,81 +0,0 @@ -name: Email Auth - -on: - push: - branches: [ main ] - paths: - - 'FirebaseAuthUI/**' - - 'FirebaseAuthUI.podspec' - - '.github/workflows/emailauth.yml' - - 'FirebaseEmailAuthUI/**' - - 'test.sh' - - 'FirebaseEmailAuthUI.podspec' - - 'Package.swift' - pull_request: - branches: [ main ] - paths: - - 'FirebaseAuthUI/**' - - 'FirebaseAuthUI.podspec' - - '.github/workflows/emailauth.yml' - - 'FirebaseEmailAuthUI/**' - - 'test.sh' - - 'FirebaseEmailAuthUI.podspec' - - 'Package.swift' - - workflow_dispatch: - -jobs: - xcodebuild: - name: xcodebuild - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: Setup - run: | - cd FirebaseEmailAuthUI - gem install bundler - bundle install - gem install xcpretty - bundle exec pod install --repo-update - - name: Build - run: | - ./test.sh FirebaseEmailAuthUI - spm: - name: spm - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: List - run: | - xcodebuild -list - - name: Build - run: | - xcodebuild -scheme FirebaseEmailAuthUI -sdk iphonesimulator -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16 Pro' - pod: - name: pod lib lint - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: Setup - run: gem install bundler; bundle install - - name: Build - # Allow warnings for deprecated `updateEmail:completion:` API. - run: | - bundle exec pod lib lint FirebaseEmailAuthUI.podspec \ - --include-podspecs=FirebaseAuthUI.podspec \ - --allow-warnings diff --git a/.github/workflows/facebookauth.yml b/.github/workflows/facebookauth.yml deleted file mode 100644 index 6b3437db183..00000000000 --- a/.github/workflows/facebookauth.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: Facebook Auth - -on: - push: - branches: [ main ] - paths: - - 'FirebaseAuthUI/**' - - 'FirebaseAuthUI.podspec' - - '.github/workflows/facebookauth.yml' - - 'FirebaseFacebookAuthUI/**' - - 'test.sh' - - 'FirebaseFacebookAuthUI.podspec' - - 'Package.swift' - pull_request: - branches: [ main ] - paths: - - 'FirebaseAuthUI/**' - - 'FirebaseAuthUI.podspec' - - '.github/workflows/facebookauth.yml' - - 'FirebaseFacebookAuthUI/**' - - 'test.sh' - - 'FirebaseFacebookAuthUI.podspec' - - 'Package.swift' - - workflow_dispatch: - -jobs: - xcodebuild: - name: xcodebuild - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Setup - run: | - cd FirebaseFacebookAuthUI - gem install bundler - bundle install - gem install xcpretty - bundle exec pod install --repo-update - - name: Build - run: | - ./test.sh FirebaseFacebookAuthUI - spm: - name: spm - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: List - run: | - xcodebuild -list - - name: Build - run: | - xcodebuild -scheme FirebaseFacebookAuthUI -sdk iphonesimulator -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16 Pro' - pod: - name: pod lib lint - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: Setup - run: gem install bundler; bundle install - - name: Build - run: | - bundle exec pod lib lint FirebaseFacebookAuthUI.podspec \ - --include-podspecs=FirebaseAuthUI.podspec diff --git a/.github/workflows/googleauth.yml b/.github/workflows/googleauth.yml deleted file mode 100644 index 87324738937..00000000000 --- a/.github/workflows/googleauth.yml +++ /dev/null @@ -1,74 +0,0 @@ -name: Google Auth - -on: - push: - branches: [ main ] - paths: - - 'FirebaseAuthUI/**' - - 'FirebaseAuthUI.podspec' - - '.github/workflows/googleauth.yml' - - 'FirebaseGoogleAuthUI/**' - - 'test.sh' - - 'FirebaseGoogleAuthUI.podspec' - pull_request: - branches: [ main ] - paths: - - 'FirebaseAuthUI/**' - - 'FirebaseAuthUI.podspec' - - '.github/workflows/googleauth.yml' - - 'FirebaseGoogleAuthUI/**' - - 'test.sh' - - 'FirebaseGoogleAuthUI.podspec' - - workflow_dispatch: - -jobs: - build: - name: build - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Setup - run: | - cd FirebaseGoogleAuthUI - gem install bundler - bundle install - gem install xcpretty - bundle exec pod install --repo-update - - name: Build - run: | - ./test.sh FirebaseGoogleAuthUI - spm: - name: spm - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: List - run: | - xcodebuild -list - - name: Build - run: | - xcodebuild -scheme FirebaseGoogleAuthUI -sdk iphonesimulator -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16 Pro' - pod: - name: pod lib lint - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: Setup - run: gem install bundler; bundle install - - name: Build - run: | - bundle exec pod lib lint FirebaseGoogleAuthUI.podspec \ - --include-podspecs=FirebaseAuthUI.podspec --skip-import-validation diff --git a/.github/workflows/oauth.yml b/.github/workflows/oauth.yml deleted file mode 100644 index 47f9870d24b..00000000000 --- a/.github/workflows/oauth.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: OAuth - -on: - push: - branches: [ main ] - paths: - - 'FirebaseAuthUI/**' - - 'FirebaseAuthUI.podspec' - - '.github/workflows/oauth.yml' - - 'FirebaseOAuthUI/**' - - 'test.sh' - - 'FirebaseOAuthUI.podspec' - - 'Package.swift' - pull_request: - branches: [ main ] - paths: - - 'FirebaseAuthUI/**' - - 'FirebaseAuthUI.podspec' - - '.github/workflows/oauth.yml' - - 'FirebaseOAuthUI/**' - - 'test.sh' - - 'FirebaseOAuthUI.podspec' - - 'Package.swift' - - workflow_dispatch: - -jobs: - xcodebuild: - name: xcodebuild - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Setup - run: | - cd FirebaseOAuthUI - gem install bundler - bundle install - gem install xcpretty - bundle exec pod install --repo-update - - name: Build - run: | - ./test.sh FirebaseOAuthUI - spm: - name: spm - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: List - run: | - xcodebuild -list - - name: Build - run: | - xcodebuild -scheme FirebaseOAuthUI -sdk iphonesimulator -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16 Pro' - pod: - name: pod lib lint - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: Setup - run: gem install bundler; bundle install - - name: Build - run: | - bundle exec pod lib lint FirebaseOAuthUI.podspec \ - --include-podspecs=FirebaseAuthUI.podspec diff --git a/.github/workflows/phoneauth.yml b/.github/workflows/phoneauth.yml deleted file mode 100644 index d9363418bc7..00000000000 --- a/.github/workflows/phoneauth.yml +++ /dev/null @@ -1,77 +0,0 @@ -name: Phone Auth - -on: - push: - branches: [ main ] - paths: - - 'FirebaseAuthUI/**' - - 'FirebaseAuthUI.podspec' - - '.github/workflows/phoneauth.yml' - - 'FirebasePhoneAuthUI/**' - - 'test.sh' - - 'FirebasePhoneAuthUI.podspec' - - 'Package.swift' - pull_request: - branches: [ main ] - paths: - - 'FirebaseAuthUI/**' - - 'FirebaseAuthUI.podspec' - - '.github/workflows/phoneauth.yml' - - 'FirebasePhoneAuthUI/**' - - 'test.sh' - - 'FirebasePhoneAuthUI.podspec' - - 'Package.swift' - - workflow_dispatch: - -jobs: - xcodebuild: - name: xcodebuild - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Setup - run: | - cd FirebasePhoneAuthUI - gem install bundler - bundle install - gem install xcpretty - bundle exec pod install --repo-update - - name: Build - run: | - ./test.sh FirebasePhoneAuthUI - spm: - name: spm - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: List - run: | - xcodebuild -list - - name: Build - run: | - xcodebuild -scheme FirebasePhoneAuthUI -sdk iphonesimulator -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16 Pro' - pod: - name: pod lib lint - runs-on: macos-15 - - steps: - - name: Checkout - uses: actions/checkout@main - - name: Setup - run: gem install bundler; bundle install - - name: Select Xcode version - run: | - sudo xcode-select -switch /Applications/Xcode_16.3.app/Contents/Developer - - name: Build - # (#1191) Fix and remove --allow-warnings - run: | - bundle exec pod lib lint FirebasePhoneAuthUI.podspec \ - --include-podspecs=FirebaseAuthUI.podspec --allow-warnings diff --git a/.github/workflows/sample.yml b/.github/workflows/sample.yml index a9592058b95..80493952fb4 100644 --- a/.github/workflows/sample.yml +++ b/.github/workflows/sample.yml @@ -5,20 +5,44 @@ on: branches: [ main ] paths: - '.github/workflows/sample.yml' + - 'FirebaseSwiftUI/**' - 'Firebase*UI/**' + - 'samples/**' + - 'Package.swift' - '*.podspec' pull_request: branches: [ main ] paths: - - '.github/workflows/storage.yml' + - '.github/workflows/sample.yml' + - 'FirebaseSwiftUI/**' - 'Firebase*UI/**' + - 'samples/**' + - 'Package.swift' - '*.podspec' workflow_dispatch: jobs: + swiftui: + name: SwiftUI Sample build + runs-on: macos-15 + + steps: + - name: Checkout + uses: actions/checkout@main + - name: Build SwiftUI Sample + run: | + cd samples/swiftui/FirebaseSwiftUISample + xcodebuild \ + -project FirebaseSwiftUISample.xcodeproj \ + -scheme FirebaseSwiftUISample \ + -sdk iphonesimulator \ + -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16 Pro' \ + clean build \ + ONLY_ACTIVE_ARCH=YES + swift: - name: Swift build + name: Swift UIKit Sample build runs-on: macos-15 steps: @@ -26,6 +50,7 @@ jobs: uses: actions/checkout@main - name: Setup run: | + cp samples/GoogleService-Info-dummy.plist samples/swift/GoogleService-Info.plist cd samples/swift gem install bundler bundle install @@ -38,12 +63,12 @@ jobs: -workspace FirebaseUI-demo-swift.xcworkspace \ -scheme FirebaseUI-demo-swift \ -sdk iphonesimulator \ - -destination 'platform=iOS Simulator,OS=latest,name=iPhone 11 Pro' \ + -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16 Pro' \ clean build test \ ONLY_ACTIVE_ARCH=YES | xcpretty objc: - name: ObjC build + name: ObjC Sample build runs-on: macos-15 steps: @@ -51,21 +76,19 @@ jobs: uses: actions/checkout@main - name: Setup run: | - cp samples/GoogleService-Info-dummy.plist samples/swift/GoogleService-Info.plist + cp samples/GoogleService-Info-dummy.plist samples/objc/GoogleService-Info.plist cd samples/objc gem install bundler bundle install gem install xcpretty bundle exec pod install --repo-update - name: Build - # Note: tests aren't run here because the ObjC sample has no test targets. run: | - cp samples/GoogleService-Info-dummy.plist samples/objc/GoogleService-Info.plist cd samples/objc xcodebuild \ -workspace FirebaseUI-demo-objc.xcworkspace \ -scheme FirebaseUI-demo-objc \ -sdk iphonesimulator \ - -destination 'platform=iOS Simulator,OS=latest,name=iPhone 11 Pro' \ + -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16 Pro' \ clean build \ ONLY_ACTIVE_ARCH=YES | xcpretty diff --git a/FirebaseAnonymousAuthUI.podspec b/FirebaseAnonymousAuthUI.podspec deleted file mode 100644 index 5f4b5190791..00000000000 --- a/FirebaseAnonymousAuthUI.podspec +++ /dev/null @@ -1,29 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'FirebaseAnonymousAuthUI' - s.version = '15.1.0' - s.summary = 'Provides anonymous auth support for FirebaseAuthUI.' - s.homepage = 'https://github.com/firebase/FirebaseUI-iOS' - s.license = { :type => 'Apache 2.0', :file => 'LICENSE' } - s.source = { :git => 'https://github.com/firebase/FirebaseUI-iOS.git', :tag => 'v' + s.version.to_s} - s.author = 'Firebase' - s.platform = :ios - s.ios.deployment_target = '13.0' - s.ios.framework = 'UIKit' - s.requires_arc = true - s.cocoapods_version = '>= 1.8.0' - s.pod_target_xcconfig = { - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', - } - s.swift_version = '6.0' - - s.public_header_files = 'FirebaseAnonymousAuthUI/Sources/Public/FirebaseAnonymousAuthUI/*.h' - s.source_files = 'FirebaseAnonymousAuthUI/Sources/**/*.{h,m}' - s.dependency 'FirebaseAuthUI', '~> 15.0' - s.dependency 'FirebaseAuth', '>= 8.0', '< 13.0' - s.dependency 'FirebaseCore' - s.resource_bundles = { - 'FirebaseAnonymousAuthUI' => [ - 'FirebaseAnonymousAuthUI/Sources/{Resources,Strings}/*.{png,lproj}' - ] - } -end diff --git a/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUI.xcodeproj/project.pbxproj b/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUI.xcodeproj/project.pbxproj deleted file mode 100644 index d92f95413ce..00000000000 --- a/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUI.xcodeproj/project.pbxproj +++ /dev/null @@ -1,574 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 8D69E22721DD476D00CFA49B /* FirebaseAnonymousAuthUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8D69E21D21DD476C00CFA49B /* FirebaseAnonymousAuthUI.framework */; }; - 8D69E22C21DD476D00CFA49B /* FirebaseAnonymousAuthUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E22B21DD476D00CFA49B /* FirebaseAnonymousAuthUITests.m */; }; - 8D69E22E21DD476D00CFA49B /* FirebaseAnonymousAuthUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E22021DD476D00CFA49B /* FirebaseAnonymousAuthUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E23921DD47B400CFA49B /* FUIAnonymousAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E23721DD47B400CFA49B /* FUIAnonymousAuth.m */; }; - 8D69E23A21DD47B400CFA49B /* FUIAnonymousAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E23821DD47B400CFA49B /* FUIAnonymousAuth.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E35321DD5C4700CFA49B /* ic_anonymous.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E34D21DD5C4700CFA49B /* ic_anonymous.png */; }; - 8D69E35421DD5C4700CFA49B /* ic_anonymous@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E34E21DD5C4700CFA49B /* ic_anonymous@3x.png */; }; - 8D69E35521DD5C4700CFA49B /* ic_anonymous@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E34F21DD5C4700CFA49B /* ic_anonymous@2x.png */; }; - 8D69E35621DD5C4700CFA49B /* FirebaseAnonymousAuthUI.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E35121DD5C4700CFA49B /* FirebaseAnonymousAuthUI.strings */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 8D69E22821DD476D00CFA49B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8D69E21421DD476C00CFA49B /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8D69E21C21DD476C00CFA49B; - remoteInfo = FirebaseAnonymousAuthUI; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 8D69E21D21DD476C00CFA49B /* FirebaseAnonymousAuthUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FirebaseAnonymousAuthUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E22021DD476D00CFA49B /* FirebaseAnonymousAuthUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FirebaseAnonymousAuthUI.h; sourceTree = ""; }; - 8D69E22121DD476D00CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E22621DD476D00CFA49B /* FirebaseAnonymousAuthUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FirebaseAnonymousAuthUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E22B21DD476D00CFA49B /* FirebaseAnonymousAuthUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirebaseAnonymousAuthUITests.m; sourceTree = ""; }; - 8D69E22D21DD476D00CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E23721DD47B400CFA49B /* FUIAnonymousAuth.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAnonymousAuth.m; sourceTree = ""; }; - 8D69E23821DD47B400CFA49B /* FUIAnonymousAuth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAnonymousAuth.h; sourceTree = ""; }; - 8D69E34D21DD5C4700CFA49B /* ic_anonymous.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ic_anonymous.png; sourceTree = ""; }; - 8D69E34E21DD5C4700CFA49B /* ic_anonymous@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_anonymous@3x.png"; sourceTree = ""; }; - 8D69E34F21DD5C4700CFA49B /* ic_anonymous@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_anonymous@2x.png"; sourceTree = ""; }; - 8D69E35221DD5C4700CFA49B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/FirebaseAnonymousAuthUI.strings; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8D69E21A21DD476C00CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E22321DD476D00CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E22721DD476D00CFA49B /* FirebaseAnonymousAuthUI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 8D55F14B261E5BAC0020DFB0 /* Public */ = { - isa = PBXGroup; - children = ( - 8DAB9B46263768C300FF271F /* FirebaseAnonymousAuthUI */, - ); - path = Public; - sourceTree = ""; - }; - 8D69E21321DD476C00CFA49B = { - isa = PBXGroup; - children = ( - 8D69E21F21DD476C00CFA49B /* Sources */, - 8D69E22A21DD476D00CFA49B /* FirebaseAnonymousAuthUITests */, - 8D69E21E21DD476C00CFA49B /* Products */, - BEF4805F13BABCBDD925C264 /* Pods */, - ); - sourceTree = ""; - }; - 8D69E21E21DD476C00CFA49B /* Products */ = { - isa = PBXGroup; - children = ( - 8D69E21D21DD476C00CFA49B /* FirebaseAnonymousAuthUI.framework */, - 8D69E22621DD476D00CFA49B /* FirebaseAnonymousAuthUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 8D69E21F21DD476C00CFA49B /* Sources */ = { - isa = PBXGroup; - children = ( - 8D55F14B261E5BAC0020DFB0 /* Public */, - 8D69E23721DD47B400CFA49B /* FUIAnonymousAuth.m */, - 8D69E22121DD476D00CFA49B /* Info.plist */, - 8D69E34C21DD5C4700CFA49B /* Resources */, - 8D69E35021DD5C4700CFA49B /* Strings */, - ); - path = Sources; - sourceTree = ""; - }; - 8D69E22A21DD476D00CFA49B /* FirebaseAnonymousAuthUITests */ = { - isa = PBXGroup; - children = ( - 8D69E22B21DD476D00CFA49B /* FirebaseAnonymousAuthUITests.m */, - 8D69E22D21DD476D00CFA49B /* Info.plist */, - ); - path = FirebaseAnonymousAuthUITests; - sourceTree = ""; - }; - 8D69E34C21DD5C4700CFA49B /* Resources */ = { - isa = PBXGroup; - children = ( - 8D69E34D21DD5C4700CFA49B /* ic_anonymous.png */, - 8D69E34E21DD5C4700CFA49B /* ic_anonymous@3x.png */, - 8D69E34F21DD5C4700CFA49B /* ic_anonymous@2x.png */, - ); - path = Resources; - sourceTree = ""; - }; - 8D69E35021DD5C4700CFA49B /* Strings */ = { - isa = PBXGroup; - children = ( - 8D69E35121DD5C4700CFA49B /* FirebaseAnonymousAuthUI.strings */, - ); - path = Strings; - sourceTree = ""; - }; - 8DAB9B46263768C300FF271F /* FirebaseAnonymousAuthUI */ = { - isa = PBXGroup; - children = ( - 8D69E22021DD476D00CFA49B /* FirebaseAnonymousAuthUI.h */, - 8D69E23821DD47B400CFA49B /* FUIAnonymousAuth.h */, - ); - path = FirebaseAnonymousAuthUI; - sourceTree = ""; - }; - BEF4805F13BABCBDD925C264 /* Pods */ = { - isa = PBXGroup; - children = ( - ); - path = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 8D69E21821DD476C00CFA49B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E22E21DD476D00CFA49B /* FirebaseAnonymousAuthUI.h in Headers */, - 8D69E23A21DD47B400CFA49B /* FUIAnonymousAuth.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 8D69E21C21DD476C00CFA49B /* FirebaseAnonymousAuthUI */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E23121DD476D00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseAnonymousAuthUI" */; - buildPhases = ( - 8D69E21821DD476C00CFA49B /* Headers */, - 8D69E21921DD476C00CFA49B /* Sources */, - 8D69E21A21DD476C00CFA49B /* Frameworks */, - 8D69E21B21DD476C00CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FirebaseAnonymousAuthUI; - productName = FirebaseAnonymousAuthUI; - productReference = 8D69E21D21DD476C00CFA49B /* FirebaseAnonymousAuthUI.framework */; - productType = "com.apple.product-type.framework"; - }; - 8D69E22521DD476D00CFA49B /* FirebaseAnonymousAuthUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E23421DD476D00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseAnonymousAuthUITests" */; - buildPhases = ( - 8D69E22221DD476D00CFA49B /* Sources */, - 8D69E22321DD476D00CFA49B /* Frameworks */, - 8D69E22421DD476D00CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 8D69E22921DD476D00CFA49B /* PBXTargetDependency */, - ); - name = FirebaseAnonymousAuthUITests; - productName = FirebaseAnonymousAuthUITests; - productReference = 8D69E22621DD476D00CFA49B /* FirebaseAnonymousAuthUITests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 8D69E21421DD476C00CFA49B /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1010; - ORGANIZATIONNAME = Firebase; - TargetAttributes = { - 8D69E21C21DD476C00CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - 8D69E22521DD476D00CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - }; - }; - buildConfigurationList = 8D69E21721DD476C00CFA49B /* Build configuration list for PBXProject "FirebaseAnonymousAuthUI" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 8D69E21321DD476C00CFA49B; - productRefGroup = 8D69E21E21DD476C00CFA49B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8D69E21C21DD476C00CFA49B /* FirebaseAnonymousAuthUI */, - 8D69E22521DD476D00CFA49B /* FirebaseAnonymousAuthUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8D69E21B21DD476C00CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E35321DD5C4700CFA49B /* ic_anonymous.png in Resources */, - 8D69E35621DD5C4700CFA49B /* FirebaseAnonymousAuthUI.strings in Resources */, - 8D69E35521DD5C4700CFA49B /* ic_anonymous@2x.png in Resources */, - 8D69E35421DD5C4700CFA49B /* ic_anonymous@3x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E22421DD476D00CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8D69E21921DD476C00CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E23921DD47B400CFA49B /* FUIAnonymousAuth.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E22221DD476D00CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E22C21DD476D00CFA49B /* FirebaseAnonymousAuthUITests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 8D69E22921DD476D00CFA49B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8D69E21C21DD476C00CFA49B /* FirebaseAnonymousAuthUI */; - targetProxy = 8D69E22821DD476D00CFA49B /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 8D69E35121DD5C4700CFA49B /* FirebaseAnonymousAuthUI.strings */ = { - isa = PBXVariantGroup; - children = ( - 8D69E35221DD5C4700CFA49B /* en */, - ); - name = FirebaseAnonymousAuthUI.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 8D69E22F21DD476D00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../\""; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 8D69E23021DD476D00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../\""; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 8D69E23221DD476D00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseAnonymousAuthUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E23321DD476D00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseAnonymousAuthUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 8D69E23521DD476D00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = Sources/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/OCMock\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/nanopb\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"OCMock\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseAnonymousAuthUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E23621DD476D00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = Sources/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/OCMock\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/nanopb\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"OCMock\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseAnonymousAuthUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 8D69E21721DD476C00CFA49B /* Build configuration list for PBXProject "FirebaseAnonymousAuthUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E22F21DD476D00CFA49B /* Debug */, - 8D69E23021DD476D00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E23121DD476D00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseAnonymousAuthUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E23221DD476D00CFA49B /* Debug */, - 8D69E23321DD476D00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E23421DD476D00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseAnonymousAuthUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E23521DD476D00CFA49B /* Debug */, - 8D69E23621DD476D00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 8D69E21421DD476C00CFA49B /* Project object */; -} diff --git a/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseAnonymousAuthUI.xcscheme b/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseAnonymousAuthUI.xcscheme deleted file mode 100644 index e7dd10ee8e9..00000000000 --- a/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseAnonymousAuthUI.xcscheme +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUITests/FirebaseAnonymousAuthUITests.m b/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUITests/FirebaseAnonymousAuthUITests.m deleted file mode 100644 index 7be0133a705..00000000000 --- a/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUITests/FirebaseAnonymousAuthUITests.m +++ /dev/null @@ -1,65 +0,0 @@ -// -// 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 -#import - -@import FirebaseAuth; -#import - -#import "FUIAnonymousAuth.h" - -@interface FirebaseAnonymousAuthUITests : XCTestCase -@property (nonatomic, strong) FUIAnonymousAuth *provider; -@end - -@implementation FirebaseAnonymousAuthUITests - -- (void)setUp { - [super setUp]; - - id authUIClass = OCMClassMock([FUIAuth class]); - OCMStub(ClassMethod([authUIClass authUIWithAuth:OCMOCK_ANY])). - andReturn(authUIClass); - - id authClass = OCMClassMock([FIRAuth class]); - OCMStub(ClassMethod([authClass auth])). - andReturn(authClass); - - FIRAuth *auth = [FIRAuth auth]; - FUIAuth *authUI = [FUIAuth authUIWithAuth:auth]; - self.provider = [[FUIAnonymousAuth alloc] initWithAuthUI:authUI]; -} - -- (void)tearDown { - self.provider = nil; - [super tearDown]; -} - -- (void)testProviderValidity { - XCTAssertNotNil(self.provider); - XCTAssertNotNil(self.provider.icon); - XCTAssertNotNil(self.provider.signInLabel); - XCTAssertNotNil(self.provider.buttonBackgroundColor); - XCTAssertNotNil(self.provider.buttonTextColor); - XCTAssertNil(self.provider.providerID); - XCTAssertNotNil(self.provider.shortName); - XCTAssertTrue(self.provider.signInLabel.length != 0); - XCTAssertNil(self.provider.accessToken); - XCTAssertNil(self.provider.idToken); -} - -@end diff --git a/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUITests/Info.plist b/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUITests/Info.plist deleted file mode 100644 index ba72822e872..00000000000 --- a/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUITests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/FirebaseAnonymousAuthUI/Podfile b/FirebaseAnonymousAuthUI/Podfile deleted file mode 100644 index 6b14d146c20..00000000000 --- a/FirebaseAnonymousAuthUI/Podfile +++ /dev/null @@ -1,13 +0,0 @@ -platform :ios, '13.0' - -target 'FirebaseAnonymousAuthUI' do - use_frameworks! - - pod 'FirebaseAuthUI', :path => '../' - - target 'FirebaseAnonymousAuthUITests' do - inherit! :search_paths - pod 'OCMock' - end - -end diff --git a/FirebaseAnonymousAuthUI/Sources/FUIAnonymousAuth.m b/FirebaseAnonymousAuthUI/Sources/FUIAnonymousAuth.m deleted file mode 100644 index 14ddf7a26e8..00000000000 --- a/FirebaseAnonymousAuthUI/Sources/FUIAnonymousAuth.m +++ /dev/null @@ -1,169 +0,0 @@ -// -// 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 FirebaseAuth; - -#import - -#import "FirebaseAnonymousAuthUI/Sources/Public/FirebaseAnonymousAuthUI/FUIAnonymousAuth.h" - -/** @var kTableName - @brief The name of the strings table to search for localized strings. - */ -static NSString *const kTableName = @"FirebaseAnonymousAuthUI"; - -/** @var kBundleName - @brief The name of the bundle to search for resources. - */ -#if SWIFT_PACKAGE -static NSString *const kBundleName = @"FirebaseUI_FirebaseAnonymousAuthUI"; -#else -static NSString *const kBundleName = @"FirebaseAnonymousAuthUI"; -#endif // SWIFT_PACKAGE - -/** @var kSignInAsGuest - @brief The string key for localized button text. - */ -static NSString *const kSignInAsGuest = @"SignInAsGuest"; - -NS_ASSUME_NONNULL_BEGIN - -@implementation FUIAnonymousAuth { - /** The @c FUIAuth instance of the application. */ - FUIAuth *_authUI; - - /** @var _presentingViewController - @brief The presenting view controller for interactive sign-in. - */ - UIViewController *_presentingViewController; -} - -+ (NSBundle *)bundle { - return [FUIAuthUtils bundleNamed:kBundleName - inFrameworkBundle:[NSBundle bundleForClass:[self class]]]; -} - -- (instancetype)init { - return [self initWithAuthUI:[FUIAuth defaultAuthUI]]; -} - -- (instancetype)initWithAuthUI:(FUIAuth *)authUI { - if (self = [super init]) { - _authUI = authUI; - } - return self; -} - -#pragma mark - FUIAuthProvider - -- (nullable NSString *)providerID { - return nil; -} - -/** @fn accessToken: - @brief Anonymous Auth token is matched by FirebaseUI User Access Token - */ -- (nullable NSString *)accessToken { - return nil; -} - -/** @fn idToken: - @brief Anonymous Auth Token Secret is matched by FirebaseUI User Id Token - */ -- (nullable NSString *)idToken { - return nil; -} - -- (NSString *)shortName { - return @"Anonymous"; -} - -- (NSString *)signInLabel { - return FUILocalizedStringFromTableInBundle(kSignInAsGuest, - kTableName, - [FUIAnonymousAuth bundle]); -} - -- (UIImage *)icon { - return [FUIAuthUtils imageNamed:@"ic_anonymous" fromBundle:[FUIAnonymousAuth bundle]]; -} - -- (UIColor *)buttonBackgroundColor { - return [UIColor colorWithRed:244.0f/255.0f green:180.0f/255.0f blue:0.0f/255.0f alpha:1.0f]; -} - -- (UIColor *)buttonTextColor { - return [UIColor whiteColor]; -} - -#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 { - [_authUI.auth signInAnonymouslyWithCompletion:^(FIRAuthDataResult * _Nullable authResult, - NSError * _Nullable error) { - NSDictionary *userInfo; - if (authResult != nil) { - userInfo = @{ - FUIAuthProviderSignInUserInfoKeyAuthDataResult: authResult, - }; - } - if (error) { - [FUIAuthBaseViewController showAlertWithMessage:error.localizedDescription - presentingViewController:presentingViewController]; - if (completion) { - completion(nil, error, nil, userInfo); - } - return; - } - if (completion) { - completion(nil, error, nil, userInfo); - } - }]; -} - -- (void)signOut { - FIRUser *user = _authUI.auth.currentUser; - __weak UIViewController *weakController = _presentingViewController; - if (user.isAnonymous) { - [user deleteWithCompletion:^(NSError * _Nullable error) { - if (error) { - __strong UIViewController *presentingViewController = weakController; - [FUIAuthBaseViewController showAlertWithMessage:error.localizedDescription - presentingViewController:presentingViewController]; - return; - } - }]; - } -} - -- (BOOL)handleOpenURL:(NSURL *)URL sourceApplication:(nullable NSString *)sourceApplication { - return NO; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAnonymousAuthUI/Sources/Info.plist b/FirebaseAnonymousAuthUI/Sources/Info.plist deleted file mode 100644 index d3de8eefb69..00000000000 --- a/FirebaseAnonymousAuthUI/Sources/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/FirebaseAnonymousAuthUI/Sources/Public/FirebaseAnonymousAuthUI/FUIAnonymousAuth.h b/FirebaseAnonymousAuthUI/Sources/Public/FirebaseAnonymousAuthUI/FUIAnonymousAuth.h deleted file mode 100644 index a549b066202..00000000000 --- a/FirebaseAnonymousAuthUI/Sources/Public/FirebaseAnonymousAuthUI/FUIAnonymousAuth.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// 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 - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIAnonymousAuth - @brief AuthUI components for Anonymous Sign In. - */ -@interface FUIAnonymousAuth : NSObject - -/** @property buttonAlignment - @brief The alignment of the icon and text of the button. - */ -@property(nonatomic, readwrite) FUIButtonAlignment buttonAlignment; - -/** @fn bundle - @brief Returns the FirebaseAnonymousAuthUI resource bundle. - */ -+ (NSBundle *)bundle; - -/** @fn init - @brief Initialize the instance with the default AuthUI. - */ -- (instancetype)init; - -/** @fn initWithAuthUI: - @param authUI The @c FUIAuth instance that manages controllers of this provider. - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI NS_DESIGNATED_INITIALIZER; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAnonymousAuthUI/Sources/Public/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUI.h b/FirebaseAnonymousAuthUI/Sources/Public/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUI.h deleted file mode 100644 index 9e83145590a..00000000000 --- a/FirebaseAnonymousAuthUI/Sources/Public/FirebaseAnonymousAuthUI/FirebaseAnonymousAuthUI.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// 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 - -//! Project version number for FirebaseAnonymousAuthUI. -FOUNDATION_EXPORT double FirebaseAnonymousAuthUIVersionNumber; - -//! Project version string for FirebaseAnonymousAuthUI. -FOUNDATION_EXPORT const unsigned char FirebaseAnonymousAuthUIVersionString[]; - -#import "FUIAnonymousAuth.h" - - diff --git a/FirebaseAnonymousAuthUI/Sources/Resources/ic_anonymous.png b/FirebaseAnonymousAuthUI/Sources/Resources/ic_anonymous.png deleted file mode 100755 index f00e3f3921d..00000000000 Binary files a/FirebaseAnonymousAuthUI/Sources/Resources/ic_anonymous.png and /dev/null differ diff --git a/FirebaseAnonymousAuthUI/Sources/Resources/ic_anonymous@2x.png b/FirebaseAnonymousAuthUI/Sources/Resources/ic_anonymous@2x.png deleted file mode 100755 index e344ea99325..00000000000 Binary files a/FirebaseAnonymousAuthUI/Sources/Resources/ic_anonymous@2x.png and /dev/null differ diff --git a/FirebaseAnonymousAuthUI/Sources/Resources/ic_anonymous@3x.png b/FirebaseAnonymousAuthUI/Sources/Resources/ic_anonymous@3x.png deleted file mode 100755 index b08402aa7e3..00000000000 Binary files a/FirebaseAnonymousAuthUI/Sources/Resources/ic_anonymous@3x.png and /dev/null differ diff --git a/FirebaseAnonymousAuthUI/Sources/Strings/en.lproj/FirebaseAnonymousAuthUI.strings b/FirebaseAnonymousAuthUI/Sources/Strings/en.lproj/FirebaseAnonymousAuthUI.strings deleted file mode 100644 index 956384c55c6..00000000000 --- a/FirebaseAnonymousAuthUI/Sources/Strings/en.lproj/FirebaseAnonymousAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with guest. */ -"SignInAsGuest" = "Sign in as guest"; diff --git a/FirebaseAuthUI.podspec b/FirebaseAuthUI.podspec deleted file mode 100644 index 99c7b9c9a18..00000000000 --- a/FirebaseAuthUI.podspec +++ /dev/null @@ -1,27 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'FirebaseAuthUI' - s.version = '15.1.0' - s.summary = 'A prebuilt authentication UI flow for Firebase Auth.' - s.homepage = 'https://github.com/firebase/FirebaseUI-iOS' - s.license = { :type => 'Apache 2.0', :file => 'LICENSE' } - s.source = { :git => 'https://github.com/firebase/FirebaseUI-iOS.git', :tag => 'v' + s.version.to_s} - s.author = 'Firebase' - s.platform = :ios - s.ios.deployment_target = '13.0' - s.ios.framework = 'UIKit' - s.requires_arc = true - s.cocoapods_version = '>= 1.8.0' - s.pod_target_xcconfig = { - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', - } - s.swift_version = '6.0' - - s.public_header_files = 'FirebaseAuthUI/Sources/Public/FirebaseAuthUI/*.h' - s.source_files = 'FirebaseAuthUI/Sources/**/*.{h,m}' - s.dependency 'FirebaseAuth', '>= 11.0', '< 13.0' - s.dependency 'FirebaseCore' - s.resource_bundles = { - 'FirebaseAuthUI' => ['FirebaseAuthUI/Sources/{Resources,Strings}/*.{xib,png,lproj}'] - } - -end diff --git a/FirebaseAuthUI/FirebaseAuthUI.xcodeproj/project.pbxproj b/FirebaseAuthUI/FirebaseAuthUI.xcodeproj/project.pbxproj deleted file mode 100644 index f7b297bfb9f..00000000000 --- a/FirebaseAuthUI/FirebaseAuthUI.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1047 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 8D69E26321DD4BD100CFA49B /* FirebaseAuthUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8D69E25921DD4BD000CFA49B /* FirebaseAuthUI.framework */; }; - 8D69E26A21DD4BD100CFA49B /* FirebaseAuthUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E25C21DD4BD000CFA49B /* FirebaseAuthUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E29321DD4C5100CFA49B /* FUIAuthSignInButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E27321DD4C5000CFA49B /* FUIAuthSignInButton.h */; }; - 8D69E29421DD4C5100CFA49B /* FUIAuthTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E27421DD4C5000CFA49B /* FUIAuthTableViewCell.xib */; }; - 8D69E29521DD4C5100CFA49B /* FUIAuthStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E27521DD4C5000CFA49B /* FUIAuthStrings.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E29621DD4C5100CFA49B /* FUIAuthErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E27621DD4C5000CFA49B /* FUIAuthErrors.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E29721DD4C5100CFA49B /* FUIAuthErrorUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E27721DD4C5000CFA49B /* FUIAuthErrorUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E29821DD4C5100CFA49B /* FUIAuthTableHeaderView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E27821DD4C5000CFA49B /* FUIAuthTableHeaderView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E29921DD4C5100CFA49B /* FUIAuthPickerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E27921DD4C5000CFA49B /* FUIAuthPickerViewController.xib */; }; - 8D69E29A21DD4C5100CFA49B /* FUIAuthUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E27A21DD4C5000CFA49B /* FUIAuthUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E29B21DD4C5100CFA49B /* FUIAuthBaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E27B21DD4C5000CFA49B /* FUIAuthBaseViewController.m */; }; - 8D69E29C21DD4C5100CFA49B /* FUIAuthUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E27C21DD4C5000CFA49B /* FUIAuthUtils.m */; }; - 8D69E29D21DD4C5100CFA49B /* FUIAuth_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E27D21DD4C5000CFA49B /* FUIAuth_Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E29E21DD4C5100CFA49B /* FUIAuthPickerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E27E21DD4C5000CFA49B /* FUIAuthPickerViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E29F21DD4C5100CFA49B /* FUIAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E27F21DD4C5000CFA49B /* FUIAuth.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E2A021DD4C5100CFA49B /* FUIStaticContentTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E28021DD4C5000CFA49B /* FUIStaticContentTableViewController.m */; }; - 8D69E2A121DD4C5100CFA49B /* FUIAuthTableHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E28121DD4C5000CFA49B /* FUIAuthTableHeaderView.m */; }; - 8D69E2A221DD4C5100CFA49B /* FUIAuthErrors.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E28221DD4C5000CFA49B /* FUIAuthErrors.m */; }; - 8D69E2A321DD4C5100CFA49B /* FUIAuthTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E28321DD4C5000CFA49B /* FUIAuthTableViewCell.m */; }; - 8D69E2A421DD4C5100CFA49B /* FUIStaticContentTableViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E28421DD4C5000CFA49B /* FUIStaticContentTableViewController.h */; }; - 8D69E2A521DD4C5100CFA49B /* FUIAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E28521DD4C5000CFA49B /* FUIAuth.m */; }; - 8D69E2A621DD4C5100CFA49B /* FUIAuthErrorUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E28621DD4C5000CFA49B /* FUIAuthErrorUtils.m */; }; - 8D69E2A721DD4C5100CFA49B /* FUIStaticContentTableViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E28721DD4C5000CFA49B /* FUIStaticContentTableViewManager.h */; }; - 8D69E2A821DD4C5100CFA49B /* FUIAuthSignInButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E28821DD4C5000CFA49B /* FUIAuthSignInButton.m */; }; - 8D69E2A921DD4C5100CFA49B /* FUIPrivacyAndTermsOfServiceView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E28921DD4C5100CFA49B /* FUIPrivacyAndTermsOfServiceView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E2AA21DD4C5100CFA49B /* FUIAuthBaseViewController_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E28A21DD4C5100CFA49B /* FUIAuthBaseViewController_Internal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E2AB21DD4C5100CFA49B /* FUIAuthTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E28B21DD4C5100CFA49B /* FUIAuthTableViewCell.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E2AC21DD4C5100CFA49B /* FUIAuthStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E28C21DD4C5100CFA49B /* FUIAuthStrings.m */; }; - 8D69E2AD21DD4C5100CFA49B /* FUIAuthPickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E28D21DD4C5100CFA49B /* FUIAuthPickerViewController.m */; }; - 8D69E2AE21DD4C5100CFA49B /* FUIStaticContentTableViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E28E21DD4C5100CFA49B /* FUIStaticContentTableViewManager.m */; }; - 8D69E2AF21DD4C5100CFA49B /* FUIStaticContentTableViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E28F21DD4C5100CFA49B /* FUIStaticContentTableViewController.xib */; }; - 8D69E2B021DD4C5100CFA49B /* FUIAuthBaseViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E29021DD4C5100CFA49B /* FUIAuthBaseViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E2B121DD4C5100CFA49B /* FUIAuthProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E29121DD4C5100CFA49B /* FUIAuthProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E2B221DD4C5100CFA49B /* FUIPrivacyAndTermsOfServiceView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E29221DD4C5100CFA49B /* FUIPrivacyAndTermsOfServiceView.m */; }; - 8D69E2CB21DD4C5D00CFA49B /* FUIAccountSettingsOperationDeleteAccount.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E2B421DD4C5D00CFA49B /* FUIAccountSettingsOperationDeleteAccount.h */; }; - 8D69E2CC21DD4C5D00CFA49B /* FUIAccountSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E2B521DD4C5D00CFA49B /* FUIAccountSettingsViewController.m */; }; - 8D69E2CD21DD4C5D00CFA49B /* FUIAccountSettingsOperationSignOut.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E2B621DD4C5D00CFA49B /* FUIAccountSettingsOperationSignOut.h */; }; - 8D69E2CE21DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateEmail.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E2B721DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateEmail.h */; }; - 8D69E2CF21DD4C5D00CFA49B /* FUIAccountSettingsOperationForgotPassword.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E2B821DD4C5D00CFA49B /* FUIAccountSettingsOperationForgotPassword.h */; }; - 8D69E2D021DD4C5D00CFA49B /* FUIAccountSettingsOperationUnlinkAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E2B921DD4C5D00CFA49B /* FUIAccountSettingsOperationUnlinkAccount.m */; }; - 8D69E2D121DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdatePassword.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E2BA21DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdatePassword.m */; }; - 8D69E2D221DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateName.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E2BB21DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateName.h */; }; - 8D69E2D321DD4C5D00CFA49B /* FUIAccountSettingsOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E2BC21DD4C5D00CFA49B /* FUIAccountSettingsOperation.m */; }; - 8D69E2D421DD4C5D00CFA49B /* FUIAccountSettingsOperationType.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E2BD21DD4C5D00CFA49B /* FUIAccountSettingsOperationType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E2D521DD4C5D00CFA49B /* FUIAccountSettingsOperationSignOut.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E2BE21DD4C5D00CFA49B /* FUIAccountSettingsOperationSignOut.m */; }; - 8D69E2D621DD4C5D00CFA49B /* FUIAccountSettingsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E2BF21DD4C5D00CFA49B /* FUIAccountSettingsViewController.xib */; }; - 8D69E2D721DD4C5D00CFA49B /* FUIAccountSettingsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E2C021DD4C5D00CFA49B /* FUIAccountSettingsViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E2D821DD4C5D00CFA49B /* FUIAccountSettingsOperationDeleteAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E2C121DD4C5D00CFA49B /* FUIAccountSettingsOperationDeleteAccount.m */; }; - 8D69E2D921DD4C5D00CFA49B /* FUIInputTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E2C221DD4C5D00CFA49B /* FUIInputTableViewCell.xib */; }; - 8D69E2DA21DD4C5D00CFA49B /* FUIAccountSettingsOperationUnlinkAccount.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E2C321DD4C5D00CFA49B /* FUIAccountSettingsOperationUnlinkAccount.h */; }; - 8D69E2DB21DD4C5D00CFA49B /* FUIAccountSettingsOperationForgotPassword.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E2C421DD4C5D00CFA49B /* FUIAccountSettingsOperationForgotPassword.m */; }; - 8D69E2DC21DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateEmail.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E2C521DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateEmail.m */; }; - 8D69E2DD21DD4C5D00CFA49B /* FUIAccountSettingsOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E2C621DD4C5D00CFA49B /* FUIAccountSettingsOperation.h */; }; - 8D69E2DE21DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateName.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E2C721DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateName.m */; }; - 8D69E2DF21DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdatePassword.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E2C821DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdatePassword.h */; }; - 8D69E2E021DD4C5D00CFA49B /* FUIPasswordTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E2C921DD4C5D00CFA49B /* FUIPasswordTableViewCell.xib */; }; - 8D69E2E121DD4C5D00CFA49B /* FUIAccountSettingsOperation_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E2CA21DD4C5D00CFA49B /* FUIAccountSettingsOperation_Internal.h */; }; - 8D69E34221DD4C6D00CFA49B /* ic_account_circle.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E2E321DD4C6D00CFA49B /* ic_account_circle.png */; }; - 8D69E34321DD4C6D00CFA49B /* ic_visibility@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E2E421DD4C6D00CFA49B /* ic_visibility@2x.png */; }; - 8D69E34421DD4C6D00CFA49B /* ic_visibility@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E2E521DD4C6D00CFA49B /* ic_visibility@3x.png */; }; - 8D69E34521DD4C6D00CFA49B /* ic_visibility.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E2E621DD4C6D00CFA49B /* ic_visibility.png */; }; - 8D69E34621DD4C6D00CFA49B /* ic_account_circle3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E2E721DD4C6D00CFA49B /* ic_account_circle3x.png */; }; - 8D69E34721DD4C6D00CFA49B /* ic_visibility_off@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E2E821DD4C6D00CFA49B /* ic_visibility_off@3x.png */; }; - 8D69E34821DD4C6D00CFA49B /* ic_visibility_off@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E2E921DD4C6D00CFA49B /* ic_visibility_off@2x.png */; }; - 8D69E34921DD4C6D00CFA49B /* ic_account_circle2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E2EA21DD4C6D00CFA49B /* ic_account_circle2x.png */; }; - 8D69E34A21DD4C6D00CFA49B /* ic_visibility_off.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E2EB21DD4C6D00CFA49B /* ic_visibility_off.png */; }; - 8D69E34B21DD4C6D00CFA49B /* FirebaseAuthUI.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E2ED21DD4C6D00CFA49B /* FirebaseAuthUI.strings */; }; - 8D69E35921DD614000CFA49B /* FUIAuthTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E35721DD614000CFA49B /* FUIAuthTest.m */; }; - 8D69E35A21DD614000CFA49B /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E35821DD614000CFA49B /* GoogleService-Info.plist */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 8D69E26421DD4BD100CFA49B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8D69E25021DD4BD000CFA49B /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8D69E25821DD4BD000CFA49B; - remoteInfo = FirebaseAuthUI; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 8D69E25921DD4BD000CFA49B /* FirebaseAuthUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FirebaseAuthUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E25C21DD4BD000CFA49B /* FirebaseAuthUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FirebaseAuthUI.h; sourceTree = ""; }; - 8D69E25D21DD4BD000CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E26221DD4BD100CFA49B /* FirebaseAuthUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FirebaseAuthUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E26921DD4BD100CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E27321DD4C5000CFA49B /* FUIAuthSignInButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAuthSignInButton.h; sourceTree = ""; }; - 8D69E27421DD4C5000CFA49B /* FUIAuthTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUIAuthTableViewCell.xib; sourceTree = ""; }; - 8D69E27521DD4C5000CFA49B /* FUIAuthStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAuthStrings.h; sourceTree = ""; }; - 8D69E27621DD4C5000CFA49B /* FUIAuthErrors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAuthErrors.h; sourceTree = ""; }; - 8D69E27721DD4C5000CFA49B /* FUIAuthErrorUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAuthErrorUtils.h; sourceTree = ""; }; - 8D69E27821DD4C5000CFA49B /* FUIAuthTableHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAuthTableHeaderView.h; sourceTree = ""; }; - 8D69E27921DD4C5000CFA49B /* FUIAuthPickerViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUIAuthPickerViewController.xib; sourceTree = ""; }; - 8D69E27A21DD4C5000CFA49B /* FUIAuthUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAuthUtils.h; sourceTree = ""; }; - 8D69E27B21DD4C5000CFA49B /* FUIAuthBaseViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAuthBaseViewController.m; sourceTree = ""; }; - 8D69E27C21DD4C5000CFA49B /* FUIAuthUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAuthUtils.m; sourceTree = ""; }; - 8D69E27D21DD4C5000CFA49B /* FUIAuth_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAuth_Internal.h; sourceTree = ""; }; - 8D69E27E21DD4C5000CFA49B /* FUIAuthPickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAuthPickerViewController.h; sourceTree = ""; }; - 8D69E27F21DD4C5000CFA49B /* FUIAuth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAuth.h; sourceTree = ""; }; - 8D69E28021DD4C5000CFA49B /* FUIStaticContentTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIStaticContentTableViewController.m; sourceTree = ""; }; - 8D69E28121DD4C5000CFA49B /* FUIAuthTableHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAuthTableHeaderView.m; sourceTree = ""; }; - 8D69E28221DD4C5000CFA49B /* FUIAuthErrors.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAuthErrors.m; sourceTree = ""; }; - 8D69E28321DD4C5000CFA49B /* FUIAuthTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAuthTableViewCell.m; sourceTree = ""; }; - 8D69E28421DD4C5000CFA49B /* FUIStaticContentTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIStaticContentTableViewController.h; sourceTree = ""; }; - 8D69E28521DD4C5000CFA49B /* FUIAuth.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAuth.m; sourceTree = ""; }; - 8D69E28621DD4C5000CFA49B /* FUIAuthErrorUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAuthErrorUtils.m; sourceTree = ""; }; - 8D69E28721DD4C5000CFA49B /* FUIStaticContentTableViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIStaticContentTableViewManager.h; sourceTree = ""; }; - 8D69E28821DD4C5000CFA49B /* FUIAuthSignInButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAuthSignInButton.m; sourceTree = ""; }; - 8D69E28921DD4C5100CFA49B /* FUIPrivacyAndTermsOfServiceView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIPrivacyAndTermsOfServiceView.h; sourceTree = ""; }; - 8D69E28A21DD4C5100CFA49B /* FUIAuthBaseViewController_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAuthBaseViewController_Internal.h; sourceTree = ""; }; - 8D69E28B21DD4C5100CFA49B /* FUIAuthTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAuthTableViewCell.h; sourceTree = ""; }; - 8D69E28C21DD4C5100CFA49B /* FUIAuthStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAuthStrings.m; sourceTree = ""; }; - 8D69E28D21DD4C5100CFA49B /* FUIAuthPickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAuthPickerViewController.m; sourceTree = ""; }; - 8D69E28E21DD4C5100CFA49B /* FUIStaticContentTableViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIStaticContentTableViewManager.m; sourceTree = ""; }; - 8D69E28F21DD4C5100CFA49B /* FUIStaticContentTableViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUIStaticContentTableViewController.xib; sourceTree = ""; }; - 8D69E29021DD4C5100CFA49B /* FUIAuthBaseViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAuthBaseViewController.h; sourceTree = ""; }; - 8D69E29121DD4C5100CFA49B /* FUIAuthProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAuthProvider.h; sourceTree = ""; }; - 8D69E29221DD4C5100CFA49B /* FUIPrivacyAndTermsOfServiceView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIPrivacyAndTermsOfServiceView.m; sourceTree = ""; }; - 8D69E2B421DD4C5D00CFA49B /* FUIAccountSettingsOperationDeleteAccount.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAccountSettingsOperationDeleteAccount.h; sourceTree = ""; }; - 8D69E2B521DD4C5D00CFA49B /* FUIAccountSettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAccountSettingsViewController.m; sourceTree = ""; }; - 8D69E2B621DD4C5D00CFA49B /* FUIAccountSettingsOperationSignOut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAccountSettingsOperationSignOut.h; sourceTree = ""; }; - 8D69E2B721DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateEmail.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAccountSettingsOperationUpdateEmail.h; sourceTree = ""; }; - 8D69E2B821DD4C5D00CFA49B /* FUIAccountSettingsOperationForgotPassword.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAccountSettingsOperationForgotPassword.h; sourceTree = ""; }; - 8D69E2B921DD4C5D00CFA49B /* FUIAccountSettingsOperationUnlinkAccount.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAccountSettingsOperationUnlinkAccount.m; sourceTree = ""; }; - 8D69E2BA21DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdatePassword.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAccountSettingsOperationUpdatePassword.m; sourceTree = ""; }; - 8D69E2BB21DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateName.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAccountSettingsOperationUpdateName.h; sourceTree = ""; }; - 8D69E2BC21DD4C5D00CFA49B /* FUIAccountSettingsOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAccountSettingsOperation.m; sourceTree = ""; }; - 8D69E2BD21DD4C5D00CFA49B /* FUIAccountSettingsOperationType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAccountSettingsOperationType.h; sourceTree = ""; }; - 8D69E2BE21DD4C5D00CFA49B /* FUIAccountSettingsOperationSignOut.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAccountSettingsOperationSignOut.m; sourceTree = ""; }; - 8D69E2BF21DD4C5D00CFA49B /* FUIAccountSettingsViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUIAccountSettingsViewController.xib; sourceTree = ""; }; - 8D69E2C021DD4C5D00CFA49B /* FUIAccountSettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAccountSettingsViewController.h; sourceTree = ""; }; - 8D69E2C121DD4C5D00CFA49B /* FUIAccountSettingsOperationDeleteAccount.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAccountSettingsOperationDeleteAccount.m; sourceTree = ""; }; - 8D69E2C221DD4C5D00CFA49B /* FUIInputTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUIInputTableViewCell.xib; sourceTree = ""; }; - 8D69E2C321DD4C5D00CFA49B /* FUIAccountSettingsOperationUnlinkAccount.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAccountSettingsOperationUnlinkAccount.h; sourceTree = ""; }; - 8D69E2C421DD4C5D00CFA49B /* FUIAccountSettingsOperationForgotPassword.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAccountSettingsOperationForgotPassword.m; sourceTree = ""; }; - 8D69E2C521DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateEmail.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAccountSettingsOperationUpdateEmail.m; sourceTree = ""; }; - 8D69E2C621DD4C5D00CFA49B /* FUIAccountSettingsOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAccountSettingsOperation.h; sourceTree = ""; }; - 8D69E2C721DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateName.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAccountSettingsOperationUpdateName.m; sourceTree = ""; }; - 8D69E2C821DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdatePassword.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAccountSettingsOperationUpdatePassword.h; sourceTree = ""; }; - 8D69E2C921DD4C5D00CFA49B /* FUIPasswordTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUIPasswordTableViewCell.xib; sourceTree = ""; }; - 8D69E2CA21DD4C5D00CFA49B /* FUIAccountSettingsOperation_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAccountSettingsOperation_Internal.h; sourceTree = ""; }; - 8D69E2E321DD4C6D00CFA49B /* ic_account_circle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ic_account_circle.png; sourceTree = ""; }; - 8D69E2E421DD4C6D00CFA49B /* ic_visibility@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_visibility@2x.png"; sourceTree = ""; }; - 8D69E2E521DD4C6D00CFA49B /* ic_visibility@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_visibility@3x.png"; sourceTree = ""; }; - 8D69E2E621DD4C6D00CFA49B /* ic_visibility.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ic_visibility.png; sourceTree = ""; }; - 8D69E2E721DD4C6D00CFA49B /* ic_account_circle3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ic_account_circle3x.png; sourceTree = ""; }; - 8D69E2E821DD4C6D00CFA49B /* ic_visibility_off@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_visibility_off@3x.png"; sourceTree = ""; }; - 8D69E2E921DD4C6D00CFA49B /* ic_visibility_off@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_visibility_off@2x.png"; sourceTree = ""; }; - 8D69E2EA21DD4C6D00CFA49B /* ic_account_circle2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ic_account_circle2x.png; sourceTree = ""; }; - 8D69E2EB21DD4C6D00CFA49B /* ic_visibility_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ic_visibility_off.png; sourceTree = ""; }; - 8D69E2EE21DD4C6D00CFA49B /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E2EF21DD4C6D00CFA49B /* ur */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ur; path = ur.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E2F021DD4C6D00CFA49B /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E2F121DD4C6D00CFA49B /* es-SV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-SV"; path = "es-SV.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E2F221DD4C6D00CFA49B /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E2F321DD4C6D00CFA49B /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E2F421DD4C6D00CFA49B /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E2F521DD4C6D00CFA49B /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E2F621DD4C6D00CFA49B /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E2F721DD4C6D00CFA49B /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = fa.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E2F821DD4C6D00CFA49B /* mr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mr; path = mr.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E2F921DD4C6D00CFA49B /* es-GT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-GT"; path = "es-GT.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E2FA21DD4C6D00CFA49B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E2FB21DD4C6D00CFA49B /* en-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-CA"; path = "en-CA.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E2FC21DD4C6D00CFA49B /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E2FD21DD4C6D00CFA49B /* es-PY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PY"; path = "es-PY.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E2FE21DD4C6D00CFA49B /* gu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gu; path = gu.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E2FF21DD4C6D00CFA49B /* kn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = kn; path = kn.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E30021DD4C6D00CFA49B /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E30121DD4C6D00CFA49B /* es-US */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-US"; path = "es-US.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E30221DD4C6D00CFA49B /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E30321DD4C6D00CFA49B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E30421DD4C6D00CFA49B /* es-VE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-VE"; path = "es-VE.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E30521DD4C6D00CFA49B /* es-CL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CL"; path = "es-CL.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E30621DD4C6D00CFA49B /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E30721DD4C6D00CFA49B /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E30821DD4C6D00CFA49B /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E30921DD4C6D00CFA49B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E30A21DD4C6D00CFA49B /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E30B21DD4C6D00CFA49B /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E30C21DD4C6D00CFA49B /* sr-Latn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sr-Latn"; path = "sr-Latn.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E30D21DD4C6D00CFA49B /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E30E21DD4C6D00CFA49B /* es-PA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PA"; path = "es-PA.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E30F21DD4C6D00CFA49B /* en-SG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-SG"; path = "en-SG.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E31021DD4C6D00CFA49B /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E31121DD4C6D00CFA49B /* ms */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ms; path = ms.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E31221DD4C6D00CFA49B /* es-CR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CR"; path = "es-CR.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E31321DD4C6D00CFA49B /* ta */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ta; path = ta.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E31421DD4C6D00CFA49B /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E31521DD4C6D00CFA49B /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E31621DD4C6D00CFA49B /* es-AR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-AR"; path = "es-AR.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E31721DD4C6D00CFA49B /* es-PE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PE"; path = "es-PE.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E31821DD4C6D00CFA49B /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E31921DD4C6D00CFA49B /* en-IE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-IE"; path = "en-IE.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E31A21DD4C6D00CFA49B /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E31B21DD4C6D00CFA49B /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E31C21DD4C6D00CFA49B /* es-CO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CO"; path = "es-CO.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E31D21DD4C6D00CFA49B /* gsw */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gsw; path = gsw.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E31E21DD4C6D00CFA49B /* en-ZA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-ZA"; path = "en-ZA.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E31F21DD4C6D00CFA49B /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E32021DD4C6D00CFA49B /* es-PR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PR"; path = "es-PR.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E32121DD4C6D00CFA49B /* de-AT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "de-AT"; path = "de-AT.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E32221DD4C6D00CFA49B /* en-AU */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-AU"; path = "en-AU.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E32321DD4C6D00CFA49B /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E32421DD4C6D00CFA49B /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E32521DD4C6D00CFA49B /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E32621DD4C6D00CFA49B /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E32721DD4C6D00CFA49B /* lv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lv; path = lv.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E32821DD4C6D00CFA49B /* es-MX */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-MX"; path = "es-MX.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E32921DD4C6D00CFA49B /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E32A21DD4C6D00CFA49B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E32B21DD4C6D00CFA49B /* es-DO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-DO"; path = "es-DO.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E32C21DD4C6D00CFA49B /* fr-CH */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CH"; path = "fr-CH.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E32D21DD4C6D00CFA49B /* es-NI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-NI"; path = "es-NI.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E32E21DD4C6D00CFA49B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E32F21DD4C6D00CFA49B /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E33021DD4C6D00CFA49B /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E33121DD4C6D00CFA49B /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E33221DD4C6D00CFA49B /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E33321DD4C6D00CFA49B /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E33421DD4C6D00CFA49B /* de-CH */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "de-CH"; path = "de-CH.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E33521DD4C6D00CFA49B /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E33621DD4C6D00CFA49B /* es-EC */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-EC"; path = "es-EC.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E33721DD4C6D00CFA49B /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E33821DD4C6D00CFA49B /* es-BO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-BO"; path = "es-BO.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E33921DD4C6D00CFA49B /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E33A21DD4C6D00CFA49B /* ln */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ln; path = ln.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E33B21DD4C6D00CFA49B /* es-UY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-UY"; path = "es-UY.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E33C21DD4C6D00CFA49B /* es-HN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-HN"; path = "es-HN.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E33D21DD4C6D00CFA49B /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E33E21DD4C6D00CFA49B /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E33F21DD4C6D00CFA49B /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E34021DD4C6D00CFA49B /* zh */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh; path = zh.lproj/FirebaseAuthUI.strings; sourceTree = ""; }; - 8D69E34121DD4C6D00CFA49B /* en-IN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-IN"; path = "en-IN.lproj/FirebaseAuthUI.strings"; sourceTree = ""; }; - 8D69E35721DD614000CFA49B /* FUIAuthTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAuthTest.m; sourceTree = ""; }; - 8D69E35821DD614000CFA49B /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8D69E25621DD4BD000CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E25F21DD4BD100CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E26321DD4BD100CFA49B /* FirebaseAuthUI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 8D55F14E261E5F3F0020DFB0 /* Public */ = { - isa = PBXGroup; - children = ( - 8DAB9B49263768D900FF271F /* FirebaseAuthUI */, - ); - path = Public; - sourceTree = ""; - }; - 8D69E24F21DD4BD000CFA49B = { - isa = PBXGroup; - children = ( - 8D69E25B21DD4BD000CFA49B /* Sources */, - 8D69E26621DD4BD100CFA49B /* FirebaseAuthUITests */, - 8D69E25A21DD4BD000CFA49B /* Products */, - ACF63AA832F9F7882BC43A9D /* Pods */, - ); - sourceTree = ""; - }; - 8D69E25A21DD4BD000CFA49B /* Products */ = { - isa = PBXGroup; - children = ( - 8D69E25921DD4BD000CFA49B /* FirebaseAuthUI.framework */, - 8D69E26221DD4BD100CFA49B /* FirebaseAuthUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 8D69E25B21DD4BD000CFA49B /* Sources */ = { - isa = PBXGroup; - children = ( - 8D55F14E261E5F3F0020DFB0 /* Public */, - 8D69E2CA21DD4C5D00CFA49B /* FUIAccountSettingsOperation_Internal.h */, - 8D69E2C621DD4C5D00CFA49B /* FUIAccountSettingsOperation.h */, - 8D69E2BC21DD4C5D00CFA49B /* FUIAccountSettingsOperation.m */, - 8D69E2B421DD4C5D00CFA49B /* FUIAccountSettingsOperationDeleteAccount.h */, - 8D69E2C121DD4C5D00CFA49B /* FUIAccountSettingsOperationDeleteAccount.m */, - 8D69E2B821DD4C5D00CFA49B /* FUIAccountSettingsOperationForgotPassword.h */, - 8D69E2C421DD4C5D00CFA49B /* FUIAccountSettingsOperationForgotPassword.m */, - 8D69E2B621DD4C5D00CFA49B /* FUIAccountSettingsOperationSignOut.h */, - 8D69E2BE21DD4C5D00CFA49B /* FUIAccountSettingsOperationSignOut.m */, - 8D69E2C321DD4C5D00CFA49B /* FUIAccountSettingsOperationUnlinkAccount.h */, - 8D69E2B921DD4C5D00CFA49B /* FUIAccountSettingsOperationUnlinkAccount.m */, - 8D69E2B721DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateEmail.h */, - 8D69E2C521DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateEmail.m */, - 8D69E2BB21DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateName.h */, - 8D69E2C721DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateName.m */, - 8D69E2C821DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdatePassword.h */, - 8D69E2BA21DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdatePassword.m */, - 8D69E2B521DD4C5D00CFA49B /* FUIAccountSettingsViewController.m */, - 8D69E28521DD4C5000CFA49B /* FUIAuth.m */, - 8D69E27B21DD4C5000CFA49B /* FUIAuthBaseViewController.m */, - 8D69E28221DD4C5000CFA49B /* FUIAuthErrors.m */, - 8D69E28621DD4C5000CFA49B /* FUIAuthErrorUtils.m */, - 8D69E28D21DD4C5100CFA49B /* FUIAuthPickerViewController.m */, - 8D69E27321DD4C5000CFA49B /* FUIAuthSignInButton.h */, - 8D69E28821DD4C5000CFA49B /* FUIAuthSignInButton.m */, - 8D69E28C21DD4C5100CFA49B /* FUIAuthStrings.m */, - 8D69E28121DD4C5000CFA49B /* FUIAuthTableHeaderView.m */, - 8D69E28321DD4C5000CFA49B /* FUIAuthTableViewCell.m */, - 8D69E27C21DD4C5000CFA49B /* FUIAuthUtils.m */, - 8D69E29221DD4C5100CFA49B /* FUIPrivacyAndTermsOfServiceView.m */, - 8D69E28421DD4C5000CFA49B /* FUIStaticContentTableViewController.h */, - 8D69E28021DD4C5000CFA49B /* FUIStaticContentTableViewController.m */, - 8D69E28721DD4C5000CFA49B /* FUIStaticContentTableViewManager.h */, - 8D69E28E21DD4C5100CFA49B /* FUIStaticContentTableViewManager.m */, - 8D69E25D21DD4BD000CFA49B /* Info.plist */, - 8D69E2E221DD4C6D00CFA49B /* Resources */, - 8D69E2EC21DD4C6D00CFA49B /* Strings */, - ); - path = Sources; - sourceTree = ""; - }; - 8D69E26621DD4BD100CFA49B /* FirebaseAuthUITests */ = { - isa = PBXGroup; - children = ( - 8D69E35721DD614000CFA49B /* FUIAuthTest.m */, - 8D69E35821DD614000CFA49B /* GoogleService-Info.plist */, - 8D69E26921DD4BD100CFA49B /* Info.plist */, - ); - path = FirebaseAuthUITests; - sourceTree = ""; - }; - 8D69E2E221DD4C6D00CFA49B /* Resources */ = { - isa = PBXGroup; - children = ( - 8D69E2BF21DD4C5D00CFA49B /* FUIAccountSettingsViewController.xib */, - 8D69E2C221DD4C5D00CFA49B /* FUIInputTableViewCell.xib */, - 8D69E2C921DD4C5D00CFA49B /* FUIPasswordTableViewCell.xib */, - 8D69E27921DD4C5000CFA49B /* FUIAuthPickerViewController.xib */, - 8D69E27421DD4C5000CFA49B /* FUIAuthTableViewCell.xib */, - 8D69E28F21DD4C5100CFA49B /* FUIStaticContentTableViewController.xib */, - 8D69E2E321DD4C6D00CFA49B /* ic_account_circle.png */, - 8D69E2E421DD4C6D00CFA49B /* ic_visibility@2x.png */, - 8D69E2E521DD4C6D00CFA49B /* ic_visibility@3x.png */, - 8D69E2E621DD4C6D00CFA49B /* ic_visibility.png */, - 8D69E2E721DD4C6D00CFA49B /* ic_account_circle3x.png */, - 8D69E2E821DD4C6D00CFA49B /* ic_visibility_off@3x.png */, - 8D69E2E921DD4C6D00CFA49B /* ic_visibility_off@2x.png */, - 8D69E2EA21DD4C6D00CFA49B /* ic_account_circle2x.png */, - 8D69E2EB21DD4C6D00CFA49B /* ic_visibility_off.png */, - ); - path = Resources; - sourceTree = ""; - }; - 8D69E2EC21DD4C6D00CFA49B /* Strings */ = { - isa = PBXGroup; - children = ( - 8D69E2ED21DD4C6D00CFA49B /* FirebaseAuthUI.strings */, - ); - path = Strings; - sourceTree = ""; - }; - 8DAB9B49263768D900FF271F /* FirebaseAuthUI */ = { - isa = PBXGroup; - children = ( - 8D69E25C21DD4BD000CFA49B /* FirebaseAuthUI.h */, - 8D69E2BD21DD4C5D00CFA49B /* FUIAccountSettingsOperationType.h */, - 8D69E2C021DD4C5D00CFA49B /* FUIAccountSettingsViewController.h */, - 8D69E27D21DD4C5000CFA49B /* FUIAuth_Internal.h */, - 8D69E27F21DD4C5000CFA49B /* FUIAuth.h */, - 8D69E28A21DD4C5100CFA49B /* FUIAuthBaseViewController_Internal.h */, - 8D69E29021DD4C5100CFA49B /* FUIAuthBaseViewController.h */, - 8D69E27621DD4C5000CFA49B /* FUIAuthErrors.h */, - 8D69E27721DD4C5000CFA49B /* FUIAuthErrorUtils.h */, - 8D69E27E21DD4C5000CFA49B /* FUIAuthPickerViewController.h */, - 8D69E29121DD4C5100CFA49B /* FUIAuthProvider.h */, - 8D69E27521DD4C5000CFA49B /* FUIAuthStrings.h */, - 8D69E27821DD4C5000CFA49B /* FUIAuthTableHeaderView.h */, - 8D69E28B21DD4C5100CFA49B /* FUIAuthTableViewCell.h */, - 8D69E27A21DD4C5000CFA49B /* FUIAuthUtils.h */, - 8D69E28921DD4C5100CFA49B /* FUIPrivacyAndTermsOfServiceView.h */, - ); - path = FirebaseAuthUI; - sourceTree = ""; - }; - ACF63AA832F9F7882BC43A9D /* Pods */ = { - isa = PBXGroup; - children = ( - ); - path = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 8D69E25421DD4BD000CFA49B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E2DD21DD4C5D00CFA49B /* FUIAccountSettingsOperation.h in Headers */, - 8D69E29821DD4C5100CFA49B /* FUIAuthTableHeaderView.h in Headers */, - 8D69E2B021DD4C5100CFA49B /* FUIAuthBaseViewController.h in Headers */, - 8D69E29721DD4C5100CFA49B /* FUIAuthErrorUtils.h in Headers */, - 8D69E2CB21DD4C5D00CFA49B /* FUIAccountSettingsOperationDeleteAccount.h in Headers */, - 8D69E29D21DD4C5100CFA49B /* FUIAuth_Internal.h in Headers */, - 8D69E29621DD4C5100CFA49B /* FUIAuthErrors.h in Headers */, - 8D69E2E121DD4C5D00CFA49B /* FUIAccountSettingsOperation_Internal.h in Headers */, - 8D69E2CD21DD4C5D00CFA49B /* FUIAccountSettingsOperationSignOut.h in Headers */, - 8D69E2AA21DD4C5100CFA49B /* FUIAuthBaseViewController_Internal.h in Headers */, - 8D69E29A21DD4C5100CFA49B /* FUIAuthUtils.h in Headers */, - 8D69E26A21DD4BD100CFA49B /* FirebaseAuthUI.h in Headers */, - 8D69E2A921DD4C5100CFA49B /* FUIPrivacyAndTermsOfServiceView.h in Headers */, - 8D69E29321DD4C5100CFA49B /* FUIAuthSignInButton.h in Headers */, - 8D69E2CE21DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateEmail.h in Headers */, - 8D69E2A421DD4C5100CFA49B /* FUIStaticContentTableViewController.h in Headers */, - 8D69E2B121DD4C5100CFA49B /* FUIAuthProvider.h in Headers */, - 8D69E2DF21DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdatePassword.h in Headers */, - 8D69E29F21DD4C5100CFA49B /* FUIAuth.h in Headers */, - 8D69E2D421DD4C5D00CFA49B /* FUIAccountSettingsOperationType.h in Headers */, - 8D69E2A721DD4C5100CFA49B /* FUIStaticContentTableViewManager.h in Headers */, - 8D69E2CF21DD4C5D00CFA49B /* FUIAccountSettingsOperationForgotPassword.h in Headers */, - 8D69E29E21DD4C5100CFA49B /* FUIAuthPickerViewController.h in Headers */, - 8D69E2AB21DD4C5100CFA49B /* FUIAuthTableViewCell.h in Headers */, - 8D69E2DA21DD4C5D00CFA49B /* FUIAccountSettingsOperationUnlinkAccount.h in Headers */, - 8D69E2D721DD4C5D00CFA49B /* FUIAccountSettingsViewController.h in Headers */, - 8D69E2D221DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateName.h in Headers */, - 8D69E29521DD4C5100CFA49B /* FUIAuthStrings.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 8D69E25821DD4BD000CFA49B /* FirebaseAuthUI */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E26D21DD4BD100CFA49B /* Build configuration list for PBXNativeTarget "FirebaseAuthUI" */; - buildPhases = ( - 8D69E25421DD4BD000CFA49B /* Headers */, - 8D69E25521DD4BD000CFA49B /* Sources */, - 8D69E25621DD4BD000CFA49B /* Frameworks */, - 8D69E25721DD4BD000CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FirebaseAuthUI; - productName = FirebaseAuthUI; - productReference = 8D69E25921DD4BD000CFA49B /* FirebaseAuthUI.framework */; - productType = "com.apple.product-type.framework"; - }; - 8D69E26121DD4BD100CFA49B /* FirebaseAuthUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E27021DD4BD100CFA49B /* Build configuration list for PBXNativeTarget "FirebaseAuthUITests" */; - buildPhases = ( - 8D69E25E21DD4BD100CFA49B /* Sources */, - 8D69E25F21DD4BD100CFA49B /* Frameworks */, - 8D69E26021DD4BD100CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 8D69E26521DD4BD100CFA49B /* PBXTargetDependency */, - ); - name = FirebaseAuthUITests; - productName = FirebaseAuthUITests; - productReference = 8D69E26221DD4BD100CFA49B /* FirebaseAuthUITests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 8D69E25021DD4BD000CFA49B /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1320; - ORGANIZATIONNAME = Firebase; - TargetAttributes = { - 8D69E25821DD4BD000CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - 8D69E26121DD4BD100CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - }; - }; - buildConfigurationList = 8D69E25321DD4BD000CFA49B /* Build configuration list for PBXProject "FirebaseAuthUI" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - de, - ur, - he, - "es-SV", - "zh-Hant-TW", - ar, - el, - "zh-Hans", - ja, - fa, - mr, - "es-GT", - "en-CA", - uk, - "es-PY", - gu, - kn, - nb, - "es-US", - "en-GB", - es, - "es-VE", - "es-CL", - sl, - da, - "es-419", - it, - bg, - sk, - "sr-Latn", - "nn-NO", - "es-PA", - "en-SG", - sr, - ms, - "es-CR", - ta, - sv, - cs, - "es-AR", - "es-PE", - ko, - "en-IE", - fil, - "zh-Hant", - "es-CO", - gsw, - "en-ZA", - hu, - "es-PR", - "de-AT", - "en-AU", - tr, - pl, - "pt-BR", - vi, - lv, - "es-MX", - lt, - ru, - "es-DO", - "fr-CH", - "es-NI", - fr, - fi, - id, - nl, - th, - pt, - "de-CH", - bn, - "es-EC", - "pt-PT", - "es-BO", - ro, - ln, - "es-UY", - "es-HN", - hr, - hi, - ca, - zh, - "en-IN", - ); - mainGroup = 8D69E24F21DD4BD000CFA49B; - productRefGroup = 8D69E25A21DD4BD000CFA49B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8D69E25821DD4BD000CFA49B /* FirebaseAuthUI */, - 8D69E26121DD4BD100CFA49B /* FirebaseAuthUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8D69E25721DD4BD000CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E34421DD4C6D00CFA49B /* ic_visibility@3x.png in Resources */, - 8D69E34921DD4C6D00CFA49B /* ic_account_circle2x.png in Resources */, - 8D69E29421DD4C5100CFA49B /* FUIAuthTableViewCell.xib in Resources */, - 8D69E2E021DD4C5D00CFA49B /* FUIPasswordTableViewCell.xib in Resources */, - 8D69E29921DD4C5100CFA49B /* FUIAuthPickerViewController.xib in Resources */, - 8D69E34A21DD4C6D00CFA49B /* ic_visibility_off.png in Resources */, - 8D69E2D621DD4C5D00CFA49B /* FUIAccountSettingsViewController.xib in Resources */, - 8D69E34521DD4C6D00CFA49B /* ic_visibility.png in Resources */, - 8D69E34321DD4C6D00CFA49B /* ic_visibility@2x.png in Resources */, - 8D69E34221DD4C6D00CFA49B /* ic_account_circle.png in Resources */, - 8D69E34621DD4C6D00CFA49B /* ic_account_circle3x.png in Resources */, - 8D69E34821DD4C6D00CFA49B /* ic_visibility_off@2x.png in Resources */, - 8D69E2D921DD4C5D00CFA49B /* FUIInputTableViewCell.xib in Resources */, - 8D69E2AF21DD4C5100CFA49B /* FUIStaticContentTableViewController.xib in Resources */, - 8D69E34721DD4C6D00CFA49B /* ic_visibility_off@3x.png in Resources */, - 8D69E34B21DD4C6D00CFA49B /* FirebaseAuthUI.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E26021DD4BD100CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E35A21DD614000CFA49B /* GoogleService-Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8D69E25521DD4BD000CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E2A021DD4C5100CFA49B /* FUIStaticContentTableViewController.m in Sources */, - 8D69E2DB21DD4C5D00CFA49B /* FUIAccountSettingsOperationForgotPassword.m in Sources */, - 8D69E2D521DD4C5D00CFA49B /* FUIAccountSettingsOperationSignOut.m in Sources */, - 8D69E2A121DD4C5100CFA49B /* FUIAuthTableHeaderView.m in Sources */, - 8D69E2A321DD4C5100CFA49B /* FUIAuthTableViewCell.m in Sources */, - 8D69E2DE21DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateName.m in Sources */, - 8D69E2A221DD4C5100CFA49B /* FUIAuthErrors.m in Sources */, - 8D69E2A521DD4C5100CFA49B /* FUIAuth.m in Sources */, - 8D69E2AC21DD4C5100CFA49B /* FUIAuthStrings.m in Sources */, - 8D69E2D021DD4C5D00CFA49B /* FUIAccountSettingsOperationUnlinkAccount.m in Sources */, - 8D69E2CC21DD4C5D00CFA49B /* FUIAccountSettingsViewController.m in Sources */, - 8D69E2D321DD4C5D00CFA49B /* FUIAccountSettingsOperation.m in Sources */, - 8D69E29C21DD4C5100CFA49B /* FUIAuthUtils.m in Sources */, - 8D69E2DC21DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdateEmail.m in Sources */, - 8D69E2AD21DD4C5100CFA49B /* FUIAuthPickerViewController.m in Sources */, - 8D69E2B221DD4C5100CFA49B /* FUIPrivacyAndTermsOfServiceView.m in Sources */, - 8D69E29B21DD4C5100CFA49B /* FUIAuthBaseViewController.m in Sources */, - 8D69E2A821DD4C5100CFA49B /* FUIAuthSignInButton.m in Sources */, - 8D69E2AE21DD4C5100CFA49B /* FUIStaticContentTableViewManager.m in Sources */, - 8D69E2D821DD4C5D00CFA49B /* FUIAccountSettingsOperationDeleteAccount.m in Sources */, - 8D69E2A621DD4C5100CFA49B /* FUIAuthErrorUtils.m in Sources */, - 8D69E2D121DD4C5D00CFA49B /* FUIAccountSettingsOperationUpdatePassword.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E25E21DD4BD100CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E35921DD614000CFA49B /* FUIAuthTest.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 8D69E26521DD4BD100CFA49B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8D69E25821DD4BD000CFA49B /* FirebaseAuthUI */; - targetProxy = 8D69E26421DD4BD100CFA49B /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 8D69E2ED21DD4C6D00CFA49B /* FirebaseAuthUI.strings */ = { - isa = PBXVariantGroup; - children = ( - 8D69E2EE21DD4C6D00CFA49B /* de */, - 8D69E2EF21DD4C6D00CFA49B /* ur */, - 8D69E2F021DD4C6D00CFA49B /* he */, - 8D69E2F121DD4C6D00CFA49B /* es-SV */, - 8D69E2F221DD4C6D00CFA49B /* zh-Hant-TW */, - 8D69E2F321DD4C6D00CFA49B /* ar */, - 8D69E2F421DD4C6D00CFA49B /* el */, - 8D69E2F521DD4C6D00CFA49B /* zh-Hans */, - 8D69E2F621DD4C6D00CFA49B /* ja */, - 8D69E2F721DD4C6D00CFA49B /* fa */, - 8D69E2F821DD4C6D00CFA49B /* mr */, - 8D69E2F921DD4C6D00CFA49B /* es-GT */, - 8D69E2FA21DD4C6D00CFA49B /* en */, - 8D69E2FB21DD4C6D00CFA49B /* en-CA */, - 8D69E2FC21DD4C6D00CFA49B /* uk */, - 8D69E2FD21DD4C6D00CFA49B /* es-PY */, - 8D69E2FE21DD4C6D00CFA49B /* gu */, - 8D69E2FF21DD4C6D00CFA49B /* kn */, - 8D69E30021DD4C6D00CFA49B /* nb */, - 8D69E30121DD4C6D00CFA49B /* es-US */, - 8D69E30221DD4C6D00CFA49B /* en-GB */, - 8D69E30321DD4C6D00CFA49B /* es */, - 8D69E30421DD4C6D00CFA49B /* es-VE */, - 8D69E30521DD4C6D00CFA49B /* es-CL */, - 8D69E30621DD4C6D00CFA49B /* sl */, - 8D69E30721DD4C6D00CFA49B /* da */, - 8D69E30821DD4C6D00CFA49B /* es-419 */, - 8D69E30921DD4C6D00CFA49B /* it */, - 8D69E30A21DD4C6D00CFA49B /* bg */, - 8D69E30B21DD4C6D00CFA49B /* sk */, - 8D69E30C21DD4C6D00CFA49B /* sr-Latn */, - 8D69E30D21DD4C6D00CFA49B /* nn-NO */, - 8D69E30E21DD4C6D00CFA49B /* es-PA */, - 8D69E30F21DD4C6D00CFA49B /* en-SG */, - 8D69E31021DD4C6D00CFA49B /* sr */, - 8D69E31121DD4C6D00CFA49B /* ms */, - 8D69E31221DD4C6D00CFA49B /* es-CR */, - 8D69E31321DD4C6D00CFA49B /* ta */, - 8D69E31421DD4C6D00CFA49B /* sv */, - 8D69E31521DD4C6D00CFA49B /* cs */, - 8D69E31621DD4C6D00CFA49B /* es-AR */, - 8D69E31721DD4C6D00CFA49B /* es-PE */, - 8D69E31821DD4C6D00CFA49B /* ko */, - 8D69E31921DD4C6D00CFA49B /* en-IE */, - 8D69E31A21DD4C6D00CFA49B /* fil */, - 8D69E31B21DD4C6D00CFA49B /* zh-Hant */, - 8D69E31C21DD4C6D00CFA49B /* es-CO */, - 8D69E31D21DD4C6D00CFA49B /* gsw */, - 8D69E31E21DD4C6D00CFA49B /* en-ZA */, - 8D69E31F21DD4C6D00CFA49B /* hu */, - 8D69E32021DD4C6D00CFA49B /* es-PR */, - 8D69E32121DD4C6D00CFA49B /* de-AT */, - 8D69E32221DD4C6D00CFA49B /* en-AU */, - 8D69E32321DD4C6D00CFA49B /* tr */, - 8D69E32421DD4C6D00CFA49B /* pl */, - 8D69E32521DD4C6D00CFA49B /* pt-BR */, - 8D69E32621DD4C6D00CFA49B /* vi */, - 8D69E32721DD4C6D00CFA49B /* lv */, - 8D69E32821DD4C6D00CFA49B /* es-MX */, - 8D69E32921DD4C6D00CFA49B /* lt */, - 8D69E32A21DD4C6D00CFA49B /* ru */, - 8D69E32B21DD4C6D00CFA49B /* es-DO */, - 8D69E32C21DD4C6D00CFA49B /* fr-CH */, - 8D69E32D21DD4C6D00CFA49B /* es-NI */, - 8D69E32E21DD4C6D00CFA49B /* fr */, - 8D69E32F21DD4C6D00CFA49B /* fi */, - 8D69E33021DD4C6D00CFA49B /* id */, - 8D69E33121DD4C6D00CFA49B /* nl */, - 8D69E33221DD4C6D00CFA49B /* th */, - 8D69E33321DD4C6D00CFA49B /* pt */, - 8D69E33421DD4C6D00CFA49B /* de-CH */, - 8D69E33521DD4C6D00CFA49B /* bn */, - 8D69E33621DD4C6D00CFA49B /* es-EC */, - 8D69E33721DD4C6D00CFA49B /* pt-PT */, - 8D69E33821DD4C6D00CFA49B /* es-BO */, - 8D69E33921DD4C6D00CFA49B /* ro */, - 8D69E33A21DD4C6D00CFA49B /* ln */, - 8D69E33B21DD4C6D00CFA49B /* es-UY */, - 8D69E33C21DD4C6D00CFA49B /* es-HN */, - 8D69E33D21DD4C6D00CFA49B /* hr */, - 8D69E33E21DD4C6D00CFA49B /* hi */, - 8D69E33F21DD4C6D00CFA49B /* ca */, - 8D69E34021DD4C6D00CFA49B /* zh */, - 8D69E34121DD4C6D00CFA49B /* en-IN */, - ); - name = FirebaseAuthUI.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 8D69E26B21DD4BD100CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../\""; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", - ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 8D69E26C21DD4BD100CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../\""; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", - ); - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 8D69E26E21DD4BD100CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseAuthUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E26F21DD4BD100CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseAuthUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 8D69E27121DD4BD100CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseAuthUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth", - "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore", - "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop", - "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher", - "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport", - "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities", - "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC", - "${PODS_CONFIGURATION_BUILD_DIR}/nanopb", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseAuthUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E27221DD4BD100CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = Sources/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth", - "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore", - "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop", - "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher", - "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport", - "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities", - "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC", - "${PODS_CONFIGURATION_BUILD_DIR}/nanopb", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseAuthUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 8D69E25321DD4BD000CFA49B /* Build configuration list for PBXProject "FirebaseAuthUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E26B21DD4BD100CFA49B /* Debug */, - 8D69E26C21DD4BD100CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E26D21DD4BD100CFA49B /* Build configuration list for PBXNativeTarget "FirebaseAuthUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E26E21DD4BD100CFA49B /* Debug */, - 8D69E26F21DD4BD100CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E27021DD4BD100CFA49B /* Build configuration list for PBXNativeTarget "FirebaseAuthUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E27121DD4BD100CFA49B /* Debug */, - 8D69E27221DD4BD100CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 8D69E25021DD4BD000CFA49B /* Project object */; -} diff --git a/FirebaseAuthUI/FirebaseAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseAuthUI.xcscheme b/FirebaseAuthUI/FirebaseAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseAuthUI.xcscheme deleted file mode 100644 index 504a9f1fb2c..00000000000 --- a/FirebaseAuthUI/FirebaseAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseAuthUI.xcscheme +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseAuthUI/FirebaseAuthUITests/FUIAuthTest.m b/FirebaseAuthUI/FirebaseAuthUITests/FUIAuthTest.m deleted file mode 100644 index 0df7f4d0d3a..00000000000 --- a/FirebaseAuthUI/FirebaseAuthUITests/FUIAuthTest.m +++ /dev/null @@ -1,166 +0,0 @@ -// -// 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 XCTest; -@import FirebaseAuth; -@import FirebaseCore; - -#import "FUIAuth.h" -#import "FUIAuthUtils.h" -#import "FUIAuthPickerViewController.h" -#import - -@interface FUILoginProvider : NSObject -@property (nonatomic, assign) BOOL canHandleURLs; -@end - -@implementation FUILoginProvider - -- (NSString *)providerID { return @"provider id"; } -- (NSString *)shortName { return @"login provider"; } -- (NSString *)signInLabel { return @"sign in label"; } -- (NSString *)accessToken { return @"accessToken"; } -- (NSString *)idToken { return @"idToken"; } - -- (UIImage *)icon { - return [[UIImage alloc] init]; -} - -- (UIColor *)buttonBackgroundColor { - return [UIColor clearColor]; -} - -- (UIColor *)buttonTextColor { - return [UIColor whiteColor]; -} - -- (FUIButtonAlignment)buttonAlignment { - return FUIButtonAlignmentCenter; -} - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-implementations" -- (void)signInWithEmail:(NSString *)email - presentingViewController:(UIViewController *)presentingViewController - completion:(FUIAuthProviderSignInCompletionBlock)completion {} -#pragma clang diagnostic pop - -- (void)signOut {} - -- (BOOL)handleOpenURL:(NSURL *)URL sourceApplication:(NSString *)sourceApplication { - return self.canHandleURLs; -} - -- (void)signInWithDefaultValue:(nullable NSString *)defaultValue - presentingViewController:(nullable UIViewController *)presentingViewController - completion:(nullable FUIAuthProviderSignInCompletionBlock)completion {} - - -@end - -@interface FUIAuthUIDelegate : NSObject -@end - -@implementation FUIAuthUIDelegate -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-implementations" -- (void)authUI:(FUIAuth *)authUI didSignInWithUser:(FIRUser *)user error:(NSError *)error { -} -#pragma clang diagnostic pop - -- (FUIAuthPickerViewController *)authPickerViewControllerForAuthUI:(FUIAuth *)authUI { - Class controllerClass = [FUIAuthPickerViewController class]; - NSString *classString = NSStringFromClass(controllerClass); - NSBundle *bundle = [NSBundle bundleForClass:controllerClass]; - return [[FUIAuthPickerViewController alloc] initWithNibName:classString - bundle:bundle - authUI:authUI]; -} -@end - -@interface FUIAuthTest : XCTestCase -@property (nonatomic) FIRAuth *auth; -@property (nonatomic) FUIAuth *authUI; -@property (nonatomic) FUIAuthUIDelegate *delegate; -@end - -@implementation FUIAuthTest - -- (void)setUp { - [super setUp]; - - if ([FIRApp defaultApp] == nil) { - FIROptions *options = [[FIROptions alloc] initWithGoogleAppID:@"1:1069647793992:ios:91eecf4730fc920b" - GCMSenderID:@"1069647793992"]; - options.APIKey = @"fakeAPIKey"; - [FIRApp configureWithOptions:options]; - } - - self.auth = [FIRAuth authWithApp:[FIRApp defaultApp]]; - self.authUI = [FUIAuth authUIWithAuth:self.auth]; - self.delegate = [[FUIAuthUIDelegate alloc] init]; -} - -- (void)tearDown { - [super tearDown]; - self.delegate = nil; -} - -- (void)testItExists { - XCTAssert(self.auth != nil, @"expected default auth instance to exist"); - XCTAssert(self.authUI != nil, @"expected default authUI instance to exist"); -} - -- (void)testItProducesAViewController { - self.authUI.delegate = self.delegate; - UIViewController *controller = [self.authUI authViewController]; - XCTAssert(controller != nil, @"expected authUI to produce nonnull view controller"); -} - -- (void)testItAsksAuthProvidersWhenHandlingURLs { - FUILoginProvider *provider = [[FUILoginProvider alloc] init]; - self.authUI.providers = @[provider]; - provider.canHandleURLs = NO; - BOOL handled = [self.authUI handleOpenURL:[NSURL URLWithString:@"https://google.com/"] - sourceApplication:nil]; - XCTAssert(handled == NO, @"expected authUI with no providers that can handle open URLs to not handle opening URL"); - - provider.canHandleURLs = YES; - handled = [self.authUI handleOpenURL:[NSURL URLWithString:@"https://google.com/"] - sourceApplication:nil]; - XCTAssert(handled == YES, @"expected authUI with providers that can handle open URLs to handle opening URL"); -} - -- (void)testUseEmulatorSetsFIRAuthEmulator { - id mockAuth = OCMClassMock([FIRAuth class]); - OCMStub(ClassMethod([mockAuth auth])).andReturn(mockAuth); - - self.authUI = [FUIAuth authUIWithAuth:mockAuth]; - [self.authUI useEmulatorWithHost:@"host" port:12345]; - - OCMVerify([mockAuth useEmulatorWithHost:@"host" port:12345]); -} - -- (void)testStringBySHA256HashingString { - NSString *inputString = @"abc-123.ZYX_987"; - NSString *expectedSHA256HashedString = @"d858d78754a50c8ccdc414946f656fe854e6ba76bf09a79a7e7d9ca135e4b58d"; - - NSString *actualSHA256HashedString = [FUIAuthUtils stringBySHA256HashingString:inputString]; - - XCTAssertEqualObjects(actualSHA256HashedString, expectedSHA256HashedString); -} - -@end diff --git a/FirebaseAuthUI/FirebaseAuthUITests/GoogleService-Info.plist b/FirebaseAuthUI/FirebaseAuthUITests/GoogleService-Info.plist deleted file mode 100644 index 332d92983f7..00000000000 --- a/FirebaseAuthUI/FirebaseAuthUITests/GoogleService-Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - CLIENT_ID - 0000000000000000000000000.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.0000000000000000000000000 - ANDROID_CLIENT_ID - 0000000000000000000000000.apps.googleusercontent.com - API_KEY - 0000000000000000000000000 - GCM_SENDER_ID - 0000000000000000000000000 - PLIST_VERSION - 1 - BUNDLE_ID - com.firebase.firebaseui.tests - PROJECT_ID - 0000000000000000000000000 - STORAGE_BUCKET - 0000000000000000000000000.appspot.com - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 0000000000000000000000000 - DATABASE_URL - https://0000000000000000000000000.firebaseio.com - - \ No newline at end of file diff --git a/FirebaseAuthUI/FirebaseAuthUITests/Info.plist b/FirebaseAuthUI/FirebaseAuthUITests/Info.plist deleted file mode 100644 index 0b3caea4471..00000000000 --- a/FirebaseAuthUI/FirebaseAuthUITests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/FirebaseAuthUI/Podfile b/FirebaseAuthUI/Podfile deleted file mode 100644 index 256128c02ac..00000000000 --- a/FirebaseAuthUI/Podfile +++ /dev/null @@ -1,16 +0,0 @@ -# source 'sso://cpdc-internal/firebase' -source 'https://github.com/CocoaPods/Specs.git' - -platform :ios, '13.0' - -target 'FirebaseAuthUI' do - use_frameworks! - - pod 'Firebase/Auth' - - target 'FirebaseAuthUITests' do - inherit! :search_paths - pod 'OCMock' - end - -end diff --git a/FirebaseAuthUI/README.md b/FirebaseAuthUI/README.md deleted file mode 100644 index 6b190abcb14..00000000000 --- a/FirebaseAuthUI/README.md +++ /dev/null @@ -1,442 +0,0 @@ -# FirebaseUI for iOS — Auth - -FirebaseUI is an open-source library for iOS that provides simple, customizable UI -bindings on top of [Firebase](https://firebase.google.com) SDKs to eliminate -boilerplate code and promote best practices. - -FirebaseUI provides a drop-in auth solution that handles the UI flows for -signing in users with email addresses and passwords, and federated identity -providers such as Google Sign-In and Facebook Login. It is built on top of -[Firebase Auth](https://firebase.google.com/docs/auth). - -The FirebaseUI Auth component implement best practices for authentication on -mobile devices and websites, which can maximize sign-in and sign-up conversion -for your app. It also handles edge cases like account recovery and account -linking that can be security sensitive and error-prone to handle correctly. - -FirebaseUI can be easily customized to fit in with the rest of your app's visual -style, and it is open source, so you aren't constrained in realizing the user -experience you want. - -Compatible FirebaseUI Auth clients are also available for -[Android](https://github.com/firebase/firebaseui-android/tree/main/auth) -and [Web](https://github.com/firebase/firebaseui-web/). - -## Table of Contents - -1. [Installation](#installation) -1. [Usage instructions](#using-firebaseui-for-authentication) -1. [Customization](#customizing-firebaseui-for-authentication) - -## Installation -### Importing FirebaseUI components for auth -Add the following to your `Podfile`: -```ruby -pod 'FirebaseUI/Auth' - -pod 'FirebaseUI/Email' -pod 'FirebaseUI/Google' -pod 'FirebaseUI/Facebook' -pod 'FirebaseUI/Phone' -pod 'FirebaseUI/OAuth' -``` - -### Configuring sign-in providers -To use FirebaseUI to authenticate users you first need to configure each provider you want to use in -their own developer app settings. Please read the *Before you begin* section of the Firebase -Auth guides at the following links: - -- [Email and password](https://firebase.google.com/docs/auth/ios/password-auth#before_you_begin) -- [Google](https://firebase.google.com/docs/auth/ios/google-signin#before_you_begin) -- [Facebook](https://firebase.google.com/docs/auth/ios/facebook-login#before_you_begin) -- [Phone](https://firebase.google.com/docs/auth/ios/phone-auth#before_you_begin) -- [Sign in with Apple](https://firebase.google.com/docs/auth/ios/apple#before_you_begin) - - For Sign in with Apple, read the [Comply with Apple anonymized data requirements](https://firebase.google.com/docs/auth/ios/apple#comply-with-apple-anonymized-data-requirements) section as well. - -## Using FirebaseUI for Authentication - -### Configuration - -All operations, callbacks, UI customizations are done through an `FUIAuth` -instance. The `FUIAuth` instance associated with the default Firebase Auth -instance can be accessed as follows: - -```swift -// Swift -import FirebaseAuthUI - -/* ... */ - -FirebaseApp.configure() -let authUI = FUIAuth.defaultAuthUI() -// You need to adopt a FUIAuthDelegate protocol to receive callback -authUI?.delegate = self -``` - -```objective-c -// Objective-C -@import FirebaseAuthUI; - -/* ... */ - -[FIRApp configure]; -FUIAuth *authUI = [FUIAuth defaultAuthUI]; -// You need to adopt a FUIAuthDelegate protocol to receive callback -authUI.delegate = self; -``` - -This instance can then be configured with the providers you wish to support: - -```swift -// Swift -import FirebaseAuthUI - -/* ... */ - -let providers: [FUIAuthProvider] = [ - FUIEmailAuth(), - FUIGoogleAuth(), - FUIFacebookAuth(), - FUIPhoneAuth(authUI: FUIAuth.defaultAuthUI()), - FUIOAuth.appleAuthProvider(), - FUIOAuth.twitterAuthProvider(), - FUIOAuth.githubAuthProvider(), - FUIOAuth.microsoftAuthProvider(), - FUIOAuth.yahooAuthProvider(), -] -authUI?.providers = providers -``` - -```objective-c -// Objective-C -@import FirebaseAuthUI; - -/* ... */ - -NSArray> *providers = @[ - [[FUIEmailAuth alloc] init], - [[FUIGoogleAuth alloc] init], - [[FUIFacebookAuth alloc] init], - [[FUIPhoneAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI]], - [FUIOAuth appleAuthProvider], - [FUIOAuth twitterAuthProvider], - [FUIOAuth githubAuthProvider], - [FUIOAuth microsoftAuthProvider], - [FUIOAuth yahooAuthProvider] -]; -self.authUI.providers = providers; -``` - -For Google Sign-in support, add custom URL schemes to your Xcode project -(step 1 of the [implement Google Sign-In documentation](https://developers.google.com/firebase/docs/auth/ios/google-signin#2_implement_google_sign-in)). - -For Sign in with Apple support, add the Sign in with Apple capability to your entitlements file. - -For Facebook Login support, follow step 3 and 4 of -[Facebook login documentation](https://developers.google.com/firebase/docs/auth/ios/facebook-login#before_you_begin), -and follow the [Facebook SDK for iOS Getting started documentation](https://developers.facebook.com/docs/ios/getting-started). - -Finally, add a call to handle the URL that your application receives at the end -of the Google/Facebook authentication process. - -```swift -// Swift -func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool { - let sourceApplication = options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String? - if FUIAuth.defaultAuthUI()?.handleOpen(url, sourceApplication: sourceApplication) ?? false { - return true - } - // other URL handling goes here. - return false -} -``` - -```objective-c -// Objective-C -- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { - NSString *sourceApplication = options[UIApplicationOpenURLOptionsSourceApplicationKey]; - return [[FUIAuth defaultAuthUI] handleOpenURL:url sourceApplication:sourceApplication]; -} -``` - -### Sign In - -To start the authentication flow, obtain an `authViewController` instance from -`FUIAuth`. In order to leverage FirebaseUI for iOS you must display the -`authViewController`; you can present it as the first view controller of your -app or present it from another view controller within your app. In order to -present the `authViewController` obtain as instance as follows: - -```swift -// Swift - -// Present the auth view controller and then implement the sign in callback. -let authViewController = authUI!.authViewController() - -func authUI(_ authUI: FUIAuth, didSignInWithAuthDataResult authDataResult: AuthDataResult?, error: Error?) { - // handle user (`authDataResult.user`) and error as necessary -} -``` - -```objective-c -// Objective-C -UINavigationController *authViewController = [authUI authViewController]; -// Use authViewController as your root view controller, -// or present it on top of an existing view controller. - -- (void)authUI:(FUIAuth *)authUI - didSignInWithAuthDataResult:(nullable FIRAuthDataResult *)authDataResult - error:(nullable NSError *)error { - // Implement this method to handle signed in user (`authDataResult.user`) or error if any. -} -``` - -### Configuring Email Link Sign In -To use email link sign in, you will first need to enable it in the Firebase Console. -Additionally, you will also have to enable Firebase Dynamic Links. - -You can enable email link sign in by initializing an `FUIEmailAuth` instance with -`FIREmailLinkAuthSignInMethod`. You will also need to provide a valid -`FIRActionCodeSettings` object with `handleCodeInApp` set to true. Additionally, you -need to allowlist the URL you pass to the initializer; you can do so in the Firebase -Console (Authentication -> Sign in Methods -> Authorized domains). - -```objective-c -// Objective-C -FIRActionCodeSettings *actionCodeSettings = [[FIRActionCodeSettings alloc] init]; -actionCodeSettings.URL = [NSURL URLWithString:@"https://example.appspot.com"]; -actionCodeSettings.handleCodeInApp = YES; -[actionCodeSettings setAndroidPackageName:@"com.firebase.example" - installIfNotAvailable:NO - minimumVersion:@"12"]; -``` - -```swift -// Swift -var actionCodeSettings = ActionCodeSettings() -actionCodeSettings.url = URL(string: "https://example.appspot.com") -actionCodeSettings.handleCodeInApp = true -actionCodeSettings.setAndroidPackageName("com.firebase.example", installIfNotAvailable: false, minimumVersion: "12") -``` - -Once you catch the deep link, you will need to pass it to the auth UI so it can be handled. - -```objective-c -// Objective-C -[FUIAuth.defaultAuthUI handleOpenURL:url sourceApplication:sourceApplication]; -``` - -```swift -// Swift -Auth.defaultAuthUI.handleOpenURL(url, sourceApplication: sourceApplication) -``` -We support cross device email link sign in for the normal flows. It is not supported with anonymous user upgrade. By default, cross device support is enabled. You can disable it setting `forceSameDevice` to false in the `FUIEmailAuth` initializer. - -## Customizing FirebaseUI for authentication -### Custom Terms of Service (ToS) and privacy policy URLs - -The Terms of Service URL for your application, which is displayed on the -email/password account creation screen, can be specified as follows: - -```swift -// Swift -let kFirebaseTermsOfService = URL(string: "https://firebase.google.com/terms/")! -authUI?.tosurl = kFirebaseTermsOfService -``` - -```objective-c -// Objective-C -authUI.TOSURL = [NSURL URLWithString:@"https://example.com/tos"]; -``` - -The same applies to the URL of your privacy policy: -```swift -// Swift -let kFirebasePrivacyPolicy = URL(string: "https://policies.google.com/privacy")! -authUI?.privacyPolicyURL = kFirebasePrivacyPolicy -``` - -### Custom strings - -You can override the default messages and prompts shown to your users. This can -be useful for things such as adding support for languages other than English. - -In order to do so: - -```swift -// Swift -authUI?.customStringsBundle = NSBundle.mainBundle() // Or any custom bundle. -``` - -```objective-c -// Objective-C -authUI.customStringsBundle = [NSBundle mainBundle]; // Or any custom bundle. -``` - -The bundle should include [.strings](https://github.com/firebase/FirebaseUI-iOS/blob/main/FirebaseAuthUI/Strings/en.lproj/FirebaseAuthUI.strings) -files that have the same names as the default files, namely `FirebaseAuthUI`, -`FirebaseGoogleAuthUI`, and `FirebaseFacebookAuthUI`. Each string in these files -should have the same key as its counterpart in the default `.strings` files. - -### Custom sign-in screen - -You can customize everything about the authentication method picker screen, -except for the actual sign-in buttons and their position. - -In order to do so, create a subclass of `FUIAuthPickerViewController` and -customize it to your needs. Provide `FUIAuth` with an instance of your -subclass by implementing the delegate method -`authPickerViewControllerForAuthUI:` as follows: - -```swift -// Swift -func authPickerViewController(for authUI: FUIAuth) -> FUIAuthPickerViewController { - return CustomAuthPickerViewController(authUI: authUI) -} -``` - -```objective-c -// Objective-C -- (FUIAuthPickerViewController *)authPickerViewControllerForAuthUI:(FUIAuth *)authUI { - return [[CustomAuthPickerViewController alloc] initWithAuthUI:authUI]; -} -``` - -### Custom email/password screens - -You can customize all email/password screens, including but not limited to: -- Hiding the top `UINavigationBar` -- Adding a `Cancel` button -- Use a UI view other than `UITableView` - -Things that are not customizable: -- `UIAlertController` popups (showing error labels instead) -- Modifying the screen flow (combining screens or skipping particular screens) -- Disabling validation, including email validation - -To customize the email/password screens, create a subclass of appropriate -controller and implement it to your needs. Then set up `FUIAuth` with an -instance of your subclass by implementing the following delegate methods: -```swift -// Swift -func emailEntryViewController(for authUI: FUIAuth) -> FUIEmailEntryViewController { - return CustomEmailEntryViewController(authUI: authUI) -} - -func passwordSignInViewController(for authUI: FUIAuth, email: String) -> FUIPasswordSignInViewController { - return CustomPasswordSignInViewController(authUI: authUI, email: email) -} - -func passwordSignUpViewController(for authUI: FUIAuth, email: String) -> FUIPasswordSignUpViewController { - return CustomPasswordSignUpViewController(authUI: authUI, email: email) -} - -func passwordRecoveryViewController(for authUI: FUIAuth, email: String) -> FUIPasswordRecoveryViewController { - return CustomPasswordRecoveryViewController(authUI: authUI, email: email) -} - -func passwordVerificationViewController(for authUI: FUIAuth, email: String, newCredential: AuthCredential) -> FUIPasswordVerificationViewController { - return CustomPasswordVerificationViewController(authUI: authUI, email: email, newCredential: newCredential) -} -``` - -```objective-c -// Objective-C -- (FUIEmailEntryViewController *)emailEntryViewControllerForAuthUI:(FUIAuth *)authUI { - return [[CustomEmailEntryViewController alloc] initWithAuthUI:authUI]; - -} - -- (FUIPasswordSignInViewController *)passwordSignInViewControllerForAuthUI:(FUIAuth *)authUI - email:(NSString *)email { - return [[CustomPasswordSignInViewController alloc] initWithAuthUI:authUI - email:email]; - -} - -- (FUIPasswordSignUpViewController *)passwordSignUpViewControllerForAuthUI:(FUIAuth *)authUI - email:(NSString *)email { - return [[CustomPasswordSignUpViewController alloc] initWithAuthUI:authUI - email:email]; - -} - -- (FUIPasswordRecoveryViewController *)passwordRecoveryViewControllerForAuthUI:(FUIAuth *)authUI - email:(NSString *)email { - return [[CustomPasswordRecoveryViewController alloc] initWithAuthUI:authUI - email:email]; - -} - -- (FUIPasswordVerificationViewController *)passwordVerificationViewControllerForAuthUI:(FUIAuth *)authUI - email:(NSString *)email - newCredential:(FIRAuthCredential *)newCredential { - return [[CustomPasswordVerificationViewController alloc] initWithAuthUI:authUI - email:email - newCredential:newCredential]; -} -``` - -In your custom view controllers, call the same FirebaseUI methods as their -parent classes. For example: -- `- (void)onNext:(NSString *)textFieldValue; // Or any action that leads to the next screen` -- `- (void)didChangeTextField:(NSString *)textFieldValue; // Usually called in viewWillAppear and after modification of text entry field` -- `- (void)onBack;` -- `- (void)cancelAuthorization;` - -Refer to the Objective-C and Swift samples for examples of how you can customize -these views. - -## Handling auto-upgrade of anonymous users -By default, the auto-upgrade of anonymous users is disabled. You can enable it -by simply changing the associated attribute of your Firebase Auth instance: -```swift -authUI?.shouldAutoUpgradeAnonymousUsers = true -``` - -Enabling auto-upgrade of anonymous users increases the complexity of your auth -flow by adding several more edge cases that need to be handled. As opposed to -normal auth, which only involves one step, auto-upgrade presents three steps -with four possibilities total: -- At app launch, anonymously authenticate the user. User state can be - accumulated on the anonymous user and linked to the non-anonymous account - later. -- At some point in your app, present the auth flow and authenticate the user - using a non-anonymous auth method. -- Following a successful auth attempt, if the user signs in to a new account, - the anonymous account and the new account can be linked together without - issue. -- Otherwise, if logging into an existing user, FirebaseUI will return a merge - conflict error containing the resulting `FIRAuthDataResult` corresponding to - the existing account. This value should be used to login to the existing - account without linking to the anonymous user, as the two accounts may have - conflicting state (the anonymous account state will be discarded). - -```swift -func authUI(_ authUI: FUIAuth, didSignInWith authDataResult: AuthDataResult?, error: Error?) { - if let error = error as NSError?, - error.code == FUIAuthErrorCode.mergeConflict.rawValue { - // Merge conflict error, discard the anonymous user and login as the existing - // non-anonymous user. - guard let credential = error.userInfo[FUIAuthCredentialKey] as? AuthCredential else { - print("Received merge conflict error without auth credential!") - return - } - - Auth.auth().signInAndRetrieveData(with: credential) { (dataResult, error) in - if let error = error as NSError? { - print("Failed to re-login: \(error)") - return - } - - // Handle successful login - } - } else if let error = error { - // Some non-merge conflict error happened. - print("Failed to log in: \(error)") - return - } - - // Handle successful login -} -``` diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperation.h b/FirebaseAuthUI/Sources/FUIAccountSettingsOperation.h deleted file mode 100644 index a06342d6a72..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperation.h +++ /dev/null @@ -1,103 +0,0 @@ -// -// Copyright (c) 2017 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 - -@class FIRAuth; -@class FIRUser; -@class FUIAuth; -@class UIViewController; - -NS_ASSUME_NONNULL_BEGIN - -/** @protocol FUIAccountSettingsOperationUIDelegate - @brief A delegate that provides UI methods for @c FUIAccountSettingsOperation. - */ -@protocol FUIAccountSettingsOperationUIDelegate - -/** @property auth - @brief The @c FIRAuth instance of the application. - */ -@property(nonatomic, strong, readonly) FIRAuth *auth; - -/** @property authUI - @brief The @c FUIAuth instance of the application. - */ -@property(nonatomic, strong, readonly) FUIAuth *authUI; - -/** @fn incrementActivity - @brief Increment the current activity count. If there's positive number of activities, display - and animate the activity indicator with a short period of delay. - @remarks Calls to @c incrementActivity and @c decrementActivity should be balanced. - */ -- (void)incrementActivity; - -/** @fn decrementActivity - @brief Decrement the current activity count. If the count reaches 0, stop and hide the - activity indicator. - @remarks Calls to @c incrementActivity and @c decrementActivity should be balanced. - */ -- (void)decrementActivity; - -/** @fn presentBaseController - @brief Called when initial Account Settings controller needs to be presented. - */ -- (void)presentBaseController; - -/** @fn presentViewController: - @brief Presents (pops) @c UIViewController from navigation stack. - */ -- (void)presentViewController:(UIViewController *)controller; - -/** @fn pushViewController: - @brief Adds (pushes) @c UIViewController to navigation stack. - */ -- (void)pushViewController:(UIViewController *)controller; - -/** @fn presentingController - @brief Provides access to presenting controller. - */ -- (UIViewController *)presentingController; - -@end - -/** @class FUIAccountSettingsOperation - @brief Handles logic for every specific user operation. - */ -@interface FUIAccountSettingsOperation : NSObject - -/** @fn executeOperationWithDelegate:showDialog: - @brief Creates new instance of @c FUIAccountSettingsOperation and executes logic - associated with it. - @param delegate UI delegate which handles all UI related logic. - @param showDialog Determines if operation specific UI should be started with confirmation - dialog. - @return Instance of the executed operation. - */ -+ (instancetype)executeOperationWithDelegate:(id)delegate - showDialog:(BOOL)showDialog; - -/** @fn executeOperationWithDelegate: - @brief Creates new instance of @c FUIAccountSettingsOperation and executes logic - associated with it. New flow is started with new view. - @param delegate UI delegate which handles all UI related logic. - @return Instance of the executed operation. - */ -+ (instancetype)executeOperationWithDelegate:(id)delegate; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperation.m b/FirebaseAuthUI/Sources/FUIAccountSettingsOperation.m deleted file mode 100644 index c4dffd439b2..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperation.m +++ /dev/null @@ -1,274 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperation_Internal.h" - -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationDeleteAccount.h" -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationForgotPassword.h" -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationSignOut.h" -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationUnlinkAccount.h" -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateEmail.h" -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateName.h" -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdatePassword.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController_Internal.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthErrorUtils.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuth_Internal.h" - -NS_ASSUME_NONNULL_BEGIN - -@implementation FUIAccountSettingsOperation - -+ (instancetype)executeOperationWithDelegate:(id)delegate - showDialog:(BOOL)showDialog { - FUIAccountSettingsOperation *operation = [[self alloc] initWithDelegate:delegate]; - [operation execute:showDialog]; - return operation; -} - -+ (instancetype)executeOperationWithDelegate:(id)delegate { - FUIAccountSettingsOperation *operation = [[self alloc] initWithDelegate:delegate]; - [operation execute:NO]; - return operation; -} - -- (instancetype)initWithDelegate:(id)operationDelegate { - if (self = [super init]) { - _delegate = operationDelegate; - } - return self; -} - -- (void)execute:(BOOL)showDialog { - NSAssert(NO, @"Expected execute: to be overwritten by subclass"); -} - -- (FUIAccountSettingsOperationType)operationType { - NSAssert(NO, @"Expected execute: to be overwritten by subclass"); - return FUIAccountSettingsOperationTypeUnsupported; -} - -#pragma mark - protected methods - -- (void)finishOperationWithError:(nullable NSError *)error { - if (error) { - switch (error.code) { - case FIRAuthErrorCodeEmailAlreadyInUse: - [self showAlertWithMessage:FUILocalizedString(kStr_EmailAlreadyInUseError)]; - break; - case FIRAuthErrorCodeInvalidEmail: - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidEmailError)]; - break; - case FIRAuthErrorCodeWeakPassword: - [self showAlertWithMessage:FUILocalizedString(kStr_WeakPasswordError)]; - break; - case FIRAuthErrorCodeTooManyRequests: - [self showAlertWithMessage:FUILocalizedString(kStr_SignUpTooManyTimesError)]; - break; - case FIRAuthErrorCodeWrongPassword: - [self showAlertWithMessage:FUILocalizedString(kStr_WrongPasswordError)]; - break; - case FIRAuthErrorCodeUserNotFound: - [self showAlertWithMessage:FUILocalizedString(kStr_UserNotFoundError)]; - break; - case FIRAuthErrorCodeUserDisabled: - [self showAlertWithMessage:FUILocalizedString(kStr_AccountDisabledError)]; - break; - case FUIAuthErrorCodeCantFindProvider: { - NSString *message = [NSString stringWithFormat:FUILocalizedString(kStr_CantFindProvider), - error.userInfo[FUIAuthErrorUserInfoProviderIDKey]]; - [self showAlertWithMessage:message]; - break; - } - case FIRAuthErrorCodeUserMismatch: - [self showAlertWithMessage:FUILocalizedString(kStr_EmailsDontMatch)]; - break; - } - } - - [self.delegate.authUI invokeOperationCallback:[self operationType] error:error]; -} - -- (void)showSelectProviderDialogWithAlertTitle:(nullable NSString *)title - alertMessage:(nullable NSString *)message - alertCloseButton:(nullable NSString *)closeActionTitle - providerHandler:(nullable FUIAccountSettingsChooseProviderHandler) - handler; { - UIAlertController *alert = - [UIAlertController alertControllerWithTitle:title - message:message - preferredStyle:UIAlertControllerStyleAlert]; - for (id provider in self.delegate.auth.currentUser.providerData) { - NSString *providerTitle = - [NSString stringWithFormat:FUILocalizedString(kStr_SignInWithProvider), - [FUIAuthBaseViewController providerLocalizedName:provider.providerID]]; - UIAlertAction* action = [UIAlertAction actionWithTitle:providerTitle - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *_Nonnull action) { - if (handler) { - handler(provider); - } - }]; - [alert addAction:action]; - } - UIAlertAction* closeButton = [UIAlertAction actionWithTitle:closeActionTitle - style:UIAlertActionStyleCancel - handler:nil]; - [alert addAction:closeButton]; - [self.delegate presentViewController:alert]; -} - -- (void)showAlertWithMessage:(NSString *)message { - UIAlertController *alertController = - [UIAlertController alertControllerWithTitle:nil - message:message - preferredStyle:UIAlertControllerStyleAlert]; - UIAlertAction *okAction = [UIAlertAction actionWithTitle:FUILocalizedString(kStr_OK) - style:UIAlertActionStyleDefault - handler:nil]; - [alertController addAction:okAction]; - [self.delegate presentViewController:alertController]; -} - -- (void)reauthenticateWithProvider:(NSString *)providerID - actionHandler:(nullable FUIAccountSettingsReauthenticateHandler)handler { - - id providerUI; - for (id authProvider in self.delegate.authUI.providers) { - if ([providerID isEqualToString:authProvider.providerID]) { - providerUI = authProvider; - break; - } - } - - if (!providerUI) { - NSError *error = [FUIAuthErrorUtils errorWithCode:FUIAuthErrorCodeCantFindProvider - userInfo:@{ - FUIAuthErrorUserInfoProviderIDKey : providerID - }]; - [self finishOperationWithError:error]; - return; - } - - [self.delegate incrementActivity]; - // Sign out first to make sure sign in starts with a clean state. - [providerUI signOut]; - [providerUI signInWithDefaultValue:self.delegate.auth.currentUser.email - presentingViewController:[self.delegate presentingController] - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - _Nullable FIRAuthResultCallback result, - NSDictionary *_Nullable userInfo) { - if (error) { - [self.delegate decrementActivity]; - [self finishOperationWithError:error]; - if (result) { - result(nil, error); - } - return; - } - [self.delegate.auth.currentUser - reauthenticateWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable reauthError) { - [self.delegate decrementActivity]; - if (result) { - result(self.delegate.auth.currentUser, reauthError); - } - if (error) { - [self finishOperationWithError:error]; - } else { - if (handler) { - handler(); - [self finishOperationWithError:error]; - } - } - }]; - }]; -} - -- (void)reauthenticateWithPassword:(NSString *)password - actionHandler:(nullable FUIAccountSettingsReauthenticateHandler)handler { - if (password.length <= 0) { - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidPasswordError)]; - return; - } - - [self.delegate incrementActivity]; - - if (self.delegate.auth.currentUser.email == nil) { - NSLog(@"FirebaseUI: Expected nonnull email during email/password reauthentication"); - return; - } - [self.delegate.auth signInWithEmail:self.delegate.auth.currentUser.email - password:password - completion:^(FIRAuthDataResult *authResult, NSError *error) { - [self.delegate decrementActivity]; - - [self finishOperationWithError:error]; - if (!error && handler) { - handler(); - } - }]; -} - -- (void)showVerifyDialogWithMessage:(NSString *)message - providerHandler:(nullable FUIAccountSettingsReauthenticateHandler)handler { - [self showSelectProviderDialogWithAlertTitle:FUILocalizedString(kStr_VerifyItsYou) - alertMessage:message - alertCloseButton:FUILocalizedString(kStr_Cancel) - providerHandler:^(id provider) { - if (![provider.providerID isEqualToString:@"password"]) { - [self reauthenticateWithProvider:provider.providerID actionHandler:handler]; - } else { - [self showVerifyPasswordViewWithMessage:message providerHandler:handler]; - } - }]; -} - -- (void)showVerifyPasswordViewWithMessage:(NSString *)message - providerHandler:(nullable FUIAccountSettingsReauthenticateHandler) - handler { - __block FUIStaticContentTableViewCell *passwordCell = - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_Password) - value:nil - placeholder:FUILocalizedString(kStr_PlaceholderEnterPassword) - type:FUIStaticContentTableViewCellTypePassword - action:nil]; - FUIStaticContentTableViewContent *contents = - [FUIStaticContentTableViewContent contentWithSections:@[ - [FUIStaticContentTableViewSection sectionWithTitle:nil - cells:@[passwordCell]], - ]]; - - UIViewController *controller = - [[FUIStaticContentTableViewController alloc] initWithContents:contents - nextTitle:FUILocalizedString(kStr_Next) - nextAction:^{ - [self reauthenticateWithPassword:passwordCell.value actionHandler:handler]; - } - headerText:message - footerText: - FUILocalizedString(kStr_ForgotPassword) - footerAction:^{ - [FUIAccountSettingsOperationForgotPassword executeOperationWithDelegate:self.delegate]; - }]; - controller.title = FUILocalizedString(kStr_VerifyItsYou); - [self.delegate pushViewController:controller]; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationDeleteAccount.h b/FirebaseAuthUI/Sources/FUIAccountSettingsOperationDeleteAccount.h deleted file mode 100644 index c1a0507a05e..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationDeleteAccount.h +++ /dev/null @@ -1,36 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperation.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIAccountSettingsOperationDeleteAccount - @brief Handles logic of account deletion operation. - */ -@interface FUIAccountSettingsOperationDeleteAccount : FUIAccountSettingsOperation - -/** @fn executeOperationWithDelegate: - @brief Instead use @c executeOperationWithDelegate:showDialog: - @param delegate UI delegate which handles all UI related logic. - @return Instance of the executed operation. - */ -+ (instancetype)executeOperationWithDelegate:(id)delegate - NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationDeleteAccount.m b/FirebaseAuthUI/Sources/FUIAccountSettingsOperationDeleteAccount.m deleted file mode 100644 index 65269bd1c5f..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationDeleteAccount.m +++ /dev/null @@ -1,138 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperationDeleteAccount.h" - -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperation_Internal.h" -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationForgotPassword.h" - -@import FirebaseAuth; - -NS_ASSUME_NONNULL_BEGIN - -@implementation FUIAccountSettingsOperationDeleteAccount - -- (FUIAccountSettingsOperationType)operationType { - return FUIAccountSettingsOperationTypeDeleteAccount; -} - -- (void)execute:(BOOL)showDialog { - if (showDialog) { - [self showDeleteAccountDialog]; - } else { - [self showDeleteAccountViewWithPassword]; - } -} - -- (void)showDeleteAccountDialog { - [self showSelectProviderDialogWithAlertTitle: - FUILocalizedString(kStr_DeleteAccountConfirmationTitle) - alertMessage:FUILocalizedString(kStr_DeleteAccountBody) - alertCloseButton:FUILocalizedString(kStr_Cancel) - providerHandler:^(id provider) { - // TODO: Use public API after Firebase 11 minimum. - if (![provider.providerID isEqualToString:@"password"]) { - [self reauthenticateWithProvider:provider.providerID actionHandler:^{ - [self showDeleteAccountView]; - }]; - } else { - [self showDeleteAccountViewWithPassword]; - } - }]; -} - -- (void)showDeleteAccountViewWithPassword { - __block FUIStaticContentTableViewCell *passwordCell = - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_Password) - value:nil - placeholder:FUILocalizedString(kStr_PlaceholderEnterPassword) - type:FUIStaticContentTableViewCellTypePassword - action:nil]; - FUIStaticContentTableViewContent *contents = - [FUIStaticContentTableViewContent contentWithSections:@[ - [FUIStaticContentTableViewSection sectionWithTitle:nil cells:@[passwordCell]], - ]]; - - NSString *message = FUILocalizedString(kStr_DeleteAccountConfirmationMessage); - UIViewController *controller = - [[FUIStaticContentTableViewController alloc] - initWithContents:contents - nextTitle:FUILocalizedString(kStr_Delete) - nextAction:^{ [self deleteCurrentAccountWithPassword:passwordCell.value]; } - headerText:message - footerText:FUILocalizedString(kStr_ForgotPassword) - footerAction:^{ - [FUIAccountSettingsOperationForgotPassword executeOperationWithDelegate:self.delegate]; - }]; - controller.title = FUILocalizedString(kStr_DeleteAccountControllerTitle); - [self.delegate pushViewController:controller]; -} - -- (void)showDeleteAccountView { - NSString *message = FUILocalizedString(kStr_DeleteAccountConfirmationMessage); - UIViewController *controller = - [[FUIStaticContentTableViewController alloc] initWithContents:nil - nextTitle:FUILocalizedString(kStr_Delete) - nextAction:^{ - [self onDeleteAccountViewNextAction]; - } - headerText:message]; - controller.title = FUILocalizedString(kStr_DeleteAccountControllerTitle); - [self.delegate pushViewController:controller]; - -} - -- (void)onDeleteAccountViewNextAction { - UIAlertController *alertController = - [UIAlertController alertControllerWithTitle:FUILocalizedString(kStr_DeleteAccountConfirmationTitle) - message:FUILocalizedString(kStr_ActionCantBeUndone) - preferredStyle:UIAlertControllerStyleAlert]; - UIAlertAction *deleteAction = - [UIAlertAction actionWithTitle:FUILocalizedString(kStr_DeleteAccountControllerTitle) - style:UIAlertActionStyleDestructive - handler:^(UIAlertAction *_Nonnull action) { - [self deleteCurrentAccount]; - }]; - UIAlertAction *action = - [UIAlertAction actionWithTitle:FUILocalizedString(kStr_Cancel) - style:UIAlertActionStyleCancel - handler:nil]; - [alertController addAction:deleteAction]; - [alertController addAction:action]; - [self.delegate presentViewController:alertController]; - -} - -- (void)deleteCurrentAccountWithPassword:(NSString *)password { - [self reauthenticateWithPassword:password actionHandler:^{ - [self deleteCurrentAccount]; - }]; -} - -- (void)deleteCurrentAccount { - [self.delegate incrementActivity]; - [self.delegate.auth.currentUser deleteWithCompletion:^(NSError *_Nullable error) { - [self.delegate decrementActivity]; - [self finishOperationWithError:error]; - if (!error) { - [self.delegate presentBaseController]; - } - }]; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationForgotPassword.h b/FirebaseAuthUI/Sources/FUIAccountSettingsOperationForgotPassword.h deleted file mode 100644 index 492dad70568..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationForgotPassword.h +++ /dev/null @@ -1,38 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperation.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIAccountSettingsOperationForgotPassword - @brief Handles logic of 'forgot password' operation. - */ -@interface FUIAccountSettingsOperationForgotPassword : FUIAccountSettingsOperation - -/** @fn executeOperationWithDelegate:showDialog: - @brief Instead use @c executeOperationWithDelegate: - @param delegate UI delegate which handles all UI related logic. - @param showDialog Determines if operation specific UI should be started with confirmation - dialog. - @return Instance of the executed operation. - */ -+ (instancetype)executeOperationWithDelegate:(id)delegate - showDialog:(BOOL)showDialog NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationForgotPassword.m b/FirebaseAuthUI/Sources/FUIAccountSettingsOperationForgotPassword.m deleted file mode 100644 index 889bf8c49d8..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationForgotPassword.m +++ /dev/null @@ -1,95 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperationForgotPassword.h" - -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperation_Internal.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController_Internal.h" - -@import FirebaseAuth; - -NS_ASSUME_NONNULL_BEGIN - -@implementation FUIAccountSettingsOperationForgotPassword - -- (FUIAccountSettingsOperationType)operationType { - return FUIAccountSettingsOperationTypeForgotPassword; -} - -- (void)execute:(BOOL)showDialog { - [self onForgotPassword]; -} - -- (void)onForgotPassword { - __block FUIStaticContentTableViewCell *inputCell = - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_Email) - value:self.delegate.auth.currentUser.email - placeholder:FUILocalizedString(kStr_PlaceholderEnterEmail) - type:FUIStaticContentTableViewCellTypeInput - action:nil]; - FUIStaticContentTableViewContent *contents = - [FUIStaticContentTableViewContent - contentWithSections:@[ - [FUIStaticContentTableViewSection sectionWithTitle:nil - cells:@[inputCell]], - ]]; - - UIViewController *controller = - [[FUIStaticContentTableViewController alloc] - initWithContents:contents - nextTitle:FUILocalizedString(kStr_Send) - nextAction:^{ [self onPasswordRecovery:inputCell.value]; } - headerText:FUILocalizedString(kStr_PasswordRecoveryMessage)]; - controller.title = FUILocalizedString(kStr_PasswordRecoveryTitle); - [self.delegate pushViewController:controller]; -} - -- (void)onPasswordRecovery:(NSString *)email { - if (![[FUIAuthBaseViewController class] isValidEmail:email]) { - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidEmailError)]; - return; - } - - [self.delegate incrementActivity]; - - [self.delegate.auth sendPasswordResetWithEmail:email - completion:^(NSError *_Nullable error) { - [self.delegate decrementActivity]; - - if (error) { - [self finishOperationWithError:error]; - return; - } - - NSString *message = [NSString stringWithFormat: - FUILocalizedString(kStr_PasswordRecoveryEmailSentMessage), email]; - UIAlertController *alertController = - [UIAlertController alertControllerWithTitle:nil - message:message - preferredStyle:UIAlertControllerStyleAlert]; - UIAlertAction *okAction = [UIAlertAction actionWithTitle:FUILocalizedString(kStr_OK) - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *_Nonnull action) { - [self finishOperationWithError:error]; - }]; - [alertController addAction:okAction]; - [self.delegate presentViewController:alertController]; - }]; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationSignOut.h b/FirebaseAuthUI/Sources/FUIAccountSettingsOperationSignOut.h deleted file mode 100644 index 5b033292023..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationSignOut.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperation.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIAccountSettingsOperationSignOut - @brief Handles logic of signing-out operation. - */ -@interface FUIAccountSettingsOperationSignOut : FUIAccountSettingsOperation - -/** @fn executeOperationWithDelegate:showDialog: - @brief Instead use @c executeOperationWithDelegate: - @param delegate UI delegate which handles all UI related logic. - @param showDialog Determines if operation specific UI should be started with confirmation - dialog. - @return Instance of the executed operation. - */ -+ (instancetype)executeOperationWithDelegate:(id)delegate - showDialog:(BOOL)showDialog NS_UNAVAILABLE; -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationSignOut.m b/FirebaseAuthUI/Sources/FUIAccountSettingsOperationSignOut.m deleted file mode 100644 index 08a18eab6cb..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationSignOut.m +++ /dev/null @@ -1,45 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperationSignOut.h" - -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperation_Internal.h" - -NS_ASSUME_NONNULL_BEGIN - -@implementation FUIAccountSettingsOperationSignOut - -- (FUIAccountSettingsOperationType)operationType { - return FUIAccountSettingsOperationTypeSignOut; -} - -- (void)execute:(BOOL)showDialog { - [self signOut]; -} - -- (void)signOut{ - NSError *error; - [self.delegate.authUI signOutWithError:&error]; - [self finishOperationWithError:error]; - if (!error) { - [self.delegate presentBaseController]; - } - -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUnlinkAccount.h b/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUnlinkAccount.h deleted file mode 100644 index 831600cfa7f..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUnlinkAccount.h +++ /dev/null @@ -1,61 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperation.h" - -@protocol FIRUserInfo; - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIAccountSettingsOperationUnlinkAccount - @brief Handles logic of unlinking from 3P provider operation. - */ -@interface FUIAccountSettingsOperationUnlinkAccount : FUIAccountSettingsOperation - -/** @fn executeOperationWithDelegate:showDialog: - @brief Instead use @c executeOperationWithDelegate:showDialog:provider: - @param delegate UI delegate which handles all UI related logic. - @param showDialog Determines if operation specific UI should be started with confirmation - dialog. - @return Instance of the executed operation. - */ -+ (instancetype)executeOperationWithDelegate:(id)delegate - showDialog:(BOOL)showDialog NS_UNAVAILABLE; - -/** @fn executeOperationWithDelegate: - @brief Instead use @c executeOperationWithDelegate:showDialog:provider: - @param delegate UI delegate which handles all UI related logic. - @return Instance of the executed operation. - */ -+ (instancetype)executeOperationWithDelegate:(id)delegate - NS_UNAVAILABLE; - -/** @fn executeOperationWithDelegate:showDialog:provider: - @brief Creates new instance of @c FUIAccountSettingsOperationUnlinkAccount and executes logic - associated with it. - @param delegate UI delegate which handles all UI related logic. - @param showDialog Determines if operation specific UI should be started with confirmation - dialog. - @param provider Instance of 3P provider retrieved from currently logged in @c FIRUser. - @return Instance of the executed operation. - */ -+ (instancetype)executeOperationWithDelegate:(id)delegate - showDialog:(BOOL)showDialog - provider:(id)provider; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUnlinkAccount.m b/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUnlinkAccount.m deleted file mode 100644 index a97995646b5..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUnlinkAccount.m +++ /dev/null @@ -1,108 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperationUnlinkAccount.h" - -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperation_Internal.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController_Internal.h" - -@import FirebaseAuth; - -NS_ASSUME_NONNULL_BEGIN - -@interface FUIAccountSettingsOperationUnlinkAccount () -{ - id _provider; -} -@end - -@implementation FUIAccountSettingsOperationUnlinkAccount - -+ (instancetype)executeOperationWithDelegate:(id)delegate - showDialog:(BOOL)showDialog - provider:(id)provider { - FUIAccountSettingsOperationUnlinkAccount *operation = - [[self alloc] initWithDelegate:delegate provider:provider]; - [operation execute:showDialog]; - return operation; -} - -- (instancetype)initWithDelegate:(id)delegate - provider:(id) provider { - if (self = [super initWithDelegate:delegate]) { - _provider = provider; - } - return self; -} - -- (FUIAccountSettingsOperationType)operationType { - return FUIAccountSettingsOperationTypeUnlinkAccount; -} - -- (void)execute:(BOOL)showDialog { - __block FUIStaticContentTableViewCell *cell = - [FUIStaticContentTableViewCell cellWithTitle: - [FUIAuthBaseViewController providerLocalizedName:_provider.providerID] - value:_provider.displayName - type:FUIStaticContentTableViewCellTypeDefault - action:nil]; - FUIStaticContentTableViewContent *contents = - [FUIStaticContentTableViewContent contentWithSections:@[ - [FUIStaticContentTableViewSection sectionWithTitle:nil - cells:@[cell]], - ]]; - - UIViewController *controller = - [[FUIStaticContentTableViewController alloc] initWithContents:contents - nextTitle: - FUILocalizedString(kStr_UnlinkAction) - nextAction:^{ - [self showUnlinkConfirmationDialog]; - }]; - controller.title = FUILocalizedString(kStr_UnlinkTitle); - [self.delegate pushViewController:controller]; -} - -- (void)showUnlinkConfirmationDialog { - UIAlertController *alertController = - [UIAlertController alertControllerWithTitle:FUILocalizedString(kStr_UnlinkConfirmationTitle) - message:FUILocalizedString(kStr_UnlinkConfirmationMessage) - preferredStyle:UIAlertControllerStyleAlert]; - UIAlertAction *action = - [UIAlertAction actionWithTitle:FUILocalizedString(kStr_UnlinkConfirmationActionTitle) - style:UIAlertActionStyleDestructive - handler:^(UIAlertAction *_Nonnull action) { [self unlinkAcount]; }]; - [alertController addAction:action]; - UIAlertAction *cancelAction = - [UIAlertAction actionWithTitle:FUILocalizedString(kStr_Cancel) - style:UIAlertActionStyleCancel - handler:nil]; - [alertController addAction:cancelAction]; - [self.delegate presentViewController:alertController]; -} - -- (void)unlinkAcount { - [self.delegate.auth.currentUser unlinkFromProvider:_provider.providerID - completion:^(FIRUser *_Nullable user, - NSError *_Nullable error) { - [self finishOperationWithError:error]; - [self.delegate presentBaseController]; - }]; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateEmail.h b/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateEmail.h deleted file mode 100644 index e03f4e82bfb..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateEmail.h +++ /dev/null @@ -1,38 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperation.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIAccountSettingsOperationUpdateEmail - @brief Handles logic of updating email operation. - */ -@interface FUIAccountSettingsOperationUpdateEmail : FUIAccountSettingsOperation - -/** @fn executeOperationWithDelegate:showDialog: - @brief Instead use @c executeOperationWithDelegate: - @param delegate UI delegate which handles all UI related logic. - @param showDialog Determines if operation specific UI should be started with confirmation - dialog. - @return Instance of the executed operation. - */ -+ (instancetype)executeOperationWithDelegate:(id)delegate - showDialog:(BOOL)showDialog NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateEmail.m b/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateEmail.m deleted file mode 100644 index 4bf7e94b3e2..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateEmail.m +++ /dev/null @@ -1,94 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperationUpdateEmail.h" - -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperation_Internal.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController_Internal.h" - -@import FirebaseAuth; - -NS_ASSUME_NONNULL_BEGIN - -@implementation FUIAccountSettingsOperationUpdateEmail - -- (FUIAccountSettingsOperationType)operationType { - return FUIAccountSettingsOperationTypeUpdateEmail; -} - -- (void)execute:(BOOL)showDialog { - if (showDialog) { - [self showUpdateEmailDialog]; - } else { - [self showUpdateEmailView]; - } -} - -- (void)showUpdateEmailDialog { - NSString *message; - message = FUILocalizedString(kStr_UpdateEmailAlertMessage); - [self showVerifyDialogWithMessage:message providerHandler:^{ [self showUpdateEmail]; }]; - -} - -- (void)showUpdateEmailView { - [self showVerifyPasswordViewWithMessage: - FUILocalizedString(kStr_UpdateEmailVerificationAlertMessage) - providerHandler:^{ [self showUpdateEmail]; }]; -} - -- (void)showUpdateEmail { - __block FUIStaticContentTableViewCell *cell = - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_Email) - value:self.delegate.auth.currentUser.email - placeholder:FUILocalizedString(kStr_PlaceholderEnterEmail) - type:FUIStaticContentTableViewCellTypeInput - action:nil]; - FUIStaticContentTableViewContent *contents = - [FUIStaticContentTableViewContent contentWithSections:@[ - [FUIStaticContentTableViewSection sectionWithTitle:nil - cells:@[cell]], - ]]; - - UIViewController *controller = - [[FUIStaticContentTableViewController alloc] initWithContents:contents - nextTitle:FUILocalizedString(kStr_Save) - nextAction:^{ - [self updateEmailForCurrentUser:cell.value]; - }]; - controller.title = FUILocalizedString(kStr_EditEmailTitle); - [self.delegate pushViewController:controller]; - -} - -- (void)updateEmailForCurrentUser:(NSString *)email { - if (![[FUIAuthBaseViewController class] isValidEmail:email]) { - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidEmailError)]; - } else { - [self.delegate incrementActivity]; - [self.delegate.auth.currentUser updateEmail:email completion:^(NSError *_Nullable error) { - [self.delegate decrementActivity]; - [self finishOperationWithError:error]; - if (!error) { - [self.delegate presentBaseController]; - } - }]; - } -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateName.h b/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateName.h deleted file mode 100644 index 4a3b469163a..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateName.h +++ /dev/null @@ -1,36 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperation.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIAccountSettingsOperationUpdateName - @brief Handles logic of updating name operation. - */ -@interface FUIAccountSettingsOperationUpdateName : FUIAccountSettingsOperation - -/** @fn executeOperationWithDelegate: - @brief Instead use @c executeOperationWithDelegate:showDialog: - @param delegate UI delegate which handles all UI related logic. - @return Instance of the executed operation. - */ -+ (instancetype)executeOperationWithDelegate:(id)delegate - NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateName.m b/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateName.m deleted file mode 100644 index 0f0e34f0ec8..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateName.m +++ /dev/null @@ -1,67 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperationUpdateName.h" - -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperation_Internal.h" - -@import FirebaseAuth; - -NS_ASSUME_NONNULL_BEGIN - -@implementation FUIAccountSettingsOperationUpdateName - -- (FUIAccountSettingsOperationType)operationType { - return FUIAccountSettingsOperationTypeUpdateName; -} - -- (void)execute:(BOOL)showDialog { - __block FUIStaticContentTableViewCell *cell = - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_Name) - value:self.delegate.auth.currentUser.displayName - placeholder:FUILocalizedString(kStr_PlaceholderEnterName) - type:FUIStaticContentTableViewCellTypeInput - action:nil]; - FUIStaticContentTableViewContent *contents = - [FUIStaticContentTableViewContent contentWithSections:@[ - [FUIStaticContentTableViewSection sectionWithTitle:nil - cells:@[cell]], - ]]; - - UIViewController *controller = - [[FUIStaticContentTableViewController alloc] initWithContents:contents - nextTitle:FUILocalizedString(kStr_Save) - nextAction:^{ - [self onUpdateName:cell.value]; - }]; - controller.title = FUILocalizedString(kStr_EditNameTitle); - [self.delegate pushViewController:controller]; -} - -- (void)onUpdateName:(NSString *)username { - [self.delegate incrementActivity]; - FIRUserProfileChangeRequest *request = [self.delegate.auth.currentUser profileChangeRequest]; - request.displayName = username; - [request commitChangesWithCompletion:^(NSError *_Nullable error) { - [self.delegate decrementActivity]; - [self finishOperationWithError:error]; - [self.delegate presentBaseController]; - }]; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdatePassword.h b/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdatePassword.h deleted file mode 100644 index 10e67240b53..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdatePassword.h +++ /dev/null @@ -1,59 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperation.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIAccountSettingsOperationUpdatePassword - @brief Handles logic of updating password operation. - */ -@interface FUIAccountSettingsOperationUpdatePassword : FUIAccountSettingsOperation - -/** @fn executeOperationWithDelegate:showDialog: - @brief Instead use @c executeOperationWithDelegate:showDialog:newPassword: - @param delegate UI delegate which handles all UI related logic. - @param showDialog Determines if operation specific UI should be started with confirmation - dialog. - @return Instance of the executed operation. - */ -+ (instancetype)executeOperationWithDelegate:(id)delegate - showDialog:(BOOL)showDialog NS_UNAVAILABLE; - -/** @fn executeOperationWithDelegate: - @brief Instead use @c executeOperationWithDelegate:showDialog:newPassword: - @param delegate UI delegate which handles all UI related logic. - @return Instance of the executed operation. - */ -+ (instancetype)executeOperationWithDelegate:(id)delegate - NS_UNAVAILABLE; - -/** @fn executeOperationWithDelegate:showDialog:newPassword: - @brief Creates new instance of @c FUIAccountSettingsOperationUnlinkAccount and executes logic - associated with it. - @param delegate UI delegate which handles all UI related logic. - @param showDialog Determines if operation specific UI should be started with confirmation - dialog. - @param newPassword Defines if this is add password (pass YES) or update password operation. - @return Instance of the executed operation. - */ -+ (instancetype)executeOperationWithDelegate:(id)delegate - showDialog:(BOOL)showDialog - newPassword:(BOOL)newPassword; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdatePassword.m b/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdatePassword.m deleted file mode 100644 index 120491524df..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdatePassword.m +++ /dev/null @@ -1,128 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperationUpdatePassword.h" - -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperation_Internal.h" - -@import FirebaseAuth; - -NS_ASSUME_NONNULL_BEGIN - -@interface FUIAccountSettingsOperationUpdatePassword () -{ - BOOL _newPassword; -} -@end - -@implementation FUIAccountSettingsOperationUpdatePassword - -+ (instancetype)executeOperationWithDelegate:(id)delegate - showDialog:(BOOL)showDialog - newPassword:(BOOL)newPassword { - FUIAccountSettingsOperationUpdatePassword *operation = - [[self alloc] initWithDelegate:delegate newPassword:newPassword]; - [operation execute:showDialog]; - return operation; -} - -- (instancetype)initWithDelegate:(id)delegate - newPassword:(BOOL)newPassword { - if (self = [super initWithDelegate:delegate]) { - _newPassword = newPassword; - } - return self; -} - -- (FUIAccountSettingsOperationType)operationType { - return FUIAccountSettingsOperationTypeUpdatePassword; -} - -- (void)execute:(BOOL)showDialog { - if (showDialog) { - [self showUpdatePasswordDialog:_newPassword]; - } else { - [self showUpdatePasswordView]; - } -} - -- (void)showUpdatePasswordDialog:(BOOL)newPassword { - NSString *message; - if (newPassword) { - message = FUILocalizedString(kStr_AddPasswordAlertMessage); - } else { - message = FUILocalizedString(kStr_EditPasswordAlertMessage); - } - - [self showVerifyDialogWithMessage:message - providerHandler:^{ [self showUpdatePassword:newPassword]; }]; - -} - -- (void)showUpdatePasswordView { - [self showVerifyPasswordViewWithMessage: - FUILocalizedString(kStr_ReauthenticateEditPasswordAlertMessage) - providerHandler:^{ [self showUpdatePassword:NO]; }]; -} - -- (void)showUpdatePassword:(BOOL)newPassword { - NSString *placeHolder = newPassword ? FUILocalizedString(kStr_PlaceholderChosePassword) : - FUILocalizedString(kStr_PlaceholderNewPassword); - __block FUIStaticContentTableViewCell *passwordCell = - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_Password) - value:nil - placeholder:placeHolder - type:FUIStaticContentTableViewCellTypePassword - action:nil]; - FUIStaticContentTableViewContent *contents = - [FUIStaticContentTableViewContent contentWithSections:@[ - [FUIStaticContentTableViewSection sectionWithTitle:nil - cells:@[passwordCell]], - ]]; - - UIViewController *controller = - [[FUIStaticContentTableViewController alloc] initWithContents:contents - nextTitle:FUILocalizedString(kStr_Save) - nextAction:^{ - [self updatePasswordForCurrentUser:passwordCell.value]; - }]; - if (newPassword) { - controller.title = FUILocalizedString(kStr_AddPasswordTitle); - } else { - controller.title = FUILocalizedString(kStr_EditPasswordTitle); - } - [self.delegate pushViewController:controller]; - -} - -- (void)updatePasswordForCurrentUser:(NSString *)password { - if (!password.length) { - [self showAlertWithMessage:FUILocalizedString(kStr_WeakPasswordError)]; - } else { - [self.delegate incrementActivity]; - [self.delegate.auth.currentUser updatePassword:password completion:^(NSError *_Nullable error) { - [self.delegate decrementActivity]; - [self finishOperationWithError:error]; - if (!error) { - [self.delegate presentBaseController]; - } - }]; - } -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsOperation_Internal.h b/FirebaseAuthUI/Sources/FUIAccountSettingsOperation_Internal.h deleted file mode 100644 index 33a989d6c09..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsOperation_Internal.h +++ /dev/null @@ -1,109 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIAccountSettingsOperation.h" - -@import FirebaseAuth; - -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAccountSettingsOperationType.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthStrings.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuth_Internal.h" -#import "FirebaseAuthUI/Sources/FUIStaticContentTableViewController.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @typedef FUIAccountSettingsChooseProviderHandler - @brief The type of block invoked when a select provider dialog button is tapped. - */ -typedef void(^FUIAccountSettingsChooseProviderHandler)(id provider); - -/** @typedef FUIAccountSettingsReauthenticateHandler - @brief The type of block invoked when reathentication operation is finished. - */ -typedef void(^FUIAccountSettingsReauthenticateHandler)(void); - -/** Internal methods which are not exposed for public usage. */ -@interface FUIAccountSettingsOperation () - -/** @fn initWithDelegate: - @brief Creates new instance of @c FUIAccountSettingsOperation. - */ -- (instancetype)initWithDelegate:(id)delegate; - -/** @fn finishOperationWithError: - @brief Callback which is used for notification of operation result. - */ -- (void)finishOperationWithError:(nullable NSError *)error; - -/** @fn reauthenticateWithProvider:actionHandler: - @brief Reauthenticates currently logged-in user with specified 3P porviderID. - @param providerID The ID of third party provider. - @param handler Block which is called when user was re-authenticated. - */ -- (void)reauthenticateWithProvider:(NSString *)providerID - actionHandler:(nullable FUIAccountSettingsReauthenticateHandler)handler; - -/** @fn reauthenticateWithPassword:actionHandler: - @brief Reauthenticates currently logged-in user with 'password' auth provider. - @param password Value of the password used for re-authentication of currently loggen-in user. - @param handler Block which is called when user was re-authenticated. - */ -- (void)reauthenticateWithPassword:(NSString *)password - actionHandler:(nullable FUIAccountSettingsReauthenticateHandler)handler; - -/** @fn showSelectProviderDialogWithAlertTitle:alertMessage:alertCloseButton:providerHandler: - @brief Displays alert dialog with all available 3P providers. - @param title The title of the dialog - @param message The message displayed in the alert body. - @param closeActionTitle The title of the close button. - @param handler Block which is called when user selects any of 3P providers. - */ -- (void)showSelectProviderDialogWithAlertTitle:(nullable NSString *)title - alertMessage:(nullable NSString *)message - alertCloseButton:(nullable NSString *)closeActionTitle - providerHandler:(nullable FUIAccountSettingsChooseProviderHandler) - handler; - -/** @fn showVerifyDialogWithMessage:providerHandler: - @brief Displays alert dialog when user need to verify it's identity. - @param message The message displayed in the alert body. - @param handler Block which is called when user selects any of 3P providers. - */ -- (void)showVerifyDialogWithMessage:(NSString *)message - providerHandler:(nullable FUIAccountSettingsReauthenticateHandler)handler; - -/** @fn showVerifyPasswordViewWithMessage:providerHandler: - @brief Displays view with password input field when user need to verify it's identity. - @param message The message displayed in the alert body. - @param handler Block which is called when user selects any of 3P providers. - */ -- (void)showVerifyPasswordViewWithMessage:(NSString *)message - providerHandler:(nullable FUIAccountSettingsReauthenticateHandler)handler; - -/** @fn showAlertWithMessage:message: - @brief Displays alert view with with specified message and OK button. - @param message The message displayed in the alert body. - */ -- (void)showAlertWithMessage:(NSString *)message; - -/** @property delegate - @brief The operation UI delegate which handles all UI callbacks. - */ -@property(nonatomic, weak, readonly) id delegate; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAccountSettingsViewController.m b/FirebaseAuthUI/Sources/FUIAccountSettingsViewController.m deleted file mode 100644 index 059b026cee6..00000000000 --- a/FirebaseAuthUI/Sources/FUIAccountSettingsViewController.m +++ /dev/null @@ -1,431 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/Public/FirebaseAuthUI/FUIAccountSettingsViewController.h" - -@import FirebaseAuth; - -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperation.h" -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationDeleteAccount.h" -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationForgotPassword.h" -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationSignOut.h" -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationUnlinkAccount.h" -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateEmail.h" -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdateName.h" -#import "FirebaseAuthUI/Sources/FUIAccountSettingsOperationUpdatePassword.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController_Internal.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthStrings.h" -#import "FirebaseAuthUI/Sources/FUIStaticContentTableViewController.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @var FUIASAccountState - @brief Defines all possible states of current loogged-in @c FIRUser. - */ -typedef NS_ENUM(NSInteger, FUIASAccountState) { - FUIASAccountStateUnknown = 0, - FUIASAccountStateEmailPassword, - FUIASAccountStateLinkedAccountWithEmail, - FUIASAccountStateLinkedAccountWithoutEmail, - FUIASAccountStateLinkedAccountWithEmailPassword -}; - -/** @var kUserAccountImage - @brief Name of icon to show default user account. - */ -static NSString *const kUserAccountImage = @"ic_account_circle.png"; - -@interface FUIAccountSettingsViewController () -@end - -@implementation FUIAccountSettingsViewController { - __weak UITableView *_tableView; - FUIStaticContentTableViewManager *_tableViewManager; - FUIASAccountState _accountState; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - _tableViewManager = [[FUIStaticContentTableViewManager alloc] init]; - _tableViewManager.tableView = _tableView; - _tableView.dataSource = _tableViewManager; - _tableView.delegate = _tableViewManager; - [self updateUI]; -} - -#pragma mark - Helpers - -- (FUIASAccountState)accountState { - NSArray> *providers = self.auth.currentUser.providerData; - if (!providers || providers.count == 0) { - return FUIASAccountStateUnknown; - } - - BOOL hasPasswordProvider = NO; - BOOL hasEmailInLinkedProvider = NO; - - for (id userInfo in providers) { - if (userInfo.email.length > 0 && - ![userInfo.providerID isEqualToString:@"password"]) { - hasEmailInLinkedProvider = YES; - } - - if ([userInfo.providerID isEqualToString:@"password"]) { - hasPasswordProvider = YES; - } - } - - if (providers.count == 1 && hasPasswordProvider) { - return FUIASAccountStateEmailPassword; - } else if (!hasPasswordProvider && !hasEmailInLinkedProvider) { - return FUIASAccountStateLinkedAccountWithoutEmail; - } else if (!hasPasswordProvider && hasEmailInLinkedProvider) { - return FUIASAccountStateLinkedAccountWithEmail; - } else if (hasPasswordProvider && hasEmailInLinkedProvider) { - return FUIASAccountStateLinkedAccountWithEmailPassword; - } else if (hasPasswordProvider && !hasEmailInLinkedProvider) { - return FUIASAccountStateLinkedAccountWithEmailPassword; - } - - return FUIASAccountStateUnknown; -} - -- (void)populateTableHeader { - - if (!self.auth.currentUser) { - _tableViewManager.tableView.tableHeaderView = nil; - return; - } - - CGFloat profileHeight = 60; - UIImageView *headerImage = - [[UIImageView alloc] initWithImage:[UIImage imageNamed:kUserAccountImage]]; - headerImage.layer.cornerRadius = profileHeight / 2; - headerImage.clipsToBounds = YES; - UIView *wrapper = [[UIView alloc] init]; - [wrapper addSubview:headerImage]; - headerImage.translatesAutoresizingMaskIntoConstraints = NO; - [headerImage addConstraint: - [NSLayoutConstraint constraintWithItem:headerImage - attribute:NSLayoutAttributeWidth - relatedBy:NSLayoutRelationEqual - toItem:nil - attribute:NSLayoutAttributeNotAnAttribute - multiplier:1 - constant:profileHeight]]; - [headerImage addConstraint: - [NSLayoutConstraint constraintWithItem:headerImage - attribute:NSLayoutAttributeHeight - relatedBy:NSLayoutRelationEqual - toItem:nil - attribute:NSLayoutAttributeNotAnAttribute - multiplier:1 - constant:profileHeight]]; - [wrapper addConstraint: - [NSLayoutConstraint constraintWithItem:headerImage - attribute:NSLayoutAttributeCenterX - relatedBy:NSLayoutRelationEqual - toItem:wrapper - attribute:NSLayoutAttributeCenterX - multiplier:1 - constant:0]]; - [wrapper addConstraint: - [NSLayoutConstraint constraintWithItem:headerImage - attribute:NSLayoutAttributeCenterY - relatedBy:NSLayoutRelationEqual - toItem:wrapper - attribute:NSLayoutAttributeCenterY - multiplier:1 - constant:0]]; - - _tableViewManager.tableView.tableHeaderView = wrapper; - CGRect frame = _tableViewManager.tableView.tableHeaderView.frame; - frame.size.height = 90; - _tableViewManager.tableView.tableHeaderView.frame = frame; - - NSURL *photoURL = self.auth.currentUser.photoURL; - if (photoURL) { - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - NSData *imageData = [NSData dataWithContentsOfURL:photoURL]; - UIImage *image = [UIImage imageWithData:imageData]; - dispatch_async(dispatch_get_main_queue(), ^{ - headerImage.image = image; - }); - }); - - } -} - -- (void)updateTable { - switch (_accountState) { - case FUIASAccountStateEmailPassword: - [self updateTableStateEmailPassword]; - break; - case FUIASAccountStateLinkedAccountWithEmail: - [self updateTableStateLinkedAccountWithEmail]; - break; - case FUIASAccountStateLinkedAccountWithoutEmail: - [self updateTableStateLinkedAccountWithoutEmail]; - break; - case FUIASAccountStateLinkedAccountWithEmailPassword: - [self updateTableStateLinkedAccountWithEmailPassword]; - break; - - default: - _tableViewManager.contents = nil; - break; - } -} - -- (void)updateTableStateEmailPassword { - _tableViewManager.contents = - [FUIStaticContentTableViewContent contentWithSections:@[ - [FUIStaticContentTableViewSection sectionWithTitle: - FUILocalizedString(kStr_ASSectionTitleProfile) - cells:@[ - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_ASCellName) - value:self.auth.currentUser.displayName - action:^{ - [FUIAccountSettingsOperationUpdateName executeOperationWithDelegate:self showDialog:NO]; - }], - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_ASCellEmail) - value:self.auth.currentUser.email - action:^{ - [FUIAccountSettingsOperationUpdateEmail executeOperationWithDelegate:self]; - }] - ]], - [FUIStaticContentTableViewSection sectionWithTitle: - FUILocalizedString(kStr_ASSectionTitleSecurity) - cells:@[ - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_ASCellChangePassword) - action:^{ - [FUIAccountSettingsOperationUpdatePassword executeOperationWithDelegate:self - showDialog:YES - newPassword:NO]; - }] - ]], - [self createActionsSection] - ]]; -} - -- (void)updateTableStateLinkedAccountWithoutEmail { - NSMutableArray *linkedAccounts = - [[NSMutableArray alloc] initWithCapacity:self.auth.currentUser.providerData.count]; - for (id userInfo in self.auth.currentUser.providerData) { - if ([userInfo.providerID isEqualToString:@"password"]) { - continue; - } - FUIStaticContentTableViewCell *cell = - [FUIStaticContentTableViewCell cellWithTitle: - [FUIAuthBaseViewController providerLocalizedName:userInfo.providerID] - value:userInfo.displayName]; - [linkedAccounts addObject:cell]; - } - - _tableViewManager.contents = - [FUIStaticContentTableViewContent contentWithSections:@[ - [FUIStaticContentTableViewSection sectionWithTitle: - FUILocalizedString(kStr_ASSectionTitleProfile) - cells:@[ - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_ASCellName) - value:self.auth.currentUser.displayName - action:^{ - [FUIAccountSettingsOperationUpdateName executeOperationWithDelegate:self showDialog:NO]; - }], - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_ASCellEmail) - value:self.auth.currentUser.email - action:^{ - [FUIAccountSettingsOperationUpdateEmail executeOperationWithDelegate:self]; - }] - ]], - [FUIStaticContentTableViewSection sectionWithTitle: - FUILocalizedString(kStr_ASSectionTitleLinkedAccounts) - cells:linkedAccounts], - [self createActionsSection] - ]]; -} - -- (void)updateTableStateLinkedAccountWithEmail { - NSMutableArray *linkedAccounts = - [[NSMutableArray alloc] initWithCapacity:self.auth.currentUser.providerData.count]; - for (id userInfo in self.auth.currentUser.providerData) { - if ([userInfo.providerID isEqualToString:@"password"]) { - continue; - } - FUIStaticContentTableViewCell *cell = - [FUIStaticContentTableViewCell cellWithTitle: - [FUIAuthBaseViewController providerLocalizedName:userInfo.providerID] - value:userInfo.displayName]; - [linkedAccounts addObject:cell]; - } - - _tableViewManager.contents = - [FUIStaticContentTableViewContent contentWithSections:@[ - [FUIStaticContentTableViewSection sectionWithTitle: - FUILocalizedString(kStr_ASSectionTitleProfile) - cells:@[ - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_ASCellName) - value:self.auth.currentUser.displayName - action:^{ - [FUIAccountSettingsOperationUpdateName executeOperationWithDelegate:self showDialog:NO]; - }], - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_ASCellEmail) - value:self.auth.currentUser.email - action:^{ - [FUIAccountSettingsOperationUpdateEmail executeOperationWithDelegate:self]; - }] - ]], - [FUIStaticContentTableViewSection sectionWithTitle: - FUILocalizedString(kStr_ASSectionTitleSecurity) - cells:@[ - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_ASCellAddPassword) - action:^{ - [FUIAccountSettingsOperationUpdatePassword executeOperationWithDelegate:self - showDialog:YES - newPassword:YES]; - }] - ]], - [FUIStaticContentTableViewSection sectionWithTitle: - FUILocalizedString(kStr_ASSectionTitleLinkedAccounts) - cells:linkedAccounts], - [self createActionsSection] - ]]; -} - -- (void)updateTableStateLinkedAccountWithEmailPassword { - NSMutableArray *linkedAccounts = - [[NSMutableArray alloc] initWithCapacity:self.auth.currentUser.providerData.count]; - for (id userInfo in self.auth.currentUser.providerData) { - if ([userInfo.providerID isEqualToString:@"password"]) { - continue; - } - FUIStaticContentTableViewCell *cell = - [FUIStaticContentTableViewCell cellWithTitle: - [FUIAuthBaseViewController providerLocalizedName:userInfo.providerID] - value:userInfo.displayName - action:^{ - [FUIAccountSettingsOperationUnlinkAccount executeOperationWithDelegate:self - showDialog:NO - provider:userInfo]; - }]; - [linkedAccounts addObject:cell]; - } - - _tableViewManager.contents = - [FUIStaticContentTableViewContent contentWithSections:@[ - [FUIStaticContentTableViewSection sectionWithTitle: - FUILocalizedString(kStr_ASSectionTitleProfile) - cells:@[ - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_ASCellName) - value:self.auth.currentUser.displayName - action:^{ - [FUIAccountSettingsOperationUpdateName executeOperationWithDelegate:self showDialog:NO]; - }], - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_ASCellEmail) - value:self.auth.currentUser.email - action:^{ - [FUIAccountSettingsOperationUpdateEmail executeOperationWithDelegate:self]; - }] - ]], - [FUIStaticContentTableViewSection sectionWithTitle: - FUILocalizedString(kStr_ASSectionTitleSecurity) - cells:@[ - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_ASCellChangePassword) - action:^{ - [FUIAccountSettingsOperationUpdatePassword executeOperationWithDelegate:self - showDialog:YES - newPassword:NO]; - }] - ]], - [FUIStaticContentTableViewSection sectionWithTitle: - FUILocalizedString(kStr_ASSectionTitleLinkedAccounts) - cells:linkedAccounts], - [self createActionsSection] - ]]; -} - -- (FUIStaticContentTableViewSection *)createActionsSection { - FUIStaticContentTableViewCell *signOutCell = - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_ASCellSignOut) - type:FUIStaticContentTableViewCellTypeButton - action:^{ - [FUIAccountSettingsOperationSignOut executeOperationWithDelegate:self]; - } -]; - NSMutableArray *cells = [NSMutableArray arrayWithObject:signOutCell]; - if (!_deleteAccountActionDisabled) { - FUIStaticContentTableViewCell *deleteCell = - [FUIStaticContentTableViewCell cellWithTitle:FUILocalizedString(kStr_ASCellDeleteAccount) - type:FUIStaticContentTableViewCellTypeButton - action:^{ - [FUIAccountSettingsOperationDeleteAccount executeOperationWithDelegate:self - showDialog:YES]; - } -]; - [cells addObject:deleteCell]; - } - return [FUIStaticContentTableViewSection sectionWithTitle:nil cells:cells]; -} - -- (void)updateUI { - _accountState = [self accountState]; - [self populateTableHeader]; - [self updateTable]; -} - -- (void)popToRoot { - [self.navigationController popToViewController:self animated:YES]; -} - -#pragma mark - FUIAccountSettingsOperationUIDelegate - -- (void)presentViewController:(UIViewController *)controller { - [self.navigationController presentViewController:controller animated:YES completion:nil]; -} - -- (void)pushViewController:(UIViewController *)controller { - [super pushViewController:controller]; -} - -- (void)presentBaseController { - [self popToRoot]; - [self updateUI]; -} - -- (void)incrementActivity { - UIViewController *controller = self.navigationController.topViewController; - if (controller == self) { - [super incrementActivity]; - } else if ([controller isKindOfClass:[FUIAuthBaseViewController class]]) { - [(FUIAuthBaseViewController *)controller incrementActivity]; - } -} - -- (void)decrementActivity { - UIViewController *controller = self.navigationController.topViewController; - if (controller == self) { - [super decrementActivity]; - } else if ([controller isKindOfClass:[FUIAuthBaseViewController class]]) { - [(FUIAuthBaseViewController *)controller decrementActivity]; - } -} - -- (UIViewController *)presentingController { - return self; -} -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAuth.m b/FirebaseAuthUI/Sources/FUIAuth.m deleted file mode 100644 index abf91240325..00000000000 --- a/FirebaseAuthUI/Sources/FUIAuth.m +++ /dev/null @@ -1,423 +0,0 @@ -// -// 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/Sources/Public/FirebaseAuthUI/FUIAuth_Internal.h" - -#import - -#import -#import -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController_Internal.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthErrors.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthErrorUtils.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthPickerViewController.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthStrings.h" - -@import FirebaseAuth; - -/** @var kAppNameCodingKey - @brief The key used to encode the app Name for NSCoding. - */ -static NSString *const kAppNameCodingKey = @"appName"; - -/** @var kAuthAssociationKey - @brief The address of this variable is used as the key for associating FUIAuth instances with - root FIRAuth objects. - */ -static const char kAuthAssociationKey; - -/** @var kErrorUserInfoEmailKey - @brief The key for the email address in the userInfo dictionary of a sign in error. - */ -static NSString *const kErrorUserInfoEmailKey = @"FIRAuthErrorUserInfoEmailKey"; - -/** @var kFirebaseAuthUIFrameworkMarker - @brief The marker in the HTTP header that indicates the presence of Firebase Auth UI. - */ -static NSString *const kFirebaseAuthUIFrameworkMarker = @"FirebaseUI-iOS"; - -/** @category FIRAuth(InternalInterface) - @brief Redeclares the internal interface not publicly exposed in FIRAuth. - */ -@interface FIRAuth (InternalInterface) - -/** @property additionalFrameworkMarker - @brief Additional framework marker that will be added as part of the header of every request. - */ -@property(nonatomic, copy, nullable) NSString *additionalFrameworkMarker; - -@end - -@interface FUIAuth () - -/** @fn initWithAuth: - @brief auth The @c FIRAuth to associate the @c FUIAuth instance with. - */ -- (instancetype)initWithAuth:(FIRAuth *)auth NS_DESIGNATED_INITIALIZER; - -@end - -@implementation FUIAuth { - id __weak _emailAuthProvider; -} - -+ (nullable FUIAuth *)defaultAuthUI { - FIRAuth *defaultAuth = [FIRAuth auth]; - if (!defaultAuth) { - return nil; - } - return [self authUIWithAuth:defaultAuth]; -} - -+ (nullable FUIAuth *)authUIWithAuth:(FIRAuth *)auth { - NSParameterAssert(auth != nil); - @synchronized (self) { - // Let the FIRAuth instance retain the FUIAuth instance. - FUIAuth *authUI = objc_getAssociatedObject(auth, &kAuthAssociationKey); - if (!authUI) { - authUI = [[FUIAuth alloc] initWithAuth:auth]; - objc_setAssociatedObject(auth, &kAuthAssociationKey, authUI, - OBJC_ASSOCIATION_RETAIN_NONATOMIC); - if ([auth respondsToSelector:@selector(setAdditionalFrameworkMarker:)]) { - auth.additionalFrameworkMarker = kFirebaseAuthUIFrameworkMarker; - } - // Update auth with the actual language used in the app. - // If localization is not provided by developer, the first localization available, - // ordered by the user's preferred order, is used. - auth.languageCode = [NSBundle mainBundle].preferredLocalizations.firstObject; - } - return authUI; - } -} - -- (instancetype)initWithAuth:(FIRAuth *)auth { - self = [super init]; - if (self) { - _auth = auth; - _interactiveDismissEnabled = YES; - } - return self; -} - -- (BOOL)handleOpenURL:(NSURL *)URL - sourceApplication:(NSString *)sourceApplication { - // Complete IDP-based sign-in flow. - for (id provider in _providers) { - if ([provider handleOpenURL:URL sourceApplication:sourceApplication]) { - return YES; - } - } - // The URL was not meant for us. - return NO; -} - -- (UINavigationController *)authViewController { - static UINavigationController *authViewController; - - UIViewController *controller; - if ([self.delegate respondsToSelector:@selector(authPickerViewControllerForAuthUI:)]) { - controller = [self.delegate authPickerViewControllerForAuthUI:self]; - } else { - controller = [[FUIAuthPickerViewController alloc] initWithAuthUI:self]; - } - authViewController = [[UINavigationController alloc] initWithRootViewController:controller]; - - return authViewController; -} - -- (BOOL)signOutWithError:(NSError *_Nullable *_Nullable)error { - // sign out from Firebase - BOOL success = [self.auth signOut:error]; - if (success) { - // sign out from all providers (wipes provider tokens too) - for (id provider in _providers) { - [provider signOut]; - } - } - - return success; -} - -- (void)signInWithProviderUI:(id)providerUI - presentingViewController:(FUIAuthBaseViewController *)presentingViewController - defaultValue:(nullable NSString *)defaultValue { - - // Sign out first to make sure sign in starts with a clean state. - [providerUI signOut]; - [providerUI signInWithDefaultValue:defaultValue - presentingViewController:presentingViewController - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - _Nullable FIRAuthResultCallback result, - NSDictionary *_Nullable userInfo) { - BOOL isAuthPickerShown = - [presentingViewController isKindOfClass:[FUIAuthPickerViewController class]]; - if (error) { - if (!isAuthPickerShown || error.code != FUIAuthErrorCodeUserCancelledSignIn) { - [self invokeResultCallbackWithAuthDataResult:nil URL:nil error:error]; - } - if (result) { - result(nil, error); - } - return; - } - - // Test if it's an anonymous login. - if (self.auth.currentUser.isAnonymous && !credential) { - if (result) { - result(self.auth.currentUser, nil); - } - // Hide Auth Picker Controller which was presented modally. - if (isAuthPickerShown && presentingViewController.presentingViewController) { - [presentingViewController dismissViewControllerAnimated:YES completion:nil]; - } - FIRAuthDataResult *authResult = userInfo[FUIAuthProviderSignInUserInfoKeyAuthDataResult]; - if (authResult != nil) { - [self invokeResultCallbackWithAuthDataResult:authResult URL:nil error:error]; - } - return; - } - - // Check for the presence of an anonymous user and whether automatic upgrade is enabled. - if (self.auth.currentUser.isAnonymous && self.shouldAutoUpgradeAnonymousUsers) { - [self autoUpgradeAccountWithProviderUI:providerUI - presentingViewController:presentingViewController - credential:credential - resultCallback:result]; - } else { - [self.auth signInWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - if (self.emailAuthProvider && error - && error.code == FIRAuthErrorCodeAccountExistsWithDifferentCredential) { - NSString *email = error.userInfo[kErrorUserInfoEmailKey]; - [self.emailAuthProvider handleAccountLinkingForEmail:email - newCredential:credential - presentingViewController:presentingViewController - signInResult:result]; - - return; - } - if (error) { - if (result) { - result(nil, error); - } - [self invokeResultCallbackWithAuthDataResult:nil URL:nil error:error]; - return; - } - [self completeSignInWithResult:authResult - error:nil - presentingViewController:presentingViewController - callback:result]; - }]; - } - }]; -} - -- (void)autoUpgradeAccountWithProviderUI:(id)providerUI - presentingViewController:(FUIAuthBaseViewController *)presentingViewController - credential:(nullable FIRAuthCredential *)credential - resultCallback:(nullable FIRAuthResultCallback)callback { - [self.auth.currentUser - linkWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError * _Nullable error) { - if (error) { - // Check for "credential in use" conflict error and handle appropriately. - if (error.code == FIRAuthErrorCodeCredentialAlreadyInUse) { - // TODO: When Firebase 11 is minimum update string to - // FIRAuthErrors.userInfoUpdatedCredentialKey - FIRAuthCredential *newCredential = - error.userInfo[@"FIRAuthErrorUserInfoUpdatedCredentialKey"]; - NSDictionary *userInfo = @{ }; - if (newCredential) { - userInfo = @{ FUIAuthCredentialKey : newCredential }; - } - NSError *mergeError = [FUIAuthErrorUtils mergeConflictErrorWithUserInfo:userInfo - underlyingError:error]; - [self completeSignInWithResult:authResult - error:mergeError - presentingViewController:presentingViewController - callback:callback]; - } else if (error.code == FIRAuthErrorCodeEmailAlreadyInUse) { - if ([providerUI respondsToSelector:@selector(email)]) { - // Link federated providers - [self.emailAuthProvider signInWithEmailHint:[providerUI email] - presentingViewController:presentingViewController - originalError:error - completion: - ^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable emailError, - FIRAuthCredential *_Nullable existingCredential) { - if (emailError) { - [self completeSignInWithResult:nil - error:emailError - presentingViewController:presentingViewController - callback:callback]; - return; - } - - if (![authResult.user.email isEqualToString:[providerUI email]] - && credential != nil) { - NSDictionary *userInfo = @{ - FUIAuthCredentialKey : credential, - }; - NSError *mergeError = [FUIAuthErrorUtils mergeConflictErrorWithUserInfo:userInfo - underlyingError:error]; - [self completeSignInWithResult:authResult - error:mergeError - presentingViewController:presentingViewController - callback:callback]; - return; - } - - [authResult.user linkWithCredential:credential - completion:^(FIRAuthDataResult *authResult, - NSError *linkError) { - if (linkError) { - [self completeSignInWithResult:nil - error:linkError - presentingViewController:presentingViewController - callback:callback]; - return; - } - FIRAuthCredential *newCredential = credential; - NSDictionary *userInfo = @{ - FUIAuthCredentialKey : newCredential, - }; - NSError *mergeError = [FUIAuthErrorUtils mergeConflictErrorWithUserInfo:userInfo - underlyingError:error]; - [self completeSignInWithResult:authResult - error:mergeError - presentingViewController:presentingViewController - callback:callback]; - }]; - }]; - } - } else { - [self completeSignInWithResult:nil - error:error - presentingViewController:presentingViewController - callback:callback]; - } - } else { - [self completeSignInWithResult:authResult - error:nil - presentingViewController:presentingViewController - callback:callback]; - } - }]; -} - -- (void)completeSignInWithResult:(nullable FIRAuthDataResult *)authResult - error:(nullable NSError *)error - presentingViewController:(FUIAuthBaseViewController *)presentingViewController - callback:(nullable FIRAuthResultCallback)callback { - BOOL isAuthPickerShown = - [presentingViewController isKindOfClass:[FUIAuthPickerViewController class]]; - if (callback) { - callback(authResult.user, error); - } - // Hide Auth Picker Controller which was presented modally. - if (isAuthPickerShown && presentingViewController.presentingViewController) { - [presentingViewController dismissViewControllerAnimated:YES completion:^{ - [self invokeResultCallbackWithAuthDataResult:authResult URL:nil error:error]; - }]; - } else { - [self invokeResultCallbackWithAuthDataResult:authResult URL:nil error:error]; - } -} - -- (void)useEmulatorWithHost:(NSString *)host port:(NSInteger)port { - [self.auth useEmulatorWithHost:host port:port]; - self.emulatorEnabled = YES; -} - -#pragma mark - Internal Methods - -- (void)invokeResultCallbackWithAuthDataResult:(nullable FIRAuthDataResult *)authDataResult - URL:(nullable NSURL *)url - error:(nullable NSError *)error { - dispatch_async(dispatch_get_main_queue(), ^{ - if ([self.delegate respondsToSelector:@selector(authUI:didSignInWith:URL:error:)]) { - [self.delegate authUI:self didSignInWith:authDataResult URL:url error:error]; - } - if ([self.delegate respondsToSelector:@selector(authUI:didSignInWith:error:)]) { - [self.delegate authUI:self didSignInWith:authDataResult error:error]; - } -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - if ([self.delegate respondsToSelector:@selector(authUI:didSignInWithUser:error:)]) { - [self.delegate authUI:self didSignInWithUser:authDataResult.user error:error]; - } -#pragma clang diagnostic pop - }); -} - -- (void)invokeOperationCallback:(FUIAccountSettingsOperationType)operation - error:(NSError *_Nullable)error { - dispatch_async(dispatch_get_main_queue(), ^{ - if ([self.delegate respondsToSelector:@selector(authUI:didFinishOperation:error:)]) { - [self.delegate authUI:self didFinishOperation:operation error:error]; - } - }); -} - -- (nullable id)providerWithID:(NSString *)providerID { - NSArray> *providers = self.providers; - for (id provider in providers) { - if ([provider.providerID isEqual:providerID]) { - return provider; - } - } - return nil; -} - -- (void)setEmailAuthProvider:(id)emailAuthProvider { - _emailAuthProvider = emailAuthProvider; -} - -- (id)emailAuthProvider { - return _emailAuthProvider; -} - -#pragma mark - NSSecureCoding - -+ (BOOL)supportsSecureCoding { - return YES; -} - -- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder { - NSString *appName = [aDecoder decodeObjectOfClass:[NSString class] forKey:kAppNameCodingKey]; - if (!appName) { - return nil; - } - FIRApp *app = [FIRApp appNamed:appName]; - if (!app) { - return nil; - } - FIRAuth *auth = [FIRAuth authWithApp:app]; - if (!auth) { - return nil; - } - return [self initWithAuth:auth]; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder { - [aCoder encodeObject:_auth.app.name forKey:kAppNameCodingKey]; -} - -@end diff --git a/FirebaseAuthUI/Sources/FUIAuthBaseViewController.m b/FirebaseAuthUI/Sources/FUIAuthBaseViewController.m deleted file mode 100644 index 8899a87a29c..00000000000 --- a/FirebaseAuthUI/Sources/FUIAuthBaseViewController.m +++ /dev/null @@ -1,451 +0,0 @@ -// -// 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/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController_Internal.h" - -@import FirebaseAuth; -#import - -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthErrorUtils.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthStrings.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthUtils.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuth_Internal.h" - - -/** @var kActivityIndiactorPadding - @brief The padding between the activity indiactor and its overlay. - */ -static const CGFloat kActivityIndiactorPadding = 20.0f; - -/** @var kActivityIndiactorOverlayCornerRadius - @brief The corner radius of the overlay of the activity indicator. - */ -static const CGFloat kActivityIndiactorOverlayCornerRadius = 20.0f; - -/** @var kActivityIndiactorOverlayOpacity - @brief The opacity of the overlay of the activity indicator. - */ -static const CGFloat kActivityIndiactorOverlayOpacity = 0.8f; - -/** @var kActivityIndiactorAnimationDelay - @brief The time delay before the activity indicator is actually animated. - */ -static const NSTimeInterval kActivityIndiactorAnimationDelay = 0.5f; - -/** @var kUITableViewCellHeight - @brief Height of all table view cells used in subclasses of the controller. - */ -static const CGFloat kUITableViewCellHeight = 44.f; - -/** @var kEmailRegex - @brief Regular expression for matching email addresses. - */ -static NSString *const kEmailRegex = @".+@([a-zA-Z0-9\\-]+\\.)+[a-zA-Z0-9]{2,63}"; - -/** @var kAuthUICodingKey - @brief The key used to encode @c FUIAuth instance for NSCoding. - */ -static NSString *const kAuthUICodingKey = @"authUI"; - -@implementation FUIAuthBaseViewController { - /** @var _activityIndicator - @brief A spinner that is displayed when there's an ongoing activity. - */ - UIActivityIndicatorView *_activityIndicator; - - /** @var _activityCount - @brief Count of current ongoing activities. - */ - NSInteger _activityCount; -} - -- (instancetype)initWithNibName:(NSString *)nibNameOrNil - bundle:(NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI { - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - if (self) { - _auth = authUI.auth; - _authUI = authUI; - - _activityIndicator = [[self class] addActivityIndicator:self.view]; - } - return self; -} - -- (instancetype)initWithAuthUI:(FUIAuth *)authUI { - return [self initWithNibName:NSStringFromClass([self class]) - bundle:[FUIAuthUtils authUIBundle] - authUI:authUI]; -} - -- (void)viewDidLayoutSubviews { - [super viewDidLayoutSubviews]; - - CGPoint activityIndicatorCenter = self.view.center; - // Compensate for bounds adjustment if any. - activityIndicatorCenter.y += self.view.bounds.origin.y; - _activityIndicator.center = activityIndicatorCenter; -} - -#pragma mark - NSCoding - -- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder { - FUIAuth *authUI = [aDecoder decodeObjectOfClass:[FUIAuth class] forKey:kAuthUICodingKey]; - if (!authUI) { - return nil; - } - return [self initWithAuthUI:authUI]; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder { - [aCoder encodeObject:_authUI forKey:kAuthUICodingKey]; -} - -#pragma mark - Utilities - -+ (BOOL)isValidEmail:(NSString *)email { - static dispatch_once_t onceToken; - static NSPredicate *emailPredicate; - dispatch_once(&onceToken, ^{ - emailPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", kEmailRegex]; - }); - return [emailPredicate evaluateWithObject:email]; -} - -+ (UIActivityIndicatorView *)addActivityIndicator:(UIView *)view { - if (!view) { - return nil; - } - UIActivityIndicatorView *activityIndicator = - [[UIActivityIndicatorView alloc] - initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleLarge]; - activityIndicator.color = [UIColor colorWithWhite:1 alpha:1]; - UIView *tintView = [[UIView alloc] initWithFrame:CGRectInset(activityIndicator.frame, - -kActivityIndiactorPadding, - -kActivityIndiactorPadding)]; - tintView.backgroundColor = - [UIColor colorWithWhite:0 alpha:kActivityIndiactorOverlayOpacity]; - tintView.layer.cornerRadius = kActivityIndiactorOverlayCornerRadius; - [activityIndicator addSubview:tintView]; - - // Align tintView (transparent background). - tintView.translatesAutoresizingMaskIntoConstraints = NO; - [activityIndicator addConstraint: - [NSLayoutConstraint constraintWithItem:tintView - attribute:NSLayoutAttributeWidth - relatedBy:NSLayoutRelationEqual - toItem:nil - attribute:NSLayoutAttributeNotAnAttribute - multiplier:1 - constant:CGRectGetWidth(tintView.frame)]]; - [activityIndicator addConstraint: - [NSLayoutConstraint constraintWithItem:tintView - attribute:NSLayoutAttributeCenterX - relatedBy:NSLayoutRelationEqual - toItem:activityIndicator - attribute:NSLayoutAttributeCenterX - multiplier:1 - constant:0]]; - - [activityIndicator addConstraint: - [NSLayoutConstraint constraintWithItem:tintView - attribute:NSLayoutAttributeHeight - relatedBy:NSLayoutRelationEqual - toItem:nil - attribute:NSLayoutAttributeNotAnAttribute - multiplier:1 - constant:CGRectGetHeight(tintView.frame)]]; - [activityIndicator addConstraint: - [NSLayoutConstraint constraintWithItem:tintView - attribute:NSLayoutAttributeCenterY - relatedBy:NSLayoutRelationEqual - toItem:activityIndicator - attribute:NSLayoutAttributeCenterY - multiplier:1 - constant:0]]; - - [activityIndicator sendSubviewToBack:tintView]; - - [view addSubview:activityIndicator]; - // Align activity indicator. - activityIndicator.translatesAutoresizingMaskIntoConstraints = NO; - [view addConstraint: - [NSLayoutConstraint constraintWithItem:activityIndicator - attribute:NSLayoutAttributeWidth - relatedBy:NSLayoutRelationEqual - toItem:view - attribute:NSLayoutAttributeWidth - multiplier:1 - constant:0]]; - [view addConstraint: - [NSLayoutConstraint constraintWithItem:activityIndicator - attribute:NSLayoutAttributeCenterX - relatedBy:NSLayoutRelationEqual - toItem:view - attribute:NSLayoutAttributeCenterX - multiplier:1 - constant:0]]; - - [view addConstraint: - [NSLayoutConstraint constraintWithItem:activityIndicator - attribute:NSLayoutAttributeHeight - relatedBy:NSLayoutRelationEqual - toItem:view - attribute:NSLayoutAttributeHeight - multiplier:1 - constant:0]]; - [view addConstraint: - [NSLayoutConstraint constraintWithItem:activityIndicator - attribute:NSLayoutAttributeCenterY - relatedBy:NSLayoutRelationEqual - toItem:view - attribute:NSLayoutAttributeCenterY - multiplier:1 - constant:0]]; - return activityIndicator; -} - -- (void)showAlertWithMessage:(NSString *)message { - [[self class] showAlertWithMessage:message presentingViewController:self]; -} - -+ (void)showAlertWithMessage:(NSString *)message { - [[self class] showAlertWithMessage:message presentingViewController:nil]; -} - -+ (void)showAlertWithMessage:(NSString *)message - presentingViewController:(nullable UIViewController *)presentingViewController { - [[self class] showAlertWithTitle:message - message:nil - presentingViewController:presentingViewController]; -} - -+ (void)showAlertWithTitle:(nullable NSString *)title - message:(nullable NSString *)message - presentingViewController:(nullable UIViewController *)presentingViewController { - [[self class] showAlertWithTitle:title - message:message - actionTitle:nil - actionHandler:nil - dismissTitle:FUILocalizedString(kStr_OK) - dismissHandler:nil - presentingViewController:presentingViewController]; -} - -+ (void)showAlertWithTitle:(nullable NSString *)title - message:(nullable NSString *)message - actionTitle:(nullable NSString *)actionTitle - actionHandler:(nullable FUIAuthAlertActionHandler)actionHandler - dismissTitle:(nullable NSString *)dismissTitle - dismissHandler:(nullable FUIAuthAlertActionHandler)dismissHandler - presentingViewController:(nullable UIViewController *)presentingViewController { - UIAlertController *alertController = - [UIAlertController alertControllerWithTitle:title - message:message - preferredStyle:UIAlertControllerStyleAlert]; - - if (actionTitle) { - UIAlertAction *action = - [UIAlertAction actionWithTitle:actionTitle - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *_Nonnull action) { - if (actionHandler) { - actionHandler(); - } - }]; - [alertController addAction:action]; - } - - if (dismissTitle) { - UIAlertAction *dismissAction = - [UIAlertAction actionWithTitle:dismissTitle - style:UIAlertActionStyleCancel - handler:^(UIAlertAction * _Nonnull action) { - if (dismissHandler) { - dismissHandler(); - } - }]; - [alertController addAction:dismissAction]; - } - - if (presentingViewController) { - [presentingViewController presentViewController:alertController animated:YES completion:nil]; - } else { - UIViewController *viewController = [[UIViewController alloc] init]; - viewController.view.backgroundColor = UIColor.clearColor; - UIWindow *window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds]; - window.rootViewController = viewController; - window.windowLevel = UIWindowLevelAlert + 1; - [window makeKeyAndVisible]; - [viewController presentViewController:alertController animated:YES completion:nil]; - - if (@available(iOS 13.0, *)) { - /* - Earlier iOS versions established a strong reference to the window when makeKeyAndVisible was called. - Now we add one from the alert controller, to prevent objects from getting garbage collected right away. - */ - static char key; - objc_setAssociatedObject(alertController, &key, window, OBJC_ASSOCIATION_RETAIN_NONATOMIC); - } - } -} - -+ (void)showSignInAlertWithEmail:(NSString *)email - provider:(id)provider - presentingViewController:(UIViewController *)presentingViewController - signinHandler:(FUIAuthAlertActionHandler)signinHandler - cancelHandler:(FUIAuthAlertActionHandler)cancelHandler { - [self showSignInAlertWithEmail:email - providerShortName:provider.shortName - providerSignInLabel:provider.signInLabel - presentingViewController:presentingViewController - signinHandler:signinHandler - cancelHandler:cancelHandler]; -} - -+ (void)showSignInAlertWithEmail:(NSString *)email - providerShortName:(NSString *)providerShortName - providerSignInLabel:(NSString *)providerSignInLabel - presentingViewController:(UIViewController *)presentingViewController - signinHandler:(FUIAuthAlertActionHandler)signinHandler - cancelHandler:(FUIAuthAlertActionHandler)cancelHandler { - NSString *message = - [NSString stringWithFormat:FUILocalizedString(kStr_ProviderUsedPreviouslyMessage), - email, providerShortName]; - UIAlertController *alertController = - [UIAlertController alertControllerWithTitle:FUILocalizedString(kStr_ExistingAccountTitle) - message:message - preferredStyle:UIAlertControllerStyleAlert]; - UIAlertAction *signInAction = - [UIAlertAction actionWithTitle:providerSignInLabel - style:UIAlertActionStyleDefault - handler:^(UIAlertAction *_Nonnull action) { - if (signinHandler) { - signinHandler(); - } - }]; - [alertController addAction:signInAction]; - UIAlertAction *cancelAction = - [UIAlertAction actionWithTitle:FUILocalizedString(kStr_Cancel) - style:UIAlertActionStyleCancel - handler:^(UIAlertAction * _Nonnull action) { - if (cancelHandler) { - cancelHandler(); - } - }]; - [alertController addAction:cancelAction]; - [presentingViewController presentViewController:alertController animated:YES completion:nil]; -} - -- (void)pushViewController:(UIViewController *)viewController { - [[self class] pushViewController:viewController - navigationController:self.navigationController]; -} - -- (void)dismissNavigationControllerAnimated:(BOOL)animated completion:(void (^)(void))completion { - if (self.navigationController.presentingViewController == nil){ - if (completion){ - completion(); - } - } else { - [self.navigationController dismissViewControllerAnimated:animated completion:completion]; - } -} - -+ (void)pushViewController:(UIViewController *)viewController - navigationController:(UINavigationController *)navigationController { - // Override the back button title with "Back". - viewController.navigationItem.backBarButtonItem = - [[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back) - style:UIBarButtonItemStylePlain - target:nil - action:nil]; - [navigationController pushViewController:viewController animated:YES]; -} - - -+ (UIBarButtonItem *)barItemWithTitle:(NSString *)title - target:(nullable id)target - action:(SEL)action { - UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithTitle:title - style:UIBarButtonItemStylePlain - target:target - action:action]; - return buttonItem; -} - -- (void)onBack { - if (self.navigationController.viewControllers.count > 1) { - [self.navigationController popViewControllerAnimated:YES]; - } else { - [self cancelAuthorization]; - } -} - -- (void)incrementActivity { - _activityCount++; - - // Delay the display of acitivty indiactor for a short period of time. - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, - (int64_t)(kActivityIndiactorAnimationDelay * NSEC_PER_SEC)), - dispatch_get_main_queue(), ^{ - [self->_activityIndicator.superview bringSubviewToFront:self->_activityIndicator]; - if (self->_activityCount > 0) { - [self->_activityIndicator startAnimating]; - } - }); -} - -- (void)decrementActivity { - _activityCount--; - - if (_activityCount < 0) { - NSLog(@"Unbalanced calls to incrementActivity and decrementActivity."); - _activityCount = 0; - } - - if (_activityCount == 0) { - [_activityIndicator.superview sendSubviewToBack:_activityIndicator]; - [_activityIndicator stopAnimating]; - } -} - -- (void)cancelAuthorization { - [self dismissNavigationControllerAnimated:YES completion:^{ - NSError *error = [FUIAuthErrorUtils userCancelledSignInError]; - [self.authUI invokeResultCallbackWithAuthDataResult:nil URL:nil error:error]; - }]; -} - -+ (NSString *)providerLocalizedName:(NSString *)providerId { - if ([providerId isEqualToString:@"password"]) { - return FUILocalizedString(kStr_ProviderTitlePassword); - } else if ([providerId isEqualToString:@"google.com"]) { - return FUILocalizedString(kStr_ProviderTitleGoogle); - } else if ([providerId isEqualToString:@"facebook.com"]) { - return FUILocalizedString(kStr_ProviderTitleFacebook); - } else if ([providerId isEqualToString:@"twitter.com"]) { - return FUILocalizedString(kStr_ProviderTitleTwitter); - } - return @""; -} - -- (void)enableDynamicCellHeightForTableView:(UITableView *)tableView { - tableView.rowHeight = UITableViewAutomaticDimension; - tableView.estimatedRowHeight = kUITableViewCellHeight; -} - -@end diff --git a/FirebaseAuthUI/Sources/FUIAuthErrorUtils.m b/FirebaseAuthUI/Sources/FUIAuthErrorUtils.m deleted file mode 100644 index 0f82bf633df..00000000000 --- a/FirebaseAuthUI/Sources/FUIAuthErrorUtils.m +++ /dev/null @@ -1,49 +0,0 @@ -// -// 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/Sources/Public/FirebaseAuthUI/FUIAuthErrorUtils.h" - -@implementation FUIAuthErrorUtils - -+ (NSError *)errorWithCode:(FUIAuthErrorCode)code userInfo:(NSDictionary *)userInfo { - return [NSError errorWithDomain:FUIAuthErrorDomain code:code userInfo:userInfo]; -} - -+ (NSError *)userCancelledSignInError { - return [self errorWithCode:FUIAuthErrorCodeUserCancelledSignIn userInfo:nil]; -} - -+ (NSError *)mergeConflictErrorWithUserInfo:(NSDictionary *)userInfo - underlyingError:(NSError *)underlyingError { - NSMutableDictionary *errorInfo = [userInfo mutableCopy]; - if (underlyingError != nil) { - errorInfo[NSUnderlyingErrorKey] = underlyingError; - } - errorInfo[NSLocalizedDescriptionKey] = @"Unable to merge accounts. Check the userInfo dictionary" - @" for the auth credential of the logged-in account."; - return [self errorWithCode:FUIAuthErrorCodeMergeConflict userInfo:[errorInfo copy]]; -} - -+ (NSError *)providerErrorWithUnderlyingError:(NSError *)underlyingError - providerID:(NSString *)providerID { - return [self errorWithCode:FUIAuthErrorCodeProviderError - userInfo:@{ - NSUnderlyingErrorKey : underlyingError, - FUIAuthErrorUserInfoProviderIDKey : providerID - }]; -} - -@end diff --git a/FirebaseAuthUI/Sources/FUIAuthErrors.m b/FirebaseAuthUI/Sources/FUIAuthErrors.m deleted file mode 100644 index e03a0b81438..00000000000 --- a/FirebaseAuthUI/Sources/FUIAuthErrors.m +++ /dev/null @@ -1,23 +0,0 @@ -// -// 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/Sources/Public/FirebaseAuthUI/FUIAuthErrors.h" - -NSString *const FUIAuthErrorDomain = @"FUIAuthErrorDomain"; - -NSString *const FUIAuthErrorUserInfoProviderIDKey = @"FUIAuthErrorUserInfoProviderIDKey"; - -NSString *const FUIAuthCredentialKey = @"FUIAuthCredentialKey"; diff --git a/FirebaseAuthUI/Sources/FUIAuthPickerViewController.m b/FirebaseAuthUI/Sources/FUIAuthPickerViewController.m deleted file mode 100644 index 51bee95e89b..00000000000 --- a/FirebaseAuthUI/Sources/FUIAuthPickerViewController.m +++ /dev/null @@ -1,201 +0,0 @@ -// -// 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/Sources/Public/FirebaseAuthUI/FUIAuthPickerViewController.h" - -#import -@import FirebaseAuth; - -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController_Internal.h" -#import "FirebaseAuthUI/Sources/FUIAuthSignInButton.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthStrings.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthUtils.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuth_Internal.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIPrivacyAndTermsOfServiceView.h" - -/** @var kSignInButtonWidth - @brief The width of the sign in buttons. - */ -static const CGFloat kSignInButtonWidth = 220.0f; - -/** @var kSignInButtonHeight - @brief The height of the sign in buttons. - */ -static const CGFloat kSignInButtonHeight = 40.0f; - -/** @var kSignInButtonVerticalMargin - @brief The vertical margin between sign in buttons. - */ -static const CGFloat kSignInButtonVerticalMargin = 24.0f; - -/** @var kButtonContainerBottomMargin - @brief The magin between sign in buttons and the bottom of the content view. - */ -static const CGFloat kButtonContainerBottomMargin = 48.0f; - -/** @var kButtonContainerTopMargin - @brief The margin between sign in buttons and the top of the content view. - */ -static const CGFloat kButtonContainerTopMargin = 16.0f; - -/** @var kTOSViewBottomMargin - @brief The margin between privacy policy and TOS view and the bottom of the content view. - */ -static const CGFloat kTOSViewBottomMargin = 24.0f; - -/** @var kTOSViewHorizontalMargin - @brief The margin between privacy policy and TOS view and the left or right of the content view. - */ -static const CGFloat kTOSViewHorizontalMargin = 16.0f; - -@implementation FUIAuthPickerViewController { - UIView *_buttonContainerView; - - IBOutlet FUIPrivacyAndTermsOfServiceView *_privacyPolicyAndTOSView; - - IBOutlet UIView *_contentView; - - IBOutlet UIScrollView *_scrollView; -} - -- (instancetype)initWithAuthUI:(FUIAuth *)authUI { - return [self initWithNibName:@"FUIAuthPickerViewController" - bundle:[FUIAuthUtils authUIBundle] - authUI:authUI]; -} - -- (instancetype)initWithNibName:(NSString *)nibNameOrNil - bundle:(NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI { - - self = [super initWithNibName:nibNameOrNil - bundle:nibBundleOrNil - authUI:authUI]; - if (self) { - self.title = FUILocalizedString(kStr_AuthPickerTitle); - } - return self; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - // Makes sure that embedded scroll view properly handles translucent navigation bar - if (!self.navigationController.navigationBar.isTranslucent) { - self.extendedLayoutIncludesOpaqueBars = true; - } - - if (!self.authUI.shouldHideCancelButton) { - UIBarButtonItem *cancelBarButton = - [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel - target:self - action:@selector(cancelAuthorization)]; - self.navigationItem.leftBarButtonItem = cancelBarButton; - } - if (@available(iOS 13, *)) { - if (!self.authUI.interactiveDismissEnabled) { - self.modalInPresentation = YES; - } - } - - self.navigationItem.backBarButtonItem = - [[UIBarButtonItem alloc] initWithTitle:FUILocalizedString(kStr_Back) - style:UIBarButtonItemStylePlain - target:nil - action:nil]; - - NSInteger numberOfButtons = self.authUI.providers.count; - - CGFloat buttonContainerViewHeight = - kSignInButtonHeight * numberOfButtons + kSignInButtonVerticalMargin * (numberOfButtons); - CGRect buttonContainerViewFrame = CGRectMake(0, 0, kSignInButtonWidth, buttonContainerViewHeight); - _buttonContainerView = [[UIView alloc] initWithFrame:buttonContainerViewFrame]; - if (_scrollView) { - [_contentView addSubview:_buttonContainerView]; - } else { - // For backward compatibility. The old auth picker view does not have a scroll view and its - // customized class put the button container view directly into self.view. - [self.view addSubview:_buttonContainerView]; - } - - CGRect buttonFrame = CGRectMake(0, 0, kSignInButtonWidth, kSignInButtonHeight); - for (id providerUI in self.authUI.providers) { - UIButton *providerButton = - [[FUIAuthSignInButton alloc] initWithFrame:buttonFrame providerUI:providerUI]; - [providerButton addTarget:self - action:@selector(didTapSignInButton:) - forControlEvents:UIControlEventTouchUpInside]; - [_buttonContainerView addSubview:providerButton]; - - // Make the frame for the new button. - buttonFrame.origin.y += (kSignInButtonHeight + kSignInButtonVerticalMargin); - } - - _privacyPolicyAndTOSView.authUI = self.authUI; - [_privacyPolicyAndTOSView useFullMessage]; - [_contentView bringSubviewToFront:_privacyPolicyAndTOSView]; -} - -- (void)viewDidLayoutSubviews { - [super viewDidLayoutSubviews]; - - // For backward compatibility. The old auth picker view does not have a scroll view and its - // customized class put the button container view directly into self.view. The following is the - // old layout behavior. - if (!_scrollView) { - CGFloat distanceFromCenterToBottom = - CGRectGetHeight(_buttonContainerView.frame) / 2.0f + kButtonContainerBottomMargin + kTOSViewBottomMargin; - CGFloat centerY = CGRectGetHeight(self.view.bounds) - distanceFromCenterToBottom; - // Compensate for bounds adjustment if any. - centerY += self.view.bounds.origin.y; - _buttonContainerView.center = CGPointMake(self.view.center.x, centerY); - return; - } - - CGFloat buttonContainerHeight = CGRectGetHeight(_buttonContainerView.frame); - CGFloat buttonContainerWidth = CGRectGetWidth(_buttonContainerView.frame); - CGFloat contentViewHeight = kButtonContainerTopMargin + buttonContainerHeight - + kButtonContainerBottomMargin + kTOSViewBottomMargin; - CGFloat contentViewWidth = CGRectGetWidth(self.view.bounds); - _scrollView.frame = self.view.frame; - CGFloat scrollViewHeight = CGRectGetHeight(_scrollView.frame) - _scrollView.safeAreaInsets.top; - CGFloat contentViewY = scrollViewHeight - contentViewHeight; - if (contentViewY < 0) { - contentViewY = 0; - } - _contentView.frame = CGRectMake(0, contentViewY, contentViewWidth, contentViewHeight); - _scrollView.contentSize = CGSizeMake(contentViewWidth, contentViewY + contentViewHeight); - CGFloat buttonContainerLeftMargin = (contentViewWidth - buttonContainerWidth) / 2.0f; - _buttonContainerView.frame =CGRectMake(buttonContainerLeftMargin, - kButtonContainerTopMargin, - buttonContainerWidth, - buttonContainerHeight); - CGFloat privacyViewHeight = CGRectGetHeight(_privacyPolicyAndTOSView.frame); - _privacyPolicyAndTOSView.frame = CGRectMake(kTOSViewHorizontalMargin, contentViewHeight - - privacyViewHeight - kTOSViewBottomMargin, - contentViewWidth - kTOSViewHorizontalMargin*2, - privacyViewHeight); -} - -#pragma mark - Actions - -- (void)didTapSignInButton:(FUIAuthSignInButton *)button { - [self.authUI signInWithProviderUI:button.providerUI - presentingViewController:self - defaultValue:nil]; -} - -@end diff --git a/FirebaseAuthUI/Sources/FUIAuthSignInButton.h b/FirebaseAuthUI/Sources/FUIAuthSignInButton.h deleted file mode 100644 index c4063eb59f7..00000000000 --- a/FirebaseAuthUI/Sources/FUIAuthSignInButton.h +++ /dev/null @@ -1,68 +0,0 @@ -// -// 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 - -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthProvider.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIAuthSignInButton - @brief Button representing an identity provider on the auth picker screen that starts - authentication with the provider when touched. - */ -@interface FUIAuthSignInButton : UIButton - -/** @property provider - @brief The provider UI instance associated with this button. Can be nil. - */ -@property(nonatomic, strong, readonly, nullable) id providerUI; - -/** @fn initWithFrame: - @brief Please use initWithFrame:image:text:backgroundColor:textColor:. - */ -- (id)initWithFrame:(CGRect)frame NS_UNAVAILABLE; - -/** @fn initWithCoder: - @brief Please use initWithFrame:image:text:backgroundColor:textColor:. - */ -- (id)initWithCoder:(NSCoder *)aDecoder NS_UNAVAILABLE; - -/** @fn initWithFrame:image:text:backgroundColor:textColor: - @brief Designated initializer. - @param frame The initial frame for the button. - @param image Logo image for the button. - @param text Button text. - @param backgroundColor Background color of the button in the normal state. - @param textColor Color of the button text. - */ -- (id)initWithFrame:(CGRect)frame - image:(UIImage *)image - text:(NSString *)text - backgroundColor:(UIColor *)backgroundColor - textColor:(UIColor *)textColor - buttonAlignment:(FUIButtonAlignment)buttonAlignment NS_DESIGNATED_INITIALIZER; - -/** @fn initWithFrame:providerUI: - @brief Convenience initalizer. - @param frame The initial frame for the button. - @param providerUI The provider UI instance associated with this button. - */ -- (id)initWithFrame:(CGRect)frame providerUI:(id)providerUI; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAuthSignInButton.m b/FirebaseAuthUI/Sources/FUIAuthSignInButton.m deleted file mode 100644 index 263ad07f065..00000000000 --- a/FirebaseAuthUI/Sources/FUIAuthSignInButton.m +++ /dev/null @@ -1,116 +0,0 @@ -// -// 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/Sources/FUIAuthSignInButton.h" - -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthProvider.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthUtils.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @var kCornerRadius - @brief Corner radius of the button. - */ -static const int kCornerRadius = 2.0f; - -/** @var kDropShadowAlpha - @brief Opacity of the drop shadow of the button. - */ -static const CGFloat kDropShadowAlpha = 0.24f; - -/** @var kDropShadowRadius - @brief Radius of the drop shadow of the button. - */ -static const CGFloat kDropShadowRadius = 2.0f; - -/** @var kDropShadowYOffset - @brief Vertical offset of the drop shadow of the button. - */ -static const CGFloat kDropShadowYOffset = 2.0f; - -/** @var kFontSize - @brief Button text font size. - */ -static const CGFloat kFontSize = 12.0f; - -@implementation FUIAuthSignInButton - -- (instancetype)initWithFrame:(CGRect)frame - image:(UIImage *)image - text:(NSString *)text - backgroundColor:(UIColor *)backgroundColor - textColor:(UIColor *)textColor - buttonAlignment:(FUIButtonAlignment)buttonAlignment { - self = [super initWithFrame:frame]; - if (!self) { - return nil; - } - - self.backgroundColor = backgroundColor; - [self setTitle:text forState:UIControlStateNormal]; - [self setTitleColor:textColor forState:UIControlStateNormal]; - self.titleLabel.font = [UIFont boldSystemFontOfSize:kFontSize]; - self.titleLabel.lineBreakMode = NSLineBreakByWordWrapping; - [self setImage:image forState:UIControlStateNormal]; - - CGFloat paddingTitle = 8.0f; - CGFloat contentWidth = self.imageView.frame.size.width + paddingTitle + self.titleLabel.frame.size.width; - CGFloat paddingImage = 8.0f; - if (buttonAlignment == FUIButtonAlignmentCenter) { - paddingImage = (frame.size.width - contentWidth) / 2 - 4.0f; - } - BOOL isLTRLayout = [[UIApplication sharedApplication] userInterfaceLayoutDirection] == - UIUserInterfaceLayoutDirectionLeftToRight; - if (isLTRLayout) { - [self setTitleEdgeInsets:UIEdgeInsetsMake(0, paddingTitle, 0, paddingImage + paddingTitle)]; - [self setContentEdgeInsets:UIEdgeInsetsMake(0, paddingImage, 0, -paddingImage - paddingTitle)]; - [self setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft]; - } else { - [self setTitleEdgeInsets:UIEdgeInsetsMake(0, paddingImage + paddingTitle, 0, paddingTitle)]; - [self setContentEdgeInsets:UIEdgeInsetsMake(0, -paddingImage - paddingTitle, 0, paddingImage)]; - [self setContentHorizontalAlignment:UIControlContentHorizontalAlignmentRight]; - } - - - - self.layer.cornerRadius = kCornerRadius; - - // Add a drop shadow. - self.layer.masksToBounds = NO; - self.layer.shadowColor = [UIColor blackColor].CGColor; - self.layer.shadowOpacity = kDropShadowAlpha; - self.layer.shadowRadius = kDropShadowRadius; - self.layer.shadowOffset = CGSizeMake(0, kDropShadowYOffset); - - self.adjustsImageWhenHighlighted = NO; - - return self; -} - -- (instancetype)initWithFrame:(CGRect)frame providerUI:(id)providerUI { - _providerUI = providerUI; - return [self initWithFrame:frame - image:providerUI.icon - text:providerUI.signInLabel - backgroundColor:providerUI.buttonBackgroundColor - textColor:providerUI.buttonTextColor - buttonAlignment:providerUI.buttonAlignment]; -} - -@end - -NS_ASSUME_NONNULL_END - diff --git a/FirebaseAuthUI/Sources/FUIAuthStrings.m b/FirebaseAuthUI/Sources/FUIAuthStrings.m deleted file mode 100644 index 2ada2d22d82..00000000000 --- a/FirebaseAuthUI/Sources/FUIAuthStrings.m +++ /dev/null @@ -1,159 +0,0 @@ -// -// 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 - -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthStrings.h" - -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuth.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthUtils.h" - -NS_ASSUME_NONNULL_BEGIN - -// AuthUI string keys. -NSString *const kStr_ASCellAddPassword = @"AS_AddPassword"; -NSString *const kStr_ASCellChangePassword = @"AS_ChangePassword"; -NSString *const kStr_ASCellDeleteAccount = @"AS_DeleteAccount"; -NSString *const kStr_ASCellEmail = @"AS_Email"; -NSString *const kStr_ASCellName = @"AS_Name"; -NSString *const kStr_ASCellSignOut = @"AS_SignOut"; -NSString *const kStr_ASSectionTitleLinkedAccounts = @"AS_SectionLinkedAccounts"; -NSString *const kStr_ASSectionTitleProfile = @"AS_SectionProfile"; -NSString *const kStr_ASSectionTitleSecurity = @"AS_SectionSecurity"; -NSString *const kStr_AccountDisabledError = @"AccountDisabledError"; -NSString *const kStr_AuthPickerTitle = @"AuthPickerTitle"; -NSString *const kStr_Back = @"Back"; -NSString *const kStr_Cancel = @"Cancel"; -NSString *const kStr_CannotAuthenticateError = @"CannotAuthenticateError"; -NSString *const kStr_ChoosePassword = @"ChoosePassword"; -NSString *const kStr_Close = @"Close"; -NSString *const kStr_ConfirmEmail = @"ConfirmEmail"; -NSString *const kStr_Email = @"Email"; -NSString *const kStr_EmailAlreadyInUseError = @"EmailAlreadyInUseError"; -NSString *const kStr_EmailSentConfirmationMessage = @"EmailSentConfirmationMessage"; -NSString *const kStr_EnterYourEmail = @"EnterYourEmail"; -NSString *const kStr_EnterYourPassword = @"EnterYourPassword"; -NSString *const kStr_Error = @"Error"; -NSString *const kStr_ExistingAccountTitle = @"ExistingAccountTitle"; -NSString *const kStr_FirstAndLastName = @"FirstAndLastName"; -NSString *const kStr_ForgotPassword = @"ForgotPassword"; -NSString *const kStr_InvalidEmailError = @"InvalidEmailError"; -NSString *const kStr_InvalidPasswordError = @"InvalidPasswordError"; -NSString *const kStr_Name = @"Name"; -NSString *const kStr_Next = @"Next"; -NSString *const kStr_OK = @"OK"; -NSString *const kStr_Password = @"Password"; -NSString *const kStr_PasswordRecoveryEmailSentMessage = @"PasswordRecoveryEmailSentMessage"; -NSString *const kStr_PasswordRecoveryEmailSentTitle = @"PasswordRecoveryEmailSentTitle"; -NSString *const kStr_PasswordRecoveryMessage = @"PasswordRecoveryMessage"; -NSString *const kStr_PasswordRecoveryTitle = @"PasswordRecoveryTitle"; -NSString *const kStr_PasswordVerificationMessage = @"PasswordVerificationMessage"; -NSString *const kStr_ProviderUsedPreviouslyMessage = @"ProviderUsedPreviouslyMessage"; -NSString *const kStr_Save = @"Save"; -NSString *const kStr_Send = @"Send"; -NSString *const kStr_Resend = @"Resend"; -NSString *const kStr_SignedIn = @"SignedIn"; -NSString *const kStr_SignInTitle = @"SignInTitle"; -NSString *const kStr_SignInTooManyTimesError = @"SignInTooManyTimesError"; -NSString *const kStr_SignInWithEmail = @"SignInWithEmail"; -NSString *const kStr_SignInEmailSent = @"SignInEmailSent"; -NSString *const kStr_SignUpTitle = @"SignUpTitle"; -NSString *const kStr_SignUpTooManyTimesError = @"SignUpTooManyTimesError"; -NSString *const kStr_TermsOfService = @"TermsOfService"; -NSString *const kStr_TroubleGettingEmailTitle = @"TroubleGettingEmailTitle"; -NSString *const kStr_TroubleGettingEmailMessage = @"TroubleGettingEmailMessage"; -NSString *const kStr_PrivacyPolicy = @"PrivacyPolicy"; -NSString *const kStr_TermsOfServiceMessage = @"TermsOfServiceMessage"; -NSString *const kStr_UserNotFoundError = @"UserNotFoundError"; -NSString *const kStr_WeakPasswordError = @"WeakPasswordError"; -NSString *const kStr_WrongPasswordError = @"WrongPasswordError"; -NSString *const kStr_CantFindProvider = @"CantFindProvider"; -NSString *const kStr_EmailsDontMatch = @"EmailsDontMatch"; -NSString *const kStr_VerifyItsYou = @"VerifyItsYou"; -NSString *const kStr_DeleteAccountConfirmationTitle = @"DeleteAccountConfirmationTitle"; -NSString *const kStr_DeleteAccountBody = @"DeleteAccountBody"; -NSString *const kStr_DeleteAccountConfirmationMessage = @"DeleteAccountConfirmationMessage"; -NSString *const kStr_Delete = @"Delete"; -NSString *const kStr_DeleteAccountControllerTitle = @"DeleteAccountControllerTitle"; -NSString *const kStr_ActionCantBeUndone = @"ActionCantBeUndone"; -NSString *const kStr_UnlinkTitle = @"UnlinkTitle"; -NSString *const kStr_UnlinkAction = @"UnlinkAction"; -NSString *const kStr_UnlinkConfirmationTitle = @"UnlinkConfirmationTitle"; -NSString *const kStr_UnlinkConfirmationMessage = @"UnlinkConfirmationMessage"; -NSString *const kStr_UnlinkConfirmationActionTitle = @"UnlinkConfirmationActionTitle"; -NSString *const kStr_UpdateEmailAlertMessage = @"UpdateEmailAlertMessage"; -NSString *const kStr_UpdateEmailVerificationAlertMessage = @"UpdateEmailVerificationAlertMessage"; -NSString *const kStr_EditEmailTitle = @"EditEmailTitle"; -NSString *const kStr_EditNameTitle = @"EditNameTitle"; -NSString *const kStr_AddPasswordAlertMessage = @"AddPasswordAlertMessage"; -NSString *const kStr_EditPasswordAlertMessage = @"EditPasswordAlertMessage"; -NSString *const kStr_ReauthenticateEditPasswordAlertMessage = @"ReauthenticateEditPasswordAlertMessage"; -NSString *const kStr_AddPasswordTitle = @"AddPasswordTitle"; -NSString *const kStr_EditPasswordTitle = @"EditPasswordTitle"; -NSString *const kStr_ProviderTitlePassword = @"ProviderTitlePassword"; -NSString *const kStr_ProviderTitleGoogle = @"ProviderTitleGoogle"; -NSString *const kStr_ProviderTitleFacebook = @"ProviderTitleFacebook"; -NSString *const kStr_ProviderTitleTwitter = @"ProviderTitleTwitter"; -NSString *const kStr_SignInWithProvider = @"SignInWithProvider"; -NSString *const kStr_PlaceholderEnterName = @"PlaceholderEnterName"; -NSString *const kStr_PlaceholderEnterEmail = @"PlaceholderEnterEmail"; -NSString *const kStr_PlaceholderEnterPassword = @"PlaceholderEnterPassword"; -NSString *const kStr_PlaceholderChosePassword = @"PlaceholderChosePassword"; -NSString *const kStr_PlaceholderNewPassword = @"PlaceholderNewPassword"; -NSString *const kStr_ForgotPasswordTitle = @"ForgotPasswordTitle"; - -/** @var kKeyNotFound - @brief The value returned if the key is not found in the table. - */ -NSString *const kKeyNotFound = @"KeyNotFound"; - -/** @var kTableName - @brief The name of the strings table to search for localized strings. - */ -static NSString *const kTableName = @"FirebaseAuthUI"; - -NSString *FUILocalizedString(NSString *key) { - return FUILocalizedStringFromTable(key, kTableName); -} - -NSString *FUILocalizedStringFromTable(NSString *key, NSString *table) { - return FUILocalizedStringFromTableInBundle(key, table, [FUIAuthUtils authUIBundle]); -} - -NSString *FUILocalizedStringFromTableInBundle(NSString *key, - NSString *table, - NSBundle *_Nullable bundle) { - // Don't load defaultAuthUI if the default app isn't configured. We don't recommend - // people do this in our docs, but if for whatever reason they want to use a custom - // app, this code shouldn't crash. - if ([FIRApp defaultApp] != nil) { - NSBundle *customStringsBundle = [FUIAuth defaultAuthUI].customStringsBundle; - if (customStringsBundle) { - NSString *localizedString = [customStringsBundle localizedStringForKey:key - value:kKeyNotFound - table:table]; - if (![kKeyNotFound isEqual:localizedString]) { - return localizedString; - } - } - } - if (bundle == nil) { - bundle = [NSBundle mainBundle]; - } - return [bundle localizedStringForKey:key value:nil table:table]; -} - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIAuthTableHeaderView.m b/FirebaseAuthUI/Sources/FUIAuthTableHeaderView.m deleted file mode 100644 index c0554225d73..00000000000 --- a/FirebaseAuthUI/Sources/FUIAuthTableHeaderView.m +++ /dev/null @@ -1,83 +0,0 @@ -// -// 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/Sources/Public/FirebaseAuthUI/FUIAuthTableHeaderView.h" - -/** @var kLabelHorizontalMargin - @brief The horizontal margin around any @c UILabel. - */ -static const CGFloat kLabelHorizontalMargin = 8.0f; - -/** @var kLabelVerticalMargin - @brief The veritcal margin around any @c UILabel. - */ -static const CGFloat kLabelVerticalMargin = 16.0f; - -@implementation FUIAuthTableHeaderView - -- (instancetype)initWithFrame:(CGRect)frame { - self = [super initWithFrame:frame]; - if (self) { - _titleLabel = [[UILabel alloc] init]; - _titleLabel.font = [UIFont boldSystemFontOfSize:16.0f]; - [self addSubview:_titleLabel]; - - _detailLabel = [[UILabel alloc] init]; - _detailLabel.font = [UIFont systemFontOfSize:14.0f]; - _detailLabel.numberOfLines = 0; - [self addSubview:_detailLabel]; - } - return self; -} - -- (void)layoutSubviews { - [super layoutSubviews]; - - [_titleLabel sizeToFit]; - - CGRect contentRect = CGRectInset(self.bounds, kLabelHorizontalMargin, kLabelVerticalMargin); - CGRect titleLabelFrame, detailLabelFrame, space; - CGRectDivide(contentRect, &titleLabelFrame, &contentRect, - CGRectGetHeight(_titleLabel.frame), CGRectMinYEdge); - CGRectDivide(contentRect, &space, &detailLabelFrame, kLabelVerticalMargin, CGRectMinYEdge); - - _titleLabel.frame = titleLabelFrame; - _detailLabel.frame = detailLabelFrame; -} - -- (CGSize)sizeThatFits:(CGSize)size { - CGFloat labelWidth = size.width - kLabelHorizontalMargin * 2; - CGFloat titleLabelHeight = [[self class] sizeForLabel:_titleLabel maxWidth:labelWidth].height; - CGFloat detailLabelHeight = [[self class] sizeForLabel:_detailLabel maxWidth:labelWidth].height; - CGFloat height = titleLabelHeight + detailLabelHeight + kLabelVerticalMargin * 3; - return CGSizeMake(size.width, height); -} - -#pragma mark - Utility - -/** @fn sizeForLabel:maxWidth: - @brief Calculate the with of the @c UILabel with the given maximum width. - @return The calculated size. - */ -+ (CGSize)sizeForLabel:(UILabel *)label maxWidth:(CGFloat)maxWidth { - CGRect rect = [label.text boundingRectWithSize:CGSizeMake(maxWidth, CGFLOAT_MAX) - options:NSStringDrawingUsesLineFragmentOrigin - attributes:@{ NSFontAttributeName : label.font } - context:nil]; - return CGRectIntegral(rect).size; -} - -@end diff --git a/FirebaseAuthUI/Sources/FUIAuthTableViewCell.m b/FirebaseAuthUI/Sources/FUIAuthTableViewCell.m deleted file mode 100644 index 13b612667e7..00000000000 --- a/FirebaseAuthUI/Sources/FUIAuthTableViewCell.m +++ /dev/null @@ -1,35 +0,0 @@ -// -// 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/Sources/Public/FirebaseAuthUI/FUIAuthTableViewCell.h" - -@implementation FUIAuthTableViewCell - -- (void)awakeFromNib { - [super awakeFromNib]; - - if (@available(iOS 13.0, *)) { - self.textField.textColor = [UIColor labelColor]; - self.label.textColor = [UIColor labelColor]; - } -} - -- (void)setLabel:(UILabel *)label { - _label = label; - [self layoutIfNeeded]; -} - -@end diff --git a/FirebaseAuthUI/Sources/FUIAuthUtils.m b/FirebaseAuthUI/Sources/FUIAuthUtils.m deleted file mode 100644 index b389fb863dd..00000000000 --- a/FirebaseAuthUI/Sources/FUIAuthUtils.m +++ /dev/null @@ -1,126 +0,0 @@ -// -// 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/Sources/Public/FirebaseAuthUI/FUIAuthUtils.h" - -#import - -#if SWIFT_PACKAGE -NSString *const FUIAuthBundleName = @"FirebaseUI_FirebaseAuthUI"; -#else -NSString *const FUIAuthBundleName = @"FirebaseAuthUI"; -#endif // SWIFT_PACKAGE - -@implementation FUIAuthUtils - -+ (NSBundle *)authUIBundle { - return [self bundleNamed:FUIAuthBundleName - inFrameworkBundle:[NSBundle bundleForClass:[self class]]]; -} - -+ (nullable NSBundle *)bundleNamed:(nullable NSString *)bundleName - inFrameworkBundle:(nullable NSBundle *)framework { - NSBundle *returnBundle = nil; - if (!bundleName) { - bundleName = FUIAuthBundleName; - } - // Use the main bundle as a default if the framework wasn't provided. - NSBundle *frameworkBundle = framework; - if (frameworkBundle == nil) { - // If frameworkBundle is unspecified, assume main bundle/static linking. - frameworkBundle = [NSBundle mainBundle]; - } - // If using static frameworks, the bundle will be included directly in the main - // bundle. - NSString *path = [[NSBundle mainBundle] pathForResource:bundleName ofType:@"bundle"]; - - // Otherwise, check the appropriate framework bundle. - if (!path) { - path = [frameworkBundle pathForResource:bundleName ofType:@"bundle"]; - } - if (!path) { - NSLog(@"Warning: Unable to find bundle %@ in framework %@.", bundleName, framework); - // Fall back on the root module. - return frameworkBundle; - } - returnBundle = [NSBundle bundleWithPath:path]; - return returnBundle; -} - -+ (nullable UIImage *)imageNamed:(NSString *)name fromBundle:(nullable NSBundle *)bundle { - if (!bundle) { - bundle = [self authUIBundle]; - } - if (@available(iOS 13.0, *)) { - return [UIImage imageNamed:name inBundle:bundle withConfiguration:nil]; - } else { - NSString *path = [bundle pathForResource:name ofType:@"png"]; - if (!path) { - NSLog(@"Warning: Unable to find asset %@ in bundle %@.", name, bundle); - return nil; - } - return [UIImage imageWithContentsOfFile:path]; - } -} - -+ (NSString *)randomNonce { - // Adapted from https://auth0.com/docs/api-auth/tutorials/nonce#generate-a-cryptographically-random-nonce - NSString *characterSet = @"0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._"; - NSMutableString *result = [NSMutableString string]; - NSInteger remainingLength = 32; - - while (remainingLength > 0) { - NSMutableArray *randoms = [NSMutableArray arrayWithCapacity:16]; - for (NSInteger i = 0; i < 16; i++) { - uint8_t random = 0; - int errorCode = SecRandomCopyBytes(kSecRandomDefault, 1, &random); - if (errorCode != errSecSuccess) { - [NSException raise:@"FUIAuthGenerateRandomNonce" - format:@"Unable to generate nonce: OSStatus %i", errorCode]; - } - - [randoms addObject:@(random)]; - } - - for (NSNumber *random in randoms) { - if (remainingLength == 0) { - break; - } - - if (random.unsignedIntValue < characterSet.length) { - unichar character = [characterSet characterAtIndex:random.unsignedIntValue]; - [result appendFormat:@"%C", character]; - remainingLength--; - } - } - } - - return result; -} - -+ (NSString *)stringBySHA256HashingString:(NSString *)input { - const char *string = [input UTF8String]; - unsigned char result[CC_SHA256_DIGEST_LENGTH]; - CC_SHA256(string, (CC_LONG)strlen(string), result); - - NSMutableString *hashed = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH * 2]; - for (NSInteger i = 0; i < CC_SHA256_DIGEST_LENGTH; i++) { - [hashed appendFormat:@"%02x", result[i]]; - } - return hashed; -} - -@end diff --git a/FirebaseAuthUI/Sources/FUIPrivacyAndTermsOfServiceView.m b/FirebaseAuthUI/Sources/FUIPrivacyAndTermsOfServiceView.m deleted file mode 100644 index 10a7efb5ce8..00000000000 --- a/FirebaseAuthUI/Sources/FUIPrivacyAndTermsOfServiceView.m +++ /dev/null @@ -1,98 +0,0 @@ -// -// 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/Sources/Public/FirebaseAuthUI/FUIPrivacyAndTermsOfServiceView.h" - -@import FirebaseAuth; -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuth.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthStrings.h" - -NS_ASSUME_NONNULL_BEGIN - -@implementation FUIPrivacyAndTermsOfServiceView - -#pragma mark - Public - -- (void)useFullMessage { - NSAttributedString *fullMessage = [self fullPrivacyPolicyAndTOSMessage]; - self.attributedText = fullMessage; - self.textAlignment = NSTextAlignmentLeft; -} - -- (void)useFooterMessage { - NSAttributedString *footerMessage = [self footerPrivacyPolicyAndTOSMessage]; - self.attributedText = footerMessage; - self.textAlignment = NSTextAlignmentRight; -} - -#pragma mark - Protected - -- (nullable NSAttributedString *)privacyPolicyAndTOSMessageFromFormat:(NSString *)format { - FUIAuth *authUI = self.authUI ?: [FUIAuth defaultAuthUI]; - NSURL *TOSURL = authUI.TOSURL; - NSURL *privacyPolicyURL = authUI.privacyPolicyURL; - NSUInteger TOSURLStringLength = TOSURL.absoluteString.length; - NSUInteger privacyPolicyURLStringLength = privacyPolicyURL.absoluteString.length; - - if (!TOSURLStringLength && !privacyPolicyURLStringLength) { - return nil; - } - if (!TOSURLStringLength || !privacyPolicyURLStringLength) { - NSLog(@"The terms of service and privacy policy URLs for your app must be provided together. Pl" - "ease set the terms of service policy using [FUIAuth defaultAuthUI].TOSURL and the privacy" - " policy URL using [FUIAuth defaultAuthUI].privacyPolicyURL"); - return nil; - } - NSString *termsOfServiceString = FUILocalizedString(kStr_TermsOfService); - NSString *privacyPolicyString = FUILocalizedString(kStr_PrivacyPolicy); - NSString *privacyPolicyAndTOSString = - [NSString stringWithFormat:format, termsOfServiceString, privacyPolicyString]; - NSMutableAttributedString *attributedLinkText = nil; - - if (@available(iOS 13.0, *)) { - attributedLinkText = [[NSMutableAttributedString alloc] initWithString:privacyPolicyAndTOSString - attributes:@{NSForegroundColorAttributeName: [UIColor labelColor]}]; - } else { - attributedLinkText = [[NSMutableAttributedString alloc] initWithString:privacyPolicyAndTOSString]; - } - - NSRange TOSRange = [privacyPolicyAndTOSString rangeOfString:termsOfServiceString]; - if (TOSRange.length) { - [attributedLinkText addAttribute:NSLinkAttributeName value:TOSURL range:TOSRange]; - } - - NSRange privacyPolicyRange = [privacyPolicyAndTOSString rangeOfString:privacyPolicyString]; - if (privacyPolicyRange.length) { - [attributedLinkText addAttribute:NSLinkAttributeName - value:privacyPolicyURL - range:privacyPolicyRange]; - } - return attributedLinkText; -} - -#pragma mark - Private - -- (NSAttributedString *)fullPrivacyPolicyAndTOSMessage { - return [self privacyPolicyAndTOSMessageFromFormat:FUILocalizedString(kStr_TermsOfServiceMessage)]; -} - -- (NSAttributedString *)footerPrivacyPolicyAndTOSMessage { - return [self privacyPolicyAndTOSMessageFromFormat:@"%@ %@"]; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIStaticContentTableViewController.h b/FirebaseAuthUI/Sources/FUIStaticContentTableViewController.h deleted file mode 100644 index 62330aafe18..00000000000 --- a/FirebaseAuthUI/Sources/FUIStaticContentTableViewController.h +++ /dev/null @@ -1,98 +0,0 @@ -// -// Copyright (c) 2017 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 - -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController.h" -#import "FirebaseAuthUI/Sources/FUIStaticContentTableViewManager.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIStaticContentTableViewController - @brief The view controller which presents contents of @c FUIStaticContentTableViewContent. - controller has footer and header views. - */ -@interface FUIStaticContentTableViewController : FUIAuthBaseViewController - -/** @fn initWithContents:nextTitle:nextAction - @brief Convenience initializer. View controller doesn't have header and footer sections. - @param contents The contents of the table view presented in the controller. - @param nextTitle Text displayed on the navigation bar title. - @param nextAction Action triggered on the right bar item of @C UINavigationController - */ -- (instancetype)initWithContents:(nullable FUIStaticContentTableViewContent *)contents - nextTitle:(nullable NSString *)nextTitle - nextAction:(nullable FUIStaticContentTableViewCellAction)nextAction; - -// TODO: set nextAction param last arg -/** @fn initWithContents:nextTitle:nextAction:headerText: - @brief Convenience initializer. View controller doesn't have footer section. - @param contents The contents of the table view presented in the controller. - @param nextTitle Text displayed on the navigation bar title. - @param nextAction Action triggered on the right bar item of @C UINavigationController - @param headerText Text displayed at the header view controller. - */ -- (instancetype)initWithContents:(nullable FUIStaticContentTableViewContent *)contents - nextTitle:(nullable NSString *)nextTitle - nextAction:(nullable FUIStaticContentTableViewCellAction)nextAction - headerText:(nullable NSString *)headerText; - -/** @fn initWithContents:nextTitle:nextAction:headerText:footerText:footerAction: - @brief Designated initializer. - @param contents The contents of the table view presented in the controller. - @param actionTitle Text displayed on the navigation bar title. - @param nextAction Action triggered on the right bar item of @C UINavigationController - @param headerText Text displayed at the header view controller. - @param footerText Text displayed at the footer of view controller. - @param footerAction Action triggered when user taps on the footer. - */ -- (instancetype)initWithContents:(nullable FUIStaticContentTableViewContent *)contents - nextTitle:(nullable NSString *)actionTitle - nextAction:(nullable FUIStaticContentTableViewCellAction)nextAction - headerText:(nullable NSString *)headerText - footerText:(nullable NSString *)footerText - footerAction:(nullable FUIStaticContentTableViewCellAction)footerAction - NS_DESIGNATED_INITIALIZER; - -/** @fn init - @brief Please use @c initWithContents:nextTitle:nextAction:headerText:footerText:footerAction:. - */ -- (instancetype)init NS_UNAVAILABLE; - -/** @fn initWithNibName:bundle: - @brief Please use @c initWithContents:nextTitle:nextAction:headerText:footerText:footerAction:. - */ -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil NS_UNAVAILABLE; - -/** @fn initWithCoder: - @brief Please use @c initWithContents:nextTitle:nextAction:headerText:footerText:footerAction:. - */ -- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder NS_UNAVAILABLE; - -/** @fn initWithNibName:bundle:authUI: - @brief Please use @c initWithContents:nextTitle:nextAction:headerText:footerText:footerAction:. - @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; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIStaticContentTableViewController.m b/FirebaseAuthUI/Sources/FUIStaticContentTableViewController.m deleted file mode 100644 index a019d443739..00000000000 --- a/FirebaseAuthUI/Sources/FUIStaticContentTableViewController.m +++ /dev/null @@ -1,137 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIStaticContentTableViewController.h" - -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuth.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController_Internal.h" -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthUtils.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @var kSaveButtonAccessibilityID - @brief The Accessibility Identifier for the @c next button. - */ -static NSString *const kNextButtonAccessibilityID = @"NextButtonAccessibilityID"; - -@interface FUIStaticContentTableViewController () -{ - NSString *_headerText; - NSString *_footerText; - NSString *_actionTitle; - __weak IBOutlet UILabel *_headerLabel; - __weak IBOutlet UITableView *_tableView; - __weak IBOutlet UIButton *_footerButton; - FUIStaticContentTableViewManager *_tableViewManager; - FUIStaticContentTableViewCellAction _nextAction; - FUIStaticContentTableViewCellAction _footerAction; -} -@end - -@implementation FUIStaticContentTableViewController - -- (instancetype)initWithContents:(nullable FUIStaticContentTableViewContent *)contents - nextTitle:(nullable NSString *)nextTitle - nextAction:(nullable FUIStaticContentTableViewCellAction)nextAction { - return [self initWithContents:contents nextTitle:nextTitle nextAction:nextAction headerText:nil]; -} - -- (instancetype)initWithContents:(nullable FUIStaticContentTableViewContent *)contents - nextTitle:(nullable NSString *)nextTitle - nextAction:(nullable FUIStaticContentTableViewCellAction)nextAction - headerText:(nullable NSString *)headerText { - return [self initWithContents:contents - nextTitle:nextTitle - nextAction:nextAction - headerText:headerText - footerText:nil - footerAction:nil]; -} - -- (instancetype)initWithContents:(nullable FUIStaticContentTableViewContent *)contents - nextTitle:(nullable NSString *)actionTitle - nextAction:(nullable FUIStaticContentTableViewCellAction)nextAction - headerText:(nullable NSString *)headerText - footerText:(nullable NSString *)footerText - footerAction:(nullable FUIStaticContentTableViewCellAction)footerAction { - if (self = [super initWithNibName:NSStringFromClass([self class]) - bundle:[FUIAuthUtils authUIBundle] - authUI:[FUIAuth defaultAuthUI]]) { - _tableViewManager.contents = contents; - _nextAction = [nextAction copy]; - _footerAction = [footerAction copy]; - _headerText = [headerText copy]; - _footerText = [footerText copy]; - _actionTitle = [actionTitle copy]; - - UIBarButtonItem *actionButtonItem = - [FUIAuthBaseViewController barItemWithTitle:_actionTitle - target:self - action:@selector(onNext)]; - actionButtonItem.accessibilityIdentifier = kNextButtonAccessibilityID; - self.navigationItem.rightBarButtonItem = actionButtonItem; - } - return self; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - _tableViewManager = [[FUIStaticContentTableViewManager alloc] init]; - _tableViewManager.tableView = _tableView; - _tableView.delegate = _tableViewManager; - _tableView.dataSource = _tableViewManager; - if (_headerText) { - _headerLabel.text = _headerText; - } else { - _tableView.tableHeaderView = nil; - } - if (!_footerText) { - _tableView.tableFooterView.hidden = YES; - } else { - [_footerButton setTitle:_footerText forState:UIControlStateNormal]; - } - - [self enableDynamicCellHeightForTableView:_tableView]; -} - -- (void)viewDidLayoutSubviews { - [super viewDidLayoutSubviews]; - [self updateHeaderSize]; -} - -- (void)updateHeaderSize { - _headerLabel.preferredMaxLayoutWidth = _headerLabel.bounds.size.width; - CGFloat height = [_tableView.tableHeaderView - systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height; - CGRect frame = _tableView.tableHeaderView.frame; - frame.size.height = height; - _tableView.tableHeaderView.frame = frame; -} - -- (void)onNext { - if (_nextAction) { - _nextAction(); - } -} -- (IBAction)onFooterAction:(id)sender { - if (_footerAction) { - _footerAction(); - } -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIStaticContentTableViewManager.h b/FirebaseAuthUI/Sources/FUIStaticContentTableViewManager.h deleted file mode 100644 index fe0df2cc9fb..00000000000 --- a/FirebaseAuthUI/Sources/FUIStaticContentTableViewManager.h +++ /dev/null @@ -1,311 +0,0 @@ -// -// Copyright (c) 2017 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 - -#pragma mark - Forward Declarations - -@class FUIStaticContentTableViewCell; -@class FUIStaticContentTableViewContent; -@class FUIStaticContentTableViewSection; - -NS_ASSUME_NONNULL_BEGIN - -#pragma mark - Block Type Definitions - -/** @typedef FUIStaticContentTableViewCellAction - @brief The type of block invoked when a cell is tapped. - */ -typedef void(^FUIStaticContentTableViewCellAction)(void); - -#pragma mark - - -/** @class FUIStaticContentTableViewManager - @brief Generic class useful for populating a @c UITableView with static content. - */ -@interface FUIStaticContentTableViewManager : NSObject - -/** @property contents - @brief The static contents of the @c UITableView. - @remarks Setting this property will reload the @c UITableView. - */ -@property(nonatomic, strong, nullable) FUIStaticContentTableViewContent *contents; - -/** @property tableView - @brief A reference to the managed @c UITableView. - @remarks This is needed to automatically reload the table view when the @c contents are changed. - */ -@property(nonatomic, weak, nullable) IBOutlet UITableView *tableView; - -@end - -#pragma mark - - -/** @class FUIStaticContentTableViewContent - @brief Represents the contents of a @c UITableView. - */ -@interface FUIStaticContentTableViewContent : NSObject - -/** @property sections - @brief The sections for the @c UITableView. - */ -@property(nonatomic, copy, readonly, nullable) - NSArray *sections; - -/** @fn contentWithSections: - @brief Convenience factory method for creating a new instance of - @c FUIStaticContentTableViewContent. - @param sections The sections for the @c UITableView. - */ -+ (instancetype)contentWithSections:(nullable NSArray *)sections; - -/** @fn init - @brief Please use initWithSections: - */ -- (instancetype)init NS_UNAVAILABLE; - -/** @fn initWithSections: - @brief Designated initializer. - @param sections The sections in the @c UITableView. - */ -- (instancetype)initWithSections:(nullable NSArray *)sections; - -@end - -#pragma mark - - -/** @class FUIStaticContentTableViewSection - @brief Represents a section in a @c UITableView. - @remarks Each section has a title (used for the section title in the @c UITableView) and an - array of cells. - */ -@interface FUIStaticContentTableViewSection : NSObject - -/** @property title - @brief The title of the section in the @c UITableView. - */ -@property(nonatomic, copy, readonly, nullable) NSString *title; - -/** @property cells - @brief The cells in this section of the @c UITableView. - */ -@property(nonatomic, copy, readonly, nullable) NSArray *cells; - -/** @fn sectionWithTitle:cells: - @brief Convenience factory method for creating a new instance of - @c FUIStaticContentTableViewSection. - @param title The title of the section in the @c UITableView. - @param cells The cells in this section of the @c UITableView. - */ -+ (instancetype) sectionWithTitle:(nullable NSString *)title - cells:(nullable NSArray *)cells; - -/** @fn init - @brief Please use initWithTitle:cells: - */ -- (instancetype)init NS_UNAVAILABLE; - -/** @fn initWithTitle:cells: - @brief Designated initializer. - @param title The title of the section in the @c UITableView. - @param cells The cells in this section of the @c UITableView. - */ -- (instancetype)initWithTitle:(nullable NSString *)title - cells:(nullable NSArray *)cells; - -@end - -#pragma mark - - -/** @typedef FUIStaticContentTableViewCellType - @brief Defines all possible styles of @c FUIStaticContentTableViewCell. - */ -typedef NS_ENUM(NSInteger, FUIStaticContentTableViewCellType) { - FUIStaticContentTableViewCellTypeDefault = 0, - FUIStaticContentTableViewCellTypeButton, - FUIStaticContentTableViewCellTypeInput, - FUIStaticContentTableViewCellTypePassword -}; - -/** @class FUIStaticContentTableViewCell - @brief Represents a cell in a @c UITableView. - */ -@interface FUIStaticContentTableViewCell : NSObject - -/** @property title - @brief The text of the @c titleLabel of the @c FUIStaticContentTableViewCell. - */ -@property(nonatomic, copy, readonly, nullable) NSString *title; - -/** @property value - @brief The text of the @c detailTextLabel of the @c FUIStaticContentTableViewCell. - */ -@property(nonatomic, copy, nullable) NSString *value; - -/** @property placeholder - @brief The text of the placeholder or hint of the @c FUIStaticContentTableViewCell. - */ -@property(nonatomic, copy, nullable) NSString *placeholder; - -/** @property type - @brief Style of displaying cell. Default value is @c FUIStaticContentTableViewCellTypeDefault - */ -@property(nonatomic, assign) FUIStaticContentTableViewCellType type; - -/** @property action - @brief A block which is executed when the cell is selected. - @remarks Avoid retain cycles. Since these blocked are retained here, and your - @c UIViewController's object graph likely retains this object, you don't want these blocks - to retain your @c UIViewController. The easiest thing is just to create a weak reference to - your @c UIViewController and pass it a message as the only thing the block does. - */ -@property(nonatomic, copy, readonly, nullable) FUIStaticContentTableViewCellAction action; - -/** @fn cellWithTitle: - @brief Convenience factory method for a new instance of @c FUIStaticContentTableViewCell. - @param title The text of the @c titleLabel of the @c FUIStaticContentTableViewCell. - */ -+ (instancetype)cellWithTitle:(nullable NSString *)title; - -/** @fn cellWithTitle:value: - @brief Convenience factory method for a new instance of @c FUIStaticContentTableViewCell. - @param title The text of the @c titleLabel of the @c FUIStaticContentTableViewCell. - @param value The text of the @c detailTextLabel of the @c FUIStaticContentTableViewCell. - */ -+ (instancetype)cellWithTitle:(nullable NSString *)title - value:(nullable NSString *)value; - -/** @fn cellWithTitle:action: - @brief Convenience factory method for a new instance of @c FUIStaticContentTableViewCell. - @param title The text of the @c titleLabel of the @c FUIStaticContentTableViewCell. - @param action A block which is executed when the cell is selected. - */ -+ (instancetype)cellWithTitle:(nullable NSString *)title - action:(nullable FUIStaticContentTableViewCellAction)action; - -/** @fn cellWithTitle:action:type: - @brief Convenience factory method for a new instance of @c FUIStaticContentTableViewCell. - @param title The text of the @c titleLabel of the @c FUIStaticContentTableViewCell. - @param type Style of displaying cell. - @param action A block which is executed when the cell is selected. - */ -+ (instancetype)cellWithTitle:(nullable NSString *)title - type:(FUIStaticContentTableViewCellType) type - action:(nullable FUIStaticContentTableViewCellAction)action; - -/** @fn cellWithTitle:value:action: - @brief Convenience factory method for a new instance of @c FUIStaticContentTableViewCell. - @param title The text of the @c titleLabel of the @c FUIStaticContentTableViewCell. - @param value The text of the @c detailTextLabel of the @c FUIStaticContentTableViewCell. - @param action A block which is executed when the cell is selected. - */ -+ (instancetype)cellWithTitle:(nullable NSString *)title - value:(nullable NSString *)value - action:(nullable FUIStaticContentTableViewCellAction)action; - -/** @fn cellWithTitle:value:type:action: - @brief Convenience factory method for a new instance of @c FUIStaticContentTableViewCell. - @param title The text of the @c titleLabel of the @c FUIStaticContentTableViewCell. - @param value The text of the @c detailTextLabel of the @c FUIStaticContentTableViewCell. - @param type Style of displaying cell. - @param action A block which is executed when the cell is selected. - */ -+ (instancetype)cellWithTitle:(nullable NSString *)title - value:(nullable NSString *)value - type:(FUIStaticContentTableViewCellType) type - action:(nullable FUIStaticContentTableViewCellAction)action; - -/** @fn cellWithTitle:value:type:action: - @brief Convenience factory method for a new instance of @c FUIStaticContentTableViewCell. - @param title The text of the @c titleLabel of the @c FUIStaticContentTableViewCell. - @param value The text of the @c detailTextLabel of the @c FUIStaticContentTableViewCell. - @param placeholder The placeholder of input filed, if any. - @param action A block which is executed when the cell is selected. - @param type Style of displaying cell. - */ -+ (instancetype)cellWithTitle:(nullable NSString *)title - value:(nullable NSString *)value - placeholder:(nullable NSString *)placeholder - type:(FUIStaticContentTableViewCellType) type - action:(nullable FUIStaticContentTableViewCellAction)action; - -/** @fn initWithTitle:value:action:type: - @brief Designated initializer. - @param title The text of the @c titleLabel of the @c FUIStaticContentTableViewCell. - @param value The text of the @c detailTextLabel of the @c FUIStaticContentTableViewCell. - @param placeholder The placeholder of input filed, if any. - @param type Style of displaying cell. - @param action A block which is executed when the cell is selected. - */ -- (instancetype)initWithTitle:(nullable NSString *)title - value:(nullable NSString *)value - placeholder:(nullable NSString *)placeholder - type:(FUIStaticContentTableViewCellType) type - action:(nullable FUIStaticContentTableViewCellAction)action - NS_DESIGNATED_INITIALIZER; - -/** @fn init - @brief Please use initWithTitle:value:action:type: - */ -- (instancetype)init NS_UNAVAILABLE; - -@end - -/** @class FUIPasswordTableViewCell - @brief Represents a cell in a @c UITableView. This cell has password input field. - */ -@interface FUIPasswordTableViewCell : UITableViewCell - -/** @var cellData - @brief Used to retrieve modified value of the cell. - */ -@property (nonatomic) FUIStaticContentTableViewCell *cellData; - -/** @var title - @brief The title label of the cell. - */ -@property (weak, nonatomic) IBOutlet UILabel *title; - -/** @var password - @brief The password inout field of the cell. - */ -@property (weak, nonatomic) IBOutlet UITextField *password; - -@end - -/** @class FUIInputTableViewCell - @brief Represents a cell in a @c UITableView. This cell has regular input field. - */ -@interface FUIInputTableViewCell : UITableViewCell - -/** @var cellData - @brief Used to retrieve modified value of the cell. - */ -@property (nonatomic) FUIStaticContentTableViewCell *cellData; - -/** @var title - @brief The title label of the cell. - */ -@property (weak, nonatomic) IBOutlet UILabel *title; - -/** @var password - @brief The inout field of the cell. - */ -@property (weak, nonatomic) IBOutlet UITextField *input; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/FUIStaticContentTableViewManager.m b/FirebaseAuthUI/Sources/FUIStaticContentTableViewManager.m deleted file mode 100644 index 8c67539c1c8..00000000000 --- a/FirebaseAuthUI/Sources/FUIStaticContentTableViewManager.m +++ /dev/null @@ -1,319 +0,0 @@ -// -// Copyright (c) 2017 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/Sources/FUIStaticContentTableViewManager.h" - -#import "FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthUtils.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @var kCellReuseIdentitfier - @brief The reuse identifier for default style table view cell. - */ -static NSString *const kCellReuseIdentitfier = @"reuseIdentifier"; - -/** @var kValueCellReuseIdentitfier - @brief The reuse identifier for value style table view cell. - */ -static NSString *const kValueCellReuseIdentitfier = @"reuseValueIdentifier"; - -/** @var kPasswordCellReuseIdentitfier - @brief The reuse identifier for password style table view cell. - */ -static NSString *const kPasswordCellReuseIdentitfier = @"passwordCellReuseIdentitfier"; - -/** @var kInputCellReuseIdentitfier - @brief The reuse identifier for input style table view cell. - */ -static NSString *const kInputCellReuseIdentitfier = @"inputCellReuseIdentitfier"; - -/** @var kVisibilityOffImage - @brief Name of icon to show current password in secure input field. - */ -static NSString *const kVisibilityOffImage = @"ic_visibility_off.png"; - -/** @var kVisibilityOnImage - @brief Name of icon to show current password in secure input field. - */ -static NSString *const kVisibilityOnImage = @"ic_visibility.png"; - -#pragma mark - - -@implementation FUIStaticContentTableViewManager - -- (void)setContents:(nullable FUIStaticContentTableViewContent *)contents { - _contents = contents; - [self.tableView reloadData]; -} - -- (void)setTableView:(nullable UITableView *)tableView { - _tableView = tableView; - [tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:kCellReuseIdentitfier]; - - UINib *passwordCellNib = [UINib nibWithNibName:NSStringFromClass([FUIPasswordTableViewCell class]) - bundle:[FUIAuthUtils authUIBundle]]; - [tableView registerNib:passwordCellNib forCellReuseIdentifier:kPasswordCellReuseIdentitfier]; - - UINib *inputCellNib = [UINib nibWithNibName:NSStringFromClass([FUIInputTableViewCell class]) - bundle:[FUIAuthUtils authUIBundle]]; - [tableView registerNib:inputCellNib forCellReuseIdentifier:kInputCellReuseIdentitfier]; -} - -#pragma mark - UITableViewDataSource - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return _contents.sections.count; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return _contents.sections[section].cells.count; -} - -- (nullable NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { - return _contents.sections[section].title; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView - cellForRowAtIndexPath:(NSIndexPath *)indexPath{ - FUIStaticContentTableViewCell *cellData = - _contents.sections[indexPath.section].cells[indexPath.row]; - UITableViewCell *cell; - if (cellData.type == FUIStaticContentTableViewCellTypePassword) { - return [self dequeuePasswordCell:cellData tableView:tableView]; - } else if (cellData.type == FUIStaticContentTableViewCellTypeInput) { - return [self dequeueInputCell:cellData tableView:tableView]; - } else if (cellData.value.length) { - cell = [tableView dequeueReusableCellWithIdentifier:kValueCellReuseIdentitfier]; - if (!cell) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 - reuseIdentifier:kValueCellReuseIdentitfier]; - cell.detailTextLabel.adjustsFontSizeToFitWidth = YES; - cell.detailTextLabel.minimumScaleFactor = 0.5; - } - } else { - // kCellReuseIdentitfier has already been registered. - cell = [tableView dequeueReusableCellWithIdentifier:kCellReuseIdentitfier - forIndexPath:indexPath]; - } - cell.textLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline]; - cell.detailTextLabel.text = cellData.value; - cell.textLabel.text = cellData.title; - cell.accessoryType = cellData.action && - cellData.type == FUIStaticContentTableViewCellTypeDefault ? - UITableViewCellAccessoryDisclosureIndicator : UITableViewCellAccessoryNone; - cell.textLabel.textColor = cellData.type == FUIStaticContentTableViewCellTypeButton ? - [UIColor blueColor] : [UIColor blackColor]; - cell.selectionStyle = cellData.action ? UITableViewCellSelectionStyleDefault : - UITableViewCellSelectionStyleNone; - return cell; -} - -- (UITableViewCell *)dequeuePasswordCell:(FUIStaticContentTableViewCell *)cellData - tableView:(UITableView *)tableView{ - FUIPasswordTableViewCell *cell = - [tableView dequeueReusableCellWithIdentifier:kPasswordCellReuseIdentitfier]; - cell.title.text = cellData.title; - cell.password.text = cellData.value; - cell.password.placeholder = cellData.placeholder; - cell.cellData = cellData; - cell.title.font = [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline]; - return cell; -} - -- (UITableViewCell *)dequeueInputCell:(FUIStaticContentTableViewCell *)cellData - tableView:(UITableView *)tableView{ - FUIInputTableViewCell *cell = - [tableView dequeueReusableCellWithIdentifier:kInputCellReuseIdentitfier]; - cell.title.text = cellData.title; - cell.input.text = cellData.value; - cell.input.placeholder = cellData.placeholder; - cell.cellData = cellData; - cell.title.font = [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline]; - return cell; -} - -#pragma mark - UITableViewDelegate - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - FUIStaticContentTableViewCell *cellData = - _contents.sections[indexPath.section].cells[indexPath.row]; - BOOL hasAssociatedAction = cellData.action != nil; - if (hasAssociatedAction) { - cellData.action(); - } - [tableView deselectRowAtIndexPath:indexPath animated:hasAssociatedAction]; -} - -@end - -#pragma mark - - -@implementation FUIStaticContentTableViewContent - -+ (instancetype)contentWithSections: - (nullable NSArray *)sections { - return [[self alloc] initWithSections:sections]; -} - -- (instancetype)initWithSections:(nullable NSArray *)sections { - self = [super init]; - if (self) { - _sections = [sections copy]; - } - return self; -} - -@end - -#pragma mark - - -@implementation FUIStaticContentTableViewSection - -+ (instancetype)sectionWithTitle:(nullable NSString *)title - cells:(nullable NSArray *)cells { - return [[self alloc] initWithTitle:title cells:cells]; -} - -- (instancetype)initWithTitle:(nullable NSString *)title - cells:(nullable NSArray *)cells { - self = [super init]; - if (self) { - _title = [title copy]; - _cells = [cells copy]; - } - return self; -} - -@end - -#pragma mark - - -@implementation FUIStaticContentTableViewCell - -+ (instancetype)cellWithTitle:(nullable NSString *)title { - return [[self alloc] initWithTitle:title - value:nil - placeholder:nil - type:FUIStaticContentTableViewCellTypeDefault - action:nil]; -} - -+ (instancetype)cellWithTitle:(nullable NSString *)title - value:(nullable NSString *)value { - return [[self alloc] initWithTitle:title - value:value - placeholder:nil - type:FUIStaticContentTableViewCellTypeDefault - action:nil]; -} - -+ (instancetype)cellWithTitle:(nullable NSString *)title - action:(nullable FUIStaticContentTableViewCellAction)action { - return [[self alloc] initWithTitle:title - value:nil - placeholder:nil - type:FUIStaticContentTableViewCellTypeDefault - action:action]; -} - -+ (instancetype)cellWithTitle:(nullable NSString *)title - type:(FUIStaticContentTableViewCellType) type - action:(nullable FUIStaticContentTableViewCellAction)action { - return [[self alloc] initWithTitle:title - value:nil - placeholder:nil - type:type - action:action]; -} - -+ (instancetype)cellWithTitle:(nullable NSString *)title - value:(nullable NSString *)value - action:(nullable FUIStaticContentTableViewCellAction)action { - return [[self alloc] initWithTitle:title - value:value - placeholder:nil - type:FUIStaticContentTableViewCellTypeDefault - action:action]; -} - -+ (instancetype)cellWithTitle:(nullable NSString *)title - value:(nullable NSString *)value - type:(FUIStaticContentTableViewCellType) type - action:(nullable FUIStaticContentTableViewCellAction)action { - return [[self alloc] initWithTitle:title - value:value - placeholder:nil - type:type - action:action]; -} - -+ (instancetype)cellWithTitle:(nullable NSString *)title - value:(nullable NSString *)value - placeholder:(nullable NSString *)placeholder - type:(FUIStaticContentTableViewCellType) type - action:(nullable FUIStaticContentTableViewCellAction)action { - return [[self alloc] initWithTitle:title - value:value - placeholder:placeholder - type:type - action:action]; -} - -- (instancetype)initWithTitle:(nullable NSString *)title - value:(nullable NSString *)value - placeholder:(nullable NSString *)placeholder - type:(FUIStaticContentTableViewCellType) type - action:(nullable FUIStaticContentTableViewCellAction)action { - self = [super init]; - if (self) { - _title = [title copy]; - _value = [value copy]; - _action = [action copy]; - _placeholder = [placeholder copy]; - _type = type; - } - return self; -} - -@end - -@interface FUIPasswordTableViewCell () -@property (weak, nonatomic) IBOutlet UIButton *visibilityButton; -@end - -@implementation FUIPasswordTableViewCell - -- (IBAction)onPasswordVisibilitySelected:(id)sender { - self.password.secureTextEntry = ! self.password.secureTextEntry; - UIImage *image = self.password.secureTextEntry ? [UIImage imageNamed:kVisibilityOnImage] - : [UIImage imageNamed:kVisibilityOffImage]; - [self.visibilityButton setImage:image forState:UIControlStateNormal]; -} -- (IBAction)onPasswordChanged:(id)sender { - self.cellData.value = self.password.text; -} - -@end - -@implementation FUIInputTableViewCell - -- (IBAction)onInputChanged:(id)sender { - self.cellData.value = self.input.text; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/Info.plist b/FirebaseAuthUI/Sources/Info.plist deleted file mode 100644 index e688d8b94f8..00000000000 --- a/FirebaseAuthUI/Sources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 0.5 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAccountSettingsOperationType.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAccountSettingsOperationType.h deleted file mode 100644 index 796d110f211..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAccountSettingsOperationType.h +++ /dev/null @@ -1,29 +0,0 @@ -// -// Copyright (c) 2017 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. -// - -/** @typedef FUIAccountSettingsOperationType - @brief List of all possible Account management operations. - */ -typedef NS_ENUM(NSInteger, FUIAccountSettingsOperationType) { - FUIAccountSettingsOperationTypeUnsupported = 0, - FUIAccountSettingsOperationTypeUpdateName, - FUIAccountSettingsOperationTypeUpdatePassword, - FUIAccountSettingsOperationTypeForgotPassword, - FUIAccountSettingsOperationTypeUpdateEmail, - FUIAccountSettingsOperationTypeUnlinkAccount, - FUIAccountSettingsOperationTypeSignOut, - FUIAccountSettingsOperationTypeDeleteAccount, -}; diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAccountSettingsViewController.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAccountSettingsViewController.h deleted file mode 100644 index 472ebb387d7..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAccountSettingsViewController.h +++ /dev/null @@ -1,35 +0,0 @@ -// -// Copyright (c) 2017 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 "FUIAuthBaseViewController.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIAccountSettingsViewController - @brief Represents View Controller for Account Management UI. This controller should be embedded - in @c UINavigationController in order to present it's internal views. - */ -@interface FUIAccountSettingsViewController : FUIAuthBaseViewController - -/** @property deleteAccountActionDisabled - @brief Whether to hide "Delete account" button, defaults to NO. - */ -@property(nonatomic, assign, getter=isDeleteAccountActionDisabled) - BOOL deleteAccountActionDisabled; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuth.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuth.h deleted file mode 100644 index f7033b21a72..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuth.h +++ /dev/null @@ -1,276 +0,0 @@ -// -// 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 - -#import "FUIAccountSettingsOperationType.h" -#import "FUIAuthProvider.h" - -@class FIRAuth; -@class FIRAuthDataResult; -@class FUIAuthPickerViewController; -@class FUIAuth; -@class FIRUser; -@class FUIEmailEntryViewController; -@class FUIPasswordSignInViewController; -@class FUIPasswordSignUpViewController; -@class FUIPasswordRecoveryViewController; -@class FUIPasswordVerificationViewController; - -NS_ASSUME_NONNULL_BEGIN - -/** @typedef FUIAuthResultCallback - @brief The type of block invoked when sign-in related events complete. - @param user The user signed in, if any. - @param error The error which occurred, if any. - */ -typedef void (^FUIAuthResultCallback)(FIRUser *_Nullable user, NSError *_Nullable error); - -/** @protocol FUIAuthDelegate - @brief A delegate that receives callbacks or provides custom UI for @c FUIAuth. - */ -@protocol FUIAuthDelegate - -@optional - -/** @fn authUI:didSignInWithAuthDataResult:error: - @brief Message sent after the sign in process has completed to report the signed in user or - error encountered. Use this variation with Firebase 11 and later. Swift implementations - should be marked with `@objc`. - @param authUI The @c FUIAuth instance sending the message. - @param authDataResult The data result if the sign in attempt was successful. - @param url pass the deep link associated with an email link sign-in completion. It is useful - for the developer to access the state before the sign-in attempt was triggered. - @param error The error that occurred during sign in, if any. - */ -- (void)authUI:(FUIAuth *)authUI - didSignInWith:(nullable FIRAuthDataResult *)authDataResult - URL:(nullable NSURL *)url - error:(nullable NSError *)error; - -/** @fn authUI:didSignInWithAuthDataResult:error: - @brief Message sent after the sign in process has completed to report the signed in user or - error encountered. Use this variation with Firebase 11 and later. Swift implementations - should be marked with `@objc`. - @param authUI The @c FUIAuth instance sending the message. - @param authDataResult The data result if the sign in attempt was successful. - @param error The error that occurred during sign in, if any. - */ -- (void)authUI:(FUIAuth *)authUI - didSignInWith:(nullable FIRAuthDataResult *)authDataResult - error:(nullable NSError *)error; - -/** @fn authUI:didSignInWithUser:error: - @brief This is deprecated API and will be removed in a future release. - Use @c authUI:didSignInWithAuthDataResult:error: - Both sign in call backs are called (@c authUI:didSignInWithAuthDataResult:error: - and @c authUI:didSignInWithUser:error:). - This message is sent after the sign in process has completed to report the signed in user or - error encountered. - @param authUI The @c FUIAuth instance sending the message. - @param user The signed in user if the sign in attempt was successful. - @param error The error that occurred during sign in, if any. - */ -- (void)authUI:(FUIAuth *)authUI - didSignInWithUser:(nullable FIRUser *)user - error:(nullable NSError *)error -__attribute__((deprecated("Instead use authUI:didSignInWithAuthDataResult:error:"))); - - -/** @fn authUI:didFinishOperation:error: - @brief Message sent after finishing Account Management operation. - @param authUI The @c FUIAuth instance sending the message. - @param operation The operation type that was just completed. - @param error The error that occurred during operation, if any. -*/ -- (void)authUI:(FUIAuth *)authUI - didFinishOperation:(FUIAccountSettingsOperationType)operation - error:(nullable NSError *)error; - -/** @fn authPickerViewControllerForAuthUI: - @brief Sent to the receiver to ask for an instance of @c FUIAuthPickerViewController subclass - to allow UI customizations. - @param authUI The @c FUIAuth instance sending the message. - @return an instance of @c FUIAuthPickerViewController subclass. - */ -- (FUIAuthPickerViewController *)authPickerViewControllerForAuthUI:(FUIAuth *)authUI; - -/** @fn emailEntryViewControllerForAuthUI: - @brief Sent to the receiver to ask for an instance of @c FUIEmailEntryViewController subclass - to allow UI customizations. - @param authUI The @c FUIAuth instance sending the message. - @return an instance of @c FUIEmailEntryViewController subclass. - */ -- (FUIEmailEntryViewController *)emailEntryViewControllerForAuthUI:(FUIAuth *)authUI; - -/** @fn passwordSignInViewControllerForAuthUI:email: - @brief Sent to the receiver to ask for an instance of @c FUIPasswordSignInViewController subclass - to allow sign-in UI customizations. - @param authUI The @c FUIAuth instance sending the message. - @param email The email user is using for sin-in. - @return an instance of @c FUIPasswordSignInViewController subclass. - */ -- (FUIPasswordSignInViewController *)passwordSignInViewControllerForAuthUI:(FUIAuth *)authUI - email:(nullable NSString *)email; - -/** @fn passwordSignInViewControllerForAuthUI:email: - @brief Sent to the receiver to ask for an instance of @c FUIPasswordSignUpViewController subclass - to allow sign-up UI customizations. - @param authUI The @c FUIAuth instance sending the message. - @param email The email user is using for sin-in. - @param requireDisplayName Whether the displayname field is required . - @return an instance of @c FUIPasswordSignUpViewController subclass. - */ -- (FUIPasswordSignUpViewController *)passwordSignUpViewControllerForAuthUI:(FUIAuth *)authUI - email:(nullable NSString *)email - requireDisplayName:(BOOL)requireDisplayName; - -/** @fn passwordRecoveryViewControllerForAuthUI:email: - @brief Sent to the receiver to ask for an instance of @c FUIPasswordRecoveryViewController subclass - to allow sign-up UI customizations. - @param authUI The @c FUIAuth instance sending the message. - @param email The email user is using for password recovery. - @return an instance of @c FUIPasswordRecoveryViewController subclass. - */ -- (FUIPasswordRecoveryViewController *)passwordRecoveryViewControllerForAuthUI:(FUIAuth *)authUI - email:(nullable NSString *)email; - -/** @fn passwordVerificationViewControllerForAuthUI:email:newCredential: - @brief Sent to the receiver to ask for an instance of @c FUIPasswordVerificationViewController subclass - to allow password verification UI customizations. - @param authUI The @c FUIAuth instance sending the message. - @param email The email user is using for sin-in. - @param newCredential This @c FIRAuthCredential obtained from linked account. - @return an instance of @c FUIPasswordVerificationViewController subclass. - */ -- (FUIPasswordVerificationViewController *)passwordVerificationViewControllerForAuthUI:(FUIAuth *)authUI - email:(nullable NSString *)email - newCredential:(FIRAuthCredential *)newCredential; -@end - -/** @class FUIAuth - @brief Provides various iOS UIs for Firebase Auth. - */ -@interface FUIAuth : NSObject - -/** @fn defaultAuthUI - @brief Gets the @c FUIAuth object for the default FirebaseApp. - @remarks Thread safe. - */ -+ (nullable FUIAuth *)defaultAuthUI; - -/** @fn authUIWithAuth: - @brief Gets the @c FUIAuth instance for a @c FIRAuth. - @param auth The @c FIRAuth for which to retrieve the associated @c FUIAuth instance. - @return The @c FUIAuth instance associated with the given @c FIRAuth. - @remarks Thread safe. - */ -+ (nullable FUIAuth *)authUIWithAuth:(FIRAuth *)auth; - -/** @property app - @brief Gets the @c FIRAuth this auth UI object is connected to. - */ -@property(nonatomic, weak, readonly, nullable) FIRAuth *auth; - -/** @property providers - @brief The @c FUIAuthProvider implementations to use for sign-in. - */ -@property(nonatomic, copy) NSArray> *providers; - -/** @property shouldHideCancelButton - @brief Whether to hide the cancel button, defaults to NO. - */ -@property(nonatomic, assign) BOOL shouldHideCancelButton; - -/** @property interactiveDismissEnabled - @brief Whether or not interactive dismiss should be enabled on iOS 13 and above devices. - */ -@property(nonatomic, assign, getter=isInteractiveDismissEnabled) BOOL interactiveDismissEnabled API_AVAILABLE(ios(13)); - -/** @property customStringsBundle - @brief Custom strings bundle supplied by the developer. Nil when there is no custom strings - bundle set. In which case the default bundle will be used. - @remarks Set this property to nil in order to remove the custom strings bundle and revert to - using the default bundle. - */ -@property(nonatomic, strong, nullable) NSBundle *customStringsBundle; - -/** @property TOSURL - @brief The URL of your app's Terms of Service. If not nil, a Terms of Service notice is - displayed on the initial sign-in screen and potentially the phone number auth and - email/password account creation screen. - */ -@property(nonatomic, copy, nullable) NSURL *TOSURL; - -/** @property shouldAutoUpgradeAnonymousUsers - @brief Whether to enable auto upgrading of anonymous accounts, defaults to NO. - */ -@property(nonatomic, assign, getter=shouldAutoUpgradeAnonymousUsers) BOOL autoUpgradeAnonymousUsers; - -/** @property privacyPolicyURL - @brief The URL of your app's Privacy Policy. If not nil, a privacy policy notice is - displayed on the initial sign-in screen and potentially the phone number auth and - email/password account creation screen. - */ -@property(nonatomic, copy, nullable) NSURL *privacyPolicyURL; - -/** @property delegate - @brief A delegate that receives callbacks or provides custom UI for @c FUIAuth. - */ -@property(nonatomic, weak) id delegate; - -/** @fn init - @brief Please use @c FUIAuth.authUIWithAuth to get a @c FUIAuth instance. - */ -- (instancetype)init NS_UNAVAILABLE; - -/** @fn handleOpenURL: - @brief Should be called from your @c UIApplicationDelegate in - @c UIApplicationDelegate.application:openURL:options: to finish sign-in flows. - @param URL The URL which may be handled by Firebase Auth UI if an URL is expected. - @param sourceApplication The application which tried opening the URL. - @return YES if Firebase Auth UI handled the URL. NO otherwise. - */ -- (BOOL)handleOpenURL:(NSURL *)URL - sourceApplication:(nullable NSString *)sourceApplication; - -/** @fn authViewController - @brief Returns an instance of the initial navigation view controller of AuthUI. - @return An instance of the the initial navigation view controller of AuthUI. - */ -- (UINavigationController *)authViewController; - -/** @fn signOutWithError: - @brief Signs out the current user from Firebase and all providers. - @param error Optionally; if an error occurs during Firebase sign out, upon return contains an - NSError object that describes the problem; is nil otherwise. If Firebase error occurs all - providers are not logged-out and sign-out should be retried. - @return @YES when the sign out request was successful. @NO otherwise. - @remarks Possible error codes: - - @c FIRAuthErrorCodeKeychainError Indicates an error occurred when accessing the keychain. - The @c NSLocalizedFailureReasonErrorKey field in the @c NSError.userInfo dictionary - will contain more information about the error encountered. - */ -- (BOOL)signOutWithError:(NSError *_Nullable *_Nullable)error; - -/** @fn useEmulatorWithHost:port - @brief Configures Firebase Auth to connect to an emulated host instead of the remote backend. - */ -- (void)useEmulatorWithHost:(NSString *)host port:(NSInteger)port; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController.h deleted file mode 100644 index 6354c95edd2..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController.h +++ /dev/null @@ -1,124 +0,0 @@ -// -// 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 - -@class FIRAuth; -@class FUIAuth; -@protocol FUIAuthProvider; - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIAuthBaseViewController - @brief The base view controller that provides common methods for all subclasses. - */ -@interface FUIAuthBaseViewController : UIViewController - -/** @typedef FUIAuthAlertActionHandler - @brief The type of block called when an alert view is dismissed by a user action. - */ -typedef void (^FUIAuthAlertActionHandler)(void); - -/** @property auth - @brief The @c FIRAuth instance of the application. - */ -@property(nonatomic, strong, readonly) FIRAuth *auth; - -/** @property authUI - @brief The @c FUIAuth instance of the application. - */ -@property(nonatomic, strong, readonly) FUIAuth *authUI; - -/** @fn init - @brief Please use @c initWithNibName:bundle:authUI:. - */ -- (instancetype)init NS_UNAVAILABLE; - -/** @fn initWithStyle: - @brief Please use @c initWithNibName:bundle:authUI:. - */ -- (instancetype)initWithStyle:(UITableViewStyle)style NS_UNAVAILABLE; - -/** @fn initWithNibName:bundle: - @brief Please use @c initWithNibName:bundle:authUI:. - */ -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil NS_UNAVAILABLE; - -/** @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_DESIGNATED_INITIALIZER; - -/** @fn initWithAuthUI: - @brief Convenience initializer. If your custom auth picker controller is using its - own nib file, this initializer should be overwritten. - @param authUI The @c FUIAuth instance that manages this view controller. - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI; - -/** @fn onBack - @brief Pops the view controller from navigation stack. If current controller is root - works as @c cancelAuthorization - */ -- (void)onBack; - -/** @fn cancelAuthorization - @brief Cancels Authorization flow, calls UI delegate callbacks and hides UI - */ -- (void)cancelAuthorization; - -/** @fn showSignInAlertWithEmail:provider:handler: - @brief Displays an alert asking the user to confirm whether or not they want to proceed with the selected provider. - @param email The email address to sign in with. - @param provider The identity provider to sign in with. - @param signinHandler Handler for the sign in action of the alert. - @param cancelHandler Handler for the cancel action of the alert. - */ -+ (void)showSignInAlertWithEmail:(NSString *)email - provider:(id)provider - presentingViewController:(UIViewController *)presentingViewController - signinHandler:(FUIAuthAlertActionHandler)signinHandler - cancelHandler:(FUIAuthAlertActionHandler)cancelHandler; - -/** @fn incrementActivity - @brief Increment the current activity count. If there's positive number of activities, display - and animate the activity indicator with a short delay. - @remarks Calls to @c incrementActivity and @c decrementActivity should be balanced. - */ -- (void)incrementActivity; - -/** @fn decrementActivity - @brief Decrement the current activity count. If the count reaches 0, stop and hide the - activity indicator. - @remarks Calls to @c incrementActivity and @c decrementActivity should be balanced. - */ -- (void)decrementActivity; - -/** @fn addActivityIndicator: - @brief Creates and adds an activity indicator to the center of the specified view. - @param view The view where indicator is shown. - */ -+ (UIActivityIndicatorView *)addActivityIndicator:(UIView *)view; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController_Internal.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController_Internal.h deleted file mode 100644 index fa5b505f34d..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthBaseViewController_Internal.h +++ /dev/null @@ -1,150 +0,0 @@ -// -// 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 "FUIAuthBaseViewController.h" - -NS_ASSUME_NONNULL_BEGIN - -/** - * The methods in this category are exposed so that the FirebaseUI provider frameworks - * can make use of them. They may change in non-breaking releases and should not be - * used publicly. - */ -@interface FUIAuthBaseViewController (Internal) - -/** @fn isValidEmail: - @brief Statically validates email address. - @param email The email address to validate. - */ -+ (BOOL)isValidEmail:(NSString *)email; - -/** @fn showAlertWithMessage: - @brief Displays an alert view with given title and message on top of the current view - controller. - @param message The message of the alert. - */ -- (void)showAlertWithMessage:(NSString *)message; - -/** @fn showAlertWithMessage: - @brief Displays an alert view with given title and message on top of the current view - controller. - @param message The message of the alert. - */ -+ (void)showAlertWithMessage:(NSString *)message; - -/** @fn showAlertWithMessage:presentingViewController: - @brief Displays an alert view with given title and message on top of the current view - controller. - @param message The message of the alert. - @param presentingViewController The controller which shows alert. - */ -+ (void)showAlertWithMessage:(NSString *)message - presentingViewController:(nullable UIViewController *)presentingViewController; - -/** @fn showAlertWithTitle:message: - @brief Displays an alert view with given title, message and action title on top of the - specified view controller. - @param title The title of the alert. - @param message The message of the alert. - @param presentingViewController The controller which shows alert. -*/ -+ (void)showAlertWithTitle:(nullable NSString *)title - message:(nullable NSString *)message - presentingViewController:(nullable UIViewController *)presentingViewController; - -/** @fn showAlertWithTitle:message:actionTitle:actionHandler:dismissTitle:dismissHandler: - @brief Displays an alert view with given title, message and action title on top of the - specified view controller. - @param title The title of the alert. - @param message The message of the alert. - @param actionTitle The title of the action button. - @param actionHandler The block to execute if the action button is tapped. - @param dismissTitle The title of the dismiss button. - @param dismissHandler The block to execute if the cancel button is tapped. - @param presentingViewController The controller which shows alert. -*/ -+ (void)showAlertWithTitle:(nullable NSString *)title - message:(nullable NSString *)message - actionTitle:(nullable NSString *)actionTitle - actionHandler:(nullable FUIAuthAlertActionHandler)actionHandler - dismissTitle:(nullable NSString *)dismissTitle - dismissHandler:(nullable FUIAuthAlertActionHandler)dismissHandler - presentingViewController:(nullable UIViewController *)presentingViewController; - -/** @fn showSignInAlertWithEmail:providerShortName:providerSignInLabel:handler: - @brief Displays an alert to conform with user whether she wants to proceed with the provider. - @param email The email address to sign in with. - @param providerShortName The name of the provider as displayed in the sign-in alert message. - @param providerSignInLabel The name of the provider as displayed in the sign-in alert button. - @param signinHandler Handler for the sign in action of the alert. - @param cancelHandler Handler for the cancel action of the alert. - */ -+ (void)showSignInAlertWithEmail:(NSString *)email - providerShortName:(NSString *)providerShortName - providerSignInLabel:(NSString *)providerSignInLabel - presentingViewController:(UIViewController *)presentingViewController - signinHandler:(FUIAuthAlertActionHandler)signinHandler - cancelHandler:(FUIAuthAlertActionHandler)cancelHandler; - -/** @fn pushViewController: - @brief Push the view controller to the navigation controller of the current view controller - with animation. The pushed view controller will have a fixed "Back" title for back button. - @param viewController The view controller to be pushed. - */ -- (void)pushViewController:(UIViewController *)viewController; - -/** @fn dismissNavigationControllerAnimated:completion: - @brief dismiss navigation controller if it is not the rootViewController. If it is set as - the rootViewController only perform the completion block. - @param animated Use animation when dismissing the ViewControler. - @param completion Code to be executed upon completion - */ -- (void)dismissNavigationControllerAnimated:(BOOL)animated - completion:(void (^)(void))completion; - -/** @fn pushViewController: - @brief Push the view controller to the navigation controller of the current view controller - with animation. The pushed view controller will have a fixed "Back" title for back button. - @param viewController The view controller to be pushed. - @param navigationController The controller where view controller is pushed. - */ -+ (void)pushViewController:(UIViewController *)viewController - navigationController:(UINavigationController *)navigationController; - -/** @fn providerLocalizedName: - @brief Maps provider Id to localized provider name. - */ -+ (NSString *)providerLocalizedName:(NSString *)providerId; - -/** @fn barItemWithTitle:target:action: - @brief Creates multiline @c UIBarButtonItem of fixed width. - @param title The title of the button. - @param target The target object of the @c UIBarButtonItem . - @param action The action called when button is selected. - */ -+ (UIBarButtonItem *)barItemWithTitle:(NSString *)title - target:(nullable id)target - action:(SEL)action; - -/** @fn enableDynamicCellHeightForTableView: - @brief Configures table view in the way than it resizes rows according to their height. - @param tableView The tableView which is going to be configured. - */ -- (void)enableDynamicCellHeightForTableView:(UITableView *)tableView; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthErrorUtils.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthErrorUtils.h deleted file mode 100644 index 0e4aa07009b..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthErrorUtils.h +++ /dev/null @@ -1,62 +0,0 @@ -// -// 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 "FUIAuthErrors.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIAuthErrorUtils - @brief Utility class used to construct @c NSError instances. - */ -@interface FUIAuthErrorUtils : NSObject - -/** @fn errorWithCode: - @brief Creates an error with the specified code. - @param code The error code. - @param userInfo The dictionary containing the error description if available. - @return An @c NSError with the correct code and corresponding description if available. - */ -+ (NSError *)errorWithCode:(FUIAuthErrorCode)code userInfo:(nullable NSDictionary *)userInfo; - -/** @fn userCancelledSignInError - @brief Constructs an @c NSError with the @c FUIAuthErrorCodeUserCancelledSignIn code. - */ -+ (NSError *)userCancelledSignInError; - -/** @fn mergeConflictErrorWithUserInfo:underlyingError: - @brief Constructs an @c NSError with the @c FUIAuthErrorCodeMergeConflict code. - @param userInfo The userInfo dictionary to add to the NSError object. - @param underlyingError The error that was raised by FirebaseAuth while merging accounts. - @return The merge conflict error. - */ -+ (NSError *)mergeConflictErrorWithUserInfo:(NSDictionary *)userInfo - underlyingError:(nullable NSError *)underlyingError; - -/** @fn providerErrorWithUnderlyingError:providerID: - @brief Constructs an @c NSError with the @c FUIAuthErrorCodeProviderError code and a populated - @c NSUnderlyingErrorKey and @c FUIAuthErrorUserInfoProviderIDKey in the - @c NSError.userInfo dictionary. - @param underlyingError The value of the @c NSUnderlyingErrorKey. - @param providerID The value of the @c FUIAuthErrorUserInfoProviderIDKey. - @remarks This error is used when an error from the identity provider cannot be immediately - handled, and should be forwarded to the client. - */ -+ (NSError *)providerErrorWithUnderlyingError:(NSError *)underlyingError - providerID:(NSString *)providerID; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthErrors.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthErrors.h deleted file mode 100644 index 3b6acb9220e..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthErrors.h +++ /dev/null @@ -1,68 +0,0 @@ -// -// 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 - -NS_ASSUME_NONNULL_BEGIN - -/** @var FUIAuthErrorDomain - @brief The standard Firebase error domain. - */ -extern NSString *const FUIAuthErrorDomain; - -/** @var FUIAuthErrorUserInfoProviderIDKey - @brief The ID of the identity provider. - */ -extern NSString *const FUIAuthErrorUserInfoProviderIDKey; - -/** @var FUIAuthCredentialKey - @brief The key used to obtain the credential stored within the userInfo dictionary of the - error, if available. - */ -extern NSString *const FUIAuthCredentialKey; - -/** @var FUIAuthErrorCode - @brief Error codes used by FUIAuth. - */ -typedef NS_ENUM(NSUInteger, FUIAuthErrorCode) { - - /** @var FUIAuthErrorCodeUserCancelledSignIn - @brief Indicates the user cancelled a sign-in flow. - */ - FUIAuthErrorCodeUserCancelledSignIn = 1, - - /** @var FUIAuthErrorCodeProviderError - @brief Indicates there's an error from the identity provider. The - @c FUIAuthErrorUserInfoProviderIDKey field in the @c NError.userInfo dictionary will - contain the ID of the identity provider. - */ - FUIAuthErrorCodeProviderError = 2, - - /** @var FUIAuthErrorCodeCantFindProvider - @brief Indicates that @FUIAuth.providers doen't contain current provider (see NSError.userInfo - key @c FUIAuthErrorUserInfoProviderIDKey). - */ - FUIAuthErrorCodeCantFindProvider = 3, - - /** @var FUIAuthErrorCodeMergeConflict - @brief Indicates that a merge conflict occurred while trying to automatically upgrade an - anonymous user. The non-anonymous credential can be obtained from the userInfo dictionary - of the corresponding NSError using the @c FUIAuthCredentialKey. - */ - FUIAuthErrorCodeMergeConflict = 4, -}; - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthPickerViewController.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthPickerViewController.h deleted file mode 100644 index d81a2b2ec39..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthPickerViewController.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// 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 - -#import "FUIAuthBaseViewController.h" - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIAuthPickerViewController - @brief The view controller that displays sign in options to the user. - */ -@interface FUIAuthPickerViewController : FUIAuthBaseViewController - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthProvider.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthProvider.h deleted file mode 100644 index df02263d89b..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthProvider.h +++ /dev/null @@ -1,180 +0,0 @@ -// -// 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 - -@class FIRAuth; -@class FIRAuthCredential; -@class FIRUser; -@class FIRUserInfo; - -typedef void (^FIRAuthResultCallback)(FIRUser *_Nullable user, NSError *_Nullable error); - -NS_ASSUME_NONNULL_BEGIN - -/** @typedef FUIAuthProviderSignInCompletionBlock - @brief The type of block used to notify the auth system of the result of a sign-in flow. - @see FUIAuthProvider.signInWithDefaultValue:presentingViewController:completion: - @param credential The @c FIRAuthCredential object created after user interaction with third - party provider. - @param error The error which may happen during creation of The @c FIRAuthCredential object. - @param result The result of sign-in operation using provided @c FIRAuthCredential object. - @see @c FIRAuth.signInWithCredential:completion: - @param userInfo A dictionary containing additional information about the sign in operation. - @see FUIAuthProviderSignInUserInfoKey - */ -typedef void (^FUIAuthProviderSignInCompletionBlock) ( - FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - _Nullable FIRAuthResultCallback result, - NSDictionary *_Nullable userInfo); - -/** - @typedef FUIAuthProviderSignInUserInfoKey - @brief A key in a userInfo dictionary corresponding to some supplemental value from - the sign-in operation. - @see FUIAuthProviderSignInCompletionBlock - */ -typedef NSString *FUIAuthProviderSignInUserInfoKey NS_TYPED_ENUM; - -/** - @typedef FUIButtonAlignment - @brief The alignment of the icon and text of the button. -*/ -typedef NS_ENUM(NSInteger, FUIButtonAlignment) { - FUIButtonAlignmentLeading, - FUIButtonAlignmentCenter, -}; - -/** - For Firebase-based authentication operations, use this key to obtain the original auth result - that was returned from the sign-in operation. - */ -static FUIAuthProviderSignInUserInfoKey FUIAuthProviderSignInUserInfoKeyAuthDataResult = - @"FUIAuthProviderSignInUserInfoKeyAuthDataResult"; - -/** @protocol FUIAuthProvider - @brief Represents an authentication provider (such as Google Sign In or Facebook Login) which - can be used with the AuthUI classes (like @c FUIAuthPickerViewController). - @remarks @c FUIAuth.signInProviders is populated with a list of @c FUIAuthProvider instances - to provide users with sign-in options. - */ -@protocol FUIAuthProvider - -/** @property providerID - @brief A unique identifier for the provider. - */ -@property(nonatomic, copy, readonly, nullable) NSString *providerID; - -/** @property shortName - @brief A short display name for the provider. - */ -@property(nonatomic, copy, readonly) NSString *shortName; - -/** @property signInLabel - @brief A localized label for the provider's sign-in button. - */ -@property(nonatomic, copy, readonly) NSString *signInLabel; - -/** @property icon - @brief The icon image of the provider. - */ -@property(nonatomic, strong, readonly) UIImage *icon; - -/** @property buttonBackgroundColor - @brief The background color that should be used for the sign in button of the provider. - */ -@property(nonatomic, strong, readonly) UIColor *buttonBackgroundColor; - -/** @property buttonTextColor - @brief The text color that should be used for the sign in button of the provider. - */ -@property(nonatomic, strong, readonly) UIColor *buttonTextColor; - -/** @property buttonAlignment - @brief The alignment of the icon and text of the button. - */ -@property(nonatomic, readwrite) FUIButtonAlignment buttonAlignment; - -/** @fn signInWithEmail:presentingViewController:completion: - @brief Called when the user wants to sign in using this auth provider. - @remarks Implementors should invoke the completion block when the sign-in process has terminated - or is canceled. There are two valid combinations of parameters; either @c credentials and - @c userInfo are both non-nil, or @c error is non-nil. Errors must specify an error code - which is one of the @c FIRAuthErrorCode codes. It is very important that all possible code - paths eventually call this method to inform the auth system of the result of the sign-in - flow. - @param email The email address of the user if it's known. - @param presentingViewController The view controller used to present the UI. - @param completion See remarks. A block which should be invoked when the sign-in process - (using @c FIRAuthCredential) completes. - */ -- (void)signInWithEmail:(nullable NSString *)email - presentingViewController:(nullable UIViewController *)presentingViewController - completion:(nullable FUIAuthProviderSignInCompletionBlock)completion -__attribute__((deprecated("This is deprecated API and will be removed in a future release." - "Use signInWithDefaultValue:presentingViewController:completion:"))); - -/** @fn signInWithDefaultValue:presentingViewController:completion: - @brief Called when the user wants to sign in using this auth provider. - @remarks Implementors should invoke the completion block when the sign-in process has terminated - or is canceled. There are two valid combinations of parameters; either @c credentials and - @c userInfo are both non-nil, or @c error is non-nil. Errors must specify an error code - which is one of the @c FIRAuthErrorCode codes. It is very important that all possible code - paths eventually call this method to inform the auth system of the result of the sign-in - flow. - @param defaultValue The default initialization value of the provider (email, phone number etc.). - @param presentingViewController The view controller used to present the UI. - @param completion See remarks. A block which should be invoked when the sign-in process - (using @c FIRAuthCredential) completes. - */ -- (void)signInWithDefaultValue:(nullable NSString *)defaultValue - presentingViewController:(nullable UIViewController *)presentingViewController - completion:(nullable FUIAuthProviderSignInCompletionBlock)completion; - -/** @fn signOut - @brief Called when the user wants to sign out. - */ -- (void)signOut; - -/** @property accessToken - @brief User Access Token obtained during sign in. - */ -@property(nonatomic, copy, readonly, nullable) NSString *accessToken; - -@optional; - -/** @property idToken - @brief User Id Token obtained during sign in. Not all providers can return, thus it's optional. - */ -@property(nonatomic, copy, readonly, nullable) NSString *idToken; - -/** @fn email - @brief The email address associated with this provider, if any. - */ -- (NSString *)email; - -/** @fn handleOpenURL: - @brief May be used to help complete a sign-in flow which requires a callback from Safari. - @param URL The URL which may be handled by the auth provider if an URL is expected. - @param sourceApplication The application which tried opening the URL. - @return YES if your auth provider handled the URL. NO otherwise. - */ -- (BOOL)handleOpenURL:(NSURL *)URL sourceApplication:(nullable NSString *)sourceApplication; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthStrings.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthStrings.h deleted file mode 100644 index 700ab911ce7..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthStrings.h +++ /dev/null @@ -1,147 +0,0 @@ -// -// 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 - -NS_ASSUME_NONNULL_BEGIN - -extern NSString *const kStr_ASCellAddPassword; -extern NSString *const kStr_ASCellChangePassword; -extern NSString *const kStr_ASCellDeleteAccount; -extern NSString *const kStr_ASCellEmail; -extern NSString *const kStr_ASCellName; -extern NSString *const kStr_ASCellSignOut; -extern NSString *const kStr_ASSectionTitleLinkedAccounts; -extern NSString *const kStr_ASSectionTitleProfile; -extern NSString *const kStr_ASSectionTitleSecurity; -extern NSString *const kStr_AccountDisabledError; -extern NSString *const kStr_AuthPickerTitle; -extern NSString *const kStr_Back; -extern NSString *const kStr_Cancel; -extern NSString *const kStr_CannotAuthenticateError; -extern NSString *const kStr_ChoosePassword; -extern NSString *const kStr_Close; -extern NSString *const kStr_ConfirmEmail; -extern NSString *const kStr_Email; -extern NSString *const kStr_EmailAlreadyInUseError; -extern NSString *const kStr_EmailSentConfirmationMessage; -extern NSString *const kStr_EnterYourEmail; -extern NSString *const kStr_EnterYourPassword; -extern NSString *const kStr_Error; -extern NSString *const kStr_ExistingAccountTitle; -extern NSString *const kStr_FirstAndLastName; -extern NSString *const kStr_ForgotPassword; -extern NSString *const kStr_InvalidEmailError; -extern NSString *const kStr_InvalidPasswordError; -extern NSString *const kStr_Name; -extern NSString *const kStr_Next; -extern NSString *const kStr_OK; -extern NSString *const kStr_Password; -extern NSString *const kStr_PasswordRecoveryEmailSentMessage; -extern NSString *const kStr_PasswordRecoveryEmailSentTitle; -extern NSString *const kStr_PasswordRecoveryMessage; -extern NSString *const kStr_PasswordRecoveryTitle; -extern NSString *const kStr_PasswordVerificationMessage; -extern NSString *const kStr_ProviderUsedPreviouslyMessage; -extern NSString *const kStr_Save; -extern NSString *const kStr_Send; -extern NSString *const kStr_Resend; -extern NSString *const kStr_SignedIn; -extern NSString *const kStr_SignInTitle; -extern NSString *const kStr_SignInTooManyTimesError; -extern NSString *const kStr_SignInWithEmail; -extern NSString *const kStr_SignInEmailSent; -extern NSString *const kStr_SignUpTitle; -extern NSString *const kStr_SignUpTooManyTimesError; -extern NSString *const kStr_TermsOfService; -extern NSString *const kStr_TroubleGettingEmailTitle; -extern NSString *const kStr_TroubleGettingEmailMessage; -extern NSString *const kStr_PrivacyPolicy; -extern NSString *const kStr_TermsOfServiceMessage; -extern NSString *const kStr_UserNotFoundError; -extern NSString *const kStr_WeakPasswordError; -extern NSString *const kStr_WrongPasswordError; -extern NSString *const kStr_CantFindProvider; -extern NSString *const kStr_EmailsDontMatch; -extern NSString *const kStr_ForgotPassword; -extern NSString *const kStr_VerifyItsYou; -extern NSString *const kStr_DeleteAccountConfirmationTitle; -extern NSString *const kStr_DeleteAccountBody; -extern NSString *const kStr_DeleteAccountConfirmationMessage; -extern NSString *const kStr_Delete; -extern NSString *const kStr_DeleteAccountControllerTitle; -extern NSString *const kStr_ActionCantBeUndone; -extern NSString *const kStr_UnlinkTitle; -extern NSString *const kStr_UnlinkAction; -extern NSString *const kStr_UnlinkConfirmationTitle; -extern NSString *const kStr_UnlinkConfirmationMessage; -extern NSString *const kStr_UnlinkConfirmationActionTitle; -extern NSString *const kStr_UpdateEmailAlertMessage; -extern NSString *const kStr_UpdateEmailVerificationAlertMessage; -extern NSString *const kStr_AddPasswordAlertMessage; -extern NSString *const kStr_EditPasswordAlertMessage; -extern NSString *const kStr_ReauthenticateEditPasswordAlertMessage; -extern NSString *const kStr_AddPasswordTitle; -extern NSString *const kStr_EditPasswordTitle; -extern NSString *const kStr_EditNameTitle; -extern NSString *const kStr_EditEmailTitle; -extern NSString *const kStr_ProviderTitlePassword; -extern NSString *const kStr_ProviderTitleGoogle; -extern NSString *const kStr_ProviderTitleFacebook; -extern NSString *const kStr_ProviderTitleTwitter; -extern NSString *const kStr_SignInWithProvider; -extern NSString *const kStr_PlaceholderEnterName; -extern NSString *const kStr_PlaceholderEnterEmail; -extern NSString *const kStr_PlaceholderEnterPassword; -extern NSString *const kStr_PlaceholderChosePassword; -extern NSString *const kStr_PlaceholderNewPassword; -extern NSString *const kStr_ForgotPasswordTitle; - -#ifdef __cplusplus -extern "C" { -#endif - -/** @fn FUILocalizedString - @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 located in default table. - */ -NSString *FUILocalizedString(NSString *key); - -/** @fn FUILocalizedStringFromTable - @brief Gets a localized string from a name. - @param key The key value of the string. - @param table The localization table name. - @return The string by the key localized in the current locale. -*/ -NSString *FUILocalizedStringFromTable(NSString *key, NSString *table); - -/** @fn FUILocalizedStringFromTableInBundle - @brief Gets a localized string from a name. - @param key The key value of the string. - @param table The localization table name. - @param bundle The bundle containing the strings. If nil is provided, this function searches the main app bundle. - @return The string by the key localized in the current locale. -*/ -NSString *FUILocalizedStringFromTableInBundle(NSString *key, - NSString *table, - NSBundle *_Nullable bundle); - -#ifdef __cplusplus -} -#endif - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthTableHeaderView.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthTableHeaderView.h deleted file mode 100644 index ed6ffd43bdb..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthTableHeaderView.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// 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 - -/** @class FUIAuthTableHeaderView - @brief A table header view that contains a title label and a detail label. - */ -@interface FUIAuthTableHeaderView : UIView - -/** @property titleLabel - @brief The title label in this table header view. - */ -@property(nonatomic, strong) UILabel *titleLabel; - -/** @property detailLabel - @brief The detail label in this table header view. - */ -@property(nonatomic, strong) UILabel *detailLabel; - -@end diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthTableViewCell.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthTableViewCell.h deleted file mode 100644 index e8357c5de37..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthTableViewCell.h +++ /dev/null @@ -1,38 +0,0 @@ -// -// 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 - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIAuthTableViewCell - @brief A common table view cell that can be used in multiple view controllers. - */ -@interface FUIAuthTableViewCell : UITableViewCell - -/** @property label - @brief The label that describes the purpose of @c textField. - */ -@property(nonatomic, strong) IBOutlet UILabel *label; - -/** @property textField - @brief The text field that collects user's input. - */ -@property(nonatomic, strong) IBOutlet UITextField *textField; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthUtils.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthUtils.h deleted file mode 100644 index cafebe8fe4e..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuthUtils.h +++ /dev/null @@ -1,63 +0,0 @@ -// -// 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 - -NS_ASSUME_NONNULL_BEGIN - -/* Name of the FirebaseAuthUI resource bundle. */ -extern NSString *const FUIAuthBundleName; - -/** @class FUIAuthUtils - @brief Provides utility methods for Firebase Auth UI. - */ -@interface FUIAuthUtils : NSObject - -- (instancetype)init NS_UNAVAILABLE; - -+ (NSBundle *)authUIBundle; - -/** @fn bundleNamed: - @brief Gets the framework bundle for specified name - @param bundleName Name of the bundle to retreive. If nil, this returns the default bundle for - FirebaseUI. - @param framework The name of the framework module the resource bundle should be present in. - */ -+ (nullable NSBundle *)bundleNamed:(nullable NSString *)bundleName - inFrameworkBundle:(nullable NSBundle *)framework; - -/** @fn imageNamed:fromBundle: - @brief Gets a UIImage with the given name, assuming it's a png. - @param name Name of the image to retreive. - @param bundle The bundle to retrieve the image from. If nil, this method will look into the - default FirebaseAuthUI framework bundle. - */ -+ (nullable UIImage *)imageNamed:(NSString *)name fromBundle:(nullable NSBundle *)bundle; - -/** @fn randomNonce - @brief Generates a random 32-character nonce. - */ -+ (NSString *)randomNonce; - -/** @fn stringBySHA256HashingString: - @brief Generates the SHA-256 hash of the input string. - @param input The input string to be hashed. - */ -+ (NSString *)stringBySHA256HashingString:(NSString *)input; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuth_Internal.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuth_Internal.h deleted file mode 100644 index 12e10231d28..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIAuth_Internal.h +++ /dev/null @@ -1,105 +0,0 @@ -// -// 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 "FUIAuth.h" - -@class FUIAuthBaseViewController; - -/** @typedef FUIEmailHintSignInCallback - @brief The type of block invoked when an emailHint sign-in event completes. - - @param authResult Optionally; Result of sign-in request containing both the user and - the additional user info associated with the user. - @param error Optionally; the error which occurred - or nil if the request was successful. - @param credential Optionally; The credential used to sign-in. - */ -typedef void (^FUIEmailHintSignInCallback)(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error, - FIRAuthCredential *_Nullable credential); - -NS_ASSUME_NONNULL_BEGIN - - -/** - * The methods defined in this file are for use in the FirebaseUI provider libraries. - * They may break in non-major releases and are not for public use. - */ -@protocol FUIEmailAuthProvider - -- (void)handleAccountLinkingForEmail:(NSString *)email - newCredential:(FIRAuthCredential *)newCredential - presentingViewController:(UIViewController *)presentingViewController - signInResult:(_Nullable FIRAuthResultCallback)result; - -- (void)signInWithEmailHint:(NSString *)emailHint - presentingViewController:(FUIAuthBaseViewController *)presentingViewController - originalError:(NSError *)originalError - completion:(FUIEmailHintSignInCallback)completion; - -@end - -@interface FUIAuth () - -/** @fn invokeResultCallbackWithAuthDataResult:error: - @brief Invokes the auth UI result callback. - @param authDataResult The sign in data result, if any. - @param url The url, if any. - @param error The error which occurred, if any. - */ -- (void)invokeResultCallbackWithAuthDataResult:(nullable FIRAuthDataResult *)authDataResult - URL:(nullable NSURL *)url - error:(nullable NSError *)error; - -/** @fn invokeOperationCallback:error: - @brief Invokes the auth UI operation callback. - @param operation The executed operation. - @param error The error which occurred, if any. - */ -- (void)invokeOperationCallback:(FUIAccountSettingsOperationType)operation - error:(NSError *_Nullable)error; - - -/** @fn providerWithID: - @brief Returns first provider (if it exists) with specified provider ID. - @param providerID The ID of the provider. - */ -- (nullable id)providerWithID:(NSString *)providerID; - -/** @fn signInWithProviderUI:presentingViewController:defaultValue: - @brief Signs in with specified provider. - @see FUIAuthDelegate.authUI:didSignInWithAuthDataResult:URL:error: for method callback. - @param providerUI The authentication provider used for signing in. - @param presentingViewController The view controller used to present the UI. - @param defaultValue The provider default initialization value (e.g. email or phone number) - used for signing in. - */ -- (void)signInWithProviderUI:(id)providerUI - presentingViewController:(UIViewController *)presentingViewController - defaultValue:(nullable NSString *)defaultValue; - -/** @property emailAuthProvider - @brief The email auth provider, if any, that will be displayed in the default sign-in UI. - */ -@property(nonatomic, weak, nullable) id emailAuthProvider; - -/** @property emulatorEnabled - @brief Whether or not the auth emulator is being used. - */ -@property(nonatomic, assign, getter=isEmulatorEnabled) BOOL emulatorEnabled; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIPrivacyAndTermsOfServiceView.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIPrivacyAndTermsOfServiceView.h deleted file mode 100644 index 6119828d6c2..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FUIPrivacyAndTermsOfServiceView.h +++ /dev/null @@ -1,56 +0,0 @@ -// -// 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 - -@class FUIAuth; - -NS_ASSUME_NONNULL_BEGIN - -@interface FUIPrivacyAndTermsOfServiceView : UITextView - -/** @fn useFullMessage - @brief Display Privacy and Terms of Service message in full form. - */ -- (void)useFullMessage; - -/** @fn useFooterMessage - @brief Display Privacy and Terms of Service link, which usually are placed as footer. - */ -- (void)useFooterMessage; - -/** @property authUI - @brief the @c FUIAuth instance whose bundle will be used to populate the view's terms of service and - privacy policy content. If this property is nil, the default @c FUIAuth instance's terms of service and - privacy policy will be used. - */ -@property(nonatomic, strong, nullable) FUIAuth *authUI; - -@end - -@interface FUIPrivacyAndTermsOfServiceView (Protected) - -/** @fn privacyPolicyAndTOSMessageFromFormat: - @brief produce the Privacy and Terms of Service attributed string based on a customized format. - @param format the customized format with two placeholder for Privacy and Terms of Service - respectively. - @return the Privacy and Terms of Service attributed string. - */ -- (nullable NSAttributedString *)privacyPolicyAndTOSMessageFromFormat:(NSString *)format; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FirebaseAuthUI.h b/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FirebaseAuthUI.h deleted file mode 100644 index 3746a12b5de..00000000000 --- a/FirebaseAuthUI/Sources/Public/FirebaseAuthUI/FirebaseAuthUI.h +++ /dev/null @@ -1,39 +0,0 @@ -// -// 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 - -//! Project version number for FirebaseAuthUI. -FOUNDATION_EXPORT double FirebaseAuthUIVersionNumber; - -//! Project version string for FirebaseAuthUI. -FOUNDATION_EXPORT const unsigned char FirebaseAuthUIVersionString[]; - -#import "FUIAccountSettingsOperationType.h" -#import "FUIAccountSettingsViewController.h" - -#import "FUIAuth.h" -#import "FUIAuth_Internal.h" -#import "FUIAuthBaseViewController.h" -#import "FUIAuthBaseViewController_Internal.h" -#import "FUIAuthErrorUtils.h" -#import "FUIAuthPickerViewController.h" -#import "FUIAuthProvider.h" -#import "FUIAuthUtils.h" -#import "FUIAuthStrings.h" -#import "FUIPrivacyAndTermsOfServiceView.h" -#import "FUIAuthTableViewCell.h" -#import "FUIAuthTableHeaderView.h" diff --git a/FirebaseAuthUI/Sources/Resources/FUIAccountSettingsViewController.xib b/FirebaseAuthUI/Sources/Resources/FUIAccountSettingsViewController.xib deleted file mode 100644 index e9bf85ffb85..00000000000 --- a/FirebaseAuthUI/Sources/Resources/FUIAccountSettingsViewController.xib +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseAuthUI/Sources/Resources/FUIAuthPickerViewController.xib b/FirebaseAuthUI/Sources/Resources/FUIAuthPickerViewController.xib deleted file mode 100644 index 740cc32c5cc..00000000000 --- a/FirebaseAuthUI/Sources/Resources/FUIAuthPickerViewController.xib +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseAuthUI/Sources/Resources/FUIAuthTableViewCell.xib b/FirebaseAuthUI/Sources/Resources/FUIAuthTableViewCell.xib deleted file mode 100644 index 4060491f351..00000000000 --- a/FirebaseAuthUI/Sources/Resources/FUIAuthTableViewCell.xib +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseAuthUI/Sources/Resources/FUIInputTableViewCell.xib b/FirebaseAuthUI/Sources/Resources/FUIInputTableViewCell.xib deleted file mode 100644 index 872fa477818..00000000000 --- a/FirebaseAuthUI/Sources/Resources/FUIInputTableViewCell.xib +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseAuthUI/Sources/Resources/FUIPasswordTableViewCell.xib b/FirebaseAuthUI/Sources/Resources/FUIPasswordTableViewCell.xib deleted file mode 100644 index bd8b11c49d0..00000000000 --- a/FirebaseAuthUI/Sources/Resources/FUIPasswordTableViewCell.xib +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseAuthUI/Sources/Resources/FUIStaticContentTableViewController.xib b/FirebaseAuthUI/Sources/Resources/FUIStaticContentTableViewController.xib deleted file mode 100644 index 04a2b42bd9d..00000000000 --- a/FirebaseAuthUI/Sources/Resources/FUIStaticContentTableViewController.xib +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseAuthUI/Sources/Resources/ic_account_circle.png b/FirebaseAuthUI/Sources/Resources/ic_account_circle.png deleted file mode 100755 index 93082c336f7..00000000000 Binary files a/FirebaseAuthUI/Sources/Resources/ic_account_circle.png and /dev/null differ diff --git a/FirebaseAuthUI/Sources/Resources/ic_account_circle2x.png b/FirebaseAuthUI/Sources/Resources/ic_account_circle2x.png deleted file mode 100755 index ea280fe6347..00000000000 Binary files a/FirebaseAuthUI/Sources/Resources/ic_account_circle2x.png and /dev/null differ diff --git a/FirebaseAuthUI/Sources/Resources/ic_account_circle3x.png b/FirebaseAuthUI/Sources/Resources/ic_account_circle3x.png deleted file mode 100755 index 5d488d08dfe..00000000000 Binary files a/FirebaseAuthUI/Sources/Resources/ic_account_circle3x.png and /dev/null differ diff --git a/FirebaseAuthUI/Sources/Resources/ic_visibility.png b/FirebaseAuthUI/Sources/Resources/ic_visibility.png deleted file mode 100644 index 58597e91b97..00000000000 Binary files a/FirebaseAuthUI/Sources/Resources/ic_visibility.png and /dev/null differ diff --git a/FirebaseAuthUI/Sources/Resources/ic_visibility@2x.png b/FirebaseAuthUI/Sources/Resources/ic_visibility@2x.png deleted file mode 100644 index 1f7b4cc8f24..00000000000 Binary files a/FirebaseAuthUI/Sources/Resources/ic_visibility@2x.png and /dev/null differ diff --git a/FirebaseAuthUI/Sources/Resources/ic_visibility@3x.png b/FirebaseAuthUI/Sources/Resources/ic_visibility@3x.png deleted file mode 100644 index c816ab49dca..00000000000 Binary files a/FirebaseAuthUI/Sources/Resources/ic_visibility@3x.png and /dev/null differ diff --git a/FirebaseAuthUI/Sources/Resources/ic_visibility_off.png b/FirebaseAuthUI/Sources/Resources/ic_visibility_off.png deleted file mode 100644 index 3efdf49225d..00000000000 Binary files a/FirebaseAuthUI/Sources/Resources/ic_visibility_off.png and /dev/null differ diff --git a/FirebaseAuthUI/Sources/Resources/ic_visibility_off@2x.png b/FirebaseAuthUI/Sources/Resources/ic_visibility_off@2x.png deleted file mode 100644 index 46bf0c931a0..00000000000 Binary files a/FirebaseAuthUI/Sources/Resources/ic_visibility_off@2x.png and /dev/null differ diff --git a/FirebaseAuthUI/Sources/Resources/ic_visibility_off@3x.png b/FirebaseAuthUI/Sources/Resources/ic_visibility_off@3x.png deleted file mode 100644 index 13eb65df37f..00000000000 Binary files a/FirebaseAuthUI/Sources/Resources/ic_visibility_off@3x.png and /dev/null differ diff --git a/FirebaseAuthUI/Sources/Strings/ar.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/ar.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 86c2a466b22..00000000000 --- a/FirebaseAuthUI/Sources/Strings/ar.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "مرحبًا"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "تسجيل الدخول عبر البريد الإلكتروني"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "إدخال عنوان بريدك الإلكتروني"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "إنّ عنوان البريد الإلكتروني هذا غير صحيح."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "لا يتيح هذا التطبيق استخدام هذا النوع من الحساب"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "لديك حساب حاليًا"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "سبق أن استخدمت %@. يُرجى تسجيل الدخول باسم %@ للمتابعة."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "تسجيل الدخول"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "إدخال كلمة المرور"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "لا يمكن أن يكون حقل كلمة المرور فارغًا."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "إنّ البريد الإلكتروني وكلمة المرور اللذين أدخلتهما ليسا متطابقين."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "لا يتطابق عنوان البريد الإلكتروني هذا مع حساب حالي."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "إنّ عنوان البريد الإلكتروني هذا تابع لحساب سبق أن تم إيقافه."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "لقد أدخلت كلمة مرور غير صحيحة لمرات كثيرة جدًا. يُرجى المحاولة مجددًا بعد بضع دقائق."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "تعذّر الحصول على مزوّد %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "لا تتطابق رسالتا البريد الإلكتروني"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "استرداد كلمة المرور"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "تم إرسال تعليمات إلى البريد الإلكتروني هذا تشرح كيفية إعادة تعيين كلمة المرور."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "إثبات ملكية بريدك الإلكتروني"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "اتبع التعليمات التي تم إرسالها إلى %@ لاسترداد كلمة المرور."; - -/* Title for sign up screen. */ -"SignUpTitle" = "إنشاء حساب"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "الاسم الأول واسم العائلة"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "اختيار كلمة المرور"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "بنود الخدمة"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "سياسة الخصوصية"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "تشير المتابعة إلى موافقتك على %@ و%@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "يستخدم حساب آخر عنوان البريد الإلكتروني."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "تتضمن كلمات المرور القوية 6 أرقام على الأقل ومزيجًا من الأحرف والأرقام."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "ثمة عدد كبير جدًا من الطلبات الواردة من عنوان IP التابع لك. يُرجى المحاولة مجددًا بعد بضع دقائق."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "لقد سبق أن استخدمت %@ لتسجيل الدخول. يُرجى إدخال كلمة المرور لهذا الحساب."; - -/* OK button title. */ -"OK" = "موافق"; - -/* Cancel button title. */ -"Cancel" = "إلغاء"; - -/* Back button title. */ -"Back" = "رجوع"; - -/* Next button title. */ -"Next" = "التالي"; - -/* Save button title. */ -"Save" = "حفظ"; - -/* Send button title. */ -"Send" = "إرسال"; - -/* Resend button title. */ -"Resend" = "إعادة إرسال الرسالة"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "البريد الإلكتروني"; - -/* Label next to a password text field. */ -"Password" = "كلمة المرور"; - -/* Label next to a name text field. */ -"Name" = "الاسم"; - -/* Alert title Error. */ -"Error" = "خطأ"; - -/* Alert button title Close. */ -"Close" = "إغلاق"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "الملف الشخصي"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "الأمان"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "الحسابات المرتبطة"; - -/* Account Settings cell title Name. */ -"AS_Name" = "الاسم"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "البريد الإلكتروني"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "إضافة كلمة مرور"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "تغيير كلمة المرور"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "تسجيل الخروج"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "حذف الحساب"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "هل نسيت كلمة المرور؟"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "تأكيد ملكية الحساب"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "هل تريد حذف الحساب؟"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "سيؤدي هذا الإجراء إلى حذف كل البيانات المقترنة بحسابك ولا يمكن التراجع عنه. يجب تسجيل الدخول مجددًا لإكمال هذا الإجراء"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "سيؤدي هذا الإجراء إلى حذف كل البيانات المقترنة بحسابك ولا يمكن التراجع عنه. هل تريد بالتأكيد حذف حسابك؟"; - -/* Text of Delete action button. */ -"Delete" = "حذف"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "حذف الحساب"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "لا يمكن التراجع عن هذا الإجراء"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "إلغاء الربط"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "حساب مرتبط"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "هل تريد إلغاء ربط الحساب؟"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "لن تتمكن بعد الآن من تسجيل الدخول باستخدام حسابك"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "إلغاء ربط الحساب"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "لتغيير عنوان البريد الإلكتروني المقترن بحسابك، سيلزمك تسجيل الدخول مرة أخرى."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "لتغيير كلمة المرور، يجب أولاً إدخال كلمة المرور الحالية."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "تعديل الرسالة"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "تعديل الاسم"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "لإضافة كلمة مرور إلى حسابك، يجب تسجيل الدخول من جديد."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "لتغيير كلمة المرور في حسابك، يجب تسجيل الدخول من جديد."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "لتغيير كلمة المرور، يجب أولاً إدخال كلمة المرور الحالية."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "إضافة كلمة مرور"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "تغيير كلمة المرور"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "البريد الإلكتروني"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "تسجيل الدخول عبر %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "إدخال اسمك"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "إدخال عنوان بريدك الإلكتروني"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "إدخال كلمة المرور"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "كلمة المرور الجديدة"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "اختيار كلمة المرور"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "هل تواجه مشكلة في تسجيل الدخول؟"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "تأكيد عنوان البريد الإلكتروني"; - -/* Title of successfully signed in label. */ -"SignedIn" = "تمّ تسجيل الدخول."; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "هل تواجه مشكلة في استلام الرسائل الإلكترونية؟"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "يمكنك تجربة الحلول الشائعة التالية: \n - التأكّد ممّا إذا تمّ وضع علامة على الرسالة الإلكترونية بأنها \"غير مرغوب فيها\" أو نقلها تلقائيًا إلى مجلّد آخر\n - التحقّق من اتصال الإنترنت\n - التأكّد من كتابة عنوان البريد الإلكتروني بالشكل الصحيح\n - التأكّد من توفّر مساحة فارغة في البريد الوارد أو من عدم حدوث أي مشاكل أخرى في إعدادات البريد الوارد\n إذا لم تنجح الخطوات أعلاه، يمكنك إعادة إرسال الرسالة الإلكترونية. ستؤدي هذه الخطوة إلى إلغاء الرابط المضمّن في الرسالة السابقة."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "تمّ إرسال رسالة إلكترونية لتسجيل الدخول تتضمّن تعليمات إضافية إلى %@. يُرجى التحقق من بريدك الإلكتروني لإكمال عملية تسجيل الدخول."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "تمّ إرسال رسالة إلكترونية لتسجيل الدخول"; diff --git a/FirebaseAuthUI/Sources/Strings/bg.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/bg.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 7ab6fe66789..00000000000 --- a/FirebaseAuthUI/Sources/Strings/bg.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Добре дошли"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Вход с имейл"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Въвеждане на имейл адреса ви"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Този имейл адрес е неправилен."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Този тип профил не се поддържа от това приложение"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Вече имате профил"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Вече използвахте %@. За да продължите, влезте с %@."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Вход"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Въведете паролата си"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Трябва да въведете парола."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Имейл адресът и паролата, които въведохте, не си съответстват."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Този имейл адрес не съответства на съществуващ профил."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Този имейл адрес е за профил, който е деактивиран."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Въведохте неправилна парола твърде много пъти. Опитайте отново след няколко минути."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Не може да се намери доставчик за %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Имейл адресите не съвпадат"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Възстановяване на паролата"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "На този имейл адрес ще получите инструкции за повторно задаване на паролата."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Проверете електронната си поща"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "За да възстановите паролата си, изпълнете инструкциите, изпратени до %@."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Създаване на профил"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Име и фамилия"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Изберете парола"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Общите условия"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Декларация за поверителност"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Продължавайки, приемате нашите %@ и %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Имейл адресът вече се използва от друг профил."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Надеждните пароли съдържат поне 6 знака и комбинация от букви и цифри."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "От IP адреса ви се изпращат твърде много заявки за профил. Опитайте отново след няколко минути."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Вече използвахте %@ за вход. Въведете паролата си за този профил."; - -/* OK button title. */ -"OK" = "ОК"; - -/* Cancel button title. */ -"Cancel" = "Отказ"; - -/* Back button title. */ -"Back" = "Назад"; - -/* Next button title. */ -"Next" = "Напред"; - -/* Save button title. */ -"Save" = "Запазване"; - -/* Send button title. */ -"Send" = "Изпращане"; - -/* Resend button title. */ -"Resend" = "Повторно изпращане"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Имейл"; - -/* Label next to a password text field. */ -"Password" = "Парола"; - -/* Label next to a name text field. */ -"Name" = "Име"; - -/* Alert title Error. */ -"Error" = "Грешка"; - -/* Alert button title Close. */ -"Close" = "Затваряне"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Потребителски профил"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Сигурност"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Свързани профили"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Име"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Имейл"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Добавяне на парола"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Промяна на паролата"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Изход"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Изтриване на профила"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Забравили сте паролата си?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Потвърждаване на самоличността ви"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Да се изтрие ли профилът?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Това действие ще изтрие всички свързани с профила ви данни и не може да се отмени. За да го завършите, ще трябва отново да влезете в профила"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Това действие ще изтрие всички свързани с профила ви данни и не може да се отмени. Наистина ли искате да изтриете профила?"; - -/* Text of Delete action button. */ -"Delete" = "Изтриване"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Изтриване на профила"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Това действие не може да се отмени"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Прекратяване на връзката"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Свързан профил"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Да се прекрати ли връзката с профила?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Вече няма да можете да влизате с профила си"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Прекратяване на връзката с профила"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "За да промените имейл адреса, свързан с профила ви, ще трябва да влезете отново."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "За да промените паролата си, първо трябва да въведете текущата."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Редактиране на имейла"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Редактиране на името"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "За да добавите парола към профила си, ще трябва да влезете отново."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "За да промените паролата за профила си, ще трябва да влезете отново."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "За да промените паролата си, първо трябва да въведете текущата."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Добавяне на парола"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Промяна на паролата"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Имейл"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Вход с %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Въведете името си"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Въведете имейла си"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Въведете паролата си"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Нова парола"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Изберете парола"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Имате проблем при влизането?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Потвърждаване на имейл адреса"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Влязохте в профила!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Имате проблеми с получаването на имейла?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Изпробвайте следните често използвани решения: \n – Проверете дали имейлът не е обозначен и филтриран като спам.\n – Проверете връзката си с интернет.\n – Проверете дали имейлът е изписан правилно.\n – Проверете дали в пощенската ви кутия има достатъчно пространство, или не е налице друг проблем с настройките й.\n Ако стъпките по-горе не разрешат проблема, можете отново да изпратите имейла. Имайте предвид, че това ще деактивира връзката в предходното съобщение."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Изпратихме имейл до %@ за вход в профила с допълнителни инструкции. Проверете входящата си поща, за да завършите процеса."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Изпратен е имейл за вход в профила"; diff --git a/FirebaseAuthUI/Sources/Strings/bn.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/bn.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 58426fe0413..00000000000 --- a/FirebaseAuthUI/Sources/Strings/bn.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "স্বাগতম"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "ইমেল দিয়ে সাইন-ইন করুন"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "আপনার ইমেল লিখুন"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "ইমেল অ্যাড্রেসটি সঠিক নয়।"; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "এই ধরনের অ্যাকাউন্ট এই অ্যাপে ব্যবহার করা যায় না"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "আপনার আগে থেকেই একটি অ্যাকাউন্ট আছে"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "আপনি আগেই %@ ব্যবহার করেছেন। চালিয়ে যেতে %@ দিয়ে সাইন-ইন করুন।"; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "সাইন-ইন করুন"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "আপনার পাসওয়ার্ডটি লিখুন"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "পাসওয়ার্ডটি খালি রাখা যাবে না।"; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "আপনার দেওয়া ইমেল এবং পাসওয়ার্ডটি মিলছে না।"; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "আগে থেকে থাকা অ্যাকাউন্টের সাথে ইমেল অ্যাড্রেসটি মিলছে না।"; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "এই ইমেল অ্যাড্রেসটি এমন একটি অ্যাকাউন্টের জন্য যেটি অক্ষম করা হয়েছে।"; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "আপনি অনেকবার ভুল পাসওয়ার্ড লিখেছেন। কিছুক্ষণের মধ্যে আবার চেষ্টা করুন।"; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "%@ এর জন্য প্রদানকারী পাওয়া যাচ্ছে না।"; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "ইমেলটি মেল হচ্ছে না"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "পাসওয়ার্ড পুনরুদ্ধার করুন"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "কীভাবে পাসওয়ার্ড রিসেট করবেন তা জানতে এই ইমেলে নির্দেশাবলী পাঠান।"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "আপনার ইমেল দেখুন"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "আপনার পাসওয়ার্ড পুনরুদ্ধার করতে %@ তে পাঠানো নির্দেশ অনুসরণ করুন।"; - -/* Title for sign up screen. */ -"SignUpTitle" = "অ্যাকাউন্ট তৈরি করুন"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "নাম ও পদবি"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "পাসওয়ার্ড বেছে নিন"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "পরিষেবার শর্তাবলি"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "গোপনীয়তা নীতি"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "চালিয়ে যাওয়ার অর্থ, আপনি আমাদের %@ এবং %@-এর সাথে সম্মত।"; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "এই ইমেল অ্যাড্রেসটি আগে থেকেই অন্য অ্যাকাউন্টে ব্যবহার করা হচ্ছে।"; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "সুরক্ষিত পাসওয়ার্ডে কমপক্ষে ৬টি বিশেষ বর্ণ এবং অক্ষর ও সংখ্যা মিশিয়ে থাকবে।"; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "আপনার IP অ্যাড্রেস থেকে অনেকগুলি অ্যাকাউন্টের অনুরোধ আসছে। কিছুক্ষণের মধ্যে আবার চেষ্টা করুন।"; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "সাইন-ইন করতে আপনি %@ আগেই ব্যবহার করেছেন। সেই অ্যাকাউন্টের জন্য আপনার পাসওয়ার্ড লিখুন।"; - -/* OK button title. */ -"OK" = "ঠিক আছে"; - -/* Cancel button title. */ -"Cancel" = "বাতিল করুন"; - -/* Back button title. */ -"Back" = "ফিরে যান"; - -/* Next button title. */ -"Next" = "পরবর্তী"; - -/* Save button title. */ -"Save" = "সেভ করুন"; - -/* Send button title. */ -"Send" = "পাঠান"; - -/* Resend button title. */ -"Resend" = "আবার পাঠান"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "ইমেল"; - -/* Label next to a password text field. */ -"Password" = "পাসওয়ার্ড"; - -/* Label next to a name text field. */ -"Name" = "নাম"; - -/* Alert title Error. */ -"Error" = "ত্রুটি"; - -/* Alert button title Close. */ -"Close" = "বন্ধ করুন"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "প্রোফাইল"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "নিরাপত্তা"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "লিঙ্ক করা অ্যাকাউন্ট"; - -/* Account Settings cell title Name. */ -"AS_Name" = "নাম"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "ইমেল"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "পাসওয়ার্ড যোগ করুন"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "পাসওয়ার্ড পরিবর্তন করুন"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "সাইন-আউট করুন"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "অ্যাকাউন্টটি মুছুন"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "পাসওয়ার্ড ভুলে গেছেন?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "আপনার পরিচয় যাচাই করুন"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "অ্যাকাউন্ট মুছবেন?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "আপনার অ্যাকাউন্টের সাথে যুক্ত সমস্ত ডেটা মুছে ফেলা হবে, এবং পূর্বাবস্থায় ফেরানো যাবে না। এই কাজটি সম্পূর্ণ করতে আপনাকে আবার সাইন-ইন করতে হবে"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "আপনার অ্যাকাউন্টের সাথে যুক্ত সমস্ত ডেটা মুছে ফেলা হবে, এবং পূর্বাবস্থায় ফেরানো যাবে না। আপনি কি অ্যাকাউন্টটি মুছে ফেলার বিষয়ে নিশ্চিত?"; - -/* Text of Delete action button. */ -"Delete" = "মুছুন"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "অ্যাকাউন্টটি মুছুন"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "এই কাজটি পূর্বাবস্থায় ফেরানো যাবে না"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "লিঙ্কমুক্ত করুন"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "লিঙ্ক করা অ্যাকাউন্ট"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "অ্যাকাউন্ট লিঙ্কমুক্ত করবেন?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "আপনি আর এই অ্যাকাউন্টটি ব্যবহার করে সাইন-ইন করতে পারবেন না"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "অ্যাকাউন্ট লিঙ্কমুক্ত করুন"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "আপনার অ্যাকাউন্টের সাথে যুক্ত ইমেল অ্যাড্রেসটি পরিবর্তন করতে আপনাকে আবার সাইন-ইন করতে হবে।"; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "পাসওয়ার্ড পরিবর্তন করার জন্য আগে আপনাকে বর্তমান পাসওয়ার্ডটি লিখতে হবে।"; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "ইমেলটি সম্পাদনা করুন"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "নাম সম্পাদনা করুন"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "আপনার অ্যাকাউন্টে পাসওয়ার্ড যোগ করতে আপনাকে আবার সাইন-ইন করতে হবে।"; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "আপনার অ্যাকাউন্টের পাসওয়ার্ড পরিবর্তন করতে আপনাকে আবার সাইন-ইন করতে হবে।"; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "পাসওয়ার্ড পরিবর্তন করার জন্য আগে আপনাকে বর্তমান পাসওয়ার্ডটি লিখতে হবে।"; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "পাসওয়ার্ড যোগ করুন"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "পাসওয়ার্ড পরিবর্তন করুন"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "ইমেল"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "%@ দিয়ে সাইন-ইন করুন"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "আপনার নাম লিখুন"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "আপনার ইমেল লিখুন"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "আপনার পাসওয়ার্ডটি লিখুন"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "নতুন পাসওয়ার্ড"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "পাসওয়ার্ড বেছে নিন"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "সাইন-ইন করতে সমস্যা হচ্ছে?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "ইমেল আইডি কনফার্ম করুন"; - -/* Title of successfully signed in label. */ -"SignedIn" = "সাইন-ইন করা হয়েছে!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "ইমেল পেতে সমস্যা হচ্ছে?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "এই সাধারণ সমাধানগুলি ব্যবহার করে দেখুন: \n - ইমেলটি স্প্যাম অথবা ফিল্টার হিসেবে চিহ্নিত করা হয়েছে কিনা তা দেখুন।\n - ইন্টারনেট কানেকশন পরীক্ষা করে দেখুন।\n - ইমেলের সঠিক বানান লিখেছেন কিনা তা দেখুন।\n - আপনার ইনবক্সের স্পেস শেষ হয়ে গেছে কিনা বা ইনবক্সের সেটিংস সংক্রান্ত অন্যান্য সমস্যাগুলি একবার দেখে নিন।\n উপরের পদক্ষেপগুলি যদি কাজ না করে তাহলে আপনি ইমেলটি আবার পাঠাতে পারেন। মনে রাখবেন এটি করলে পুরনো ইমেলের লিঙ্কটি আর কাজ করবে না।"; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "অতিরিক্ত নির্দেশাবলী সহ সাইন-ইন করার একটি ইমেল %@-এ পাঠানো হয়েছে। সাইন-ইন করার জন্য আপনার ইমেল দেখুন।"; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "সাইন-ইন করার ইমেল পাঠানো হয়েছে"; diff --git a/FirebaseAuthUI/Sources/Strings/ca.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/ca.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 667de8a3649..00000000000 --- a/FirebaseAuthUI/Sources/Strings/ca.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Et donem la benvinguda"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Inicia la sessió amb l'adreça electrònica"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Introdueix la teva adreça electrònica"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Aquesta adreça electrònica no és correcta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Aquest tipus de compte no és compatible amb l'aplicació"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ja tens un compte"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ja has utilitzat l'adreça electrònica %@. Inicia la sessió amb %@ per continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Inicia la sessió"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Introdueix la teva contrasenya"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Cal introduir una contrasenya."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "L'adreça electrònica i la contrasenya que has introduït no coincideixen."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Aquesta adreça electrònica no coincideix amb cap compte."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Aquesta adreça electrònica pertany a un compte que s'ha desactivat."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Has introduït una contrasenya incorrecta massa vegades. Torna-ho a provar d'aquí a uns quants minuts."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No es pot trobar un proveïdor per a %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Les adreces electròniques no coincideixen"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recupera la contrasenya"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Rep un correu electrònic amb instruccions per restablir la contrasenya."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Comprova el correu electrònic"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Per recuperar la contrasenya, segueix les instruccions que s'han enviat a %@."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crea un compte"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nom i cognoms"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Tria una contrasenya"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condicions del servei"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de privadesa"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "En continuar, acceptes les nostres %@ i la nostra %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Ja hi ha un altre compte que utilitza aquesta adreça electrònica."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Perquè una contrasenya sigui segura, ha de tenir com a mínim 6 caràcters i combinar lletres i números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Aquesta adreça IP està enviant massa sol·licituds per crear comptes. Torna-ho a provar d'aquí a uns quants minuts."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ja has utilitzat l'adreça electrònica %@ per iniciar la sessió. Introdueix la contrasenya d'aquest compte."; - -/* OK button title. */ -"OK" = "D'acord"; - -/* Cancel button title. */ -"Cancel" = "Cancel·la"; - -/* Back button title. */ -"Back" = "Enrere"; - -/* Next button title. */ -"Next" = "Següent"; - -/* Save button title. */ -"Save" = "Desa"; - -/* Send button title. */ -"Send" = "Envia"; - -/* Resend button title. */ -"Resend" = "Torna a enviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Adreça electrònica"; - -/* Label next to a password text field. */ -"Password" = "Contrasenya"; - -/* Label next to a name text field. */ -"Name" = "Nom"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Tanca"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguretat"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Comptes enllaçats"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nom"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Adreça electrònica"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Afegeix una contrasenya"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Canvia la contrasenya"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Tanca la sessió"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Suprimeix el compte"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Has oblidat la contrasenya?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica la teva identitat"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Vols suprimir el compte?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Aquesta acció esborrarà totes les dades associades a aquest compte i no es pot desfer. Per completar-la, has de tornar a iniciar la sessió."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Aquesta acció esborrarà totes les dades associades a aquest compte i no es pot desfer. Confirmes que vols suprimir el compte?"; - -/* Text of Delete action button. */ -"Delete" = "Suprimeix"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Suprimeix el compte"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Aquesta acció no es pot desfer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desenllaça"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Compte enllaçat"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Vols desenllaçar el compte?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ja no podràs iniciar la sessió amb el teu compte"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desenllaça el compte"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Per canviar l'adreça electrònica associada al teu compte, has de tornar a iniciar la sessió."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Per canviar la contrasenya, primer has d'introduir la teva contrasenya actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Edita l'adreça electrònica"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Edita el nom"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Per afegir una contrasenya al teu compte, has de tornar a iniciar la sessió."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Per canviar la contrasenya del teu compte, has de tornar a iniciar la sessió."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Per canviar la contrasenya, primer has d'introduir la teva contrasenya actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Afegeix una contrasenya"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Canvia la contrasenya"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Adreça electrònica"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Inicia la sessió amb %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Introdueix el teu nom"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Introdueix la teva adreça electrònica"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Introdueix la teva contrasenya"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Contrasenya nova"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Tria una contrasenya"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "No pots iniciar la sessió?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirma l'adreça electrònica"; - -/* Title of successfully signed in label. */ -"SignedIn" = "S'ha iniciat la sessió"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Tens problemes per rebre correus electrònics?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prova aquestes solucions habituals: \n - Comprova si el correu electrònic s'ha marcat com a correu brossa o s'ha filtrat.\n - Comprova la connexió a Internet.\n - Comprova que hagis escrit correctament la teva adreça electrònica.\n - Comprova que tinguis espai a la safata d'entrada i altres problemes relacionats amb la configuració de la safata d'entrada.\n - Si els passos anteriors no t'han servit d'ajuda, pots tornar a enviar el correu electrònic. Tingues en compte que l'enllaç del correu anterior es desactivarà."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "S'ha enviat un correu electrònic d'inici de sessió amb més instruccions a %@. Comprova si l'has rebut per completar l'inici de sessió."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "S'ha enviat el correu electrònic d'inici de sessió"; diff --git a/FirebaseAuthUI/Sources/Strings/cs.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/cs.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 0b6964b5909..00000000000 --- a/FirebaseAuthUI/Sources/Strings/cs.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Vítáme vás"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Přihlásit se pomocí e-mailu"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Zadejte e-mail"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "E-mailová adresa není správná."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Tento typ účtu aplikace nepodporuje."; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Již máte účet."; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Již jste použili službu %@. Chcete-li pokračovat, přihlaste se prostřednictvím služby %@."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Přihlásit se"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Zadejte své heslo"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Pole hesla nesmí být prázdné."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Zadaný e-mail a heslo se neshodují."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "E-mailová adresa neodpovídá žádnému stávajícímu účtu."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "E-mailová adresa patří k účtu, který byl zablokován."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Provedli jste příliš mnoho neplatných pokusů o zadání hesla. Opakujte akci za chvíli."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Nepodařilo se nalézt poskytovatele pro službu %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-mailové adresy se neshodují"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Obnovit heslo"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Na tento e-mail vám zašleme pokyny, jak heslo obnovit."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Zkontrolujte svůj e-mail"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Postupujte podle pokynů odeslaných na adresu %@ a obnovte heslo."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Vytvořit účet"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Jméno a příjmení"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Heslo"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Smluvní podmínky"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Zásady ochrany soukromí"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Pokračováním vyjadřujete svůj souhlas s těmito dokumenty: %@ a %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Tuto e-mailovou adresu již využívá jiný účet."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Silné heslo má alespoň šest znaků a skládá se z kombinace písmen a číslic."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Z vaší adresy IP přichází příliš mnoho požadavků na účet. Zkuste to znovu za několik minut."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "K přihlášení jste již použili adresu %@. Zadejte příslušné heslo k účtu."; - -/* OK button title. */ -"OK" = "V pořádku"; - -/* Cancel button title. */ -"Cancel" = "Zrušit"; - -/* Back button title. */ -"Back" = "Zpět"; - -/* Next button title. */ -"Next" = "Další"; - -/* Save button title. */ -"Save" = "Uložit"; - -/* Send button title. */ -"Send" = "Odeslat"; - -/* Resend button title. */ -"Resend" = "Odeslat znovu"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-mail"; - -/* Label next to a password text field. */ -"Password" = "Heslo"; - -/* Label next to a name text field. */ -"Name" = "Jméno"; - -/* Alert title Error. */ -"Error" = "Chyba"; - -/* Alert button title Close. */ -"Close" = "Zavřít"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Zabezpečení"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Propojené účty"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Jméno"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-mail"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Přidat heslo"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Změnit heslo"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Odhlásit se"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Smazat účet"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Zapomněli jste heslo?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Ověřte svou identitu"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Smazat účet?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Dojde k odstranění všech údajů souvisejících s vaším účtem. Tuto akci nebude možné vrátit zpět. Pokud ji chcete skutečně provést, musíte se znovu přihlásit."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Dojde k odstranění všech údajů souvisejících s vaším účtem. Tuto akci nebude možné vrátit zpět. Opravdu chcete účet smazat?"; - -/* Text of Delete action button. */ -"Delete" = "Smazat"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Smazat účet"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Tuto akci nelze vrátit zpět."; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Odpojit"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Propojený účet"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Odpojit účet?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Prostřednictvím tohoto účtu už se nebudete moci přihlásit."; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Odpojit účet"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Chcete-li změnit e-mailovou adresu přidruženou k vašemu účtu, musíte se znovu přihlásit."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Chcete-li změnit heslo, musíte nejprve zadat aktuální heslo."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Změnit e-mail"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Změnit jméno"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Chcete-li do účtu přidat heslo, musíte se znovu přihlásit."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Chcete-li změnit heslo k účtu, musíte se znovu přihlásit."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Chcete-li změnit heslo, musíte nejprve zadat aktuální heslo."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Přidat heslo"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Změnit heslo"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-mail"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Přihlásit se přes %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Zadejte své jméno"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Zadejte e-mail"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Zadejte své heslo"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nové heslo"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Zvolte heslo."; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Máte potíže s přihlášením?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Potvrzení·e-mailu"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Jste přihlášeni!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Nepřišly vám e-maily?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Vyzkoušejte tato běžná řešení: \n – Zkontrolujte, jestli e-mail nebyl označen jako spam nebo nebyl odstraněn jiným filtrem.\n – Zkontrolujte připojení k internetu.\n – Zkontrolujte, zda jste adresu e-mailu napsali správně.\n – Zkontrolujte, jestli nemáte plnou schránku příchozích správ nebo nedošlo k nějakému jiného problému se schránkou.\n Pokud žádné z uvedených řešení nepomohlo, můžete si e-mail nechat zaslat znovu. Odkaz v prvním e-mailu pak bude deaktivován."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Na adresu %@ byl odeslán přihlašovací e-mail s dalšími pokyny. Dokončete přihlášení podle instrukcí v e-mailu."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Přihlašovací e-mail odeslán"; diff --git a/FirebaseAuthUI/Sources/Strings/da.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/da.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 58bab951dfa..00000000000 --- a/FirebaseAuthUI/Sources/Strings/da.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Velkommen"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Log ind med mail"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Angiv din mail"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Mailadressen er ikke korrekt."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Denne type konto understøttes ikke af denne app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Du har allerede en konto"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Du har allerede brugt %@. Log ind med %@ for at fortsætte."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Log ind"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Angiv din adgangskode"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Adgangskode skal angives."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Den mail og adgangskode, du angav, stemmer ikke overens."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Mailadressen stemmer ikke overens med en eksisterende konto."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Mailadressen er for en konto, der er blevet deaktiveret."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Du har indtastet en forkert adgangskode for mange gange. Prøv igen om et par minutter."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Kan ikke finde udbyder til %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Mailadresserne stemmer ikke overens"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Gendan adgangskode"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Få en vejledning sendt til denne mail om, hvordan du nulstiller din adgangskode."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Tjek din mail"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Følg vejledningen, der blev sendt til %@, for at gendanne din adgangskode."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Opret konto"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "For- og efternavn"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Vælg adgangskode"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Servicevilkår"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Privatlivspolitik"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Ved at fortsætte indikerer du, at du accepterer vores %@ og %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Mailadressen bruges allerede af en anden konto."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Stærke adgangskoder har mindst 6 tegn og en blanding af bogstaver og tal."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Der kommer for mange kontoanmodninger fra din IP-adresse. Prøv igen om et par minutter."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Du har allerede brugt %@ til at logge ind. Angiv din adgangskode for den pågældende konto."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Annuller"; - -/* Back button title. */ -"Back" = "Tilbage"; - -/* Next button title. */ -"Next" = "Næste"; - -/* Save button title. */ -"Save" = "Gem"; - -/* Send button title. */ -"Send" = "Send"; - -/* Resend button title. */ -"Resend" = "Send igen"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Mail"; - -/* Label next to a password text field. */ -"Password" = "Adgangskode"; - -/* Label next to a name text field. */ -"Name" = "Navn"; - -/* Alert title Error. */ -"Error" = "Fejl"; - -/* Alert button title Close. */ -"Close" = "Luk"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Sikkerhed"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Tilknyttede konti"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Navn"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Mail"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Tilføj adgangskode"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Skift adgangskode"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Log ud"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Slet konto"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Har du glemt adgangskoden?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Bekræft, at det er dig"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Skal kontoen slettes?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Dette vil slette alle data, der er knyttet til din konto, og kan ikke fortrydes. Du skal logge ind igen for at fuldføre denne handling"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Dette vil slette alle data, der er knyttet til din konto, og kan ikke fortrydes. Er du sikker på, at du vil slette din konto?"; - -/* Text of Delete action button. */ -"Delete" = "Slet"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Slet konto"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Denne handling kan ikke fortrydes"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Fjern tilknytning"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Tilknyttet konto"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Fjern tilknytning til konto?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Du kan ikke længere logge ind ved hjælp af din konto"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Fjern tilknytning til konto"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "For at ændre den mailadresse, der er knyttet til din konto, skal du logge ind igen."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "For at ændre din adgangskode skal du først angive din nuværende adgangskode."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Rediger mail"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Rediger navn"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "For at føje en adgangskode til din konto skal du logge ind igen."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "For at ændre adgangskoden for din konto skal du logge ind igen."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "For at ændre din adgangskode skal du først angive din nuværende adgangskode."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Tilføj adgangskode"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Skift adgangskode"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Mail"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Log ind med %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Angiv dit navn"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Angiv din mail"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Angiv din adgangskode"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Ny adgangskode"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Vælg adgangskode"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Har du problemer med at logge ind?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Bekræft mailadresse"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Du er logget ind"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Har du problemer med at modtage mails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prøv disse almindelige løsninger: \n - Tjek, om mailen er blevet markeret som spam eller filtreret fra.\n - Tjek din internetforbindelse.\n - Sørg for, at du ikke har stavet din mailadresse forkert.\n - Sørg for, at din indbakke ikke er løbet tør for plads, og at du ikke har andre problemer med indbakken.\n Hvis ovenstående vejledning ikke løste problemet, kan du sende mailen igen. Bemærk, at dette vil deaktivere linket i den gamle mail."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Der er blevet sendt en loginmail med yderligere vejledning til %@. Tjek din mail for at fuldføre loginprocessen."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Loginmailen blev sendt"; diff --git a/FirebaseAuthUI/Sources/Strings/de-AT.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/de-AT.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 3ad463985c6..00000000000 --- a/FirebaseAuthUI/Sources/Strings/de-AT.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Willkommen"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Mit E-Mail-Adresse anmelden"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "E-Mail-Adresse eingeben"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Diese E-Mail-Adresse ist nicht korrekt."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Diese Art von Konto wird von dieser App nicht unterstützt"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Sie haben bereits ein Konto"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Sie haben %@ bereits verwendet. Melden Sie sich mit %@ an, um fortzufahren."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Anmelden"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Passwort eingeben"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Passwort darf nicht leer sein."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Die E-Mail-Adresse und das Passwort passen nicht zusammen."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Diese E-Mail-Adresse passt zu keinem vorhandenen Konto."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Diese E-Mail-Adresse gehört zu einem Konto, das deaktiviert wurde."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Sie haben zu oft ein falsches Passwort eingegeben. Versuchen Sie es in einigen Minuten erneut."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Anbieter für %@ wurde nicht gefunden."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-Mail-Adressen stimmen nicht überein"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Passwort wiederherstellen"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "In der an diese E-Mail-Adresse gesendeten Anleitung wird beschrieben, wie Sie Ihr Passwort zurücksetzen können."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Im Posteingang nachsehen"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Folgen Sie der an %@ gesendeten Anleitung, um Ihr Passwort zurückzusetzen."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Konto erstellen"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Vor- und Nachname"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Passwort auswählen"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Nutzungsbedingungen"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Datenschutzerklärung"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Wenn Sie fortfahren, stimmen Sie unseren %@ und unserer %@ zu."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Die E-Mail-Adresse wird bereits von einem anderen Konto verwendet."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Starke Passwörter umfassen mindestens sechs Zeichen und eine Mischung aus Buchstaben und Ziffern."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Von Ihrer IP-Adresse werden zu viele Kontoanfragen gesendet. Versuchen Sie es in einigen Minuten erneut."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Sie haben bereits %@ zur Anmeldung verwendet. Geben Sie das Passwort für dieses Konto ein."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Abbrechen"; - -/* Back button title. */ -"Back" = "Zurück"; - -/* Next button title. */ -"Next" = "Weiter"; - -/* Save button title. */ -"Save" = "Speichern"; - -/* Send button title. */ -"Send" = "Senden"; - -/* Resend button title. */ -"Resend" = "Erneut senden"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-Mail-Adresse"; - -/* Label next to a password text field. */ -"Password" = "Passwort"; - -/* Label next to a name text field. */ -"Name" = "Name"; - -/* Alert title Error. */ -"Error" = "Fehler"; - -/* Alert button title Close. */ -"Close" = "Schließen"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Sicherheit"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Verknüpfte Konten"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Name"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-Mail-Adresse"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Passwort hinzufügen"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Passwort ändern"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Abmelden"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Konto löschen"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Passwort vergessen?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Identität bestätigen"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Konto löschen?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Hierdurch werden alle mit Ihrem Konto verknüpften Daten gelöscht. Dies kann nicht rückgängig gemacht werden. Sie müssen sich erneut anmelden, um diese Aktion abzuschließen."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Hierdurch werden alle mit Ihrem Konto verknüpften Daten gelöscht. Dies kann nicht rückgängig gemacht werden. Möchten Sie Ihr Konto wirklich löschen?"; - -/* Text of Delete action button. */ -"Delete" = "Löschen"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Konto löschen"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Diese Aktion kann nicht rückgängig gemacht werden"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Verknüpfung aufheben"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Verknüpftes Konto"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Verknüpfung des Kontos aufheben?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Sie können sich nicht mehr mit Ihrem Konto anmelden"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Verknüpfung des Kontos aufheben"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Wenn Sie die mit Ihrem Konto verknüpfte E-Mail-Adresse ändern möchten, müssen Sie sich erneut anmelden."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Um das Passwort zu ändern, müssen Sie zuerst Ihr aktuelles Passwort eingeben."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "E-Mail-Adresse bearbeiten"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Name bearbeiten"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Um Ihrem Konto ein Passwort hinzuzufügen, müssen Sie sich erneut anmelden."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Um das Passwort für Ihr Konto zu ändern, müssen Sie sich erneut anmelden."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Um das Passwort zu ändern, müssen Sie zuerst Ihr aktuelles Passwort eingeben."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Passwort hinzufügen"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Passwort ändern"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-Mail-Adresse"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Mit %@ anmelden"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Name eingeben"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "E-Mail-Adresse eingeben"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Passwort eingeben"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Neues Passwort"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Passwort auswählen"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Probleme bei der Anmeldung?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "E-Mail-Adresse bestätigen"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Angemeldet."; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Probleme beim Empfangen von E-Mails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Versuchen Sie Folgendes: \n – Überprüfen Sie, ob die E-Mail als Spam markiert oder herausgefiltert wurde.\n – Überprüfen Sie Ihre Internetverbindung.\n – Überprüfen Sie die Schreibweise Ihrer E-Mail-Adresse.\n – Überprüfen Sie den Speicherplatz und weitere Einstellungen Ihres Posteingangs, die Probleme bereiten könnten.\n Sollte das Problem nach Ausführung der obigen Schritte weiterhin bestehen, können Sie sich die Anmelde-E-Mail noch einmal zusenden lassen. Hinweis: Der Link in der vorhergehenden E-Mail ist dann nicht mehr gültig."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Wir haben eine Anmelde-E-Mail mit zusätzlichen Informationen an %@ gesendet. Bitte öffnen Sie die E-Mail, um die Anmeldung abzuschließen."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Anmelde-E-Mail gesendet"; diff --git a/FirebaseAuthUI/Sources/Strings/de-CH.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/de-CH.lproj/FirebaseAuthUI.strings deleted file mode 100644 index f10c99900a6..00000000000 --- a/FirebaseAuthUI/Sources/Strings/de-CH.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Willkommen"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Mit E-Mail-Adresse anmelden"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "E-Mail-Adresse eingeben"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Diese E-Mail-Adresse ist nicht korrekt."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Diese Art von Konto wird von dieser App nicht unterstützt"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Sie haben bereits ein Konto"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Sie haben %@ bereits verwendet. Melden Sie sich mit %@ an, um fortzufahren."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Anmelden"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Passwort eingeben"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Passwort darf nicht leer sein."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Die E-Mail-Adresse und das Passwort passen nicht zusammen."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Diese E-Mail-Adresse passt zu keinem vorhandenen Konto."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Diese E-Mail-Adresse gehört zu einem Konto, das deaktiviert wurde."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Sie haben zu oft ein falsches Passwort eingegeben. Versuchen Sie es in einigen Minuten erneut."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Anbieter für %@ wurde nicht gefunden."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-Mail-Adressen stimmen nicht überein"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Passwort wiederherstellen"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "In der an diese E-Mail-Adresse gesendeten Anleitung wird beschrieben, wie Sie Ihr Passwort zurücksetzen können."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Im Posteingang nachsehen"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Folgen Sie der an %@ gesendeten Anleitung, um Ihr Passwort zurückzusetzen."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Konto erstellen"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Vor- und Nachname"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Passwort auswählen"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Nutzungsbedingungen"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Datenschutzerklärung"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Wenn Sie fortfahren, stimmen Sie unseren %@ und unserer %@ zu."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Die E-Mail-Adresse wird bereits von einem anderen Konto verwendet."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Starke Passwörter umfassen mindestens sechs Zeichen und eine Mischung aus Buchstaben und Ziffern."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Von Ihrer IP-Adresse werden zu viele Kontoanfragen gesendet. Versuchen Sie es in einigen Minuten erneut."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Sie haben bereits %@ zur Anmeldung verwendet. Geben Sie das Passwort für dieses Konto ein."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Abbrechen"; - -/* Back button title. */ -"Back" = "Zurück"; - -/* Next button title. */ -"Next" = "Weiter"; - -/* Save button title. */ -"Save" = "Speichern"; - -/* Send button title. */ -"Send" = "Senden"; - -/* Resend button title. */ -"Resend" = "Erneut senden"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-Mail-Adresse"; - -/* Label next to a password text field. */ -"Password" = "Passwort"; - -/* Label next to a name text field. */ -"Name" = "Name"; - -/* Alert title Error. */ -"Error" = "Fehler"; - -/* Alert button title Close. */ -"Close" = "Schliessen"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Sicherheit"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Verknüpfte Konten"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Name"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-Mail-Adresse"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Passwort hinzufügen"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Passwort ändern"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Abmelden"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Konto löschen"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Passwort vergessen?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Identität bestätigen"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Konto löschen?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Hierdurch werden alle mit Ihrem Konto verknüpften Daten gelöscht. Dies kann nicht rückgängig gemacht werden. Sie müssen sich erneut anmelden, um diese Aktion abzuschliessen."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Hierdurch werden alle mit Ihrem Konto verknüpften Daten gelöscht. Dies kann nicht rückgängig gemacht werden. Möchten Sie Ihr Konto wirklich löschen?"; - -/* Text of Delete action button. */ -"Delete" = "Löschen"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Konto löschen"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Diese Aktion kann nicht rückgängig gemacht werden"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Verknüpfung aufheben"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Verknüpftes Konto"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Verknüpfung des Kontos aufheben?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Sie können sich nicht mehr mit Ihrem Konto anmelden"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Verknüpfung des Kontos aufheben"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Wenn Sie die mit Ihrem Konto verknüpfte E-Mail-Adresse ändern möchten, müssen Sie sich erneut anmelden."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Um das Passwort zu ändern, müssen Sie zuerst Ihr aktuelles Passwort eingeben."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "E-Mail-Adresse bearbeiten"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Name bearbeiten"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Um Ihrem Konto ein Passwort hinzuzufügen, müssen Sie sich erneut anmelden."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Um das Passwort für Ihr Konto zu ändern, müssen Sie sich erneut anmelden."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Um das Passwort zu ändern, müssen Sie zuerst Ihr aktuelles Passwort eingeben."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Passwort hinzufügen"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Passwort ändern"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-Mail-Adresse"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Mit %@ anmelden"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Name eingeben"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "E-Mail-Adresse eingeben"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Passwort eingeben"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Neues Passwort"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Passwort auswählen"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Probleme bei der Anmeldung?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "E-Mail-Adresse bestätigen"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Angemeldet."; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Probleme beim Empfangen von E-Mails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Versuchen Sie Folgendes: \n – Überprüfen Sie, ob die E-Mail als Spam markiert oder herausgefiltert wurde.\n – Überprüfen Sie Ihre Internetverbindung.\n – Überprüfen Sie die Schreibweise Ihrer E-Mail-Adresse.\n – Überprüfen Sie den Speicherplatz und weitere Einstellungen Ihres Posteingangs, die Probleme bereiten könnten.\n Sollte das Problem nach Ausführung der obigen Schritte weiterhin bestehen, können Sie sich die Anmelde-E-Mail noch einmal zusenden lassen. Hinweis: Der Link in der vorhergehenden E-Mail ist dann nicht mehr gültig."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Wir haben eine Anmelde-E-Mail mit zusätzlichen Informationen an %@ gesendet. Bitte öffnen Sie die E-Mail, um die Anmeldung abzuschliessen."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Anmelde-E-Mail gesendet"; diff --git a/FirebaseAuthUI/Sources/Strings/de.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/de.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 3ad463985c6..00000000000 --- a/FirebaseAuthUI/Sources/Strings/de.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Willkommen"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Mit E-Mail-Adresse anmelden"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "E-Mail-Adresse eingeben"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Diese E-Mail-Adresse ist nicht korrekt."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Diese Art von Konto wird von dieser App nicht unterstützt"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Sie haben bereits ein Konto"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Sie haben %@ bereits verwendet. Melden Sie sich mit %@ an, um fortzufahren."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Anmelden"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Passwort eingeben"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Passwort darf nicht leer sein."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Die E-Mail-Adresse und das Passwort passen nicht zusammen."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Diese E-Mail-Adresse passt zu keinem vorhandenen Konto."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Diese E-Mail-Adresse gehört zu einem Konto, das deaktiviert wurde."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Sie haben zu oft ein falsches Passwort eingegeben. Versuchen Sie es in einigen Minuten erneut."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Anbieter für %@ wurde nicht gefunden."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-Mail-Adressen stimmen nicht überein"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Passwort wiederherstellen"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "In der an diese E-Mail-Adresse gesendeten Anleitung wird beschrieben, wie Sie Ihr Passwort zurücksetzen können."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Im Posteingang nachsehen"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Folgen Sie der an %@ gesendeten Anleitung, um Ihr Passwort zurückzusetzen."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Konto erstellen"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Vor- und Nachname"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Passwort auswählen"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Nutzungsbedingungen"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Datenschutzerklärung"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Wenn Sie fortfahren, stimmen Sie unseren %@ und unserer %@ zu."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Die E-Mail-Adresse wird bereits von einem anderen Konto verwendet."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Starke Passwörter umfassen mindestens sechs Zeichen und eine Mischung aus Buchstaben und Ziffern."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Von Ihrer IP-Adresse werden zu viele Kontoanfragen gesendet. Versuchen Sie es in einigen Minuten erneut."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Sie haben bereits %@ zur Anmeldung verwendet. Geben Sie das Passwort für dieses Konto ein."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Abbrechen"; - -/* Back button title. */ -"Back" = "Zurück"; - -/* Next button title. */ -"Next" = "Weiter"; - -/* Save button title. */ -"Save" = "Speichern"; - -/* Send button title. */ -"Send" = "Senden"; - -/* Resend button title. */ -"Resend" = "Erneut senden"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-Mail-Adresse"; - -/* Label next to a password text field. */ -"Password" = "Passwort"; - -/* Label next to a name text field. */ -"Name" = "Name"; - -/* Alert title Error. */ -"Error" = "Fehler"; - -/* Alert button title Close. */ -"Close" = "Schließen"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Sicherheit"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Verknüpfte Konten"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Name"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-Mail-Adresse"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Passwort hinzufügen"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Passwort ändern"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Abmelden"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Konto löschen"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Passwort vergessen?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Identität bestätigen"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Konto löschen?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Hierdurch werden alle mit Ihrem Konto verknüpften Daten gelöscht. Dies kann nicht rückgängig gemacht werden. Sie müssen sich erneut anmelden, um diese Aktion abzuschließen."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Hierdurch werden alle mit Ihrem Konto verknüpften Daten gelöscht. Dies kann nicht rückgängig gemacht werden. Möchten Sie Ihr Konto wirklich löschen?"; - -/* Text of Delete action button. */ -"Delete" = "Löschen"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Konto löschen"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Diese Aktion kann nicht rückgängig gemacht werden"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Verknüpfung aufheben"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Verknüpftes Konto"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Verknüpfung des Kontos aufheben?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Sie können sich nicht mehr mit Ihrem Konto anmelden"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Verknüpfung des Kontos aufheben"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Wenn Sie die mit Ihrem Konto verknüpfte E-Mail-Adresse ändern möchten, müssen Sie sich erneut anmelden."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Um das Passwort zu ändern, müssen Sie zuerst Ihr aktuelles Passwort eingeben."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "E-Mail-Adresse bearbeiten"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Name bearbeiten"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Um Ihrem Konto ein Passwort hinzuzufügen, müssen Sie sich erneut anmelden."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Um das Passwort für Ihr Konto zu ändern, müssen Sie sich erneut anmelden."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Um das Passwort zu ändern, müssen Sie zuerst Ihr aktuelles Passwort eingeben."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Passwort hinzufügen"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Passwort ändern"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-Mail-Adresse"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Mit %@ anmelden"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Name eingeben"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "E-Mail-Adresse eingeben"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Passwort eingeben"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Neues Passwort"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Passwort auswählen"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Probleme bei der Anmeldung?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "E-Mail-Adresse bestätigen"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Angemeldet."; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Probleme beim Empfangen von E-Mails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Versuchen Sie Folgendes: \n – Überprüfen Sie, ob die E-Mail als Spam markiert oder herausgefiltert wurde.\n – Überprüfen Sie Ihre Internetverbindung.\n – Überprüfen Sie die Schreibweise Ihrer E-Mail-Adresse.\n – Überprüfen Sie den Speicherplatz und weitere Einstellungen Ihres Posteingangs, die Probleme bereiten könnten.\n Sollte das Problem nach Ausführung der obigen Schritte weiterhin bestehen, können Sie sich die Anmelde-E-Mail noch einmal zusenden lassen. Hinweis: Der Link in der vorhergehenden E-Mail ist dann nicht mehr gültig."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Wir haben eine Anmelde-E-Mail mit zusätzlichen Informationen an %@ gesendet. Bitte öffnen Sie die E-Mail, um die Anmeldung abzuschließen."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Anmelde-E-Mail gesendet"; diff --git a/FirebaseAuthUI/Sources/Strings/el.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/el.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 7cee33c237b..00000000000 --- a/FirebaseAuthUI/Sources/Strings/el.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Καλώς ήρθατε"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Σύνδεση μέσω ηλεκτρονικού ταχυδρομείου"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Εισαγάγετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου δεν είναι σωστή."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Αυτός ο τύπος λογαριασμού δεν υποστηρίζεται από αυτήν την εφαρμογή"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Έχετε ήδη λογαριασμό"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Έχετε ήδη χρησιμοποιήσει το %@. Συνδεθείτε με %@ για να συνεχίσετε."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Σύνδεση"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Εισαγάγετε τον κωδικό πρόσβασής σας"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Ο κωδικός πρόσβασης δεν μπορεί να είναι κενός."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Η διεύθυνση ηλεκτρονικού ταχυδρομείου και ο κωδικός πρόσβασης δεν ταιριάζουν."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου δεν ταιριάζει με κάποιον υπάρχοντα λογαριασμό."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου αφορά έναν λογαριασμό που έχει απενεργοποιηθεί."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Πληκτρολογήσατε πολλές φορές λανθασμένο κωδικό πρόσβασης. Δοκιμάστε ξανά σε λίγα λεπτά."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Δεν είναι δυνατή η εύρεση του παρόχου για %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Οι διευθύνσεις ηλεκτρονικού ταχυδρομείου δεν ταιριάζουν"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Ανάκτηση κωδικού πρόσβασης"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Δείτε τις οδηγίες που στάλθηκαν σε αυτήν τη διεύθυνση ηλεκτρονικού ταχυδρομείου, οι οποίες εξηγούν πώς να επαναφέρετε τον κωδικό πρόσβασής σας."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Ελέγξτε τα εισερχόμενα του ηλεκτρονικού ταχυδρομείου σας"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Ακολουθήστε τις οδηγίες που στάλθηκαν στο %@ για να ανακτήσετε τον κωδικό πρόσβασής σας."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Δημιουργία λογαριασμού"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Όνομα και επώνυμο"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Επιλέξτε κωδικό πρόσβασης"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Όρους Παροχής Υπηρεσιών"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Πολιτική απορρήτου"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Αν συνεχίσετε, δηλώνετε ότι αποδέχεστε τους %@ και την %@ μας."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου χρησιμοποιείται ήδη από άλλον λογαριασμό."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Οι ισχυροί κωδικοί πρόσβασης έχουν τουλάχιστον 6 χαρακτήρες και έναν συνδυασμό γραμμάτων και αριθμών."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Η διεύθυνση IP έχει στείλει πάρα πολλά αιτήματα λογαριασμού. Δοκιμάστε ξανά σε λίγα λεπτά."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Χρησιμοποιήσατε ήδη το %@ για να συνδεθείτε. Εισαγάγετε τον κωδικό πρόσβασης για αυτόν τον λογαριασμό."; - -/* OK button title. */ -"OK" = "ΟΚ"; - -/* Cancel button title. */ -"Cancel" = "Ακύρωση"; - -/* Back button title. */ -"Back" = "Πίσω"; - -/* Next button title. */ -"Next" = "Επόμενο"; - -/* Save button title. */ -"Save" = "Αποθήκευση"; - -/* Send button title. */ -"Send" = "Αποστολή"; - -/* Resend button title. */ -"Resend" = "Επανάληψη αποστολής"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Ηλεκτρονικό ταχυδρομείο"; - -/* Label next to a password text field. */ -"Password" = "Κωδικός πρόσβασης"; - -/* Label next to a name text field. */ -"Name" = "Όνομα"; - -/* Alert title Error. */ -"Error" = "Σφάλμα"; - -/* Alert button title Close. */ -"Close" = "Κλείσιμο"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Προφίλ"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Ασφάλεια"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Συνδεδεμένοι λογαριασμοί"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Όνομα"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Ηλεκτρονικό ταχυδρομείο"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Προσθήκη κωδικού πρόσβασης"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Αλλαγή κωδικού πρόσβασης"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Έξοδος"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Διαγραφή λογαριασμού"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Ξεχάσατε τον κωδικό πρόσβασής σας;"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Επαληθεύστε ότι είστε εσείς"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Διαγραφή λογαριασμού;"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Αυτή η ενέργεια θα διαγράψει όλα τα δεδομένα που συσχετίζονται με τον λογαριασμό σας και δεν είναι δυνατή η αναίρεσή της. Για να ολοκληρώσετε αυτήν την ενέργεια, θα πρέπει να συνδεθείτε ξανά"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Αυτή η ενέργεια θα διαγράψει όλα τα δεδομένα που συσχετίζονται με τον λογαριασμό σας και δεν είναι δυνατή η αναίρεσή της. Είστε σίγουροι ότι θέλετε να διαγράψετε τον λογαριασμό σας;"; - -/* Text of Delete action button. */ -"Delete" = "Διαγραφή"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Διαγραφή λογαριασμού"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Δεν είναι δυνατή η αναίρεση αυτής της ενέργειας"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Αποσύνδεση"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Συνδεδεμένος λογαριασμός"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Αποσύνδεση λογαριασμού;"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Δεν θα μπορείτε πλέον να συνδεθείτε χρησιμοποιώντας τον λογαριασμό σας"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Αποσύνδεση λογαριασμού"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Για να αλλάξετε τη διεύθυνση που συσχετίζεται με τον λογαριασμό σας, θα πρέπει να συνδεθείτε ξανά."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Για να αλλάξετε τον κωδικό πρόσβασής σας, θα πρέπει πρώτα να εισαγάγετε τον τρέχοντα κωδικό πρόσβασης."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Επεξεργασία διεύθυνσης ηλεκτρονικού ταχυδρομείου"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Επεξεργασία ονόματος"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Για να προσθέσετε κωδικό πρόσβασης στον λογαριασμό σας, θα πρέπει να συνδεθείτε ξανά."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Για να αλλάξετε κωδικό πρόσβασης στον λογαριασμό σας, θα πρέπει να συνδεθείτε ξανά."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Για να αλλάξετε τον κωδικό πρόσβασής σας, θα πρέπει πρώτα να εισαγάγετε τον τρέχοντα κωδικό πρόσβασης."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Προσθήκη κωδικού πρόσβασης"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Αλλαγή κωδικού πρόσβασης"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Ηλεκτρονικό ταχυδρομείο"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Σύνδεση μέσω %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Εισαγάγετε το όνομά σας"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Εισαγάγετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Εισαγάγετε τον κωδικό πρόσβασής σας"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Νέος κωδικός πρόσβασης"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Επιλέξτε κωδικό πρόσβασης"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Πρόβλημα σύνδεσης;"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Επιβεβαίωση διεύθυνσης ηλεκτρονικού ταχυδρομείου"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Συνδέθηκε!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Αντιμετωπίζετε πρόβλημα με τη λήψη των μηνυμάτων ηλεκτρονικού ταχυδρομείου;"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Δοκιμάστε αυτές τις συνήθεις λύσεις: \n - Ελέγξτε αν το μήνυμα ηλεκτρονικού ταχυδρομείου επισημάνθηκε ως ανεπιθύμητο ή έχει φιλτραριστεί.\n - Ελέγξτε τη σύνδεσή σας στο διαδίκτυο.\n - Βεβαιωθείτε ότι δεν έχετε γράψει λάθος τη διεύθυνση ηλεκτρονικού ταχυδρομείου.\n - Βεβαιωθείτε ότι δεν έχει γεμίσει ο χώρος εισερχομένων ή ότι δεν υπάρχουν άλλα προβλήματα που σχετίζονται με τις ρυθμίσεις εισερχομένων.\n Αν τα παραπάνω βήματα δεν λειτούργησαν, μπορείτε να στείλετε ξανά το μήνυμα ηλεκτρονικού ταχυδρομείου. Έχετε υπόψη ότι με αυτήν την ενέργεια, ο σύνδεσμος στο παλιότερο μήνυμα ηλεκτρονικού ταχυδρομείου θα απενεργοποιηθεί."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Ένα μήνυμα ηλεκτρονικού ταχυδρομείου σύνδεσης με πρόσθετες οδηγίες στάλθηκε στη διεύθυνση %@. Ελέγξτε τη διεύθυνση ηλεκτρονικού ταχυδρομείου για να ολοκληρώσετε τη σύνδεση."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Το μήνυμα ηλεκτρονικού ταχυδρομείου σύνδεσης στάλθηκε"; diff --git a/FirebaseAuthUI/Sources/Strings/en-AU.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/en-AU.lproj/FirebaseAuthUI.strings deleted file mode 100644 index d1c7a39cfe8..00000000000 --- a/FirebaseAuthUI/Sources/Strings/en-AU.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Welcome"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Sign in with email"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Enter your email"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Incorrect email address."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "This type of account isn't supported by this app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "You already have an account"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "You've already used %@. Sign in with %@ to continue."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Sign in"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Enter your password"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Password cannot be empty."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "The email and password that you entered don't match."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "That email address doesn't match an existing account."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "That email address is for an account that has been disabled."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "You've entered an incorrect password too many times. Try again in a few minutes."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Can't find provider for %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Emails don't match"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recover password"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Receive instructions to this email that explain how to reset your password"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Check your email"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Follow the instructions sent to %@ to recover your password."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Create account"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "First name & surname"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Choose password"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Terms of Service"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Privacy Policy"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "By continuing, you are indicating that you accept our %@ and %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "The email address is already in use by another account."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Strong passwords have at least 6 characters and a mix of letters and numbers."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Too many account requests are coming from your IP address. Try again in a few minutes."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "You've already used %@ to sign in. Enter your password for that account."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Cancel"; - -/* Back button title. */ -"Back" = "Back"; - -/* Next button title. */ -"Next" = "Next"; - -/* Save button title. */ -"Save" = "Save"; - -/* Send button title. */ -"Send" = "Send"; - -/* Resend button title. */ -"Resend" = "Resend"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Email"; - -/* Label next to a password text field. */ -"Password" = "Password"; - -/* Label next to a name text field. */ -"Name" = "Name"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Close"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profile"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Security"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Linked Accounts"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Name"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Email"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Add password"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Change password"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Sign Out"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Delete Account"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Forgotten password?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verify that it's you"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Delete account?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "This will erase all data associated with your account, and can't be undone. You will need to sign in again to complete this action"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "This will erase all data associated with your account, and can't be undone. Are you sure that you want to delete your account?"; - -/* Text of Delete action button. */ -"Delete" = "Delete"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Delete account"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "This action can't be undone"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Unlink"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Linked account"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Unlink account?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "You will no longer be able to sign in using your account"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Unlink account"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "To change email address associated with your account, you will need to sign in again."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Edit email"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Edit name"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "To add a password to your account, you will need to sign in again."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "To change your account's password, you will need to sign in again."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Add password"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Change password"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Email"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Sign in with %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Enter your name"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Enter your email"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Enter your password"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "New password"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Choose password"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Trouble signing in?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirm email"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Signed in!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Trouble getting emails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Try these common fixes: \n – Check whether the email was marked as spam or filtered.\n – Check your internet connection.\n – Check that you did not misspell your email.\n – Check that your inbox space is not running out, or for other inbox settings-related issues.\n If the steps above didn't work, you can resend the email. Note that this will deactivate the link in the older email."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "A sign-in email with additional instructions was sent to %@. Check your email to complete sign-in."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Sign-in email sent"; diff --git a/FirebaseAuthUI/Sources/Strings/en-CA.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/en-CA.lproj/FirebaseAuthUI.strings deleted file mode 100644 index d1c7a39cfe8..00000000000 --- a/FirebaseAuthUI/Sources/Strings/en-CA.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Welcome"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Sign in with email"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Enter your email"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Incorrect email address."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "This type of account isn't supported by this app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "You already have an account"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "You've already used %@. Sign in with %@ to continue."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Sign in"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Enter your password"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Password cannot be empty."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "The email and password that you entered don't match."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "That email address doesn't match an existing account."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "That email address is for an account that has been disabled."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "You've entered an incorrect password too many times. Try again in a few minutes."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Can't find provider for %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Emails don't match"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recover password"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Receive instructions to this email that explain how to reset your password"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Check your email"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Follow the instructions sent to %@ to recover your password."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Create account"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "First name & surname"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Choose password"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Terms of Service"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Privacy Policy"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "By continuing, you are indicating that you accept our %@ and %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "The email address is already in use by another account."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Strong passwords have at least 6 characters and a mix of letters and numbers."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Too many account requests are coming from your IP address. Try again in a few minutes."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "You've already used %@ to sign in. Enter your password for that account."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Cancel"; - -/* Back button title. */ -"Back" = "Back"; - -/* Next button title. */ -"Next" = "Next"; - -/* Save button title. */ -"Save" = "Save"; - -/* Send button title. */ -"Send" = "Send"; - -/* Resend button title. */ -"Resend" = "Resend"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Email"; - -/* Label next to a password text field. */ -"Password" = "Password"; - -/* Label next to a name text field. */ -"Name" = "Name"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Close"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profile"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Security"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Linked Accounts"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Name"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Email"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Add password"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Change password"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Sign Out"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Delete Account"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Forgotten password?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verify that it's you"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Delete account?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "This will erase all data associated with your account, and can't be undone. You will need to sign in again to complete this action"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "This will erase all data associated with your account, and can't be undone. Are you sure that you want to delete your account?"; - -/* Text of Delete action button. */ -"Delete" = "Delete"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Delete account"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "This action can't be undone"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Unlink"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Linked account"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Unlink account?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "You will no longer be able to sign in using your account"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Unlink account"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "To change email address associated with your account, you will need to sign in again."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Edit email"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Edit name"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "To add a password to your account, you will need to sign in again."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "To change your account's password, you will need to sign in again."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Add password"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Change password"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Email"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Sign in with %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Enter your name"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Enter your email"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Enter your password"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "New password"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Choose password"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Trouble signing in?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirm email"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Signed in!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Trouble getting emails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Try these common fixes: \n – Check whether the email was marked as spam or filtered.\n – Check your internet connection.\n – Check that you did not misspell your email.\n – Check that your inbox space is not running out, or for other inbox settings-related issues.\n If the steps above didn't work, you can resend the email. Note that this will deactivate the link in the older email."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "A sign-in email with additional instructions was sent to %@. Check your email to complete sign-in."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Sign-in email sent"; diff --git a/FirebaseAuthUI/Sources/Strings/en-GB.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/en-GB.lproj/FirebaseAuthUI.strings deleted file mode 100644 index d1c7a39cfe8..00000000000 --- a/FirebaseAuthUI/Sources/Strings/en-GB.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Welcome"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Sign in with email"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Enter your email"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Incorrect email address."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "This type of account isn't supported by this app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "You already have an account"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "You've already used %@. Sign in with %@ to continue."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Sign in"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Enter your password"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Password cannot be empty."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "The email and password that you entered don't match."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "That email address doesn't match an existing account."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "That email address is for an account that has been disabled."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "You've entered an incorrect password too many times. Try again in a few minutes."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Can't find provider for %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Emails don't match"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recover password"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Receive instructions to this email that explain how to reset your password"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Check your email"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Follow the instructions sent to %@ to recover your password."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Create account"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "First name & surname"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Choose password"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Terms of Service"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Privacy Policy"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "By continuing, you are indicating that you accept our %@ and %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "The email address is already in use by another account."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Strong passwords have at least 6 characters and a mix of letters and numbers."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Too many account requests are coming from your IP address. Try again in a few minutes."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "You've already used %@ to sign in. Enter your password for that account."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Cancel"; - -/* Back button title. */ -"Back" = "Back"; - -/* Next button title. */ -"Next" = "Next"; - -/* Save button title. */ -"Save" = "Save"; - -/* Send button title. */ -"Send" = "Send"; - -/* Resend button title. */ -"Resend" = "Resend"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Email"; - -/* Label next to a password text field. */ -"Password" = "Password"; - -/* Label next to a name text field. */ -"Name" = "Name"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Close"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profile"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Security"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Linked Accounts"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Name"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Email"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Add password"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Change password"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Sign Out"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Delete Account"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Forgotten password?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verify that it's you"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Delete account?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "This will erase all data associated with your account, and can't be undone. You will need to sign in again to complete this action"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "This will erase all data associated with your account, and can't be undone. Are you sure that you want to delete your account?"; - -/* Text of Delete action button. */ -"Delete" = "Delete"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Delete account"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "This action can't be undone"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Unlink"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Linked account"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Unlink account?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "You will no longer be able to sign in using your account"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Unlink account"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "To change email address associated with your account, you will need to sign in again."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Edit email"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Edit name"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "To add a password to your account, you will need to sign in again."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "To change your account's password, you will need to sign in again."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Add password"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Change password"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Email"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Sign in with %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Enter your name"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Enter your email"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Enter your password"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "New password"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Choose password"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Trouble signing in?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirm email"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Signed in!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Trouble getting emails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Try these common fixes: \n – Check whether the email was marked as spam or filtered.\n – Check your internet connection.\n – Check that you did not misspell your email.\n – Check that your inbox space is not running out, or for other inbox settings-related issues.\n If the steps above didn't work, you can resend the email. Note that this will deactivate the link in the older email."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "A sign-in email with additional instructions was sent to %@. Check your email to complete sign-in."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Sign-in email sent"; diff --git a/FirebaseAuthUI/Sources/Strings/en-IE.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/en-IE.lproj/FirebaseAuthUI.strings deleted file mode 100644 index d1c7a39cfe8..00000000000 --- a/FirebaseAuthUI/Sources/Strings/en-IE.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Welcome"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Sign in with email"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Enter your email"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Incorrect email address."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "This type of account isn't supported by this app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "You already have an account"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "You've already used %@. Sign in with %@ to continue."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Sign in"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Enter your password"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Password cannot be empty."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "The email and password that you entered don't match."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "That email address doesn't match an existing account."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "That email address is for an account that has been disabled."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "You've entered an incorrect password too many times. Try again in a few minutes."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Can't find provider for %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Emails don't match"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recover password"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Receive instructions to this email that explain how to reset your password"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Check your email"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Follow the instructions sent to %@ to recover your password."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Create account"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "First name & surname"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Choose password"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Terms of Service"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Privacy Policy"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "By continuing, you are indicating that you accept our %@ and %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "The email address is already in use by another account."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Strong passwords have at least 6 characters and a mix of letters and numbers."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Too many account requests are coming from your IP address. Try again in a few minutes."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "You've already used %@ to sign in. Enter your password for that account."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Cancel"; - -/* Back button title. */ -"Back" = "Back"; - -/* Next button title. */ -"Next" = "Next"; - -/* Save button title. */ -"Save" = "Save"; - -/* Send button title. */ -"Send" = "Send"; - -/* Resend button title. */ -"Resend" = "Resend"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Email"; - -/* Label next to a password text field. */ -"Password" = "Password"; - -/* Label next to a name text field. */ -"Name" = "Name"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Close"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profile"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Security"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Linked Accounts"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Name"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Email"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Add password"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Change password"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Sign Out"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Delete Account"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Forgotten password?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verify that it's you"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Delete account?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "This will erase all data associated with your account, and can't be undone. You will need to sign in again to complete this action"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "This will erase all data associated with your account, and can't be undone. Are you sure that you want to delete your account?"; - -/* Text of Delete action button. */ -"Delete" = "Delete"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Delete account"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "This action can't be undone"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Unlink"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Linked account"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Unlink account?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "You will no longer be able to sign in using your account"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Unlink account"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "To change email address associated with your account, you will need to sign in again."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Edit email"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Edit name"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "To add a password to your account, you will need to sign in again."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "To change your account's password, you will need to sign in again."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Add password"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Change password"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Email"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Sign in with %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Enter your name"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Enter your email"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Enter your password"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "New password"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Choose password"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Trouble signing in?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirm email"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Signed in!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Trouble getting emails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Try these common fixes: \n – Check whether the email was marked as spam or filtered.\n – Check your internet connection.\n – Check that you did not misspell your email.\n – Check that your inbox space is not running out, or for other inbox settings-related issues.\n If the steps above didn't work, you can resend the email. Note that this will deactivate the link in the older email."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "A sign-in email with additional instructions was sent to %@. Check your email to complete sign-in."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Sign-in email sent"; diff --git a/FirebaseAuthUI/Sources/Strings/en-IN.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/en-IN.lproj/FirebaseAuthUI.strings deleted file mode 100644 index d1c7a39cfe8..00000000000 --- a/FirebaseAuthUI/Sources/Strings/en-IN.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Welcome"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Sign in with email"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Enter your email"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Incorrect email address."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "This type of account isn't supported by this app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "You already have an account"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "You've already used %@. Sign in with %@ to continue."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Sign in"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Enter your password"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Password cannot be empty."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "The email and password that you entered don't match."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "That email address doesn't match an existing account."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "That email address is for an account that has been disabled."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "You've entered an incorrect password too many times. Try again in a few minutes."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Can't find provider for %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Emails don't match"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recover password"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Receive instructions to this email that explain how to reset your password"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Check your email"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Follow the instructions sent to %@ to recover your password."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Create account"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "First name & surname"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Choose password"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Terms of Service"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Privacy Policy"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "By continuing, you are indicating that you accept our %@ and %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "The email address is already in use by another account."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Strong passwords have at least 6 characters and a mix of letters and numbers."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Too many account requests are coming from your IP address. Try again in a few minutes."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "You've already used %@ to sign in. Enter your password for that account."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Cancel"; - -/* Back button title. */ -"Back" = "Back"; - -/* Next button title. */ -"Next" = "Next"; - -/* Save button title. */ -"Save" = "Save"; - -/* Send button title. */ -"Send" = "Send"; - -/* Resend button title. */ -"Resend" = "Resend"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Email"; - -/* Label next to a password text field. */ -"Password" = "Password"; - -/* Label next to a name text field. */ -"Name" = "Name"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Close"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profile"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Security"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Linked Accounts"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Name"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Email"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Add password"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Change password"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Sign Out"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Delete Account"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Forgotten password?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verify that it's you"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Delete account?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "This will erase all data associated with your account, and can't be undone. You will need to sign in again to complete this action"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "This will erase all data associated with your account, and can't be undone. Are you sure that you want to delete your account?"; - -/* Text of Delete action button. */ -"Delete" = "Delete"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Delete account"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "This action can't be undone"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Unlink"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Linked account"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Unlink account?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "You will no longer be able to sign in using your account"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Unlink account"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "To change email address associated with your account, you will need to sign in again."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Edit email"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Edit name"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "To add a password to your account, you will need to sign in again."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "To change your account's password, you will need to sign in again."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Add password"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Change password"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Email"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Sign in with %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Enter your name"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Enter your email"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Enter your password"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "New password"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Choose password"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Trouble signing in?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirm email"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Signed in!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Trouble getting emails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Try these common fixes: \n – Check whether the email was marked as spam or filtered.\n – Check your internet connection.\n – Check that you did not misspell your email.\n – Check that your inbox space is not running out, or for other inbox settings-related issues.\n If the steps above didn't work, you can resend the email. Note that this will deactivate the link in the older email."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "A sign-in email with additional instructions was sent to %@. Check your email to complete sign-in."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Sign-in email sent"; diff --git a/FirebaseAuthUI/Sources/Strings/en-SG.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/en-SG.lproj/FirebaseAuthUI.strings deleted file mode 100644 index d1c7a39cfe8..00000000000 --- a/FirebaseAuthUI/Sources/Strings/en-SG.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Welcome"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Sign in with email"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Enter your email"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Incorrect email address."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "This type of account isn't supported by this app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "You already have an account"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "You've already used %@. Sign in with %@ to continue."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Sign in"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Enter your password"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Password cannot be empty."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "The email and password that you entered don't match."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "That email address doesn't match an existing account."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "That email address is for an account that has been disabled."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "You've entered an incorrect password too many times. Try again in a few minutes."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Can't find provider for %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Emails don't match"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recover password"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Receive instructions to this email that explain how to reset your password"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Check your email"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Follow the instructions sent to %@ to recover your password."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Create account"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "First name & surname"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Choose password"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Terms of Service"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Privacy Policy"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "By continuing, you are indicating that you accept our %@ and %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "The email address is already in use by another account."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Strong passwords have at least 6 characters and a mix of letters and numbers."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Too many account requests are coming from your IP address. Try again in a few minutes."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "You've already used %@ to sign in. Enter your password for that account."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Cancel"; - -/* Back button title. */ -"Back" = "Back"; - -/* Next button title. */ -"Next" = "Next"; - -/* Save button title. */ -"Save" = "Save"; - -/* Send button title. */ -"Send" = "Send"; - -/* Resend button title. */ -"Resend" = "Resend"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Email"; - -/* Label next to a password text field. */ -"Password" = "Password"; - -/* Label next to a name text field. */ -"Name" = "Name"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Close"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profile"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Security"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Linked Accounts"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Name"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Email"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Add password"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Change password"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Sign Out"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Delete Account"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Forgotten password?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verify that it's you"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Delete account?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "This will erase all data associated with your account, and can't be undone. You will need to sign in again to complete this action"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "This will erase all data associated with your account, and can't be undone. Are you sure that you want to delete your account?"; - -/* Text of Delete action button. */ -"Delete" = "Delete"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Delete account"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "This action can't be undone"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Unlink"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Linked account"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Unlink account?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "You will no longer be able to sign in using your account"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Unlink account"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "To change email address associated with your account, you will need to sign in again."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Edit email"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Edit name"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "To add a password to your account, you will need to sign in again."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "To change your account's password, you will need to sign in again."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Add password"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Change password"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Email"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Sign in with %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Enter your name"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Enter your email"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Enter your password"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "New password"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Choose password"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Trouble signing in?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirm email"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Signed in!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Trouble getting emails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Try these common fixes: \n – Check whether the email was marked as spam or filtered.\n – Check your internet connection.\n – Check that you did not misspell your email.\n – Check that your inbox space is not running out, or for other inbox settings-related issues.\n If the steps above didn't work, you can resend the email. Note that this will deactivate the link in the older email."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "A sign-in email with additional instructions was sent to %@. Check your email to complete sign-in."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Sign-in email sent"; diff --git a/FirebaseAuthUI/Sources/Strings/en-ZA.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/en-ZA.lproj/FirebaseAuthUI.strings deleted file mode 100644 index d1c7a39cfe8..00000000000 --- a/FirebaseAuthUI/Sources/Strings/en-ZA.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Welcome"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Sign in with email"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Enter your email"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Incorrect email address."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "This type of account isn't supported by this app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "You already have an account"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "You've already used %@. Sign in with %@ to continue."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Sign in"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Enter your password"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Password cannot be empty."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "The email and password that you entered don't match."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "That email address doesn't match an existing account."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "That email address is for an account that has been disabled."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "You've entered an incorrect password too many times. Try again in a few minutes."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Can't find provider for %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Emails don't match"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recover password"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Receive instructions to this email that explain how to reset your password"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Check your email"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Follow the instructions sent to %@ to recover your password."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Create account"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "First name & surname"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Choose password"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Terms of Service"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Privacy Policy"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "By continuing, you are indicating that you accept our %@ and %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "The email address is already in use by another account."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Strong passwords have at least 6 characters and a mix of letters and numbers."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Too many account requests are coming from your IP address. Try again in a few minutes."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "You've already used %@ to sign in. Enter your password for that account."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Cancel"; - -/* Back button title. */ -"Back" = "Back"; - -/* Next button title. */ -"Next" = "Next"; - -/* Save button title. */ -"Save" = "Save"; - -/* Send button title. */ -"Send" = "Send"; - -/* Resend button title. */ -"Resend" = "Resend"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Email"; - -/* Label next to a password text field. */ -"Password" = "Password"; - -/* Label next to a name text field. */ -"Name" = "Name"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Close"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profile"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Security"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Linked Accounts"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Name"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Email"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Add password"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Change password"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Sign Out"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Delete Account"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Forgotten password?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verify that it's you"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Delete account?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "This will erase all data associated with your account, and can't be undone. You will need to sign in again to complete this action"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "This will erase all data associated with your account, and can't be undone. Are you sure that you want to delete your account?"; - -/* Text of Delete action button. */ -"Delete" = "Delete"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Delete account"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "This action can't be undone"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Unlink"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Linked account"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Unlink account?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "You will no longer be able to sign in using your account"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Unlink account"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "To change email address associated with your account, you will need to sign in again."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Edit email"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Edit name"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "To add a password to your account, you will need to sign in again."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "To change your account's password, you will need to sign in again."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Add password"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Change password"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Email"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Sign in with %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Enter your name"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Enter your email"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Enter your password"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "New password"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Choose password"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Trouble signing in?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirm email"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Signed in!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Trouble getting emails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Try these common fixes: \n – Check whether the email was marked as spam or filtered.\n – Check your internet connection.\n – Check that you did not misspell your email.\n – Check that your inbox space is not running out, or for other inbox settings-related issues.\n If the steps above didn't work, you can resend the email. Note that this will deactivate the link in the older email."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "A sign-in email with additional instructions was sent to %@. Check your email to complete sign-in."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Sign-in email sent"; diff --git a/FirebaseAuthUI/Sources/Strings/en.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/en.lproj/FirebaseAuthUI.strings deleted file mode 100644 index e4cc1723efa..00000000000 --- a/FirebaseAuthUI/Sources/Strings/en.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Welcome"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Sign in with email"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Enter your email"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "That email address isn't correct."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "This type of account isn't supported by this app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "You already have an account"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "You’ve already used %@. Sign in with %@ to continue."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Sign in"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Enter your password"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Password cannot be empty."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "The email and password you entered don't match."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "That email address doesn’t match an existing account."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "That email address is for an account that has been disabled."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "You’ve entered an incorrect password too many times. Try again in a few minutes."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Can't find provider for %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Emails don't match"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recover password"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Get instructions sent to this email that explain how to reset your password."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Check your email"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Follow the instructions sent to %@ to recover your password."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Create account"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "First & last name"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Choose password"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Terms of Service"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Privacy Policy"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "By continuing, you are indicating that you accept our %@ and %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "The email address is already in use by another account."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Password must be at least 6 characters long."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Too many account requests are coming from your IP address. Try again in a few minutes."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "You’ve already used %@ to sign in. Enter your password for that account."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Cancel"; - -/* Back button title. */ -"Back" = "Back"; - -/* Next button title. */ -"Next" = "Next"; - -/* Save button title. */ -"Save" = "Save"; - -/* Send button title. */ -"Send" = "Send"; - -/* Resend button title. */ -"Resend" = "Resend"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Email"; - -/* Label next to a password text field. */ -"Password" = "Password"; - -/* Label next to a name text field. */ -"Name" = "Name"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Close"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profile"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Security"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Linked Accounts"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Name"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Email"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Add password"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Change password"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Sign Out"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Delete Account"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Forgot password?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verify it's you"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Delete Account?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "This will erase all data associated with your account, and can't be undone You will need to sign in again to complete this action"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "This will erase all data associated with your account, and can't be undone. Are you sure you want to delete your account?"; - -/* Text of Delete action button. */ -"Delete" = "Delete"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Delete account"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "This action can't be undone"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Unlink"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Linked account"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Unlink account?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "You will no longer be able to sign in using your account"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Unlink account"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "To change email address associated with your account, you will need to sign in again."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Edit email"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Edit name"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "To add password to your account, you will need to sign in again."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "To change password to your account, you will need to sign in again."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "In order to change your password, you first need to enter your current password."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Add password"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Change password"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Email"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Sign in with %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Enter your name"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Enter your email"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Enter your password"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "New password"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Choose password"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Trouble signing in?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirm Email"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Signed in!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Trouble getting emails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Try these common fixes: \n - Check if the email was marked as spam or filtered.\n - Check your internet connection.\n - Check that you did not misspell your email.\n - Check that your inbox space is not running out or other inbox settings related issues.\n If the steps above didn't work, you can resend the email. Note that this will deactivate the link in the older email."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "A sign-in email with additional instructions was sent to %@. Check your email to complete sign-in."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Sign-in email Sent"; diff --git a/FirebaseAuthUI/Sources/Strings/es-419.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-419.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-419.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-AR.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-AR.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-AR.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-BO.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-BO.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-BO.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-CL.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-CL.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-CL.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-CO.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-CO.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-CO.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-CR.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-CR.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-CR.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-DO.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-DO.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-DO.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-EC.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-EC.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-EC.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-GT.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-GT.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-GT.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-HN.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-HN.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-HN.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-MX.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-MX.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-MX.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-NI.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-NI.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-NI.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-PA.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-PA.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-PA.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-PE.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-PE.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-PE.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-PR.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-PR.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-PR.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-PY.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-PY.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-PY.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-SV.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-SV.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-SV.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-US.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-US.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-US.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-UY.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-UY.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-UY.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es-VE.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es-VE.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 29b572876da..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es-VE.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Acceder con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ingresa tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "La dirección de correo electrónico es incorrecta."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "El tipo de cuenta no es compatible con esta app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya usaste %@. Accede con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Acceder"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ingresa la contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "El campo de contraseña no puede estar vacío."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "El correo electrónico y la contraseña que ingresaste no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con una cuenta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico corresponde a una cuenta que se inhabilitó."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ingresaste una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se encuentra ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones para cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Revisa tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que se enviaron a %@ para restablecer la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elegir contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Condiciones del servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, indicas que aceptas nuestras %@ y %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras deben tener al menos 6 caracteres, además de incluir letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Recibimos demasiadas solicitudes de cuenta desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya usaste %@ para acceder. Ingresa la contraseña correspondiente."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Agregar contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Salir"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Borrar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Olvidaste la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica tu identidad"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Quieres borrar la cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. Debes acceder de nuevo para realizarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados con tu cuenta y no se puede deshacer. ¿Estás seguro de que quieres borrar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Borrar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Borrar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Quieres desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás acceder con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo electrónico asociada con tu cuenta, debes acceder de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para agregar una contraseña a tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes acceder de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para cambiar tu contraseña, primero debes ingresar la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Agregar contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Acceder con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ingresa tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ingresa tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ingresa la contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elegir contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿Tienes problemas para acceder?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accediste"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿Tienes problemas para recibir correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba estas soluciones comunes: \n- Verifica si el correo electrónico se marcó como spam o se filtró.\n- Comprueba tu conexión a Internet.\n- Verifica que escribiste bien tu correo electrónico.\n- Verifica que tu bandeja de entrada no esté llena o revisa cualquier otro problema relacionado con la configuración de la bandeja de entrada.\nSi los pasos anteriores no funcionaron, reenvía el correo electrónico. Ten en cuenta que esta acción desactivará el vínculo en el correo electrónico anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se envió un correo electrónico de acceso con instrucciones adicionales a %@. Revisa tu bandeja de entrada para completar el proceso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Se envió el correo electrónico de acceso"; diff --git a/FirebaseAuthUI/Sources/Strings/es.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/es.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 848ae18acf9..00000000000 --- a/FirebaseAuthUI/Sources/Strings/es.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Te damos la bienvenida"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Iniciar sesión con el correo electrónico"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Introduce tu correo electrónico"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "El correo electrónico no es correcto."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Esta aplicación no admite este tipo de cuenta"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Ya tienes una cuenta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ya has usado %@. Inicia sesión con %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Iniciar sesión"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Introduce tu contraseña"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "La contraseña no puede estar vacía."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "La dirección de correo electrónico y contraseña que has introducido no coinciden."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "La dirección de correo electrónico no coincide con ninguna cuenta."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "La dirección de correo electrónico pertenece a una cuenta que se ha inhabilitado."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Has introducido una contraseña incorrecta demasiadas veces. Vuelve a intentarlo en unos minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "No se ha encontrado a ningún proveedor de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Los correos electrónicos no coinciden"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar contraseña"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Recibe un correo electrónico con instrucciones sobre cómo cambiar la contraseña."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Consulta tu correo electrónico"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sigue las instrucciones que hemos enviado a %@ para recuperar la contraseña."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crear cuenta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nombre y apellidos"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Elige una contraseña"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "condiciones de servicio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de privacidad"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Si continúas, confirmas que aceptas nuestras %@ y nuestra %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Otra cuenta ya usa esta dirección de correo electrónico."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Las contraseñas seguras contienen 6 caracteres como mínimo y combinan letras y números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Estamos recibiendo demasiadas solicitudes desde tu dirección IP. Vuelve a intentarlo en unos minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ya has usado %@ para iniciar sesión. Introduce la contraseña de esa cuenta."; - -/* OK button title. */ -"OK" = "Aceptar"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Atrás"; - -/* Next button title. */ -"Next" = "Siguiente"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Correo electrónico"; - -/* Label next to a password text field. */ -"Password" = "Contraseña"; - -/* Label next to a name text field. */ -"Name" = "Nombre"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Cerrar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Cuentas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nombre"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Correo electrónico"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Añadir contraseña"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambiar contraseña"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Cerrar sesión"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Eliminar cuenta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "¿Has olvidado la contraseña?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica que eres tú"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "¿Eliminar cuenta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta acción borrará todos los datos asociados a la cuenta y no se puede deshacer. Tendrás que volver a iniciar sesión para completarla"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta acción borrará todos los datos asociados a la cuenta y no se puede deshacer. ¿Seguro que quieres eliminar tu cuenta?"; - -/* Text of Delete action button. */ -"Delete" = "Eliminar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Eliminar cuenta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Esta acción no se puede deshacer"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cuenta vinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "¿Desvincular la cuenta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ya no podrás iniciar sesión con tu cuenta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular la cuenta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para cambiar la dirección de correo asociada a la cuenta, debes iniciar sesión de nuevo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para poder cambiar la contraseña, primero debes introducir la contraseña actual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar correo electrónico"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nombre"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para añadir una contraseña a tu cuenta, debes iniciar sesión de nuevo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para cambiar la contraseña de tu cuenta, debes iniciar sesión de nuevo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para poder cambiar la contraseña, primero debes introducir la contraseña actual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Añadir contraseña"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambiar contraseña"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Correo electrónico"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Iniciar sesión con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Introduce tu nombre"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Introduce tu correo electrónico"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Introduce tu contraseña"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nueva contraseña"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Elige una contraseña"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "¿No puedes iniciar sesión?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmar la dirección de correo electrónico"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Has iniciado sesión."; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "¿No puedes recibir los correos electrónicos?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prueba las soluciones más habituales: \n. Asegúrate de que el correo electrónico no se ha filtrado ni marcado como spam.\n. Comprueba tu conexión a Internet.\n. Asegúrate de que has escrito bien tu dirección de correo electrónico.\n. Comprueba que no te estés quedando sin espacio en la bandeja de entrada y que no haya ningún problema con su configuración.\n. Si no se ha resuelto el problema con los pasos mencionados, puedes volver a enviar el correo electrónico. Si lo haces, se desactivará el enlace del mensaje de correo anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Se ha enviado un correo electrónico de inicio de sesión con más instrucciones a %@. Consulta tu bandeja de entrada para completar el inicio de sesión."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Correo electrónico de inicio de sesión enviado"; diff --git a/FirebaseAuthUI/Sources/Strings/fa.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/fa.lproj/FirebaseAuthUI.strings deleted file mode 100644 index e4132c862e1..00000000000 --- a/FirebaseAuthUI/Sources/Strings/fa.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "خوش‌ آمدید"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "ورود به سیستم با ایمیل "; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "رایانامه‌تان را وارد کنید"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "این نشانی ایمیل درست نیست."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "این برنامه از این نوع حساب‌ پشتیبانی نمی‌کند"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "از قبل حسابی دارید"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "قبلاً از %@ استفاده کرده‌اید. برای ادامه با %@ وارد سیستم شوید."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "ورود به سیستم"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "گذرواژه‌تان را وارد کنید"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "فیلد گذرواژه نمی‌تواند خالی باشد."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "ایمیل و گذرواژه وارد‌شده با هم مطابقت ندارند."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "این نشانی ایمیل با هیچ حسابی مطابقت ندارد."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "این نشانی ایمیل متعلق به حسابی است که غیرفعال شده است."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "دفعات زیادی گذرواژه اشتباه وارد کرده‌اید. پس از چند دقیقه دوباره امتحان کنید."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "قادر به پیدا کردن ارائه‌دهنده %@ نیست."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "ایمیل‌ها با هم مطابقت ندارند"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "بازیابی گذرواژه"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "دستورالعمل نحوه بازنشانی گذرواژه‌تان به این ایمیل ارسال شده است، آن را ببینید."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "رایانامه‌تان را بررسی کنید"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "برای بازیابی گذرواژه‌تان، دستورالعمل‌های ارسال‌شده به %@ را دنبال کنید."; - -/* Title for sign up screen. */ -"SignUpTitle" = "ایجاد حساب"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "نام و نام خانوادگی"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "یک گذرواژه انتخاب کنید"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "شرایط خدمات"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "خط‌مشی رازداری"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "درصورت ادامه‌ دادن، موافقتتان را با %@ و %@ ما اعلام می‌کنید."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "قبلاً از این نشانی ایمیل برای حساب دیگری استفاده شده است."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "گذرواژه قوی باید حداقل شامل ۶ نویسه‌ و ترکیبی از حروف و اعداد باشد."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "تعداد زیادی درخواست حساب از نشانی IP شما درحال ارسال است. پس از چند دقیقه دوباره امتحان کنید."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "قبلاً از %@ برای ورود به سیستم استفاده کرده‌اید. گذرواژه این حساب را وارد کنید."; - -/* OK button title. */ -"OK" = "تأیید"; - -/* Cancel button title. */ -"Cancel" = "لغو"; - -/* Back button title. */ -"Back" = "قبلی"; - -/* Next button title. */ -"Next" = "بعدی"; - -/* Save button title. */ -"Save" = "ذخیره"; - -/* Send button title. */ -"Send" = "ارسال"; - -/* Resend button title. */ -"Resend" = "ارسال مجدد"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "ایمیل "; - -/* Label next to a password text field. */ -"Password" = "گذرواژه"; - -/* Label next to a name text field. */ -"Name" = "نام"; - -/* Alert title Error. */ -"Error" = "خطا"; - -/* Alert button title Close. */ -"Close" = "بستن"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "نمایه"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "امنیت"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "حساب‌های مرتبط"; - -/* Account Settings cell title Name. */ -"AS_Name" = "نام"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "ایمیل "; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "افزودن گذرواژه"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "تغییر گذرواژه"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "خروج از سیستم"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "حذف حساب"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "گذرواژه‌تان را فراموش کرده‌اید؟"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "تأیید کنید این خود شما هستید"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "حساب حذف شود؟"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "با این کار همه داده‌های مرتبط با حسابتان پاک می‌شود که قابل واگرد نیست. برای تکمیل این اقدام باید دوباره وارد سیستم شوید"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "با این کار همه داده‌های مرتبط با حسابتان پاک می‌شود که قابل واگرد نیست. مطمئنید می‌خواهید حسابتان حذف شود؟"; - -/* Text of Delete action button. */ -"Delete" = "حذف"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "حذف حساب"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "این کار واگردشدنی نیست."; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "لغو پیوند"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "حساب پیوندی"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "پیوند حساب لغو شود؟"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "دیگر نمی‌توانید با استفاده از این حساب وارد سیستم شوید"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "لغو پیوند حساب"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "برای تغییر نشانی ایمیل مرتبط با حسابتان باید دوباره وارد سیستم شوید."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "برای تغییر گذرواژه‌‌، ابتدا باید گذرواژه کنونی‌تان را وارد کنید."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "ویرایش ایمیل "; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "ویرایش نام"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "برای افزودن گذرواژه به حسابتان باید دوباره وارد سیستم شوید."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "برای تغییر گذرواژه حسابتان باید دوباره وارد سیستم شوید."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "برای تغییر گذرواژه‌‌، ابتدا باید گذرواژه کنونی‌تان را وارد کنید."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "افزودن گذرواژه"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "تغییر گذرواژه"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "ایمیل "; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google‏"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "ورود به سیستم با %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "نام خود را وارد کنید"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "رایانامه‌تان را وارد کنید"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "گذرواژه‌تان را وارد کنید"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "گذرواژه جدید"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "گذرواژه انتخاب کنید"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "مشکلی در ورود به سیستم دارید؟"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "تأیید ایمیل"; - -/* Title of successfully signed in label. */ -"SignedIn" = "به سیستم وارد شدید!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "در دریافت ایمیل مشکل دارید؟"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "این رفع اشکال‌های رایج را امتحان کنید: \n - ببینید ایمیل به‌عنوان هرزنامه یا فیلترشده مشخص نشده باشد.\n - اتصال اینترنتتان را بررسی کنید.\n - مطمئن شوید املای ایمیلتان را درست وارد کرده باشید.\n - مطمئن شوید فضای صندوق ورودی‌تان روبه‌اتمام نباشد یا مشکل دیگری در تنظیمات صندوق ورودی وجود نداشته باشد.\n اگر اقدامات بالا به رفع مشکل کمک نکرد، می‌توانید ایمیل را مجدداً ارسال کنید. توجه کنید که با این کار، پیوند موجود در ایمیل قبلی غیرفعال می‌شود."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "ایمیل ورود به سیستم، حاوی دستورالعمل‌های بیشتر، به %@ ارسال شد. برای تکمیل ورود به سیستم، ایمیلتان را بررسی کنید."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "ایمیل ورود به سیستم ارسال شد"; diff --git a/FirebaseAuthUI/Sources/Strings/fi.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/fi.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 6349b4db30a..00000000000 --- a/FirebaseAuthUI/Sources/Strings/fi.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,270 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Tervetuloa"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Kirjaudu sähköpostilla"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Anna sähköpostiosoitteesi"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Virheellinen sähköpostiosoite"; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Sovellus ei tue tätä tilityyppiä."; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Sinulla on jo tili."; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Olet jo käyttänyt osoitetta %@. Jatka kirjautumalla palvelun %@ kautta."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Kirjaudu sisään"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Anna salasana"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Salasana ei voi olla tyhjä."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Antamasi sähköpostiosoite ja salasana eivät täsmää."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Sähköpostiosoite ei vastaa aiemmin luotua tiliä."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Sähköpostiosoite on rekisteröity tiliin, joka on poistettu käytöstä."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Olet antanut virheellisen salasanan liian monta kertaa. Yritä uudelleen muutaman minuutin kuluttua."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Palveluntarjoajaa ei löydy osoitteelle %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Sähköpostit eivät täsmää."; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Palauta salasana"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Tilaa tähän sähköpostiin ohjeet, joissa neuvotaan, miten voit nollata salasanan."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Tarkista sähköpostisi"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Palauta salasana noudattamalla osoitteeseen %@ lähetettyjä ohjeita."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Luo tili"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Etu- ja sukunimi"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Valitse salasana"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Käyttöehdot"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Tietosuojakäytäntö"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Jatkamalla vahvistat hyväksyväsi seuraavat: %@ ja %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Tämä sähköpostiosoite on jo rekisteröity toiseen tiliin."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Vahvassa salasanassa on vähintään 6 merkkiä, ja se sisältää kirjaimia ja numeroita."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "IP-osoitteestasi on lähetetty liian monta tilipyyntöä. Yritä uudelleen muutaman minuutin kuluttua."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Olet jo käyttänyt osoitetta %@ - kirjautumiseen. Anna kyseisen tilin salasana."; - -/* OK button title. */ -"OK" = "Ok"; - -/* Cancel button title. */ -"Cancel" = "Peruuta"; - -/* Back button title. */ -"Back" = "Takaisin"; - -/* Next button title. */ -"Next" = "Seuraava"; - -/* Save button title. */ -"Save" = "Tallenna"; - -/* Send button title. */ -"Send" = "Lähetä"; - -/* Resend button title. */ -"Resend" = "Lähetä uudelleen"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Sähköposti"; - -/* Label next to a password text field. */ -"Password" = "Salasana"; - -/* Label next to a name text field. */ -"Name" = "Nimi"; - -/* Alert title Error. */ -"Error" = "Virhe"; - -/* Alert button title Close. */ -"Close" = "Sulje"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profiili"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Turvallisuus"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Linkitetyt tilit"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nimi"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Sähköposti"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Lisää salasana"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Vaihda salasana"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Kirjaudu ulos"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Poista tili"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Unohditko salasanasi?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Vahvista henkilöllisyytesi"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Poistetaanko tili?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Tämä poistaa kaikki tiliisi liittyvät tiedot, eikä toimintoa voi kumota. Sinun pitää kirjautua sisään uudelleen, jotta voit suorittaa toiminnon loppuun."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Tämä poistaa kaikki tiliisi liittyvät tiedot, eikä toimintoa voi kumota. Haluatko varmasti poistaa tilisi?"; - -/* Text of Delete action button. */ -"Delete" = "Poista"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Poista tili"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Tätä toimintoa ei voi kumota."; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Poista linkitys"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Linkitetty tili"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Poistetaanko tilin linkitys?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Et enää voi kirjautua sisään tililläsi."; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Poista tilin linkitys"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Jotta voit vaihtaa tiliisi liittyvän sähköpostin, sinun pitää kirjautua sisään uudelleen."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Jotta voit vaihtaa salasanasi, sinun on annettava ensin nykyinen salasanasi."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Muokkaa sähköpostia"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Muokkaa nimeä"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Jotta voit lisätä salasanan tiliisi, sinun pitää kirjautua sisään uudelleen."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Jotta voit vaihtaa tilisi salasanan, sinun pitää kirjautua sisään uudelleen."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Jotta voit vaihtaa salasanasi, sinun on annettava ensin nykyinen salasanasi."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Lisää salasana"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Vaihda salasana"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Sähköposti"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Kirjaudu palvelun %@ kautta"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Anna nimesi"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Anna sähköpostiosoitteesi"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Anna salasana"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Uusi salasana"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Valitse salasana"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Eikö kirjautuminen onnistu?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Vahvista sähköposti"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Kirjauduttu"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Ongelmia sähköpostiviestien saamisessa?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Kokeile näitä yleisiä ratkaisuja: \n – Tarkista, merkittiinkö viesti roskapostiksi tai suodatettiinko se.\n – Tarkista internetyhteytesi.\n – Tarkista, että kirjoitit sähköpostiosoitteesi oikein.\n – Tarkista, ettei postilaatikkosi tila ole loppumassa tai ettei postilaatikon asetuksissa ole muita ongelmia.\n – Jos edellä olevista ratkaisuista ei ollut apua, voit lähettää viestin uudelleen. Huomaa, että tällöin aiemmassa viestissä oleva linkki poistetaan käytöstä."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Lisäohjeita sisältävä kirjautumisviesti lähetettiin osoitteeseen %@. Tarkista sähköpostisi kirjautumisen suorittamiseksi loppuun."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Kirjautumisviesti lähetetty"; diff --git a/FirebaseAuthUI/Sources/Strings/fil.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/fil.lproj/FirebaseAuthUI.strings deleted file mode 100644 index dde53552e5c..00000000000 --- a/FirebaseAuthUI/Sources/Strings/fil.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Welcome"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Mag-sign in gamit ang email"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ilagay ang iyong email"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Mali ang email address na iyon."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Hindi sinusuportahan sa app na ito ang ganitong uri ng account"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Mayroon ka nang account"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Nagamit mo na ang %@. Mag-sign in gamit ang %@ upang magpatuloy."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Mag-sign in"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ilagay ang iyong password"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Hindi maaaring walang laman ang password."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Hindi nagtutugma ang inilagay mong email at password."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Hindi tumutugma ang email address na iyon sa isang kasalukuyang account."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Ang email address na iyon ay para sa isang na-disable nang account."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Nagpasok ka ng di-wastong password nang masyadong maraming beses. Pakisubukang muli pagkalipas ng ilang minuto."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Hindi makahanap ng provider para sa %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Hindi tumutugma ang mga email"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "I-recover ang password"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Kumuha ng mga tagubilin na ipadala sa email na ito na magpapaliwanag kung paano i-reset ang iyong password."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Suriin ang iyong email"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Sundin ang mga tagubilin na ipinadala sa %@ upang ma-recover ang iyong password."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Gumawa ng account"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Pangalan at apelyido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Pumili ng password"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Mga Tuntunin ng Serbisyo"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Patakaran sa Privacy"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Sa pagpapatuloy, ipinababatid mo na tinatanggap mo ang aming %@ at %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Ginagamit na ang email address ng ibang account."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Kailangang may 6 na character man lang at kumbinasyon ng mga titik at mga numero ang mga malalakas na password."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Masyadong maraming kahilingan ng account mula sa iyong IP address. Subukang muli pagkalipas ng ilang minuto."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Nagamit mo na ang %@ upang mag-sign in. Ilagay ang iyong password para sa account na iyon."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Kanselahin"; - -/* Back button title. */ -"Back" = "Bumalik"; - -/* Next button title. */ -"Next" = "Susunod"; - -/* Save button title. */ -"Save" = "I-save"; - -/* Send button title. */ -"Send" = "Ipadala"; - -/* Resend button title. */ -"Resend" = "Muling Ipadala"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Email"; - -/* Label next to a password text field. */ -"Password" = "Password"; - -/* Label next to a name text field. */ -"Name" = "Pangalan"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Isara"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profile"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Seguridad"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Mga Naka-link na Account"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Pangalan"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Mag-email"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Magdagdag ng password"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Palitan ang password"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Mag-sign Out"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Tanggalin ang Account"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Nakalimutan ang password?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "I-verify na ikaw ito"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "I-delete ang Account?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Buburahin nito ang lahat ng data na nauugnay sa iyong account, at hindi na maa-undo Kailangan mong mag-sign in muli upang kumpletuhin ang pagkilos na ito"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Buburahin nito ang lahat ng data na nauugnay sa iyong account, at hindi na maa-undo. Sigurado ka bang gusto mong i-delete ang iyong account?"; - -/* Text of Delete action button. */ -"Delete" = "I-delete"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "I-delete ang account"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Hindi na maa-undo ang pagkilos na ito"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "I-unlink"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Naka-link na account"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "I-unlink ang account?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Hindi ka na makakapag-sign in gamit ang iyong account"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "I-unlink ang account"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Upang mabago ang email address na kaugnay ng iyong account, kakailanganin mong mag-sign in muli."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Upang baguhin ang iyong password, kailangan mo munang ipasok ang iyong kasalukuyang password."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "I-edit ang email"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "I-edit ang pangalan"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Upang magdagdag ng password sa iyong account, kailangan mong mag-sign in muli."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Upang baguhin ang password sa iyong account, kailangan mong mag-sign in muli."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Upang baguhin ang iyong password, kailangan mo munang ipasok ang iyong kasalukuyang password."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Magdagdag ng password"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Palitan ang password"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Mag-email"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Fecebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Mag-sign in gamit ang %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ilagay ang iyong pangalan"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ilagay ang iyong email"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ilagay ang iyong password"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Bagong password"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Pumili ng password"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Nagkaproblema sa pag-sign in?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Kumpirmahin ang Email"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Naka-sign in!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Nagkakaproblema sa pagtanggap ng mga email?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Subukan ang mga karaniwang pag-aayos na ito: \n - Tingnan kung minarkahan ang email bilang spam o na-filter.\n - Tingnan ang iyong koneksyon sa internet.\n - Tiyakin na hindi ka nagkamali sa pagbaybay ng iyong email.\n - Tingnan kung hindi pa nauubusan ng espasyo ang iyong inbox o may iba pang isyu na may kinalaman sa mga setting ng inbox.\n Kung hindi umubra ang mga hakbang sa itaas, maaari mong ipadala muli ang email. Tandaan na hindi nito ide-deactivate ang link sa lumang email."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Nagpadala ng email sa pag-sign in na may mga karagdagang tagubilin sa %@. Tingnan ang iyong email para makumpleto ang pag-sign in."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Naipadala na ang email sa pag-sign in"; diff --git a/FirebaseAuthUI/Sources/Strings/fr-CH.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/fr-CH.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 16bbcd32fbc..00000000000 --- a/FirebaseAuthUI/Sources/Strings/fr-CH.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Bienvenue"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Se connecter avec une adresse e-mail"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Saisissez votre adresse e-mail"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Cette adresse e-mail est incorrecte."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Ce type de compte n'est pas compatible avec cette application"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Vous avez déjà un compte"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Vous avez déjà utilisé l'adresse e-mail %@. Connectez-vous avec %@ pour continuer."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Se connecter"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Saisissez votre mot de passe"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Vous devez indiquer un mot de passe."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "L'adresse e-mail et le mot de passe saisis ne correspondent pas."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Cette adresse e-mail ne correspond à aucun compte existant."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Cette adresse e-mail correspond à un compte qui a été désactivé."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Vous avez saisi un mot de passe incorrect un trop grand nombre de fois. Veuillez réessayer dans quelques minutes."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Impossible de trouver un fournisseur pour %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Les adresses e-mail ne correspondent pas"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Récupérez votre mot de passe"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Les instructions relatives à la réinitialisation de votre mot de passe seront envoyées à cette adresse e-mail."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Consultez votre boîte de réception"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Suivez les instructions envoyées à l'adresse e-mail %@ pour récupérer votre mot de passe."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Créer un compte"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nom et prénom"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Choisissez un mot de passe"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Conditions d'utilisation"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Règles de confidentialité"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "En continuant, vous acceptez les %@ et les %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Cette adresse e-mail est déjà utilisée par un autre compte."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Les mots de passe sécurisés comportent au moins six caractères et une combinaison de chiffres et de lettres."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "De trop nombreuses demandes de compte proviennent de votre adresse IP. Veuillez réessayer dans quelques minutes."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Vous avez déjà utilisé l'adresse e-mail %@ pour vous connecter. Saisissez votre mot de passe pour ce compte."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Annuler"; - -/* Back button title. */ -"Back" = "Retour"; - -/* Next button title. */ -"Next" = "Suivant"; - -/* Save button title. */ -"Save" = "Enregistrer"; - -/* Send button title. */ -"Send" = "Envoyer"; - -/* Resend button title. */ -"Resend" = "Renvoyer"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Adresse e-mail"; - -/* Label next to a password text field. */ -"Password" = "Mot de passe"; - -/* Label next to a name text field. */ -"Name" = "Nom"; - -/* Alert title Error. */ -"Error" = "Erreur"; - -/* Alert button title Close. */ -"Close" = "Fermer"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Sécurité"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Comptes associés"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nom"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Adresse e-mail"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Ajouter un mot de passe"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Modifier le mot de passe"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Se déconnecter"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Supprimer le compte"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Mot de passe oublié"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Confirmez qu'il s'agit bien de vous"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Supprimer le compte ?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Cette action effacera toutes les données associées à votre compte de façon irréversible. Vous devrez vous reconnecter pour finaliser cette opération."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Cette action effacera toutes les données associées à votre compte de façon irréversible. Voulez-vous vraiment supprimer votre compte ?"; - -/* Text of Delete action button. */ -"Delete" = "Supprimer"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Supprimer le compte"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Cette action est irréversible"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Dissocier"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Compte associé"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Dissocier le compte ?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Vous ne pourrez plus utiliser votre compte pour vous connecter"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Dissocier le compte"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Pour modifier l'adresse e-mail associée à votre compte, vous devrez vous reconnecter."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Pour modifier votre mot de passe, vous devez d'abord saisir votre mot de passe actuel."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Modifier l'adresse e-mail"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Modifier le nom"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Vous devrez vous reconnecter pour ajouter un mot de passe à votre compte."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Vous devrez vous reconnecter pour modifier le mot de passe de votre compte."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Pour modifier votre mot de passe, vous devez d'abord saisir votre mot de passe actuel."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Ajouter un mot de passe"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Modifier le mot de passe"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Adresse e-mail"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Se connecter avec %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Saisissez votre nom"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Saisissez votre adresse e-mail"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Saisissez votre mot de passe"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nouveau mot de passe"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Choisissez un mot de passe"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Vous ne parvenez pas à vous connecter ?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmez votre adresse e-mail"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Connecté"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Vous n'avez pas reçu l'e-mail ?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Essayez les solutions courantes suivantes : \n - Vérifiez que l'e-mail n'a pas été filtré ni marqué comme spam.\n - Vérifiez votre connexion Internet.\n - Vérifiez que votre adresse e-mail est correcte.\n - Vérifiez que votre boîte de réception n'est pas pleine et que les paramètres sont correctement définis.\n Si les étapes décrites ci-dessus n'ont pas résolu le problème, vous pouvez renvoyer l'e-mail. Sachez que le lien du premier e-mail sera alors désactivé."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Un e-mail de connexion avec des instructions supplémentaires a été envoyé à %@. Consultez cet e-mail pour vous connecter."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "E-mail de connexion envoyé"; diff --git a/FirebaseAuthUI/Sources/Strings/fr.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/fr.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 16bbcd32fbc..00000000000 --- a/FirebaseAuthUI/Sources/Strings/fr.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Bienvenue"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Se connecter avec une adresse e-mail"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Saisissez votre adresse e-mail"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Cette adresse e-mail est incorrecte."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Ce type de compte n'est pas compatible avec cette application"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Vous avez déjà un compte"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Vous avez déjà utilisé l'adresse e-mail %@. Connectez-vous avec %@ pour continuer."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Se connecter"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Saisissez votre mot de passe"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Vous devez indiquer un mot de passe."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "L'adresse e-mail et le mot de passe saisis ne correspondent pas."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Cette adresse e-mail ne correspond à aucun compte existant."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Cette adresse e-mail correspond à un compte qui a été désactivé."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Vous avez saisi un mot de passe incorrect un trop grand nombre de fois. Veuillez réessayer dans quelques minutes."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Impossible de trouver un fournisseur pour %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Les adresses e-mail ne correspondent pas"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Récupérez votre mot de passe"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Les instructions relatives à la réinitialisation de votre mot de passe seront envoyées à cette adresse e-mail."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Consultez votre boîte de réception"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Suivez les instructions envoyées à l'adresse e-mail %@ pour récupérer votre mot de passe."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Créer un compte"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nom et prénom"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Choisissez un mot de passe"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Conditions d'utilisation"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Règles de confidentialité"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "En continuant, vous acceptez les %@ et les %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Cette adresse e-mail est déjà utilisée par un autre compte."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Les mots de passe sécurisés comportent au moins six caractères et une combinaison de chiffres et de lettres."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "De trop nombreuses demandes de compte proviennent de votre adresse IP. Veuillez réessayer dans quelques minutes."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Vous avez déjà utilisé l'adresse e-mail %@ pour vous connecter. Saisissez votre mot de passe pour ce compte."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Annuler"; - -/* Back button title. */ -"Back" = "Retour"; - -/* Next button title. */ -"Next" = "Suivant"; - -/* Save button title. */ -"Save" = "Enregistrer"; - -/* Send button title. */ -"Send" = "Envoyer"; - -/* Resend button title. */ -"Resend" = "Renvoyer"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Adresse e-mail"; - -/* Label next to a password text field. */ -"Password" = "Mot de passe"; - -/* Label next to a name text field. */ -"Name" = "Nom"; - -/* Alert title Error. */ -"Error" = "Erreur"; - -/* Alert button title Close. */ -"Close" = "Fermer"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Sécurité"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Comptes associés"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nom"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Adresse e-mail"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Ajouter un mot de passe"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Modifier le mot de passe"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Se déconnecter"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Supprimer le compte"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Mot de passe oublié"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Confirmez qu'il s'agit bien de vous"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Supprimer le compte ?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Cette action effacera toutes les données associées à votre compte de façon irréversible. Vous devrez vous reconnecter pour finaliser cette opération."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Cette action effacera toutes les données associées à votre compte de façon irréversible. Voulez-vous vraiment supprimer votre compte ?"; - -/* Text of Delete action button. */ -"Delete" = "Supprimer"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Supprimer le compte"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Cette action est irréversible"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Dissocier"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Compte associé"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Dissocier le compte ?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Vous ne pourrez plus utiliser votre compte pour vous connecter"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Dissocier le compte"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Pour modifier l'adresse e-mail associée à votre compte, vous devrez vous reconnecter."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Pour modifier votre mot de passe, vous devez d'abord saisir votre mot de passe actuel."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Modifier l'adresse e-mail"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Modifier le nom"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Vous devrez vous reconnecter pour ajouter un mot de passe à votre compte."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Vous devrez vous reconnecter pour modifier le mot de passe de votre compte."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Pour modifier votre mot de passe, vous devez d'abord saisir votre mot de passe actuel."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Ajouter un mot de passe"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Modifier le mot de passe"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Adresse e-mail"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Se connecter avec %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Saisissez votre nom"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Saisissez votre adresse e-mail"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Saisissez votre mot de passe"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nouveau mot de passe"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Choisissez un mot de passe"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Vous ne parvenez pas à vous connecter ?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmez votre adresse e-mail"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Connecté"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Vous n'avez pas reçu l'e-mail ?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Essayez les solutions courantes suivantes : \n - Vérifiez que l'e-mail n'a pas été filtré ni marqué comme spam.\n - Vérifiez votre connexion Internet.\n - Vérifiez que votre adresse e-mail est correcte.\n - Vérifiez que votre boîte de réception n'est pas pleine et que les paramètres sont correctement définis.\n Si les étapes décrites ci-dessus n'ont pas résolu le problème, vous pouvez renvoyer l'e-mail. Sachez que le lien du premier e-mail sera alors désactivé."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Un e-mail de connexion avec des instructions supplémentaires a été envoyé à %@. Consultez cet e-mail pour vous connecter."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "E-mail de connexion envoyé"; diff --git a/FirebaseAuthUI/Sources/Strings/gsw.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/gsw.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 3ad463985c6..00000000000 --- a/FirebaseAuthUI/Sources/Strings/gsw.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Willkommen"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Mit E-Mail-Adresse anmelden"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "E-Mail-Adresse eingeben"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Diese E-Mail-Adresse ist nicht korrekt."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Diese Art von Konto wird von dieser App nicht unterstützt"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Sie haben bereits ein Konto"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Sie haben %@ bereits verwendet. Melden Sie sich mit %@ an, um fortzufahren."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Anmelden"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Passwort eingeben"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Passwort darf nicht leer sein."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Die E-Mail-Adresse und das Passwort passen nicht zusammen."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Diese E-Mail-Adresse passt zu keinem vorhandenen Konto."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Diese E-Mail-Adresse gehört zu einem Konto, das deaktiviert wurde."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Sie haben zu oft ein falsches Passwort eingegeben. Versuchen Sie es in einigen Minuten erneut."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Anbieter für %@ wurde nicht gefunden."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-Mail-Adressen stimmen nicht überein"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Passwort wiederherstellen"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "In der an diese E-Mail-Adresse gesendeten Anleitung wird beschrieben, wie Sie Ihr Passwort zurücksetzen können."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Im Posteingang nachsehen"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Folgen Sie der an %@ gesendeten Anleitung, um Ihr Passwort zurückzusetzen."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Konto erstellen"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Vor- und Nachname"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Passwort auswählen"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Nutzungsbedingungen"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Datenschutzerklärung"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Wenn Sie fortfahren, stimmen Sie unseren %@ und unserer %@ zu."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Die E-Mail-Adresse wird bereits von einem anderen Konto verwendet."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Starke Passwörter umfassen mindestens sechs Zeichen und eine Mischung aus Buchstaben und Ziffern."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Von Ihrer IP-Adresse werden zu viele Kontoanfragen gesendet. Versuchen Sie es in einigen Minuten erneut."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Sie haben bereits %@ zur Anmeldung verwendet. Geben Sie das Passwort für dieses Konto ein."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Abbrechen"; - -/* Back button title. */ -"Back" = "Zurück"; - -/* Next button title. */ -"Next" = "Weiter"; - -/* Save button title. */ -"Save" = "Speichern"; - -/* Send button title. */ -"Send" = "Senden"; - -/* Resend button title. */ -"Resend" = "Erneut senden"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-Mail-Adresse"; - -/* Label next to a password text field. */ -"Password" = "Passwort"; - -/* Label next to a name text field. */ -"Name" = "Name"; - -/* Alert title Error. */ -"Error" = "Fehler"; - -/* Alert button title Close. */ -"Close" = "Schließen"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Sicherheit"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Verknüpfte Konten"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Name"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-Mail-Adresse"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Passwort hinzufügen"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Passwort ändern"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Abmelden"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Konto löschen"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Passwort vergessen?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Identität bestätigen"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Konto löschen?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Hierdurch werden alle mit Ihrem Konto verknüpften Daten gelöscht. Dies kann nicht rückgängig gemacht werden. Sie müssen sich erneut anmelden, um diese Aktion abzuschließen."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Hierdurch werden alle mit Ihrem Konto verknüpften Daten gelöscht. Dies kann nicht rückgängig gemacht werden. Möchten Sie Ihr Konto wirklich löschen?"; - -/* Text of Delete action button. */ -"Delete" = "Löschen"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Konto löschen"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Diese Aktion kann nicht rückgängig gemacht werden"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Verknüpfung aufheben"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Verknüpftes Konto"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Verknüpfung des Kontos aufheben?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Sie können sich nicht mehr mit Ihrem Konto anmelden"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Verknüpfung des Kontos aufheben"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Wenn Sie die mit Ihrem Konto verknüpfte E-Mail-Adresse ändern möchten, müssen Sie sich erneut anmelden."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Um das Passwort zu ändern, müssen Sie zuerst Ihr aktuelles Passwort eingeben."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "E-Mail-Adresse bearbeiten"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Name bearbeiten"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Um Ihrem Konto ein Passwort hinzuzufügen, müssen Sie sich erneut anmelden."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Um das Passwort für Ihr Konto zu ändern, müssen Sie sich erneut anmelden."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Um das Passwort zu ändern, müssen Sie zuerst Ihr aktuelles Passwort eingeben."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Passwort hinzufügen"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Passwort ändern"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-Mail-Adresse"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Mit %@ anmelden"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Name eingeben"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "E-Mail-Adresse eingeben"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Passwort eingeben"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Neues Passwort"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Passwort auswählen"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Probleme bei der Anmeldung?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "E-Mail-Adresse bestätigen"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Angemeldet."; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Probleme beim Empfangen von E-Mails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Versuchen Sie Folgendes: \n – Überprüfen Sie, ob die E-Mail als Spam markiert oder herausgefiltert wurde.\n – Überprüfen Sie Ihre Internetverbindung.\n – Überprüfen Sie die Schreibweise Ihrer E-Mail-Adresse.\n – Überprüfen Sie den Speicherplatz und weitere Einstellungen Ihres Posteingangs, die Probleme bereiten könnten.\n Sollte das Problem nach Ausführung der obigen Schritte weiterhin bestehen, können Sie sich die Anmelde-E-Mail noch einmal zusenden lassen. Hinweis: Der Link in der vorhergehenden E-Mail ist dann nicht mehr gültig."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Wir haben eine Anmelde-E-Mail mit zusätzlichen Informationen an %@ gesendet. Bitte öffnen Sie die E-Mail, um die Anmeldung abzuschließen."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Anmelde-E-Mail gesendet"; diff --git a/FirebaseAuthUI/Sources/Strings/gu.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/gu.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 8e439e75c25..00000000000 --- a/FirebaseAuthUI/Sources/Strings/gu.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "સ્વાગત છે"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "ઇમેઇલ વડે સાઇન ઇન કરો"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "તમારું ઇમેઇલ ઍડ્રેસ દાખલ કરો"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "તે ઇમેઇલ ઍડ્રેસ સાચું નથી."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "આ ઍપ્લિકેશન આ પ્રકારના એકાઉન્ટને સમર્થન આપતી નથી"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "તમારી પાસે પહેલેથી જ એક એકાઉન્ટ છે"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "તમે પહેલેથી %@નો ઉપયોગ કરી લીધો છે. આગળ વધવા માટે %@ વડે સાઇન ઇન કરો."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "સાઇન ઇન કરો"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "તમારો પાસવર્ડ દાખલ કરો"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "પાસવર્ડ દાખલ કરવો આવશ્યક છે."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "તમે દાખલ કરેલ ઇમેઇલ ઍડ્રેસ અને પાસવર્ડ મેળ ખાતો નથી."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "તે ઇમેઇલ ઍડ્રેસ અસ્તિત્વમાં છે તે એકાઉન્ટ સાથે મેળ ખાતું નથી."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "તે ઇમેઇલ ઍડ્રેસ અક્ષમ કરવામાં આવેલ એકાઉન્ટ માટે છે."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "તમે ઘણી બધી વખત ખોટો પાસવર્ડ દાખલ કર્યો છે. થોડીવારમાં ફરીથી પ્રયાસ કરો."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "%@ માટે પ્રદાતા શોધી શકાતા નથી."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "ઇમેઇલ મેળ ખાતા નથી"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "પાસવર્ડ પુનઃપ્રાપ્ત કરો"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "આ ઇમેઇલમાં મોકલવામાં આવેલ સૂચનાઓ મેળવો જે તમારો પાસવર્ડ કેવી રીતે રીસેટ કરવો તે સમજાવે છે."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "તમારું ઇમેઇલ ઍડ્રેસ તપાસો"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "તમારો પાસવર્ડ પુનઃપ્રાપ્ત કરવા માટે %@ પર મોકલેલ સૂચનાઓનું પાલન કરો."; - -/* Title for sign up screen. */ -"SignUpTitle" = "એકાઉન્ટ બનાવો"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "નામ અને અટક"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "પાસવર્ડ પસંદ કરો"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "સેવાની શરતો"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "ગોપનીયતા નીતિ"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "ચાલુ રાખીને, તમે સૂચવી રહ્યાં છો કે તમે અમારી %@ અને %@ને સ્વીકારો છો."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "આ ઇમેઇલ ઍડ્રેસ પહેલેથી જ અન્ય એકાઉન્ટ દ્વારા ઉપયોગમાં લેવાયેલ છે."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "સશક્ત પાસવર્ડ ઓછામાં ઓછા 6 અક્ષરો અને વર્ણ તથા સંખ્યાઓનાં સંયોજનનો હોવો જોઈએ."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "તમારા IP ઍડ્રેસ તરફથી એકાઉન્ટ માટે ઘણી બધી વિનંતી આવી રહી છે. થોડીવારમાં ફરી પ્રયાસ કરો."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "તમે સાઇન ઇન કરવા માટે %@નો પહેલાથી ઉપયોગ કરેલો છે. તે એકાઉન્ટ માટેનો તમારો પાસવર્ડ દાખલ કરો."; - -/* OK button title. */ -"OK" = "ઓકે"; - -/* Cancel button title. */ -"Cancel" = "રદ કરો"; - -/* Back button title. */ -"Back" = "પાછળ"; - -/* Next button title. */ -"Next" = "આગળ"; - -/* Save button title. */ -"Save" = "સાચવો"; - -/* Send button title. */ -"Send" = "મોકલો"; - -/* Resend button title. */ -"Resend" = "ફરી મોકલો"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "ઇમેઇલ"; - -/* Label next to a password text field. */ -"Password" = "પાસવર્ડ"; - -/* Label next to a name text field. */ -"Name" = "નામ"; - -/* Alert title Error. */ -"Error" = "ભૂલ"; - -/* Alert button title Close. */ -"Close" = "બંધ કરો"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "પ્રોફાઇલ"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "સુરક્ષા"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "લિંક કરેલ એકાઉન્ટ"; - -/* Account Settings cell title Name. */ -"AS_Name" = "નામ"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "ઇમેઇલ"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "પાસવર્ડ ઉમેરો"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "પાસવર્ડ બદલો"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "સાઇન આઉટ"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "એકાઉન્ટ કાઢી નાખો"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "પાસવર્ડ ભૂલી ગયા છો?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "ચકાસો કે આ તમે જ છો"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "એકાઉન્ટ કાઢી નાખીએ?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "આ તમારા એકાઉન્ટ સાથે સંકળાયેલ તમામ ડેટા કાઢી નાખશે અને તેને પૂર્વવત્ કરી શકાશે નહીં. તમારે આ ક્રિયા પૂર્ણ કરવા ફરીથી સાઇન ઇન કરવું જરૂરી છે"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "આ તમારા એકાઉન્ટ સાથે સંકળાયેલ તમામ ડેટા કાઢી નાખશે અને તેને પૂર્વવત્ કરી શકાશે નહીં. શું તમે ખરેખર તમારું એકાઉન્ટ કાઢી નાખવા માંગો છો?"; - -/* Text of Delete action button. */ -"Delete" = "કાઢી નાખો"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "એકાઉન્ટ કાઢી નાખો"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "આ ક્રિયા પૂર્વવત્ કરી શકાતી નથી"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "અનલિંક કરો"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "લિંક કરેલ એકાઉન્ટ"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "એકાઉન્ટને અનલિંક કરવું છે?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "હવે તમે તમારા એકાઉન્ટનો ઉપયોગ કરીને સાઇન ઇન કરી શકશો નહીં"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "એકાઉન્ટને અનલિંક કરો"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "તમારા એકાઉન્ટ સાથે સંકળાયેલ ઇમેઇલ ઍડ્રેસ બદલવા માટે, તમારે ફરીથી સાઇન ઇન કરવું જરૂરી છે."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "તમારો પાસવર્ડ બદલવા માટે, તમારે પહેલા તમારો વર્તમાન પાસવર્ડ દાખલ કરવો જરૂરી છે."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "ઇમેઇલ સંપાદિત કરો"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "નામ સંપાદિત કરો"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "તમારા એકાઉન્ટમાં પાસવર્ડ ઉમેરવા માટે, તમારે ફરીથી સાઇન ઇન કરવું પડશે."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "તમારા એકાઉન્ટનો પાસવર્ડ બદલવા માટે, તમારે ફરીથી સાઇન ઇન કરવું પડશે."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "તમારો પાસવર્ડ બદલવા માટે, તમારે પહેલા તમારો વર્તમાન પાસવર્ડ દાખલ કરવો જરૂરી છે."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "પાસવર્ડ ઉમેરો"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "પાસવર્ડ બદલો"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "ઇમેઇલ"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "%@ વડે સાઇન ઇન કરો"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "તમારું નામ દાખલ કરો"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "તમારું ઇમેઇલ ઍડ્રેસ દાખલ કરો"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "તમારો પાસવર્ડ દાખલ કરો"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "નવો પાસવર્ડ"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "પાસવર્ડ પસંદ કરો"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "સાઇન ઇન કરવામાં સમસ્યા આવી રહી છે?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "ઇમેઇલ કન્ફર્મ કરો"; - -/* Title of successfully signed in label. */ -"SignedIn" = "સાઇન ઇન કર્યું!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "ઇમેઇલ મેળવવામાં મુશ્કેલી આવે છે?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "આ સામાન્ય ઉકેલોને અજમાવી જુઓ: \n - તે ઇમેઇલ સ્પામ કે ફિલ્ટર કરેલ તરીકે ચિહ્નિત કર્યો હતો.કે કેમ તે ચેક કરો.\n - તમારું ઇન્ટરનેટ કનેક્શન ચેક કરો.\n - તમે તમારા ઇમેઇલની જોડણીમાં ભૂલ ન કરી હોવાનું ચેક કરો.\n - તમારી ઇનબૉક્સ સ્પેસ ભરાઈ ન ગઈ હોવાનું અથવા ઇનબૉક્સ સેટિંગ સંબંધિત અન્ય સમસ્યા ન હોવાનું.ચેક કરો.\n જો ઉપરોક્ત પગલાં કામ ન કરે, તો તમે ઇમેઇલ ફરીથી મોકલી શકો છો. નોંધ લેશો કે આને કારણે જૂના ઇમેઇલમાં રહેલી લિંક નિષ્ક્રિય થશે."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "વધારાની સૂચનાઓ ધરાવતો સાઇન-ઇન ઇમેઇલ %@ પર મોકલ્યો હતો. સાઇન-ઇન પૂર્ણ કરવા માટે તમારો ઇમેઇલ ચેક કરો."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "સાઇન ઇન ઇમેઇલ મોકલ્યો"; diff --git a/FirebaseAuthUI/Sources/Strings/he.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/he.lproj/FirebaseAuthUI.strings deleted file mode 100644 index a7085089f97..00000000000 --- a/FirebaseAuthUI/Sources/Strings/he.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "ברוכים הבאים"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "כניסה באמצעות אימייל"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "מה האימייל שלך?"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "כתובת האימייל שגויה."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "האפליקציה הזו לא תומכת בחשבונות מהסוג הזה"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "כבר יש לך חשבון"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "כבר השתמשת בכתובת %@. כדי להמשיך, עליך להיכנס באמצעות %@."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "כניסה"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "הסיסמה שלך כאן"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "לא הזנת סיסמה."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "אין התאמה בין כתובת האימייל לסיסמה שהזנת."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "אין חשבון המשויך לכתובת האימייל הזו."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "כתובת האימייל משויכת לחשבון שהושבת."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "הזנת סיסמה שגויה יותר מדי פעמים. אפשר יהיה לנסות שוב בעוד כמה דקות."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "לא מצאנו ספק ל-%@"; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "כתובות האימייל לא זהות"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "שחזור הסיסמה"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "נוכל לשלוח לכתובת הזו הוראות לאיפוס הסיסמה."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "שלחנו לך אימייל"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "כדי לשחזר את הסיסמה, עליך לפעול לפי ההוראות ששלחנו לכתובת %@."; - -/* Title for sign up screen. */ -"SignUpTitle" = "יצירת חשבון"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "שם פרטי ומשפחה"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "הסיסמה שלך כאן"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "תנאים והגבלות"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "מדיניות פרטיות"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "המשך התהליך יפורש כהסכמתך ל%@ ול%@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "כתובת האימייל הזאת משויכת לחשבון אחר."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "סיסמה חזקה היא סיסמה באורך 6 תווים לפחות שמכילה אותיות ומספרים."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "קיבלנו יותר מדי בקשות ליצירת חשבון מכתובת ה-IP שלך. אפשר יהיה לנסות שוב בעוד כמה דקות."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "כבר השתמשת בכתובת %@ כדי להיכנס. עליך להזין את הסיסמה לחשבון המשויך אליה."; - -/* OK button title. */ -"OK" = "אישור"; - -/* Cancel button title. */ -"Cancel" = "ביטול"; - -/* Back button title. */ -"Back" = "הקודם"; - -/* Next button title. */ -"Next" = "הבא‏"; - -/* Save button title. */ -"Save" = "שמור"; - -/* Send button title. */ -"Send" = "שליחה"; - -/* Resend button title. */ -"Resend" = "שליחה מחדש"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "אימייל"; - -/* Label next to a password text field. */ -"Password" = "סיסמה"; - -/* Label next to a name text field. */ -"Name" = "שם"; - -/* Alert title Error. */ -"Error" = "שגיאה"; - -/* Alert button title Close. */ -"Close" = "סגור"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "פרופיל"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "אבטחה"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "חשבונות מקושרים"; - -/* Account Settings cell title Name. */ -"AS_Name" = "שם"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "אימייל"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "הוספת סיסמה"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "שינוי הסיסמה"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "יציאה"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "מחיקת החשבון"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "שכחת את הסיסמה?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "אנחנו צריכים לאמת את זהותך"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "למחוק את החשבון?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "הפעולה הזו תמחק את כל הנתונים המשויכים לחשבון, ולא ניתן לבטל אותה. כדי להשלים את המחיקה, צריך להיכנס מחדש"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "הפעולה הזו תמחק את כל הנתונים המשויכים לחשבון, ולא ניתן לבטל אותה. למחוק את החשבון?"; - -/* Text of Delete action button. */ -"Delete" = "מחק"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "מחיקת חשבון"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "לא ניתן לבטל את הפעולה הזו"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "בטל את הקישור"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "חשבון מקושר"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "לבטל את קישור החשבון?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "לא תהיה יותר אפשרות להיכנס באמצעות החשבון"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "ביטול הקישור של החשבון"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "כדי לשנות את כתובת האימייל המשויכת לחשבון, עליך להיכנס מחדש."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "כדי לשנות את הסיסמה, עליך להזין את הסיסמה הנוכחית."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "שינוי כתובת האימייל"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "עריכת שם"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "כדי להוסיף סיסמה לחשבון, עליך להיכנס מחדש."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "כדי לשנות את הסיסמה לחשבון, עליך להיכנס אליו."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "כדי לשנות את הסיסמה, עליך להזין את הסיסמה הנוכחית."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "הוספת סיסמה"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "שינוי הסיסמה"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "אימייל"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "כניסה באמצעות %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "הזן את שמך"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "האימייל שלך כאן"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "לא הזנת את הסיסמה"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "סיסמה חדשה"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "בחר סיסמה"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "לא מצליח להיכנס?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "אישור כתובת האימייל"; - -/* Title of successfully signed in label. */ -"SignedIn" = "בוצעה כניסה!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "נתקלת בבעיה בקבלת אימיילים?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "מומלץ לנסות את הפתרונות הבאים: \n - יש לבדוק אם האימייל סומן כספאם או סונן.\n - יש לבדוק את החיבור לאינטרנט.\n - יש לוודא שכתובת האימייל אויתה כהלכה.\n - יש לוודא שהשטח הפנוי בתיבת הדואר הנכנס אינו עומד להסתיים, או לבדוק בעיות אחרות שקשורות להגדרות של תיבת הדואר הנכנס.\n אם הבעיה נמשכת לאחר ביצוע השלבים המפורטים למעלה, אפשר לשלוח מחדש את האימייל. לתשומת ליבך: שליחת האימייל מחדש תשבית את הקישור באימייל הקודם."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "אימייל לכניסה לחשבון עם הוראות נוספות נשלח אל %@. יש לבדוק את תיבת הדואר הנכנס כדי להשלים את תהליך הכניסה."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "נשלח אימייל לכניסה לחשבון"; diff --git a/FirebaseAuthUI/Sources/Strings/hi.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/hi.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 06be9b3a368..00000000000 --- a/FirebaseAuthUI/Sources/Strings/hi.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "आपका स्वागत है"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "ईमेल से प्रवेश करें"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "अपना ईमेल डालें"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "वह ईमेल पता सही नहीं है."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "यह ऐप्लिकेशन इस प्रकार के खाते का समर्थन नहीं करता है"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "आपके पास पहले से ही एक खाता है"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "आपने पहले ही %@ का उपयोग कर लिया है. जारी रखने के लिए %@ से प्रवेश करें."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "प्रवेश करें"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "अपना पासवर्ड डालें"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "पासवर्ड खाली नहीं हो सकता."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "आपने जो ईमेल और पासवर्ड डाला है, उनका मिलान नहीं हो रहा है."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "वह ईमेल पता किसी मौजूदा खाते से मेल नहीं खाता है."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "यह ईमेल पता उस खाते का है जिसे अक्षम कर दिया गया है."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "आपने कई बार गलत पासवर्ड डाला. कुछ मिनटों में फिर से कोशिश करें."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "%@ के लिए प्रदाता नहीं मिल सका."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "ईमेल का मिलान नहीं हो रहा है"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "पासवर्ड फिर से प्राप्त करें"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "इस ईमेल पर भेजे गए निर्देश पाएं जो आपको अपना पासवर्ड रीसेट करना बताएंगे."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "अपना ईमेल जाँचें"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "अपना पासवर्ड फिर से पाने के लिए %@ पर भेजे गए निर्देशों का पालन करें."; - -/* Title for sign up screen. */ -"SignUpTitle" = "खाता बनाएं"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "नाम और उपनाम"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "पासवर्ड चुनें"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "सेवा की शर्तें"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "निजता नीति"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "जारी रखकर, आप यह बताते हैं कि आप हमारे %@ और %@ को स्वीकार करते हैं."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "कोई दूसरा खाता पहले से ही इस ईमेल पते का उपयोग कर रहा है."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "सशक्त पासवर्ड में कम से कम 6 वर्ण होने चाहिए और वे अक्षरों और नंबरों दोनों को मिलाकर बना होना चाहिए."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "आपके IP पते से बहुत अधिक खाता अनुरोध मिल रहे हैं. कुछ मिनटों में फिर से कोशिश करें."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "आपने पहले ही प्रवेश करने के लिए %@ का उपयोग कर लिया है. उस खाते के लिए अपना पासवर्ड डालें."; - -/* OK button title. */ -"OK" = "ठीक"; - -/* Cancel button title. */ -"Cancel" = "रद्द करें"; - -/* Back button title. */ -"Back" = "वापस जाएं"; - -/* Next button title. */ -"Next" = "अगला"; - -/* Save button title. */ -"Save" = "सहेजें"; - -/* Send button title. */ -"Send" = "भेजें"; - -/* Resend button title. */ -"Resend" = "फिर से भेजें"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "ईमेल"; - -/* Label next to a password text field. */ -"Password" = "पासवर्ड"; - -/* Label next to a name text field. */ -"Name" = "नाम"; - -/* Alert title Error. */ -"Error" = "गड़बड़ी"; - -/* Alert button title Close. */ -"Close" = "बंद करें"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "प्रोफ़ाइल"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "सुरक्षा"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "लिंक किए गए खाते"; - -/* Account Settings cell title Name. */ -"AS_Name" = "नाम"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "ईमेल"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "पासवर्ड जोड़ें"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "पासवर्ड बदलें"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "साइन आउट करें"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "खाता हटाएं"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "पासवर्ड भूल गए?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "पुष्टि करें कि यह आप ही हैं"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "खाता हटाएं?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "यह आपके खाते से संबंधित सभी डेटा मिटा देगा और इसे वापस नहीं पाया जा सकता है. इस कार्रवाई को पूरा करने के लिए आपको फिर से प्रवेश करना होगा"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "यह आपके खाते से संबंधित सभी डेटा मिटा देगा और इसे वापस नहीं पाया जा सकता है. क्या आप वाकई अपना खाता हटाना चाहते हैं?"; - -/* Text of Delete action button. */ -"Delete" = "हटाएं"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "खाता हटाएं"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "यह कार्रवाई पहले जैसी नहीं की जा सकती"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "अनलिंक करें"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "लिंक किया गया खाता"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "खाता अनलिंक करें?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "अब आप अपने खाते का उपयोग करके प्रवेश करने में सक्षम नहीं होंगे"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "खाता अनलिंक करें"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "अपने खाते से जुड़े ईमेल पते को बदलने के लिए, आपको फिर से प्रवेश करना होगा."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "अपना पासवर्ड बदलने के लिए, आपको पहले अपना मौजूदा पासवर्ड डालना होगा."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "ईमेल संपादित करें"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "नाम संपादित करें"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "अपने खाते में पासवर्ड जोड़ने के लिए, आपको फिर से प्रवेश करना होगा."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "अपने खाते का पासवर्ड बदलने के लिए, आपको फिर से प्रवेश करना होगा."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "अपना पासवर्ड बदलने के लिए, आपको पहले अपना मौजूदा पासवर्ड डालना होगा."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "पासवर्ड जोड़ें"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "पासवर्ड बदलें"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "ईमेल"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "%@ से प्रवेश करें"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "अपना नाम डालें"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "अपना ईमेल डालें"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "अपना पासवर्ड डालें"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "नया पासवर्ड"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "पासवर्ड चुनें"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "प्रवेश करने में समस्या?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "ईमेल की पुष्टि करें"; - -/* Title of successfully signed in label. */ -"SignedIn" = "साइन-इन हैं!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "क्या ईमेल मिलने में दिक्कत हो रही है?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "समस्या सुलझाने के ये सामान्य तरीके आज़माकर देखें: \n - देख लें कि ईमेल स्पैम फ़ोल्डर में तो नहीं चला गया या फ़िल्टर तो नहीं हो गया.\n - देख लें कि आपका इंटरनेट कनेक्शन चालू है या नहींं.\n - देख लें कि आपने ईमेल पते की वर्तनी (स्पेलिंग) गलत तो नहीं लिखी है.\n - देख लें कि आपका इनबॉक्स भर तो नहीं गया या इनबॉक्स सेटिंग से जुड़ी दूसरी समस्याएं तो नहीं हैं.\n अगर ऊपर दिए गए सुझावों से काम नहीं बनता है, तो आप फिर से ईमेल भेज सकते हैं. ध्यान दें कि ऐसा करने से पुराने ईमेल में भेजा गया लिंक काम करना बंद कर देगा."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "ज़्यादा निर्देशों वाला एक साइन-इन ईमेल %@ पर भेजा गया है. साइन-इन पूरा करने के लिए अपना ईमेल देखें."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "साइन-इन करने के लिंक वाला ईमेल भेज दिया गया"; diff --git a/FirebaseAuthUI/Sources/Strings/hr.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/hr.lproj/FirebaseAuthUI.strings deleted file mode 100644 index d386c7bc288..00000000000 --- a/FirebaseAuthUI/Sources/Strings/hr.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Dobro došli"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Prijava putem e-adrese"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Unesite svoju e-adresu"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Ta e-adresa nije točna"; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Ta vrsta računa nije podržana u ovoj aplikaciji"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Već imate račun"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Već ste upotrijebili e-adresu %@. Za nastavak se prijavite putem usluge %@."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Prijava"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Unesite zaporku"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Zaporka ne može biti prazna."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Unijeli ste e-adresu i zaporku koje se ne podudaraju."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Ta e-adresa ne pripada postojećem računu."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "E-adresa pripada računu koji je onemogućen."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Unijeli ste netočnu zaporku previše puta. Pokušajte ponovo za nekoliko minuta."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Nije moguće pronaći davatelja usluga za %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-adrese se ne podudaraju"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Ponovno postavljanje zaporke"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Provjerite upute za ponovno postavljanje zaporke koje smo poslali na vašu e-adresu."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Provjerite e-poštu"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Slijedite upute za ponovno postavljanje zaporke koje smo poslali na e-adresu %@."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Izrada računa"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Ime i prezime"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Odaberite zaporku"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Uvjeti pružanja usluge"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Pravila o privatnosti"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Nastavkom upotrebe potvrđujete da prihvaćate odredbe koje sadrže naši %@ i %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Ta e-adresa već pripada drugom računu."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Snažne zaporke sadrže bar 6 znakova koji su kombinacija slova i znamenki."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "S vaše je IP adrese došlo previše zahtjeva za izradu računa. Pokušajte ponovo za nekoliko minuta."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Za prijavu ste već upotrijebili e-adresu %@. Unesite zaporku za taj račun."; - -/* OK button title. */ -"OK" = "U redu"; - -/* Cancel button title. */ -"Cancel" = "Odustani"; - -/* Back button title. */ -"Back" = "Natrag"; - -/* Next button title. */ -"Next" = "Dalje"; - -/* Save button title. */ -"Save" = "Spremi"; - -/* Send button title. */ -"Send" = "Pošalji"; - -/* Resend button title. */ -"Resend" = "Pošalji ponovo"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-adresa"; - -/* Label next to a password text field. */ -"Password" = "Zaporka"; - -/* Label next to a name text field. */ -"Name" = "Naziv"; - -/* Alert title Error. */ -"Error" = "Pogreška"; - -/* Alert button title Close. */ -"Close" = "Zatvori"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Sigurnost"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Povezani računi"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Naziv"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-adresa"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Dodavanje zaporke"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Promjena zaporke"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Odjava"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Brisanje računa"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Zaboravili ste zaporku?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Potvrdite svoj identitet"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Želite li izbrisati račun?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Izbrisat će se svi podaci povezani s vašim računom i to nećete moći poništiti. Da biste dovršili tu radnju, trebate se ponovo prijaviti"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Izbrisat će se svi podaci povezani s vašim računom i to nećete moći poništiti. Jeste li sigurni da želite izbrisati svoj račun?"; - -/* Text of Delete action button. */ -"Delete" = "Izbriši"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Izbriši račun"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Ta se radnja ne može poništiti"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Prekini vezu"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Povezani račun"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Prekinuti vezu s računom?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Više se nećete moći prijaviti svojim računom."; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Prekidanje veze s računom"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Da biste promijenili e-adresu povezanu sa svojim računom, trebate se ponovo prijaviti."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Da biste promijenili zaporku, najprije trebate unijeti trenutačnu zaporku."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Uređivanje e-adrese"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Uređivanje naziva"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Da biste računu dodali zaporku, trebate se ponovo prijaviti."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Da biste promijenili zaporku za račun, trebate se ponovo prijaviti."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Da biste promijenili zaporku, najprije trebate unijeti trenutačnu zaporku."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Dodavanje zaporke"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Promjena zaporke"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-adresa"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Prijava putem usluge %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Unesite svoje ime"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Unesite svoju e-adresu"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Unesite zaporku"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nova zaporka"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Odaberite zaporku"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Problem s prijavom?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Potvrdite e-adresu"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Prijavljeni ste!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Ne dobivate e-poruke?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Isprobajte ova uobičajena rješenja: \n - Provjerite je li e-poruka filtrirana ili označena kao neželjena pošta.\n - Provjerite internetsku vezu.\n - Provjerite jeste li točno napisali e-adresu.\n - Provjerite ima li dovoljno prostora u vašem pretincu pristigle pošte ili je došlo do drugih problema povezanih s postavkama pretinca pristigle pošte.\n Ako se problem ne riješi pomoću koraka iznad, možete ponovo poslati e-poruku. Time će se deaktivirati veza u prethodnoj e-poruci."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "E-poruka za prijavu s dodatnim uputama poslana je na adresu %@. Provjerite e-poštu da biste dovršili prijavu."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "E-poruka za prijavu poslana"; diff --git a/FirebaseAuthUI/Sources/Strings/hu.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/hu.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 8ba2d81f738..00000000000 --- a/FirebaseAuthUI/Sources/Strings/hu.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Üdvözöljük!"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Bejelentkezés e-mail-fiókkal"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Adja meg az e-mail-címét"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Az e-mail-cím helytelen."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Ezt a típusú fiókot az alkalmazás nem támogatja."; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Már rendelkezik fiókkal"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Már használta a következő e-mail-címet: %@. A folytatáshoz jelentkezzen be %@-fiókjával."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Bejelentkezés"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Adja meg a jelszót"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "A jelszó mező nem lehet üres."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "A megadott e-mail-cím és jelszó nem egyezik."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Ehhez az e-mail-címhez egyetlen meglévő fiók sem tartozik."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Ez az e-mail-cím egy letiltott fiókhoz tartozik."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Túl sokszor adott meg hibás jelszót. Néhány perc múlva próbálja újra."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Nem találjuk a következőhöz tartozó szolgáltatót: %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Az e-mail-címek nem egyeznek."; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Jelszó visszaállítása"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Olvassa el az e-mailben elküldött utasításokat, amelyekből megtudhatja, hogyan állíthatja vissza a jelszavát."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Ellenőrizze az e-mailjeit."; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "A jelszó visszaállításához kövesse az ide (%@) elküldött utasításokat."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Fiók létrehozása"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Utónév és vezetéknév"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Válasszon jelszót"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Általános Szerződési Feltételek"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Adatvédelmi irányelvek"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "A folytatással kinyilvánítja, hogy elfogadja %@ és %@ dokumentumainkat."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Az e-mail-cím egy másik fióknál már használatban van."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Az erős jelszavak legalább 6 karakterből állnak, valamint betűket és számokat egyaránt tartalmaznak."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Az Ön IP-címéről túl sok fiókkérelem érkezik. Néhány perc múlva próbálja újra."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ezt az e-mail-fiókot (%@) már használta bejelentkezésre. Adja meg a fiókhoz tartozó jelszót."; - -/* OK button title. */ -"OK" = "Rendben"; - -/* Cancel button title. */ -"Cancel" = "Mégse"; - -/* Back button title. */ -"Back" = "Vissza"; - -/* Next button title. */ -"Next" = "Következő"; - -/* Save button title. */ -"Save" = "Mentés"; - -/* Send button title. */ -"Send" = "Küldés"; - -/* Resend button title. */ -"Resend" = "Újraküldés"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-mail"; - -/* Label next to a password text field. */ -"Password" = "Jelszó"; - -/* Label next to a name text field. */ -"Name" = "Név"; - -/* Alert title Error. */ -"Error" = "Hiba"; - -/* Alert button title Close. */ -"Close" = "Bezárás"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Biztonság"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Összekapcsolt fiókok"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Név"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-mail"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Jelszó hozzáadása"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Jelszó módosítása"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Kijelentkezés"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Fiók törlése"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Elfelejtette a jelszavát?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Igazolja, hogy Ön az"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Fiók törlése?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Ezzel az összes fiókadatát törli, és ezt a műveletet nem vonhatja vissza. A művelet végrehajtásához újra be kell jelentkeznie."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Ezzel az összes fiókadatát törli, és ezt a műveletet nem vonhatja vissza. Biztosan törölni szeretné a fiókját?"; - -/* Text of Delete action button. */ -"Delete" = "Törlés"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Fiók törlése"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "A művelet nem vonható vissza."; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Leválasztás"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Összekapcsolt fiók"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Leválasztja a fiókot?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Többé nem fog tudni bejelentkezni a fiókkal."; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Fiók leválasztása"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "A fiókjához tartozó e-mail-cím módosításához újra be kell jelentkeznie."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "A jelszó módosításához előbb meg kell adnia a jelenlegi jelszavát."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "E-mail szerkesztése"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Név szerkesztése"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Ha fiókjához jelszót szeretne hozzáadni, újra be kell jelentkeznie."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Fiókja jelszavának módosításához újra be kell jelentkeznie."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "A jelszó módosításához előbb meg kell adnia a jelenlegi jelszavát."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Jelszó hozzáadása"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Jelszó módosítása"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-mail"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Bejelentkezés a következővel: %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Írja be a nevét"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Adja meg az e-mail-címét"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Adja meg a jelszót"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Új jelszó"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Válasszon jelszót"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Problémái vannak a bejelentkezéssel?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "E-mail megerősítése"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Sikeres bejelentkezés!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Gondja van az e-mailek fogadásával?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Próbálja ki ezeket az általános problémamegoldó lépéseket: \n – Nézze meg, hogy nem került-e az e-mail a spameket tartalmazó mappába, vagy nem szűrte-e ki a levelezőrendszer.\n – Ellenőrizze az internetkapcsolatot.\n – Ellenőrizze, hogy helyesen adta-e meg az e-mail-címét.\n – Ellenőrizze, hogy a beérkező leveleket tartalmazó mappa nem telt-e meg, vagy nincs-e más, a mappával kapcsolatos probléma.\n Ha a fenti lépések nem végrehajtása nem járt eredménnyel, küldje el újra az e-mailt. Ne feledje, hogy ezzel deaktiválja az előző e-mailben szereplő linket."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "A további utasításokat tartalmazó bejelentkezési e-mailt elküldtük ide: %@. A bejelentkezés befejezéséhez keresse meg az e-mailjei között."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Elküldtük a bejelentkezési e-mailt"; diff --git a/FirebaseAuthUI/Sources/Strings/id.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/id.lproj/FirebaseAuthUI.strings deleted file mode 100644 index c8b3e145b35..00000000000 --- a/FirebaseAuthUI/Sources/Strings/id.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Selamat datang"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Login dengan email"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Masukkan email Anda"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Alamat email yang dimasukkan salah."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Jenis akun ini tidak didukung oleh aplikasi ini"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Anda sudah memiliki akun"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Anda telah menggunakan %@. Login dengan %@ untuk melanjutkan."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Login"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Masukkan sandi"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Sandi tidak boleh kosong."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Email dan sandi yang Anda masukkan tidak cocok."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Alamat email tidak cocok dengan akun yang ada."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Akun yang sesuai dengan alamat email tersebut sudah dinonaktifkan."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Anda sudah terlalu sering memasukkan sandi yang salah. Coba beberapa menit lagi."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Tidak dapat menemukan provider untuk %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Email tidak cocok"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Pulihkan sandi"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Dapatkan petunjuk yang dikirimkan ke email ini yang menjelaskan cara menyetel ulang sandi Anda."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Periksa email Anda"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Ikuti petunjuk yang dikirim ke %@ untuk memulihkan sandi Anda."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Buat akun"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nama depan & nama belakang"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Pilih sandi"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Persyaratan Layanan"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Kebijakan Privasi"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Dengan melanjutkan, Anda menyatakan persetujuan atas %@ dan %@ kami."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Alamat email ini sudah digunakan oleh akun lain."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Sandi yang kuat harus memiliki minimal 6 karakter dan merupakan kombinasi huruf dan angka."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Terlalu banyak permintaan akun yang berasal dari alamat IP Anda. Coba beberapa menit lagi."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Anda telah menggunakan %@ untuk login. Masukkan sandi untuk akun tersebut."; - -/* OK button title. */ -"OK" = "Oke"; - -/* Cancel button title. */ -"Cancel" = "Batal"; - -/* Back button title. */ -"Back" = "Kembali"; - -/* Next button title. */ -"Next" = "Berikutnya"; - -/* Save button title. */ -"Save" = "Simpan"; - -/* Send button title. */ -"Send" = "Kirim"; - -/* Resend button title. */ -"Resend" = "Kirim ulang"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Email"; - -/* Label next to a password text field. */ -"Password" = "Sandi"; - -/* Label next to a name text field. */ -"Name" = "Nama"; - -/* Alert title Error. */ -"Error" = "Error"; - -/* Alert button title Close. */ -"Close" = "Tutup"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Keamanan"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Akun Tertaut"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nama"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Email"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Tambahkan sandi"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Ubah sandi"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Logout"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Hapus Akun"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Lupa sandi?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifikasi bahwa itu Anda"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Hapus Akun?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Tindakan ini akan menghapus semua data yang terkait dengan akun Anda, dan tidak dapat diurungkan. Anda harus login kembali untuk menyelesaikan tindakan ini"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Tindakan ini akan menghapus semua data yang terkait dengan akun Anda, dan tidak dapat diurungkan. Yakin ingin menghapus akun?"; - -/* Text of Delete action button. */ -"Delete" = "Hapus"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Hapus akun"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Tindakan ini tidak dapat diurungkan"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Batalkan tautan"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Akun tertaut"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Batalkan tautan akun?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Anda tidak dapat lagi login menggunakan akun Anda"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Batalkan tautan akun"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Untuk mengubah alamat email yang dikaitkan dengan akun, Anda perlu melakukan login kembali."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Untuk mengubah sandi, Anda harus memasukkan sandi saat ini terlebih dahulu."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Edit email"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Edit nama"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Untuk menambahkan sandi ke akun, Anda harus login kembali."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Untuk mengubah sandi akun, Anda harus login kembali."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Untuk mengubah sandi, Anda harus memasukkan sandi saat ini terlebih dahulu."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Tambahkan sandi"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Ubah sandi"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Email"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Login dengan %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Masukkan nama Anda"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Masukkan email Anda"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Masukkan sandi"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Sandi baru"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Pilih sandi"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Terjadi masalah saat login?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Konfirmasi Email"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Telah login"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Ada masalah dalam mendapatkan email?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Cobalah perbaikan umum berikut: \n - Periksa apakah email ditandai sebagai spam atau difilter.\n - Periksa koneksi internet Anda.\n - Pastikan Anda tidak salah mengeja email Anda.\n - Pastikan masih ada ruang di kotak masuk Anda, atau periksa masalah terkait setelan kotak masuk lainnya.\n Jika langkah-langkah di atas tidak memecahkan masalah, Anda dapat mengirim ulang email tersebut. Perlu diperhatikan bahwa tindakan ini akan menonaktifkan link di email lama."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Email login dengan petunjuk tambahan telah dikirim ke %@. Buka email Anda untuk menyelesaikan proses login."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Email Login Terkirim"; diff --git a/FirebaseAuthUI/Sources/Strings/it.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/it.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 069a96cb4ea..00000000000 --- a/FirebaseAuthUI/Sources/Strings/it.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Benvenuto"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Accedi con l'indirizzo email"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Inserisci l'indirizzo email"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "L'indirizzo email non è corretto."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Questo tipo di account non è supportato da questa applicazione"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Hai già un account"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Hai già utilizzato %@. Accedi con %@ per continuare."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Accedi"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Inserisci la password"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "La password non può essere vuota."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "L’indirizzo email e la password non corrispondono."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "L'indirizzo email non corrisponde a un account esistente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "L'indirizzo email è relativo a un account che è stato disattivato."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Hai effettuato troppi tentativi con una password errata. Riprova tra qualche minuto."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Impossibile trovare il provider per %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Gli indirizzi email non corrispondono"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recupera la password"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Ricevi le istruzioni a questo indirizzo email che spiegano come reimpostare la password."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Controlla la tua casella di posta"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Segui le istruzioni inviate all'indirizzo %@ per recuperare la password."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Crea account"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nome e cognome"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Scegli password"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Termini di servizio"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Norme sulla privacy"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Se continui, accetti i nostri %@ e le nostre %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "L'indirizzo email è già utilizzato da un altro account."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Una password efficace è composta da almeno 6 caratteri e contiene una combinazione di lettere e numeri."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Troppe richieste di account provenienti dal tuo indirizzo IP. Riprova tra qualche minuto."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Hai già utilizzato %@ per accedere. Inserisci la tua password per tale account."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Annulla"; - -/* Back button title. */ -"Back" = "Indietro"; - -/* Next button title. */ -"Next" = "Avanti"; - -/* Save button title. */ -"Save" = "Salva"; - -/* Send button title. */ -"Send" = "Invia"; - -/* Resend button title. */ -"Resend" = "Invia di nuovo"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Email"; - -/* Label next to a password text field. */ -"Password" = "Password"; - -/* Label next to a name text field. */ -"Name" = "Nome"; - -/* Alert title Error. */ -"Error" = "Errore"; - -/* Alert button title Close. */ -"Close" = "Chiudi"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profilo"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Sicurezza"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Account collegati"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nome"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Email"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Aggiungi password"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Cambia password"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Esci"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Elimina account"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Password dimenticata?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifica che sei tu"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Vuoi eliminare l'account?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "L'operazione cancellerà tutti i dati associati al tuo account e non può essere annullata. Devi accedere nuovamente per completarla."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "L'operazione cancellerà tutti i dati associati al tuo account e non può essere annullata. Vuoi eliminare il tuo account?"; - -/* Text of Delete action button. */ -"Delete" = "Elimina"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Elimina account"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Questa azione non può essere annullata"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Scollega"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Account collegato"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Vuoi scollegare l'account?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Non potrai accedere utilizzando il tuo account"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Scollega account"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Per modificare l'indirizzo email associato al tuo account, devi accedere di nuovo."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Per modificare la password, devi prima inserire la password corrente."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Modifica email"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Modifica nome"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Per aggiungere la password al tuo account, devi accedere di nuovo."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Per modificare la password del tuo account, devi accedere di nuovo."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Per modificare la password, devi prima inserire la password corrente."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Aggiungi password"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Cambia password"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Email"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Accedi con %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Inserisci il tuo nome"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Inserisci l'indirizzo email"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Inserisci la password"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nuova password"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Scegli password"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Problemi di accesso?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Conferma email"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Accesso eseguito"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Non ricevi l'email?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prova le seguenti soluzioni comuni: \n - Verifica se l'email è stata contrassegnata come spam o è stata filtrata.\n - Controlla la connessione Internet.\n - Verifica di aver digitato correttamente l'indirizzo email.\n - Verifica che vi sia ancora spazio disponibile nella Posta in arrivo o che non vi siano altri problemi legati alle impostazioni della Posta in arrivo.\n Se le procedure descritte sopra non hanno risolto il problema, puoi inviare nuovamente l'email. Tieni presente che questo disattiverà il link contenuto nell'email precedente."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Un'email di accesso con ulteriori istruzioni è stata inviata all'indirizzo %@. Controlla la tua casella di posta per completare l'accesso."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Email di accesso inviata"; diff --git a/FirebaseAuthUI/Sources/Strings/ja.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/ja.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 94eec9d8ab5..00000000000 --- a/FirebaseAuthUI/Sources/Strings/ja.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "ようこそ"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "メールアドレスでログイン"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "メールアドレスを入力してください"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "メールアドレスが正しくありません。"; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "このタイプのアカウントはこのアプリでサポートされていません"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "アカウントをすでにお持ちです"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "%@ をすでに使用しています。%@ でログインして続行してください。"; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "ログイン"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "パスワードを入力"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "パスワードは空白にできません。"; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "入力したメールアドレスとパスワードが一致しません。"; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "メールアドレスが既存のアカウントと一致しません。"; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "これは無効になったアカウントのメールアドレスです。"; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "正しくないパスワードを何度も入力しています。しばらくしてからもう一度お試しください。"; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "%@ のプロバイダが見つかりません。"; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "メールアドレスが一致しません"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "パスワードの復元"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "このメールアドレスに送信された、パスワードの復元方法をご確認ください。"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "メールをご確認ください"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "%@ に送信された手順に沿ってパスワードを復元します。"; - -/* Title for sign up screen. */ -"SignUpTitle" = "アカウントの作成"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "あなたの名前"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "パスワードを設定"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "利用規約"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "プライバシー ポリシー"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "続行すると、%@と%@に同意したことになります。"; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "このメールアドレスは他のアカウントによってすでに使用されています。"; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "6 文字以上で、文字と数字を組み合わせた安全なパスワードを設定してください。"; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "この IP アドレスから多くのアカウント リクエストが送信されています。しばらくしてからもう一度お試しください。"; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "すでに %@ を使用してログインしています。このアカウントのパスワードを入力してください。"; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "キャンセル"; - -/* Back button title. */ -"Back" = "戻る"; - -/* Next button title. */ -"Next" = "次へ"; - -/* Save button title. */ -"Save" = "保存"; - -/* Send button title. */ -"Send" = "送信"; - -/* Resend button title. */ -"Resend" = "再送信"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "メール"; - -/* Label next to a password text field. */ -"Password" = "パスワード"; - -/* Label next to a name text field. */ -"Name" = "名前"; - -/* Alert title Error. */ -"Error" = "エラー"; - -/* Alert button title Close. */ -"Close" = "閉じる"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "プロフィール"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "セキュリティ"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "リンクされたアカウント"; - -/* Account Settings cell title Name. */ -"AS_Name" = "名前"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "メールアドレス"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "パスワードの追加"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "パスワードの変更"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "ログアウト"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "アカウントの削除"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "パスワードをお忘れの場合"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "ご本人確認"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "アカウントを削除しますか?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "この操作を行うと、アカウントに関連付けられたすべてのデータが削除され、元に戻すことはできません。この操作を完了させるには、再度ログインする必要があります。"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "この操作を行うと、アカウントに関連付けられたすべてのデータが削除され、元に戻すことはできません。アカウントを削除してもよろしいですか?"; - -/* Text of Delete action button. */ -"Delete" = "削除"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "アカウントの削除"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "この操作は元に戻せません"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "リンクを解除"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "リンクされたアカウント"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "アカウントのリンクを解除しますか?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "このアカウントを使用してログインできなくなります"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "アカウントのリンク解除"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "アカウントに関連付けられているメールアドレスを変更するには、再度ログインする必要があります。"; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "パスワードを変更するには、まず現在のパスワードを入力する必要があります。"; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "メールアドレスの編集"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "名前の編集"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "アカウントにパスワードを追加するには、再度ログインする必要があります。"; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "アカウントのパスワードを変更するには、再度ログインする必要があります。"; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "パスワードを変更するには、まず現在のパスワードを入力する必要があります。"; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "パスワードの追加"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "パスワードの変更"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "メールアドレス"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "%@ でログイン"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "名前を入力"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "メールアドレスを入力"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "パスワードを入力"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "新しいパスワード"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "パスワードを設定"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "ログインできない場合"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "メールの確認"; - -/* Title of successfully signed in label. */ -"SignedIn" = "ログインしました"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "メールが受信できない場合"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "以下の一般的な解決方法をお試しください。\n - メールがスパムに分類されたりフィルタされたりしていないか確認する。\n - インターネットの接続を確認する。\n - メールアドレスのスペルに誤りがないか確認する。\n - 受信トレイの容量不足や、設定関連のその他の問題がないか確認する。\n 上記の手順で解決しなかった場合はメールを再送信できます。メールを再送信すると、前回のメールに記載されたリンクは無効になります。"; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "詳細な手順を記載したログインメールを %@ に送信しました。メールを確認してログインを完了してください。"; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "ログインメールを送信しました"; diff --git a/FirebaseAuthUI/Sources/Strings/kn.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/kn.lproj/FirebaseAuthUI.strings deleted file mode 100644 index cd6787fb09d..00000000000 --- a/FirebaseAuthUI/Sources/Strings/kn.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "ಸ್ವಾಗತ"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "ಇಮೇಲ್ ಜೊತೆ ಸೈನ್ ಇನ್ ಮಾಡಿ"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "ನಿಮ್ಮ ಇಮೇಲ್ ಅನ್ನು ನಮೂದಿಸಿ"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "ಆ ಇಮೇಲ್ ವಿಳಾಸವು ಸರಿಯಾಗಿಲ್ಲ."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "ಈ ಅಪ್ಲಿಕೇಶನ್‌ ಈ ರೀತಿಯ ಖಾತೆಯನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "ನೀವು ಈಗಾಗಲೇ ಖಾತೆಯನ್ನು ಹೊಂದಿರುವಿರಿ"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "ನೀವು ಈಗಾಗಲೇ %@ ನ್ನು ಬಳಸಿದ್ದೀರಿ. ಮುಂದುವರಿಸಲು %@ ಜೊತೆ ಸೈನ್ ಇನ್ ಮಾಡಿ."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "ಸೈನ್ ಇನ್‌"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ನಮೂದಿಸಿ"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "ಪಾಸ್‌ವರ್ಡ್‌ ಖಾಲಿ ಇರುವಂತಿಲ್ಲ."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "ನೀವು ನಮೂದಿಸಿರುವ ಇಮೇಲ್‌ ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್‌ ಹೊಂದಾಣಿಕೆಯಾಗಿಲ್ಲ."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "ಆ ಇಮೇಲ್‌ ವಿಳಾಸವು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಖಾತೆಗೆ ಹೊಂದಾಣಿಕೆಯಾಗುವುದಿಲ್ಲ."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "ಖಾತೆಗೆ ಆ ಇಮೇಲ್‌ ವಿಳಾಸವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "ಹಲವು ಬಾರಿ ನೀವು ತಪ್ಪಾದ ಪಾಸ್‌ವರ್ಡ್‌ ನಮೂದಿಸಿರುವಿರಿ. ಕೆಲವು ನಿಮಿಷಗಳಲ್ಲಿ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "%@ ಗಾಗಿ ಪೂರೈಕೆದಾರರನ್ನು ಹುಡಕಲಾಗಲಿಲ್ಲ"; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "ಇಮೇಲ್‌ಗಳು ಹೊಂದಾಣಿಕೆಯಾಗುತ್ತಿಲ್ಲ"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "ಪಾಸ್‌ವರ್ಡ್ ಹಿಂಪಡೆಯಿರಿ"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಮರುಹೊಂದಿಸುವುದು ಹೇಗೆ ಎಂದು ತಿಳಿಯಲು ಆ ಇಮೇಲ್‌ಗೆ ಕಳುಹಿಸಿರುವ ಸೂಚನೆಗಳನ್ನು ಪಡೆಯಿರಿ."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "ನಿಮ್ಮ ಇಮೇಲ್‌ ಅನ್ನು ಪರಿಶೀಲಿಸಿ"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಮರುಪಡೆಯಲು %@ ಗೆ ಕಳುಹಿಸಲಾದ ಸೂಚನೆಗಳನ್ನು ಅನುಸರಿಸಿ."; - -/* Title for sign up screen. */ -"SignUpTitle" = "ಖಾತೆ ರಚಿಸಿ"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "ಮೊದಲ ಮತ್ತು ಕೊನೆಯ ಹೆಸರು"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಆರಿಸಿ"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "ಸೇವಾ ನಿಯಮಗಳು"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "ಗೌಪ್ಯತೆ ನೀತಿ"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "ಮುಂದುವರಿಸುವ ಮೂಲಕ, ನೀವು ನಮ್ಮ %@ ಮತ್ತು %@ ಸ್ವೀಕರಿಸುತ್ತೀರಿ ಎಂದು ನೀವು ಸೂಚಿಸುತ್ತಿರುವಿರಿ"; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "ಇಮೇಲ್‌ ವಿಳಾಸವು ಈಗಾಗಲೇ ಮತ್ತೊಂದು ಖಾತೆಗೆ ಬಳಸಲಾಗಿದೆ."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "ಪ್ರಬಲವಾದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಕನಿಷ್ಠ ಅಕ್ಷರಗಳನ್ನಾದರೂ ಹಾಗೂ ಮಿಕ್ಸ್‌ ಅಕ್ಷರಗಳು ಮತ್ತು ಸಂಖ್ಯೆಗಳು ಇರಬೇಕು."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "ನಿಮ್ಮ ಐಪಿ ವಿಳಾಸದಿಂದ ಅತಿ ಹೆಚ್ಚು ಖಾತೆ ಕೋರಿಕೆಗಳು ಬರುತ್ತಿವೆ. ಕೆಲವು ನಿಮಿಷಗಳಲ್ಲಿ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "ನೀವು ಈಗಾಗಲೇ ಸೈನ್ ಇನ್ ಮಾಡಲು %@ ನ್ನು ಬಳಸಿದ್ದೀರ. ಆ ಖಾತೆಗೆ ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ ಅನ್ನು ನಮೂದಿಸಿ."; - -/* OK button title. */ -"OK" = "ಸರಿ"; - -/* Cancel button title. */ -"Cancel" = "ರದ್ದುಮಾಡಿ"; - -/* Back button title. */ -"Back" = "ಹಿಂದೆ"; - -/* Next button title. */ -"Next" = "ಮುಂದೆ"; - -/* Save button title. */ -"Save" = "ಉಳಿಸಿ"; - -/* Send button title. */ -"Send" = "ಕಳುಹಿಸಿ"; - -/* Resend button title. */ -"Resend" = "ಪುನಃಕಳುಹಿಸಿ"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "ಇಮೇಲ್"; - -/* Label next to a password text field. */ -"Password" = "ಪಾಸ್‌ವರ್ಡ್"; - -/* Label next to a name text field. */ -"Name" = "ಹೆಸರು"; - -/* Alert title Error. */ -"Error" = "ದೋಷ"; - -/* Alert button title Close. */ -"Close" = "ಮುಚ್ಚಿ"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "ಪ್ರೊಫೈಲ್"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "ಭದ್ರತೆ"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "ಲಿಂಕ್‌ ಮಾಡಲಾದ ಖಾತೆಗಳು"; - -/* Account Settings cell title Name. */ -"AS_Name" = "ಹೆಸರು"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "ಇಮೇಲ್"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "ಪಾಸ್‌ವರ್ಡ್‌ ಸೇರಿಸಿ"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "ಪಾಸ್‌ವರ್ಡ್ ಬದಲಿಸಿ"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "ಸೈನ್ ಔಟ್"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "ಖಾತೆಯನ್ನು ಅಳಿಸಿ"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "ಪಾಸ್‌ವರ್ಡ್ ಮರೆತಿರುವಿರಾ?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "ಅದು ನೀವೇ ಎಂದು ಪರಿಶೀಲಿಸಿ"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "ಖಾತೆಯನ್ನು ಅಳಿಸುವುದೇ?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "ನಿಮ್ಮ ಖಾತೆಗೆ ಸಂಬಂಧಿಸಿದ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಇದು ಅಳಿಸಿಹಾಕುತ್ತದೆ ಮತ್ತು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನೀವು ಈ ಕ್ರಿಯೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಪುನಃ ಸೈನ್‌ ಇನ್‌ ಮಾಡಬೇಕಾಗುತ್ತದೆ."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "ನಿಮ್ಮ ಖಾತೆಗೆ ಸಂಬಂಧಿಸಿದ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಇದು ಅಳಿಸಿಹಾಕುತ್ತದೆ ಮತ್ತು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಈ ಖಾತೆಯನ್ನು ಅಳಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?"; - -/* Text of Delete action button. */ -"Delete" = "ಅಳಿಸಿ"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "ಖಾತೆಯನ್ನು ಅಳಿಸಿ"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "ಈ ಕ್ರಿಯೆಯನ್ನು ರದ್ದುಪಡಿಸಲಾಗುವುದಿಲ್ಲ."; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "ಅನ್‌ಲಿಂಕ್"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "ಲಿಂಕ್‌ ಮಾಡಿದ ಖಾತೆ"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "ಖಾತೆಯ ಲಿಂಕ್‌ ರದ್ದುಗೊಳಿಸುವುದೇ?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "ಇನ್ನು ಮುಂದೆ ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಸೈನ್‌ ಇನ್‌ ಮಾಡಲಾಗುವುದಿಲ್ಲ"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "ಖಾತೆಯ ಲಿಂಕ್‌ ರದ್ದುಮಾಡಿ"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "ನಿಮ್ಮ ಖಾತೆಗೆ ಸಂಬಂಧಿಸಿದ ಇಮೇಲ್‌ ವಿಳಾಸವನ್ನು ಬದಲಿಸಲು, ನೀವು ಪುನಃ ಸೈನ್‌ ಇನ್‌ ಮಾಡಬೇಕಾಗುತ್ತದೆ."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ ಅನ್ನು ಬದಲಿಸಲು, ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಪಾಸ್‌ವರ್ಡ್‌ ಅನ್ನು ನೀವು ಮೊದಲು ನಮೂದಿಸಬೇಕಾಗಿದೆ."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "ಇಮೇಲ್‌ ಎಡಿಟ್‌ ಮಾಡಿ"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "ಹೆಸರನ್ನು ಎಡಿಟ್ ಮಾಡಿ"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "ನಿಮ್ಮ ಖಾತೆಗೆ ಪಾಸ್‌ವರ್ಡ್‌ ಅನ್ನು ಸೇರಿಸಲು, ನೀವು ಪುನಃ ಸೈನ್‌ ಇನ್‌ ಮಾಡಬೇಕಾಗುತ್ತದೆ."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "ನಿಮ್ಮ ಖಾತೆಗೆ ಪಾಸ್‌ವರ್ಡ್‌ ಅನ್ನು ಬದಲಿಸಲು, ನೀವು ಪುನಃ ಸೈನ್‌ ಇನ್‌ ಮಾಡಬೇಕಾಗುತ್ತದೆ."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ ಅನ್ನು ಬದಲಿಸಲು, ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಪಾಸ್‌ವರ್ಡ್‌ ಅನ್ನು ನೀವು ಮೊದಲು ನಮೂದಿಸಬೇಕಾಗಿದೆ."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "ಪಾಸ್‌ವರ್ಡ್‌ ಸೇರಿಸಿ"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "ಪಾಸ್‌ವರ್ಡ್ ಬದಲಿಸಿ"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "ಇಮೇಲ್"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "%@ ಮೂಲಕ ಸೈನ್‌ ಇನ್ ಮಾಡಿ"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "ನಿಮ್ಮ ಹೆಸರು ನಮೂದಿಸಿ"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "ನಿಮ್ಮ ಇಮೇಲ್ ಅನ್ನು ನಮೂದಿಸಿ"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ನಮೂದಿಸಿ"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "ಹೊಸ ಪಾಸ್‌ವರ್ಡ್"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಆರಿಸಿ"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "ಸೈನ್ ಇನ್ ಮಾಡುವಲ್ಲಿ ಸಮಸ್ಯೆ ಇದೆಯೇ?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "ಇಮೇಲ್ ಅನ್ನು ದೃಢೀಕರಿಸಿ"; - -/* Title of successfully signed in label. */ -"SignedIn" = "ಸೈನ್ ಇನ್ ಆಗಿದೆ!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "ಇಮೇಲ್‌ಗಳನ್ನು ಪಡೆಯುವಲ್ಲಿ ಸಮಸ್ಯೆ ಉಂಟಾಗುತ್ತಿದೆಯೇ?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "ಈ ಸಾಮಾನ್ಯ ಪರಿಹಾರಗಳನ್ನು ಪ್ರಯತ್ನಿಸಿ: \n - ಇಮೇಲ್ ಅನ್ನು ಸ್ಪ್ಯಾಮ್ ಎಂದು ಗುರುತು ಮಾಡಲಾಗಿದೆಯೇ ಅಥವಾ ಫಿಲ್ಟರ್ ಮಾಡಲಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.\n - ನಿಮ್ಮ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಿ.\n - ನಿಮ್ಮ ಇಮೇಲ್‌ನ ಕಾಗುಣಿತವನ್ನು ಸರಿಯಾಗಿ ನಮೂದಿಸಿರುವಿರಾ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಿ.\n - ನಿಮ್ಮ ಇನ್‌ಬಾಕ್ಸ್ ಸಂಗ್ರಹಣೆಯು ಭರ್ತಿಯಾಗದಿರುವುದನ್ನು ಅಥವಾ ಇತರ ಇನ್‌ಬಾಕ್ಸ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಸಂಬಂಧಿಸಿದ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಶೀಲಿಸಿ.\n ಮೇಲಿನ ಹಂತಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸದಿದ್ದಲ್ಲಿ, ನೀವು ಇಮೇಲ್ ಅನ್ನು ಪುನಃ ಕಳುಹಿಸಬಹುದು. ಇದು ಹಳೆಯ ಇಮೇಲ್‌ನಲ್ಲಿರುವ ಲಿಂಕ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "%@ ಇಮೇಲ್‌ಗೆ ಹೆಚ್ಚುವರಿ ಸೂಚನೆಗಳನ್ನು ಹೊಂದಿರುವ ಸೈನ್-ಇನ್ ಇಮೇಲ್ ಅನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ. ಸೈನ್-ಇನ್ ಪೂರ್ಣಗೊಳಿಸಲು ನಿಮ್ಮ ಇಮೇಲ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "ಸೈನ್-ಇನ್ ಇಮೇಲ್ ಕಳುಹಿಸಲಾಗಿದೆ"; diff --git a/FirebaseAuthUI/Sources/Strings/ko.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/ko.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 2fe62e7dc88..00000000000 --- a/FirebaseAuthUI/Sources/Strings/ko.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "시작"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "이메일로 로그인"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "이메일 입력"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "이메일 주소가 잘못되었습니다."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "이 앱에서 지원하지 않는 계정 유형입니다."; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "계정이 이미 있음"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "%@을(를) 이미 사용하고 있습니다. 계속하려면 %@(으)로 로그인하세요."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "로그인"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "비밀번호를 입력하세요."; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "비밀번호는 비워둘 수 없습니다."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "입력한 이메일과 비밀번호가 일치하지 않습니다."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "이메일 주소가 기존 계정과 일치하지 않습니다."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "사용 중지된 계정의 이메일 주소입니다."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "비밀번호 입력 오류 횟수를 초과했습니다. 잠시 후에 다시 시도해 주세요."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "%@에 대한 제공업체를 찾지 못했습니다."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "이메일이 일치하지 않습니다."; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "비밀번호 복구"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "비밀번호 재설정 방법을 안내하는 이메일을 보내 드립니다."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "이메일 확인"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "%@(으)로 발송된 이메일의 안내에 따라 비밀번호를 복구하세요."; - -/* Title for sign up screen. */ -"SignUpTitle" = "계정 만들기"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "이름 및 성"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "비밀번호 선택"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "서비스 약관"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "개인정보처리방침"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "계속 진행하면 %@ 및 %@에 동의하는 것으로 간주됩니다."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "이미 다른 계정에서 사용 중인 이메일 주소입니다."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "안전한 비밀번호는 6자 이상이어야 하고 문자와 숫자가 조합되어야 합니다."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "IP 주소에서 계정 요청이 너무 많이 발생하고 있습니다. 잠시 후에 다시 시도해 주세요."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "이미 %@을(를) 사용하여 로그인했습니다. 해당 계정의 비밀번호를 입력하세요."; - -/* OK button title. */ -"OK" = "확인"; - -/* Cancel button title. */ -"Cancel" = "취소"; - -/* Back button title. */ -"Back" = "뒤로"; - -/* Next button title. */ -"Next" = "다음"; - -/* Save button title. */ -"Save" = "저장"; - -/* Send button title. */ -"Send" = "보내기"; - -/* Resend button title. */ -"Resend" = "다시 보내기"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "이메일"; - -/* Label next to a password text field. */ -"Password" = "비밀번호"; - -/* Label next to a name text field. */ -"Name" = "이름"; - -/* Alert title Error. */ -"Error" = "오류"; - -/* Alert button title Close. */ -"Close" = "닫기"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "프로필"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "보안"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "연결된 계정"; - -/* Account Settings cell title Name. */ -"AS_Name" = "이름"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "이메일"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "비밀번호 추가"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "비밀번호 변경"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "로그아웃"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "계정 삭제"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "비밀번호 찾기"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "본인 인증"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "계정을 삭제하시겠습니까?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "계정에 연결된 데이터가 모두 삭제되며 삭제를 취소할 수 없습니다. 이 작업을 완료하려면 다시 로그인해야 합니다."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "계정에 연결된 데이터가 모두 삭제되며 삭제를 취소할 수 없습니다. 계정을 삭제하시겠습니까?"; - -/* Text of Delete action button. */ -"Delete" = "삭제"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "계정 삭제"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "이 작업은 취소할 수 없습니다."; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "연결 해제"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "연결된 계정"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "계정 연결 해제 확인"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "이 계정으로 더 이상 로그인할 수 없습니다."; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "계정 연결 해제"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "계정에 연결된 이메일 주소를 변경하려면 다시 로그인해야 합니다."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "비밀번호를 변경하려면 먼저 현재 비밀번호를 입력해야 합니다."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "이메일 수정"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "이름 수정"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "계정에 비밀번호를 추가하려면 다시 로그인해야 합니다."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "계정의 비밀번호를 변경하려면 다시 로그인해야 합니다."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "비밀번호를 변경하려면 먼저 현재 비밀번호를 입력해야 합니다."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "비밀번호 추가"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "비밀번호 변경"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "이메일"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "%@(으)로 로그인"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "이름을 입력하세요."; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "이메일 입력"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "비밀번호를 입력하세요."; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "새 비밀번호"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "비밀번호 선택"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "로그인하는 데 문제가 있나요?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "이메일 확인"; - -/* Title of successfully signed in label. */ -"SignedIn" = "로그인 완료"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "이메일을 받는 데 문제가 있나요?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "다음의 일반적인 해결방법을 시도해 보세요. \n - 이메일이 스팸으로 표시되었거나 필터링되었는지 확인합니다.\n - 인터넷 연결을 확인합니다.\n - 이메일을 잘못 입력하지 않았는지 확인합니다.\n - 받은편지함 용량이 다 찼거나 받은편지함 설정과 관련된 문제가 있는 것이 아닌지 확인합니다.\n 위의 단계로 문제가 해결되지 않으면 이메일을 다시 전송하실 수 있습니다. 이 경우 이전 이메일의 링크는 비활성화됩니다."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "추가 안내가 포함된 로그인 이메일이 %@(으)로 전송되었습니다. 이메일을 확인하여 로그인을 완료하세요."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "로그인 이메일 전송됨"; diff --git a/FirebaseAuthUI/Sources/Strings/ln.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/ln.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 16bbcd32fbc..00000000000 --- a/FirebaseAuthUI/Sources/Strings/ln.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Bienvenue"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Se connecter avec une adresse e-mail"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Saisissez votre adresse e-mail"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Cette adresse e-mail est incorrecte."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Ce type de compte n'est pas compatible avec cette application"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Vous avez déjà un compte"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Vous avez déjà utilisé l'adresse e-mail %@. Connectez-vous avec %@ pour continuer."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Se connecter"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Saisissez votre mot de passe"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Vous devez indiquer un mot de passe."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "L'adresse e-mail et le mot de passe saisis ne correspondent pas."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Cette adresse e-mail ne correspond à aucun compte existant."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Cette adresse e-mail correspond à un compte qui a été désactivé."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Vous avez saisi un mot de passe incorrect un trop grand nombre de fois. Veuillez réessayer dans quelques minutes."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Impossible de trouver un fournisseur pour %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Les adresses e-mail ne correspondent pas"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Récupérez votre mot de passe"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Les instructions relatives à la réinitialisation de votre mot de passe seront envoyées à cette adresse e-mail."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Consultez votre boîte de réception"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Suivez les instructions envoyées à l'adresse e-mail %@ pour récupérer votre mot de passe."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Créer un compte"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nom et prénom"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Choisissez un mot de passe"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Conditions d'utilisation"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Règles de confidentialité"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "En continuant, vous acceptez les %@ et les %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Cette adresse e-mail est déjà utilisée par un autre compte."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Les mots de passe sécurisés comportent au moins six caractères et une combinaison de chiffres et de lettres."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "De trop nombreuses demandes de compte proviennent de votre adresse IP. Veuillez réessayer dans quelques minutes."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Vous avez déjà utilisé l'adresse e-mail %@ pour vous connecter. Saisissez votre mot de passe pour ce compte."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Annuler"; - -/* Back button title. */ -"Back" = "Retour"; - -/* Next button title. */ -"Next" = "Suivant"; - -/* Save button title. */ -"Save" = "Enregistrer"; - -/* Send button title. */ -"Send" = "Envoyer"; - -/* Resend button title. */ -"Resend" = "Renvoyer"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Adresse e-mail"; - -/* Label next to a password text field. */ -"Password" = "Mot de passe"; - -/* Label next to a name text field. */ -"Name" = "Nom"; - -/* Alert title Error. */ -"Error" = "Erreur"; - -/* Alert button title Close. */ -"Close" = "Fermer"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Sécurité"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Comptes associés"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nom"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Adresse e-mail"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Ajouter un mot de passe"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Modifier le mot de passe"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Se déconnecter"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Supprimer le compte"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Mot de passe oublié"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Confirmez qu'il s'agit bien de vous"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Supprimer le compte ?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Cette action effacera toutes les données associées à votre compte de façon irréversible. Vous devrez vous reconnecter pour finaliser cette opération."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Cette action effacera toutes les données associées à votre compte de façon irréversible. Voulez-vous vraiment supprimer votre compte ?"; - -/* Text of Delete action button. */ -"Delete" = "Supprimer"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Supprimer le compte"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Cette action est irréversible"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Dissocier"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Compte associé"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Dissocier le compte ?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Vous ne pourrez plus utiliser votre compte pour vous connecter"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Dissocier le compte"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Pour modifier l'adresse e-mail associée à votre compte, vous devrez vous reconnecter."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Pour modifier votre mot de passe, vous devez d'abord saisir votre mot de passe actuel."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Modifier l'adresse e-mail"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Modifier le nom"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Vous devrez vous reconnecter pour ajouter un mot de passe à votre compte."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Vous devrez vous reconnecter pour modifier le mot de passe de votre compte."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Pour modifier votre mot de passe, vous devez d'abord saisir votre mot de passe actuel."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Ajouter un mot de passe"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Modifier le mot de passe"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Adresse e-mail"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Se connecter avec %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Saisissez votre nom"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Saisissez votre adresse e-mail"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Saisissez votre mot de passe"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nouveau mot de passe"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Choisissez un mot de passe"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Vous ne parvenez pas à vous connecter ?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmez votre adresse e-mail"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Connecté"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Vous n'avez pas reçu l'e-mail ?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Essayez les solutions courantes suivantes : \n - Vérifiez que l'e-mail n'a pas été filtré ni marqué comme spam.\n - Vérifiez votre connexion Internet.\n - Vérifiez que votre adresse e-mail est correcte.\n - Vérifiez que votre boîte de réception n'est pas pleine et que les paramètres sont correctement définis.\n Si les étapes décrites ci-dessus n'ont pas résolu le problème, vous pouvez renvoyer l'e-mail. Sachez que le lien du premier e-mail sera alors désactivé."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Un e-mail de connexion avec des instructions supplémentaires a été envoyé à %@. Consultez cet e-mail pour vous connecter."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "E-mail de connexion envoyé"; diff --git a/FirebaseAuthUI/Sources/Strings/lt.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/lt.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 0724a9fbf52..00000000000 --- a/FirebaseAuthUI/Sources/Strings/lt.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Sveiki!"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Prisijungti nurodant el. paštą"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Įveskite el. paštą"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Šis el. paštas netinkamas."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Ši programa nepalaiko šio paskyros tipo"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Jūs jau turite paskyrą"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Jau panaudojote %@. Jei norite tęsti, prisijunkite per „%@“."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Prisijungti"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Įveskite slaptažodį"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Slaptažodžio laukas negali būti tuščias."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Įvestas slaptažodis neatitinka el. pašto adreso."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Šis el. pašto adresas neatitinka esamos paskyros."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Šis el. pašto adresas yra išjungtos paskyros."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Įvedėte netinkamą slaptažodį per daug kartų. Po kelių minučių bandykite dar kartą."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Nepavyko rasti „%@“ teikėjo."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "El. paštai nesutampa"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Atkurti slaptažodį"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Gaukite instrukcijas su nurodymais, kaip pakeisti slaptažodį, šiuo el. paštu."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Patikrinkite el. paštą"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Vadovaudamiesi el. pašto adresu %@ išsiųstais nurodymais atkurkite slaptažodį."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Sukurti paskyrą"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Vardas ir pavardė"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Pasirinkite slaptažodį"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Paslaugų teikimo sąlygomis"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Privatumo politika"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Tęsdami nurodote, kad sutinkate su %@ ir %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Šis el. paštas jau naudojamas kitoje paskyroje."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Sudėtingą slaptažodį sudaro bent 6 simboliai ir raidžių bei skaičių derinys."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Iš jūsų IP adreso siunčiama per daug paskyros užklausų. Bandykite dar kartą po kelių minučių."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Jūs jau prisijungėte naudodami %@. Įveskite tos paskyros slaptažodį."; - -/* OK button title. */ -"OK" = "Gerai"; - -/* Cancel button title. */ -"Cancel" = "Atšaukti"; - -/* Back button title. */ -"Back" = "Atgal"; - -/* Next button title. */ -"Next" = "Kitas"; - -/* Save button title. */ -"Save" = "Išsaugoti"; - -/* Send button title. */ -"Send" = "Siųsti"; - -/* Resend button title. */ -"Resend" = "Siųsti iš naujo"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "El. paštas"; - -/* Label next to a password text field. */ -"Password" = "Slaptažodis"; - -/* Label next to a name text field. */ -"Name" = "Vardas"; - -/* Alert title Error. */ -"Error" = "Klaida"; - -/* Alert button title Close. */ -"Close" = "Uždaryti"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profilis"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Sauga"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Susietos paskyros"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Vardas"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "El. paštas"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Pridėti slaptažodį"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Keisti slaptažodį"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Atsijungti"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Ištrinti paskyrą"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Pamiršote slaptažodį?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Patvirtinkite savo tapatybę"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Ištrinti paskyrą?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Tai atlikus bus ištrinti visi su jūsų paskyra susiję duomenys; šio veiksmo anuliuoti negalima. Norėdami užbaigti šį veiksmą turėsite prisijungti dar kartą."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Tai atlikus bus ištrinti visi su jūsų paskyra susiję duomenys; šio veiksmo anuliuoti negalima. Ar tikrai norite ištrinti paskyrą?"; - -/* Text of Delete action button. */ -"Delete" = "Ištrinti"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Ištrinti paskyrą"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Šio veiksmo anuliuoti negalima"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Atsieti"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Susieta paskyra"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Atsieti paskyrą?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Nebegalėsite prisijungti naudodami savo paskyrą"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Atsieti paskyrą"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Norėdami pakeisti el. pašto adresą, susietą su paskyra, turėsite prisijungti dar kartą."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Norėdami pakeisti slaptažodį, pirmiausia turite įvesti dabartinį."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Redaguoti el. pašto adresą"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Redaguoti pavadinimą"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Norėdami prie paskyros pridėti slaptažodį, turite prisijungti dar kartą."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Norėdami pakeisti paskyros slaptažodį, turite prisijungti dar kartą."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Norėdami pakeisti slaptažodį, pirmiausia turite įvesti dabartinį."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Pridėti slaptažodį"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Keisti slaptažodį"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "El. paštas"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Prisijungti per „%@“"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Įveskite vardą"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Įveskite el. paštą"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Įveskite slaptažodį"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Naujas slaptažodis"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Pasirinkite slaptažodį"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Kyla problemų prisijungiant?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Patvirtinkite el. paštą"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Prisijungta."; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Negaunate el. laiškų?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Išbandykite šiuos dažnai kylančių problemų sprendimo būdus: \n – patikrinkite, ar el. laiškas nebuvo pažymėtas kaip šlamštas arba filtruotas;\n – patikrinkite interneto ryšį;\n – patikrinkite, ar nurodėte tikslų el. pašto adresą;\n – patikrinkite, ar gautiesiems skirta saugyklos vieta nepasibaigė arba kitas su gautųjų nustatymais susijusias problemas.\n Jei ankstesni veiksmai nebuvo naudingi, galite iš naujo išsiųsti el. laišką. Atkreipkite dėmesį, kad šiuo veiksmu bus išaktyvinta ankstesniame el. laiške pateikta nuoroda."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Prisijungimo el. laiškas su papildomomis instrukcijomis išsiųstas adresu %@. Patikrinkite el. paštą, kad užbaigtumėte prisijungimą."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Prisijungimo el. laiškas išsiųstas"; diff --git a/FirebaseAuthUI/Sources/Strings/lv.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/lv.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 98cf5141702..00000000000 --- a/FirebaseAuthUI/Sources/Strings/lv.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Laipni lūdzam!"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Pierakstīties ar e-pasta adresi"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ievadiet e-pastu"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "E-pasta adrese nav pareiza."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Šī lietotne neatbalsta šāda veida kontu"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Jums jau ir konts"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Jūs jau esat izmantojis e-pasta adresi %@. Pierakstieties ar %@, lai turpinātu."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Pierakstīties"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ievadiet savu paroli"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Paroles lauks nedrīkst būt tukšs."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Ievadītā e-pasta adrese un parole neatbilst."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "E-pasta adrese neatbilst esošam kontam."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Šī ir atspējota konta e-pasta adrese."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Esat pārāk daudz reižu ievadījis nepareizu paroli. Lūdzu, mēģiniet vēlreiz pēc dažām minūtēm."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Nevar atrast %@ nodrošinātāju."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-pasta adreses nesakrīt"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Paroles atgūšana"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Saņemiet uz šo e-pasta adresi nosūtītus norādījumus ar skaidrojumu par to, kā atiestatīt paroli."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Pārbaudiet savu e-pastu"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Izpildiet uz e-pasta adresi %@ nosūtītos norādījumus, lai atgūtu paroli."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Izveidot kontu"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Vārds un uzvārds"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Izvēlieties paroli"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Pakalpojumu sniegšanas noteikumi"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Konfidencialitātes politika"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Turpinot jūs norādāt, ka piekrītat šādiem dokumentiem: %@ un %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Šī e-pasta adrese jau tiek izmantota citam kontam."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Drošām parolēm ir vismaz 6 rakstzīmes, un tajās ir burtu un ciparu kombinācija."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Pārāk daudz kontu pieprasījumu ir nosūtīti no jūsu IP adreses. Pēc dažām minūtēm mēģiniet vēlreiz."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Esat jau izmantojis e-pasta adresi %@, lai pierakstītos. Ievadiet šī konta paroli."; - -/* OK button title. */ -"OK" = "Labi"; - -/* Cancel button title. */ -"Cancel" = "Atcelt"; - -/* Back button title. */ -"Back" = "Atpakaļ"; - -/* Next button title. */ -"Next" = "Tālāk"; - -/* Save button title. */ -"Save" = "Saglabāt"; - -/* Send button title. */ -"Send" = "Sūtīt"; - -/* Resend button title. */ -"Resend" = "Sūtīt vēlreiz"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-pasts"; - -/* Label next to a password text field. */ -"Password" = "Parole"; - -/* Label next to a name text field. */ -"Name" = "Vārds"; - -/* Alert title Error. */ -"Error" = "Kļūda"; - -/* Alert button title Close. */ -"Close" = "Aizvērt"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profils"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Drošība"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Saistītie konti"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Vārds"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-pasts"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Paroles pievienošana"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Paroles maiņa"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Izrakstīšanās"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Konta dzēšana"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Vai aizmirsāt paroli?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verificējiet savu identitāti"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Vai izdzēst kontu?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Veicot šo darbību, tiks dzēsti visi ar kontu saistītie dati, un to nevarēs atsaukt. Lai veiktu šo darbību, ir vēlreiz jāpierakstās"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Veicot šo darbību, tiks dzēsti visi ar kontu saistītie dati, un to nevarēs atsaukt. Vai tiešām vēlaties dzēst šo kontu?"; - -/* Text of Delete action button. */ -"Delete" = "Dzēst"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Konta dzēšana"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Šo darbību nevar atsaukt"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Atsaistīt"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Saistīts konts"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Vai atsaistīt kontu?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Jūs vairs nevarēsit pierakstīties, izmantojot savu kontu"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Konta atsaistīšana"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Lai mainītu ar kontu saistīto e-pasta adresi, būs vēlreiz jāpierakstās."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Lai mainītu paroli, vispirms ir jāievada pašreizējā parole."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "E-pasta rediģēšana"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Nosaukuma rediģēšana"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Lai pievienotu kontam paroli, būs vēlreiz jāpierakstās."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Lai mainītu konta paroli, būs vēlreiz jāpierakstās."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Lai mainītu paroli, vispirms ir jāievada pašreizējā parole."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Paroles pievienošana"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Paroles maiņa"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-pasts"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Pierakstīties ar %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ievadiet savu vārdu"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ievadiet e-pastu"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ievadiet savu paroli."; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Jauna parole"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Izvēlieties paroli"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Vai jums ir problēmas ar pierakstīšanos?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Apstipriniet e-pasta adresi"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Esat pierakstījies."; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Vai jums ir problēmas ar e-pasta ziņojumu saņemšanu?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Izmēģiniet tālāk norādītās tipiskās problēmu novēršanas iespējas. \n - Pārbaudiet, vai e-pasta ziņojums nav atzīmēts kā mēstule vai nav filtrēts.\n - Pārbaudiet interneta savienojumu.\n - Pārbaudiet, vai e-pasta adrese ir pareizi uzrakstīta.\n - Pārbaudiet, vai jūsu iesūtnes krātuve nav beigusies vai nav citu ar iesūtnes iestatījumiem saistītu problēmu.\n Ja iepriekš minētās darbības nepalīdzēja, varat atkārtoti nosūtīt e-pasta ziņojumu. Ņemiet vērā: tiks deaktivizēta saite no iepriekšējā e-pasta ziņojuma."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Pierakstīšanās e-pasta ziņojums ar papildu norādījumiem tika nosūtīts uz e-pasta adresi %@. Pārbaudiet savu e-pastu, lai pabeigtu pierakstīšanos."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Pierakstīšanās e-pasta ziņojums ir nosūtīts"; diff --git a/FirebaseAuthUI/Sources/Strings/mr.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/mr.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 48d9ff2e352..00000000000 --- a/FirebaseAuthUI/Sources/Strings/mr.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "स्वागत आहे"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "ईमेलने साइन इन करा"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "तुमचा ईमेल टाका"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "तो ईमेल अॅड्रेस चुकीचा आहे."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "अशा प्रकारच्या खात्याला हे अ‍ॅप समर्थन करत नाही"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "तुमचे आधीच एक खाते आहे"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "तुम्ही %@ आधीच वापरले आहे. सुरू ठेवण्यासाठी %@ने साइन इन करा."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "साइन इन करा"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "तुमचा पासवर्ड टाका"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "पासवर्ड रिक्त ठेवता येणार नाही"; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "तुम्ही टाकलेला ईमेल आणि पासवर्ड जुळत नाही."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "तो ईमेल अॅड्रेस सध्याच्या खात्याशी जुळत नाही."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "तो ईमेल अॅड्रेस एका बंद करण्यात आलेल्या खात्याचा आहे."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "तुम्ही चुकीचा पासवर्ड बर्‍याचदा वापरला आहे. थोड्या वेळानंतर पुन्हा प्रयत्न करा."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "%@साठी पुरवठादार मिळाला नाही."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "ईमेल जुळत नाहीत"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "पासवर्ड पुन्हा मिळवा"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "तुमचा पासवर्ड रीसेट कसा करावा यासंबंधित या ईमेलवर पाठवलेल्या सूचना मिळवा."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "तुमचा ईमेल तपासा"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "तुमचा पासवर्ड परत मिळवण्यासाठी %@वर पाठवलेल्या सूचनांचे पालन करा."; - -/* Title for sign up screen. */ -"SignUpTitle" = "खाते तयार करा"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "नाव आणि आडनाव"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "पासवर्ड निवडा"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "सेवा अटी"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "गोपनीयता धोरण"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "पुढे सुरू ठेवून, तुम्ही सूचित करता की तुम्ही आमचे %@ आणि %@ स्वीकारता."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "ईमेल अॅड्रेस दुसर्‍या खात्यावर आधीपासून वापरात आहे."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "सशक्त पासवर्डमध्ये किमान 6 वर्ण आणि अंक, अक्षरांचे मिश्रण असते."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "तुमच्या आयपी अ‍ॅड्रेसवरून बर्‍याच खाते विनंत्या येत आहेत. थोड्या वेळात पुन्हा प्रयत्न करा."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "तुम्ही साइन इन करण्यासाठी %@ आधीच वापरला आहे. तुमचा त्या खात्याचा पासवर्ड टाका."; - -/* OK button title. */ -"OK" = "ठीक आहे"; - -/* Cancel button title. */ -"Cancel" = "रद्द करा"; - -/* Back button title. */ -"Back" = "मागील"; - -/* Next button title. */ -"Next" = "पुढील"; - -/* Save button title. */ -"Save" = "सेव्ह करा"; - -/* Send button title. */ -"Send" = "पाठवा"; - -/* Resend button title. */ -"Resend" = "पुन्हा पाठवा"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "ईमेल"; - -/* Label next to a password text field. */ -"Password" = "पासवर्ड"; - -/* Label next to a name text field. */ -"Name" = "नाव"; - -/* Alert title Error. */ -"Error" = "एरर"; - -/* Alert button title Close. */ -"Close" = "बंद करा"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "प्रोफाइल"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "सुरक्षितता"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "लिंक केलेली खाती"; - -/* Account Settings cell title Name. */ -"AS_Name" = "नाव"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "ईमेल"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "पासवर्ड जोडा"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "पासवर्ड बदला"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "साइन आउट करा"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "खाते डिलीट करा"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "पासवर्ड विसरलात?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "हे तुम्हीच असल्याची पडताळणी करा"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "खाते हटवायचे का?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "हे तुमच्या खात्याशी संबंधित सर्व डेटा मिटवेल, आणि ते पुन्हा आहे तसे करता येणार नाही, ही अ‍ॅक्शन पूर्ण करण्यासाठी तुम्हाला पुन्हा साइन इन करावे लागेल"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "हे तुमच्या खात्याशी संबंधित सर्व डेटा मिटवेल, आणि ते पुन्हा आहे तसे करता येणार नाही. तुम्हाला खरोखर तुमचे खाते डिलीट करायचे आहे का?"; - -/* Text of Delete action button. */ -"Delete" = "डिलीट करा"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "खाते डिलीत करा"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "ही अ‍ॅक्शन आहे तशी केली जाऊ शकत नाही"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "लिंक काढून टाका"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "लिंक केलेले खाते"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "खाते अनलिंक करायचे?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "तुम्ही यापुढे तुमचे खाते वापरून साइन करू शकणार नाही"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "खाते अनलिंक करा"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "तुमच्या खात्याशी संबंधित असलेला ईमेल अॅड्रेस बदलण्यासाठी तुम्ही पुन्हा साइन इन करणे आवश्यक आहे."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "तुमचा पासवर्ड बदलण्यासाठी आधी तुम्हाला तुमचा सध्याचा पासवर्ड टाकावा लागेल."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "ईमेल एडिट करा"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "नाव एडिट करा"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "तुमच्या खात्यामध्ये पासवर्ड जोडण्यासाठी तुम्हाला पुन्हा साइन इन करावे लागेल."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "तुमच्या खात्याचा पासवर्ड बदलण्यासाठी तुम्हाला पुन्हा साइन इन करावे लागेल."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "तुमचा पासवर्ड बदलण्यासाठी आधी तुम्हाला तुमचा सध्याचा पासवर्ड टाकावा लागेल."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "पासवर्ड जोडा"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "पासवर्ड बदला"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "ईमेल"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "%@ने साइन इन करा"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "तुमचे नाव टाका"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "तुमचा ईमेल टाका"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "तुमचा पासवर्ड टाका"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "नवीन पासवर्ड"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "पासवर्ड निवडा"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "साइन इन करताना समस्या येत आहे का?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "ईमेलची खात्री करा"; - -/* Title of successfully signed in label. */ -"SignedIn" = "साइन इन केले!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "ईमेल मिळवण्यात समस्या येत आहे?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "ही सामान्य निराकरणे करून पाहा: \n- ईमेलला स्पॅम किंवा फिल्टर केलेला म्हणून चिन्हाकिंत केला असल्यास तपासा.\n - तुमचे इंटरनेट कनेक्शन तपासा.\n - तुम्ही तुमच्या ईमेलचे चुकीचे शब्दलेखन केले आहे का ते तपासा.\n - तुमच्या इनबॉक्सची जागा संपली आहे का किंवा अन्य इनबॉक्स सेटिंग्ज संबंधित समस्या आहेत का हे तपासा.\n वरील पायर्‍या वापरून उपयोग झाला नसल्यास, तुम्ही ईमेल पुन्हा पाठवू शकता. लक्षात ठेवा की, यामुळे जुन्या ईमेलमधील लिंक निष्क्रिय केली जाईल."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "अतिरिक्त सूचना असलेला साइन इन ईमेल %@ ला पाठवला होता. साइन इन पूर्ण करण्यासाठी तुमचा ईमेल तपासा."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "साइन इन ईमेल पाठवला"; diff --git a/FirebaseAuthUI/Sources/Strings/ms.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/ms.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 82bac0ba26d..00000000000 --- a/FirebaseAuthUI/Sources/Strings/ms.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Selamat datang"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Log masuk dengan e-mel"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Masukkan e-mel anda"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Alamat e-mel tersebut tidak betul."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Akaun jenis ini tidak disokong oleh apl ini"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Anda sudah mempunyai akaun"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Anda sudah menggunakan %@. Log masuk dengan %@ untuk teruskan."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Log masuk"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Masukkan kata laluan anda"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Kata laluan tidak boleh kosong."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "E-mel dan kata laluan yang anda masukkan tidak sepadan."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Alamat e-mel tersebut tidak sepadan dengan akaun sedia ada."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Alamat e-mel tersebut digunakan untuk akaun yang sudah dilumpuhkan."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Anda terlalu kerap memasukkan kata laluan yang salah. Cuba lagi dalam masa beberapa minit."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Tidak dapat mencari pembekal untuk %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-mel tidak sepadan"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Pulihkan kata laluan"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Dapatkan arahan pada e-mel ini untuk mengetahui cara menetapkan semula kata laluan anda."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Semak e-mel anda"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Ikut arahan yang dihantar ke %@ untuk memulihkan kata laluan anda."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Buat akaun"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nama pertama & keluarga"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Pilih kata laluan"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Syarat Perkhidmatan"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Dasar Privasi"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Dengan meneruskan, anda menyatakan bahawa anda menerima %@ dan %@ kami."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Alamat e-mel tersebut sudah digunakan oleh akaun lain."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Kata laluan yang kukuh mengandungi sekurang-kurangnya 6 aksara dan gabungan huruf dengan nombor."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Terlalu banyak permintaan akaun daripada alamat IP anda. Cuba lagi dalam masa beberapa minit."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Anda sudah menggunakan %@ untuk log masuk. Masukkan kata laluan anda untuk akaun tersebut."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Batal"; - -/* Back button title. */ -"Back" = "Kembali"; - -/* Next button title. */ -"Next" = "Seterusnya"; - -/* Save button title. */ -"Save" = "Simpan"; - -/* Send button title. */ -"Send" = "Hantar"; - -/* Resend button title. */ -"Resend" = "Hantar semula"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-mel"; - -/* Label next to a password text field. */ -"Password" = "Kata Laluan"; - -/* Label next to a name text field. */ -"Name" = "Nama"; - -/* Alert title Error. */ -"Error" = "Ralat"; - -/* Alert button title Close. */ -"Close" = "Tutup"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Keselamatan"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Akaun Terpaut"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nama"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-mel"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Tambahkan kata laluan"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Tukar kata laluan"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Log Keluar"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Padamkan Akaun"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Terlupa kata laluan?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Sahkan identiti anda"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Padamkan Akaun?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Tindakan ini akan memadamkan semua data yang dikaitkan dengan akaun anda dan tidak boleh dibuat asal. Anda perlu log masuk sekali lagi untuk melengkapkan tindakan ini."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Tindakan ini akan memadamkan semua data yang dikaitkan dengan akaun anda dan tidak boleh dibuat asal. Adakah anda pasti anda mahu memadamkan akaun anda?"; - -/* Text of Delete action button. */ -"Delete" = "Padam"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Padamkan akaun"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Tindakan ini tidak boleh dibuat asal"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Nyahpaut"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Akaun terpaut"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Nyahpaut akaun?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Anda tidak boleh log masuk menggunakan akaun anda lagi"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Nyahpaut akaun"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Untuk menukar alamat e-mel yang dikaitkan dengan akaun anda, log masuk sekali lagi."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Untuk menukar kata laluan anda, masukkan kata laluan semasa terlebih dahulu."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Edit e-mel"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Edit nama"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Untuk menambahkan kata laluan pada akaun anda, log masuk sekali lagi."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Untuk menukar kata laluan akaun anda, log masuk sekali lagi."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Untuk menukar kata laluan anda, masukkan kata laluan semasa terlebih dahulu."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Tambahkan kata laluan"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Tukar kata laluan"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-mel"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Log masuk dengan %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Masukkan nama anda"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Masukkan e-mel anda"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Masukkan kata laluan anda"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Kata laluan baharu"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Pilih kata laluan"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Menghadapi masalah log masuk?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Sahkan E-mel"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Dilog masuk!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Tidak menerima e-mel?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Cuba pembetulan lazim berikut: \n - Pastikan e-mel tidak ditandakan sebagai spam atau ditapis.\n - Semak sambungan Internet anda.\n - Pastikan e-mel anda dieja dengan betul.\n - Pastikan peti masuk anda tidak kehabisan ruang dan tiada isu berkaitan tetapan peti masuk.\n Jika langkah di atas tidak boleh menyelesaikan isu tersebut, anda boleh menghantar semula e-mel. Sila ambil perhatian bahawa tindakan ini akan menyahaktifkan pautan dalam e-mel sebelumnya."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "E-mel log masuk yang mengandungi arahan tambahan telah dihantar ke %@. Semak e-mel anda untuk melengkapkan log masuk."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "E-mel log masuk Dihantar"; diff --git a/FirebaseAuthUI/Sources/Strings/nb.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/nb.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 662b6f7404c..00000000000 --- a/FirebaseAuthUI/Sources/Strings/nb.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Velkommen"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Logg på med e-postadresse"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Oppgi e-postadressen din"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "E-postadressen er ikke riktig."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Denne kontotypen støttes ikke i denne appen"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Du har allerede en konto"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Du har allerede brukt %@. Logg på med %@ for å fortsette."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Logg på"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Oppgi passordet ditt"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Du må oppgi et passord."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "E-postadressen og passordet du har angitt, samsvarer ikke."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "E-postadressen samsvarer ikke med en eksisterende konto."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "E-postadressen er for en konto som er deaktivert."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Du har angitt feil passord for mange ganger. Prøv igjen om noen minutter."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Finner ikke leverandøren for %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-postadressene samsvarer ikke"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Gjenopprett passordet"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Få instruksjoner sendt til denne e-postadressen for hvordan du tilbakestiller passordet ditt."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Sjekk e-posten din"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Følg veiledningen som er sendt til %@, for å gjenopprette passordet ditt."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Opprett en konto"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Fornavn og etternavn"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Velg passord"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "vilkårene"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Personvernregler"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Ved å fortsette godtar du %@ og %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "E-postadressen brukes allerede av en annen konto."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Sterke passord består av minst seks tegn og en blanding av bokstaver og tall."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Det kommer for mange kontoforespørsler fra IP-adressen din. Prøv igjen om noen minutter."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Du har allerede brukt %@ for å logge på. Oppgi passordet ditt for den kontoen."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Avbryt"; - -/* Back button title. */ -"Back" = "Tilbake"; - -/* Next button title. */ -"Next" = "Neste"; - -/* Save button title. */ -"Save" = "Lagre"; - -/* Send button title. */ -"Send" = "Send"; - -/* Resend button title. */ -"Resend" = "Send på nytt"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-post"; - -/* Label next to a password text field. */ -"Password" = "Passord"; - -/* Label next to a name text field. */ -"Name" = "Navn"; - -/* Alert title Error. */ -"Error" = "Feil"; - -/* Alert button title Close. */ -"Close" = "Lukk"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Sikkerhet"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Tilknyttede kontoer"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Navn"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-post"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Legg til passord"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Bytt passord"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Logg av"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Slett kontoen"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Har du glemt passordet?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Bekreft identiteten din"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Vil du slette kontoen?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Alle data som er tilknyttet kontoen din, blir slettet, og handlingen kan ikke angres. Du må logge på igjen for å fullføre denne handlingen"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Alle data som er tilknyttet kontoen din, blir slettet, og handlingen kan ikke angres. Er du sikker på at du vil slette kontoen din?"; - -/* Text of Delete action button. */ -"Delete" = "Slett"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Slett kontoen"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Denne handlingen kan ikke angres"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Fjern tilknytningen"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Tilknyttet konto"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Vil du fjerne tilknytningen til kontoen?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Du kommer ikke lenger til å kunne logge på med kontoen din"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Fjern tilknytningen til kontoen"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Du må logge på igjen for å endre e-postadressen som er knyttet til kontoen din."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "For å endre passordet ditt må du først oppgi det eksisterende passordet."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Endre e-postadressen"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Endre navnet"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Du må logge på igjen for å legge til passordet i kontoen din."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Du må logge på igjen for å endre til passordet for kontoen din."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "For å endre passordet ditt må du først oppgi det eksisterende passordet."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Legg til passord"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Bytt passord"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-post"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Logg på med %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Oppgi navnet ditt"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Oppgi e-postadressen din"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Oppgi passordet ditt"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nytt passord"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Velg passord"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Har du problemer med å logge på?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Bekreft e-postadressen"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Pålogget."; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Problemer med å motta e-post?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prøv disse vanlige løsningene: \n — Sjekk om e-posten ble merket som søppelpost eller filtrert bort.\n — Sjekk internettilkoblingen din.\n — Kontrollér at du ikke har skrevet e-postadressen din feil.\n — Kontrollér at innboksen din ikke er full, og se etter andre problemer knyttet til innboksinnstillingene.\n — Hvis trinnene ovenfor ikke bidro til å løse problemet, kan du sende e-posten på nytt. Vær oppmerksom på at dette deaktiverer linken i den forrige e-posten."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "En påloggings-e-post med ytterligere instruksjoner er sendt til %@. Sjekk e-posten din for å fullføre påloggingen."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Påloggings-e-post er sendt"; diff --git a/FirebaseAuthUI/Sources/Strings/nl.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/nl.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 873a407db3e..00000000000 --- a/FirebaseAuthUI/Sources/Strings/nl.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Welkom"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Inloggen met e-mailadres"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Voer uw e-mailadres in"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Dit e-mailadres is niet juist."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Dit accounttype wordt niet ondersteund door deze app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "U heeft al een account"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "U heeft %@ al gebruikt. Log in met %@ om verder te gaan."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Inloggen"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Voer uw wachtwoord in"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Wachtwoord mag niet leeg zijn."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Het ingevoerde e-mailadres en wachtwoord komen niet overeen."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Dit e-mailadres komt niet overeen met een bestaand account."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Dit e-mailadres hoort bij een uitgeschakeld account."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "U heeft te vaak een fout wachtwoord ingevoerd. Probeer het over enkele minuten opnieuw."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Kan de provider niet vinden voor %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-mailadressen komen niet overeen"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Wachtwoord herstellen"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Er wordt een e-mail naar dit adres verzonden met instructies om uw wachtwoord te herstellen."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Controleer uw inbox"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Volg de instructies die we naar %@ hebben verzonden om uw wachtwoord te herstellen."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Account maken"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Voor- en achternaam"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Wachtwoord kiezen"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Servicevoorwaarden"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Privacybeleid"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Door verder te gaan, geeft u aan dat u onze %@ en ons %@ accepteert."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Dit e-mailadres wordt al gebruikt door een ander account."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Sterke wachtwoorden bevatten ten minste zes tekens en een combinatie van letters en cijfers."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Er komen te veel accountaanvragen van uw IP-adres. Probeer het over enkele minuten opnieuw."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "U heeft al ingelogd met %@. Voer uw wachtwoord in voor dit account."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Annuleren"; - -/* Back button title. */ -"Back" = "Terug"; - -/* Next button title. */ -"Next" = "Volgende"; - -/* Save button title. */ -"Save" = "Opslaan"; - -/* Send button title. */ -"Send" = "Verzenden"; - -/* Resend button title. */ -"Resend" = "Opnieuw verzenden"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-mail"; - -/* Label next to a password text field. */ -"Password" = "Wachtwoord"; - -/* Label next to a name text field. */ -"Name" = "Naam"; - -/* Alert title Error. */ -"Error" = "Fout"; - -/* Alert button title Close. */ -"Close" = "Sluiten"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profiel"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Beveiliging"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Gelinkte accounts"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Naam"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-mail"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Wachtwoord toevoegen"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Wachtwoord wijzigen"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Uitloggen"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Account verwijderen"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Wachtwoord vergeten?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Bevestig dat u het bent"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Account verwijderen?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Alle gegevens die aan uw account zijn gekoppeld, worden gewist. Dit kan niet ongedaan worden gemaakt. U moet opnieuw inloggen om deze actie te voltooien."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Alle gegevens die aan uw account zijn gekoppeld, worden gewist. Dit kan niet ongedaan worden gemaakt. Weet u zeker dat u uw account wilt verwijderen?"; - -/* Text of Delete action button. */ -"Delete" = "Verwijderen"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Account verwijderen"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Deze actie kan niet ongedaan worden gemaakt."; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Link verwijderen"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Gelinkt account"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Link met account verwijderen?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "U kunt niet meer inloggen met uw account"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Link met account verwijderen"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Als u het e-mailadres wilt wijzigen dat is gekoppeld aan uw account, moet u opnieuw inloggen."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Om uw wachtwoord te veranderen, moet u eerst uw huidige wachtwoord invoeren."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "E-mailadres bewerken"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Naam bewerken"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Om een wachtwoord toe te voegen aan uw account, moet u opnieuw inloggen."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Om het wachtwoord van uw account te veranderen, moet u opnieuw inloggen."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Om uw wachtwoord te veranderen, moet u eerst uw huidige wachtwoord invoeren."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Wachtwoord toevoegen"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Wachtwoord wijzigen"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-mail"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Inloggen met %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Voer uw naam in"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Voer uw e-mailadres in"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Voer uw wachtwoord in"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nieuw wachtwoord"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Wachtwoord kiezen"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Problemen met inloggen?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "E-mailadres bevestigen"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Ingelogd"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Ontvangt u e-mails niet?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Probeer deze algemene oplossingen: \n - Controleer of de e-mail als spam is gemarkeerd of is weggefilterd.\n - Controleer uw internetverbinding.\n - Controleer of u uw e-mailadres juist heeft gespeld.\n - Controleer of er voldoende ruimte in uw inbox is en of er geen andere problemen met inboxinstellingen zijn.\n Als de bovenstaande stappen geen uitkomst bieden, kunt u de e-mail opnieuw verzenden. Hiermee wordt de link in de eerdere e-mail gedeactiveerd."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Er is een inlogmail met aanvullende instructies verzonden naar %@. Controleer uw inbox om het inlogproces te voltooien."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Inlogmail verzonden"; diff --git a/FirebaseAuthUI/Sources/Strings/nn-NO.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/nn-NO.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 662b6f7404c..00000000000 --- a/FirebaseAuthUI/Sources/Strings/nn-NO.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Velkommen"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Logg på med e-postadresse"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Oppgi e-postadressen din"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "E-postadressen er ikke riktig."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Denne kontotypen støttes ikke i denne appen"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Du har allerede en konto"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Du har allerede brukt %@. Logg på med %@ for å fortsette."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Logg på"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Oppgi passordet ditt"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Du må oppgi et passord."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "E-postadressen og passordet du har angitt, samsvarer ikke."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "E-postadressen samsvarer ikke med en eksisterende konto."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "E-postadressen er for en konto som er deaktivert."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Du har angitt feil passord for mange ganger. Prøv igjen om noen minutter."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Finner ikke leverandøren for %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-postadressene samsvarer ikke"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Gjenopprett passordet"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Få instruksjoner sendt til denne e-postadressen for hvordan du tilbakestiller passordet ditt."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Sjekk e-posten din"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Følg veiledningen som er sendt til %@, for å gjenopprette passordet ditt."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Opprett en konto"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Fornavn og etternavn"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Velg passord"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "vilkårene"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Personvernregler"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Ved å fortsette godtar du %@ og %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "E-postadressen brukes allerede av en annen konto."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Sterke passord består av minst seks tegn og en blanding av bokstaver og tall."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Det kommer for mange kontoforespørsler fra IP-adressen din. Prøv igjen om noen minutter."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Du har allerede brukt %@ for å logge på. Oppgi passordet ditt for den kontoen."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Avbryt"; - -/* Back button title. */ -"Back" = "Tilbake"; - -/* Next button title. */ -"Next" = "Neste"; - -/* Save button title. */ -"Save" = "Lagre"; - -/* Send button title. */ -"Send" = "Send"; - -/* Resend button title. */ -"Resend" = "Send på nytt"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-post"; - -/* Label next to a password text field. */ -"Password" = "Passord"; - -/* Label next to a name text field. */ -"Name" = "Navn"; - -/* Alert title Error. */ -"Error" = "Feil"; - -/* Alert button title Close. */ -"Close" = "Lukk"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Sikkerhet"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Tilknyttede kontoer"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Navn"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-post"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Legg til passord"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Bytt passord"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Logg av"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Slett kontoen"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Har du glemt passordet?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Bekreft identiteten din"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Vil du slette kontoen?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Alle data som er tilknyttet kontoen din, blir slettet, og handlingen kan ikke angres. Du må logge på igjen for å fullføre denne handlingen"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Alle data som er tilknyttet kontoen din, blir slettet, og handlingen kan ikke angres. Er du sikker på at du vil slette kontoen din?"; - -/* Text of Delete action button. */ -"Delete" = "Slett"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Slett kontoen"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Denne handlingen kan ikke angres"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Fjern tilknytningen"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Tilknyttet konto"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Vil du fjerne tilknytningen til kontoen?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Du kommer ikke lenger til å kunne logge på med kontoen din"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Fjern tilknytningen til kontoen"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Du må logge på igjen for å endre e-postadressen som er knyttet til kontoen din."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "For å endre passordet ditt må du først oppgi det eksisterende passordet."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Endre e-postadressen"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Endre navnet"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Du må logge på igjen for å legge til passordet i kontoen din."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Du må logge på igjen for å endre til passordet for kontoen din."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "For å endre passordet ditt må du først oppgi det eksisterende passordet."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Legg til passord"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Bytt passord"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-post"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Logg på med %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Oppgi navnet ditt"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Oppgi e-postadressen din"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Oppgi passordet ditt"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nytt passord"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Velg passord"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Har du problemer med å logge på?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Bekreft e-postadressen"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Pålogget."; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Problemer med å motta e-post?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prøv disse vanlige løsningene: \n — Sjekk om e-posten ble merket som søppelpost eller filtrert bort.\n — Sjekk internettilkoblingen din.\n — Kontrollér at du ikke har skrevet e-postadressen din feil.\n — Kontrollér at innboksen din ikke er full, og se etter andre problemer knyttet til innboksinnstillingene.\n — Hvis trinnene ovenfor ikke bidro til å løse problemet, kan du sende e-posten på nytt. Vær oppmerksom på at dette deaktiverer linken i den forrige e-posten."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "En påloggings-e-post med ytterligere instruksjoner er sendt til %@. Sjekk e-posten din for å fullføre påloggingen."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Påloggings-e-post er sendt"; diff --git a/FirebaseAuthUI/Sources/Strings/pl.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/pl.lproj/FirebaseAuthUI.strings deleted file mode 100644 index be8d11d8be9..00000000000 --- a/FirebaseAuthUI/Sources/Strings/pl.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Witamy"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Zaloguj się za pomocą e-maila"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Wpisz swój adres e-mail"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Nieprawidłowy adres e-mail."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Konto tego typu nie jest obsługiwane przez tę aplikację"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Masz już konto"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Adres %@ został już przez Ciebie użyty. Aby kontynuować, zaloguj się przez: %@."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Zaloguj się"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Wpisz hasło"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Pole z hasłem nie może być puste."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Podany przez Ciebie adres e-mail i hasło nie zgadzają się."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Nie istnieje konto, do którego pasuje ten adres e-mail."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "To jest adres e-mail konta, które zostało wyłączone."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Zbyt wiele razy podano niepoprawne hasło. Spróbuj jeszcze raz za kilka minut."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "%@ – nie można znaleźć usługi"; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Adresy e-mail są niezgodne"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Odzyskiwanie hasła"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Na ten adres e-mail zostaną wysłane instrukcje wyjaśniające, jak zresetować hasło."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Sprawdź pocztę"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Aby odzyskać hasło, wykonaj instrukcje wysłane na adres %@."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Tworzenie konta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Imię i nazwisko"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Wybierz hasło"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Warunki korzystania z usługi"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Polityka prywatności"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Kontynuując, potwierdzasz, że akceptujesz te dokumenty: %@ i %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Adres e-mail jest już używany przez inne konto."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Silne hasło ma co najmniej 6 znaków i jest kombinacją liter oraz cyfr."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Z tego adresu IP wysłano zbyt wiele próśb o utworzenie konta. Spróbuj jeszcze raz za kilka minut."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Adres e-mail %@ był już używany przez Ciebie do logowania. Wpisz hasło tego konta."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Anuluj"; - -/* Back button title. */ -"Back" = "Wstecz"; - -/* Next button title. */ -"Next" = "Dalej"; - -/* Save button title. */ -"Save" = "Zapisz"; - -/* Send button title. */ -"Send" = "Wyślij"; - -/* Resend button title. */ -"Resend" = "Wyślij ponownie"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Adres e-mail"; - -/* Label next to a password text field. */ -"Password" = "Hasło"; - -/* Label next to a name text field. */ -"Name" = "Nazwa"; - -/* Alert title Error. */ -"Error" = "Błąd"; - -/* Alert button title Close. */ -"Close" = "Zamknij"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Zabezpieczenia"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Połączone konta"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nazwa"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Adres e-mail"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Dodaj hasło"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Zmień hasło"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Wyloguj się"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Usuń konto"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Nie pamiętasz hasła?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Potwierdź, że to Ty"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Usunąć konto?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Spowoduje to nieodwracalne usunięcie wszystkich danych powiązanych z Twoim kontem. Aby zakończyć tę czynność, musisz jeszcze raz się zalogować"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Spowoduje to nieodwracalne usunięcie wszystkich danych powiązanych z Twoim kontem. Czy na pewno chcesz usunąć konto?"; - -/* Text of Delete action button. */ -"Delete" = "Usuń"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Usuwanie konta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Tej czynności nie będzie można cofnąć"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Odłącz"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Połączone konto"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Czy odłączyć konto?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Logowanie za pomocą tego konta będzie niemożliwe"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Odłączanie konta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Aby zmienić adres e-mail powiązany ze swoim kontem, musisz zalogować się jeszcze raz."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Aby zmienić hasło, musisz najpierw wpisać to, którego używasz obecnie."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Edycja adresu e-mail"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Edycja nazwy"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Aby dodać hasło do swojego konta, musisz zalogować się jeszcze raz."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Aby zmienić hasło do swojego konta, musisz zalogować się jeszcze raz."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Aby zmienić hasło, musisz najpierw wpisać to, którego używasz obecnie."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Dodawanie hasła"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Zmiana hasła"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Adres e-mail"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Zaloguj się przez: %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Wpisz nazwę"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Wpisz adres e-mail"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Wpisz hasło"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nowe hasło"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Wybierz hasło"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Masz problem z zalogowaniem się?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Potwierdź adres e-mail"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Zalogowano"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "E-maile nie dotarły?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Wypróbuj standardowe rozwiązania: \n – Sprawdź, czy e-mail nie został oznaczony jako spam lub objęty którymś z filtrów.\n – Sprawdź połączenie z internetem.\n – Sprawdź, czy adres e-mail jest wpisany poprawnie.\n – Sprawdź, czy nie kończy się miejsce w skrzynce odbiorczej oraz czy nie ma innych problemów z ustawieniami skrzynki.\n Jeżeli wykonanie powyższych czynności nie dało żadnych rezultatów, możesz wysłać e-maila jeszcze raz. Link wysłany w poprzedniej wiadomości przestanie być aktywny."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Na adres %@ wysłaliśmy e-maila umożliwiającego zalogowanie się z dodatkowymi instrukcjami. Sprawdź pocztę, by się zalogować."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "E-mail umożliwiający zalogowanie się został wysłany"; diff --git a/FirebaseAuthUI/Sources/Strings/pt-BR.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/pt-BR.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 2bcf9700747..00000000000 --- a/FirebaseAuthUI/Sources/Strings/pt-BR.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Bem-vindo"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Fazer login com o e-mail"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Digite seu e-mail"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Endereço de e-mail incorreto."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Este tipo de conta não é compatível com este app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Você já tem uma conta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Você já usou o e-mail %@. Faça login com o %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Fazer login"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Digite sua senha"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "A senha não pode estar vazia."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "O e-mail e a senha que você digitou não coincidem."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "O endereço de e-mail não corresponde a uma conta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Esse endereço de e-mail é referente a uma conta que foi desativada."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Você digitou a senha incorretamente várias vezes. Tente novamente em alguns minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Não foi possível localizar o provedor para %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Os e-mails não coincidem"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar senha"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Veja como redefinir sua senha nas instruções enviadas para este e-mail."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Verifique seu e-mail"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Siga as instruções enviadas para %@ para recuperar sua senha."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Criar conta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nome e sobrenome"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Escolha a senha"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Termos de Serviço"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de privacidade"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Ao continuar, você concorda com nossos %@ e a %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "O endereço de e-mail já está sendo usado em outra conta."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Senhas fortes têm pelo menos 6 caracteres e uma combinação de letras e números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Seu endereço IP está emitindo muitas solicitações de contas. Tente novamente em alguns minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Você já usou %@ para fazer login. Insira sua senha para essa conta."; - -/* OK button title. */ -"OK" = "Ok"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Voltar"; - -/* Next button title. */ -"Next" = "Próxima"; - -/* Save button title. */ -"Save" = "Salvar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-mail"; - -/* Label next to a password text field. */ -"Password" = "Senha"; - -/* Label next to a name text field. */ -"Name" = "Nome"; - -/* Alert title Error. */ -"Error" = "Erro"; - -/* Alert button title Close. */ -"Close" = "Fechar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Segurança"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Contas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nome"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-mail"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Adicionar senha"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Alterar senha"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Sair"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Excluir conta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Esqueceu a senha?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Confirmar sua identidade"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Excluir conta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta ação apagará todos os dados associados à sua conta e não poderá ser desfeita. Faça login novamente para concluir a ação"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta ação apagará todos os dados associados à sua conta e não poderá ser desfeita. Tem certeza que quer excluir sua conta?"; - -/* Text of Delete action button. */ -"Delete" = "Excluir"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Excluir conta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Não é possível desfazer esta ação"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Conta desvinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Desvincular conta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Você não poderá mais fazer login usando sua conta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular conta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para alterar o endereço de e-mail associado à sua conta, faça login novamente."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para alterar sua senha, primeiro insira sua senha atual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar e-mail"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nome"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para adicionar uma senha à sua conta, faça login novamente."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para alterar a senha da sua conta, faça login novamente."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para alterar sua senha, primeiro insira sua senha atual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Adicionar senha"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Alterar senha"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-mail"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Fazer login com o %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Digite seu nome"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Digite seu e-mail"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Digite sua senha"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nova senha"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Escolha a senha"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Problemas para fazer login?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirme o e-mail"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Conectado!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Está com problemas para receber e-mails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Tente estas soluções comuns: \n - Verifique se o e-mail foi filtrado ou marcado como spam.\n - Verifique sua conexão com a Internet.\n - Verifique se você digitou seu e-mail corretamente.\n - Verifique se você ainda tem espaço na sua caixa de entrada, além de outros problemas relacionados à configuração.\n Se as etapas acima não funcionarem, tente enviar o e-mail novamente. Observe que isso desativará o link no e-mail antigo."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Um e-mail de login com mais instruções foi enviado para %@. Verifique sua caixa de entrada para concluir o login."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "E-mail de login enviado"; diff --git a/FirebaseAuthUI/Sources/Strings/pt-PT.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/pt-PT.lproj/FirebaseAuthUI.strings deleted file mode 100644 index ea1c3244bd9..00000000000 --- a/FirebaseAuthUI/Sources/Strings/pt-PT.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Bem-vindo"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Iniciar sessão com o email"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Introduza o seu email"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "O endereço de email não está correto."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "O tipo de conta não é suportado por esta aplicação"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Já tem uma conta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Já utilizou %@. Inicie sessão com %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Iniciar sessão"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Introduza a palavra-passe"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "O campo da palavra-passe não pode ficar vazio."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "O email e a palavra-passe introduzidos não coincidem."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "O endereço de email introduzido não corresponde a uma conta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "O endereço de email introduzido corresponde a uma conta que foi desativada."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Introduziu uma palavra-passe incorreta demasiadas vezes. Tente novamente dentro de alguns minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Não é possível encontrar a operadora de %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Os emails não coincidem"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar a palavra-passe"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Utilize este endereço de email para obter instruções que explicam como repor a palavra-passe."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Verifique o seu email"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Siga as instruções enviadas para %@ para recuperar a palavra-passe."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Criar conta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nome próprio e apelido"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Escolha uma palavra-passe"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Termos de Utilização"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de Privacidade"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Ao continuar, indica que aceita os %@ e a %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "O endereço de email já está a ser utilizado por outra conta."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Para criar uma palavra-passe forte é necessário utilizar, no mínimo, 6 caracteres e uma combinação de letras e de números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "O seu endereço de IP enviou demasiados pedidos de conta. Tente novamente dentro de alguns minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Já utilizou %@ para iniciar sessão. Introduza a palavra-passe da conta em questão."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Anterior"; - -/* Next button title. */ -"Next" = "Seguinte"; - -/* Save button title. */ -"Save" = "Guardar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Email"; - -/* Label next to a password text field. */ -"Password" = "Palavra-passe"; - -/* Label next to a name text field. */ -"Name" = "Nome"; - -/* Alert title Error. */ -"Error" = "Erro"; - -/* Alert button title Close. */ -"Close" = "Fechar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Segurança"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Contas associadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nome"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Email"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Adicionar palavra-passe"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Alterar palavra-passe"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Terminar sessão"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Eliminar conta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Esqueceu-se da palavra-passe?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Valide a sua identidade"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Pretende eliminar a conta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta ação apaga todos os dados associados à sua conta e não pode ser anulada. Inicie sessão novamente para concluir esta ação"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta ação apaga todos os dados associados à sua conta e não pode ser anulada. Tem a certeza de que pretende eliminar a sua conta?"; - -/* Text of Delete action button. */ -"Delete" = "Eliminar"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Eliminar conta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Não é possível anular esta ação"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desassociar"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Conta associada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Pretende desassociar a conta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Deixará de poder iniciar sessão com a sua conta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desassociar conta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para alterar o endereço de email associado à sua conta, é necessário iniciar sessão novamente."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para alterar a palavra-passe, primeiro tem de introduzir a palavra-passe atual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar email"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nome"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para adicionar uma palavra-passe à sua conta, tem de iniciar sessão novamente."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para alterar a palavra-passe da sua conta, tem de iniciar sessão novamente."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para alterar a palavra-passe, primeiro tem de introduzir a palavra-passe atual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Adicionar palavra-passe"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Alterar palavra-passe"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Email"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Iniciar sessão com %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Introduza o seu nome"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Introduza o seu email"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Introduza a palavra-passe"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nova palavra-passe"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Escolha uma palavra-passe"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Está com problemas ao iniciar sessão?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirme o email"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Com sessão iniciada!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Está com problemas para receber emails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Experimente estas correções comuns: \n – Verifique se o email foi assinalado como spam ou filtrado.\n – Verifique a ligação à Internet.\n – Certifique-se de que não introduziu o email incorretamente.\n – Certifique-se de que a sua caixa de entrada não está a ficar sem espaço disponível nem está com outros problemas relacionados com as definições da caixa de entrada.\n Se os passos acima não resolverem o problema, pode reenviar o email. Tenha em atenção que esta ação desativa o link no email mais antigo."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Enviámos um email de início de sessão com instruções adicionais para %@. Consulte o seu email para concluir o início de sessão."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Email de início de sessão enviado."; diff --git a/FirebaseAuthUI/Sources/Strings/pt.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/pt.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 2bcf9700747..00000000000 --- a/FirebaseAuthUI/Sources/Strings/pt.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Bem-vindo"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Fazer login com o e-mail"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Digite seu e-mail"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Endereço de e-mail incorreto."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Este tipo de conta não é compatível com este app"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Você já tem uma conta"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Você já usou o e-mail %@. Faça login com o %@ para continuar."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Fazer login"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Digite sua senha"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "A senha não pode estar vazia."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "O e-mail e a senha que você digitou não coincidem."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "O endereço de e-mail não corresponde a uma conta existente."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Esse endereço de e-mail é referente a uma conta que foi desativada."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Você digitou a senha incorretamente várias vezes. Tente novamente em alguns minutos."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Não foi possível localizar o provedor para %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Os e-mails não coincidem"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperar senha"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Veja como redefinir sua senha nas instruções enviadas para este e-mail."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Verifique seu e-mail"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Siga as instruções enviadas para %@ para recuperar sua senha."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Criar conta"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Nome e sobrenome"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Escolha a senha"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Termos de Serviço"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Política de privacidade"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Ao continuar, você concorda com nossos %@ e a %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "O endereço de e-mail já está sendo usado em outra conta."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Senhas fortes têm pelo menos 6 caracteres e uma combinação de letras e números."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Seu endereço IP está emitindo muitas solicitações de contas. Tente novamente em alguns minutos."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Você já usou %@ para fazer login. Insira sua senha para essa conta."; - -/* OK button title. */ -"OK" = "Ok"; - -/* Cancel button title. */ -"Cancel" = "Cancelar"; - -/* Back button title. */ -"Back" = "Voltar"; - -/* Next button title. */ -"Next" = "Próxima"; - -/* Save button title. */ -"Save" = "Salvar"; - -/* Send button title. */ -"Send" = "Enviar"; - -/* Resend button title. */ -"Resend" = "Reenviar"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-mail"; - -/* Label next to a password text field. */ -"Password" = "Senha"; - -/* Label next to a name text field. */ -"Name" = "Nome"; - -/* Alert title Error. */ -"Error" = "Erro"; - -/* Alert button title Close. */ -"Close" = "Fechar"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Perfil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Segurança"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Contas vinculadas"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nome"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-mail"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Adicionar senha"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Alterar senha"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Sair"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Excluir conta"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Esqueceu a senha?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Confirmar sua identidade"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Excluir conta?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Esta ação apagará todos os dados associados à sua conta e não poderá ser desfeita. Faça login novamente para concluir a ação"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Esta ação apagará todos os dados associados à sua conta e não poderá ser desfeita. Tem certeza que quer excluir sua conta?"; - -/* Text of Delete action button. */ -"Delete" = "Excluir"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Excluir conta"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Não é possível desfazer esta ação"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Desvincular"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Conta desvinculada"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Desvincular conta?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Você não poderá mais fazer login usando sua conta"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Desvincular conta"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Para alterar o endereço de e-mail associado à sua conta, faça login novamente."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Para alterar sua senha, primeiro insira sua senha atual."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Editar e-mail"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Editar nome"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Para adicionar uma senha à sua conta, faça login novamente."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Para alterar a senha da sua conta, faça login novamente."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Para alterar sua senha, primeiro insira sua senha atual."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Adicionar senha"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Alterar senha"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-mail"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Fazer login com o %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Digite seu nome"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Digite seu e-mail"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Digite sua senha"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nova senha"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Escolha a senha"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Problemas para fazer login?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirme o e-mail"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Conectado!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Está com problemas para receber e-mails?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Tente estas soluções comuns: \n - Verifique se o e-mail foi filtrado ou marcado como spam.\n - Verifique sua conexão com a Internet.\n - Verifique se você digitou seu e-mail corretamente.\n - Verifique se você ainda tem espaço na sua caixa de entrada, além de outros problemas relacionados à configuração.\n Se as etapas acima não funcionarem, tente enviar o e-mail novamente. Observe que isso desativará o link no e-mail antigo."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Um e-mail de login com mais instruções foi enviado para %@. Verifique sua caixa de entrada para concluir o login."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "E-mail de login enviado"; diff --git a/FirebaseAuthUI/Sources/Strings/ro.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/ro.lproj/FirebaseAuthUI.strings deleted file mode 100644 index efb9e8eba20..00000000000 --- a/FirebaseAuthUI/Sources/Strings/ro.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Bun venit"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Conectați-vă cu adresa de e-mail"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Introduceți adresa de e-mail"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Adresa de e-mail nu este corectă."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Acest tip de cont nu este acceptat de aplicație"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Aveți deja un cont"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ați folosit deja %@. Pentru a continua, conectați-vă cu %@."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Conectați-vă"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Introduceți parola"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Parola trebuie completată."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Adresa de e-mail și parola pe care le-ați introdus nu se potrivesc."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Adresa de e-mail nu corespunde unui cont existent."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Această adresă de e-mail aparține unui cont dezactivat."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ați introdus de prea multe ori o parolă incorectă. Încercați din nou peste câteva minute."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Furnizorul pentru %@ nu poate fi găsit."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Adresele de e-mail nu sunt identice"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Recuperați parola"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Primiți instrucțiuni pentru resetarea parolei la această adresă de e-mail."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Verificați căsuța de e-mail"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Urmați instrucțiunile trimise la %@ pentru a vă recupera parola."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Creați un cont"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Prenume și nume de familie"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Alegeți o parolă"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Termeni și condițiile"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Politica de confidențialitate"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Dacă alegeți să continuați, sunteți de acord cu %@ și cu %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Adresa de e-mail este folosită deja de alt cont."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Parolele puternice au cel puțin 6 caractere și conțin o combinație de litere și cifre."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Au fost create prea multe solicitări de conturi de la această adresă IP. Încercați din nou peste câteva minute."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ați folosit deja %@ pentru a vă conecta. Introduceți parola acestui cont."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Anulați"; - -/* Back button title. */ -"Back" = "Înapoi"; - -/* Next button title. */ -"Next" = "Înainte"; - -/* Save button title. */ -"Save" = "Salvați"; - -/* Send button title. */ -"Send" = "Trimiteți"; - -/* Resend button title. */ -"Resend" = "Retrimiteți"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Adresă de e-mail"; - -/* Label next to a password text field. */ -"Password" = "Parolă"; - -/* Label next to a name text field. */ -"Name" = "Nume"; - -/* Alert title Error. */ -"Error" = "Eroare"; - -/* Alert button title Close. */ -"Close" = "Închideți"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Securitate"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Conturi conectate"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Nume"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Adresă de e-mail"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Adăugați parola"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Schimbați parola"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Deconectați-vă"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Ștergeți contul"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Ați uitat parola?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Confirmați-vă identitatea"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Ștergeți contul?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Toate datele asociate acestui cont vor fi șterse, iar acțiunea nu poate fi anulată. Va trebui să vă conectați din nou pentru a finaliza acțiunea."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Toate datele asociate acestui cont vor fi șterse, iar acțiunea nu poate fi anulată. Sigur doriți să vă ștergeți contul?"; - -/* Text of Delete action button. */ -"Delete" = "Ștergeți"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Ștergeți contul"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Această acțiune nu poate fi anulată"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Deconectați"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Cont conectat"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Deconectați contul?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Nu vă veți mai putea conecta folosind contul"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Deconectați contul"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Pentru a schimba adresa de e-mail asociată contului, va trebui să vă conectați din nou."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Pentru a vă schimba parola, trebuie să introduceți parola actuală."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Modificați adresa de e-mail"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Modificați numele"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Pentru a adăuga parola contului, va trebui să vă conectați din nou."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Pentru a schimba parola contului, va trebui să vă conectați din nou."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Pentru a vă schimba parola, trebuie să introduceți parola actuală."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Adăugați parola"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Schimbați parola"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Adresă de e-mail"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Conectați-vă cu %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Introduceți numele"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Introduceți adresa de e-mail"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Introduceți parola"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Parolă nouă"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Alegeți o parolă"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Nu reușiți să vă conectați?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Confirmați adresa de e-mail"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Conectat(ă)!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Nu primiți e-mailuri?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Încercați aceste soluții frecvent folosite: \n - verificați dacă e-mailul a fost marcat ca spam sau filtrat;\n - verificați conexiunea la internet;\n - verificați dacă ați scris corect adresa de e-mail;\n - verificați dacă aveți spațiu în căsuța de e-mail sau dacă există alte probleme legate de setările căsuței de e-mail.\n Dacă pașii de mai sus nu funcționează, puteți să trimiteți din nou e-mailul. Rețineți că va fi dezactivat linkul din e-mailul anterior."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Un e-mail de conectare cu instrucțiuni suplimentare a fost trimis la %@. Verificați-vă căsuța de e-mail pentru a finaliza conectarea."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "A fost trimis e-mailul de conectare"; diff --git a/FirebaseAuthUI/Sources/Strings/ru.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/ru.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 5a85070c7a2..00000000000 --- a/FirebaseAuthUI/Sources/Strings/ru.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Добро пожаловать!"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Войти по адресу электронной почты"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Введите свой адрес электронной почты"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Неверный адрес электронной почты."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "В этом приложении не поддерживается такой тип аккаунта."; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "У вас уже есть аккаунт"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Вы уже использовали адрес %@. Войдите через аккаунт %@."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Войти"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Введите пароль"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Укажите пароль."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Неверный адрес эл. почты или пароль."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Нет аккаунта с таким адресом электронной почты."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Аккаунт с этим адресом электронной почты отключен."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Вы неправильно ввели пароль слишком много раз. Прежде чем повторить попытку, подождите несколько минут."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "%@: поставщик услуг не найден."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Адреса электронной почты не совпадают."; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Сбор пароля"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "На этот адрес будет отправлено письмо с инструкциями по сбросу пароля."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Проверьте электронную почту"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "На адрес %@ отправлено письмо с инструкциями по сбросу пароля."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Создать аккаунт"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Имя и фамилия"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Выберите пароль"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Условия использования"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Политика конфиденциальности"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Продолжая, вы принимаете два документа. Вот они: %@ и %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Этот адрес электронной почты уже используется в другом аккаунте."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Пароль должен состоять из букв и цифр и содержать не меньше шести символов."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "С вашего IP-адреса поступает слишком много запросов на создание аккаунта. Повторите попытку через несколько минут."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Вы уже использовали адрес %@. Введите пароль для этого аккаунта."; - -/* OK button title. */ -"OK" = "ОК"; - -/* Cancel button title. */ -"Cancel" = "Отмена"; - -/* Back button title. */ -"Back" = "Назад"; - -/* Next button title. */ -"Next" = "Далее"; - -/* Save button title. */ -"Save" = "Сохранить"; - -/* Send button title. */ -"Send" = "Отправить"; - -/* Resend button title. */ -"Resend" = "Отправить ещё раз"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Адрес электронной почты"; - -/* Label next to a password text field. */ -"Password" = "Пароль"; - -/* Label next to a name text field. */ -"Name" = "Имя"; - -/* Alert title Error. */ -"Error" = "Ошибка"; - -/* Alert button title Close. */ -"Close" = "Закрыть"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Профиль"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Безопасность"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Связанные аккаунты"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Имя"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Адрес электронной почты"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Добавить пароль"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Изменить пароль"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Выйти"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Удалить аккаунт"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Забыли пароль?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Подтвердите, что это вы"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Удалить аккаунт?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Все данные в нем будут безвозвратно удалены. Чтобы завершить это действие, нужно будет войти в аккаунт ещё раз."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Все данные в аккаунте будут безвозвратно удалены. Вы уверены, что хотите продолжить?"; - -/* Text of Delete action button. */ -"Delete" = "Удалить"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Удаление аккаунта"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Отменить это действие невозможно."; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Отменить связь"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Связанный аккаунт"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Отменить связь с аккаунтом?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Вы больше не сможете входить в систему с его помощью."; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Отменить связь с аккаунтом"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Чтобы связать с аккаунтом другой адрес, потребуется повторно войти в систему."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Сначала нужно ввести текущий пароль."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Изменить адрес электронной почты"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Изменить имя"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Чтобы добавить новый пароль, нужно будет войти в аккаунт ещё раз."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Чтобы изменить пароль, нужно будет войти в аккаунт ещё раз."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Сначала нужно ввести текущий пароль."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Добавить пароль"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Изменить пароль"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Адрес электронной почты"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Войти через аккаунт %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Введите свое имя"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Введите свой адрес электронной почты"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Введите пароль"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Новый пароль"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Выберите пароль"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Не удается войти в аккаунт?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Подтвердите адрес электронной почты"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Вход выполнен"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Не получили письмо?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Вот что можно сделать: \n – Поищите письмо в папке со спамом или отфильтрованными сообщениями.\n – Проверьте подключение к Интернету.\n – Убедитесь, что правильно указали свой адрес электронной почты.\n – Проверьте настройки папки со входящими сообщениям и посмотрите, достаточно ли в ней места.\n Если найти письмо не удалось, мы можем отправить его ещё раз. В таком случае ссылка из предыдущего сообщения станет недействительна."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "На адрес электронной почты %@ отправлено письмо с информацией о том, как войти в аккаунт. Изучите его и выполните инструкции."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Письмо отправлено."; diff --git a/FirebaseAuthUI/Sources/Strings/sk.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/sk.lproj/FirebaseAuthUI.strings deleted file mode 100644 index da3c9cc17f4..00000000000 --- a/FirebaseAuthUI/Sources/Strings/sk.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Vitajte"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Prihlásiť sa e-mailom"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Zadajte svoj e-mail"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Daná e-mailová adresa nie je správna."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Táto aplikácia nepodporuje tento typ účtu"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Už máte účet"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Už ste použili adresu %@. Ak chcete pokračovať, prihláste sa cez %@."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Prihlásiť sa"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Zadajte svoje heslo"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Heslo nesmie byť prázdne."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Zadaný e-mail a heslo sa nezhodujú."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Daná e-mailová adresa sa nezhoduje s existujúcim účtom."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Daná e-mailová adresa patrí k účtu, ktorý bol deaktivovaný."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Zadali ste nesprávne heslo príliš veľakrát. Skúste to znova o pár minút."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Nemožno nájsť poskytovateľa pre službu %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-maily sa nezhodujú"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Obnovenie hesla"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Nechajte si na tento e-mail poslať pokyny s vysvetlením, ako obnoviť svoje heslo."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Skontrolujte si e-mail"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Obnovte si heslo podľa pokynov odoslaných na adresu %@."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Vytvoriť účet"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Krstné meno a priezvisko"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Zvoľte si heslo"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Zmluvné podmienky"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Pravidlá ochrany súkromia"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Pokračovaním vyjadrujete súhlas s dokumentmi %@ a %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "E-mailovú adresu už využíva iný účet."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Silné heslá majú aspoň 6 znakov a kombinujú písmena a čísla."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Z vašej adresy IP prichádza príliš veľa žiadostí o účet. Skúste to znova o pár minút."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Na prihlásenie ste už použili e-mailovú adresu %@. Zadajte heslo pre daný účet."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Zrušiť"; - -/* Back button title. */ -"Back" = "Späť"; - -/* Next button title. */ -"Next" = "Ďalej"; - -/* Save button title. */ -"Save" = "Uložiť"; - -/* Send button title. */ -"Send" = "Odoslať"; - -/* Resend button title. */ -"Resend" = "Odoslať znova"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-mail"; - -/* Label next to a password text field. */ -"Password" = "Heslo"; - -/* Label next to a name text field. */ -"Name" = "Názov"; - -/* Alert title Error. */ -"Error" = "Chyba"; - -/* Alert button title Close. */ -"Close" = "Zatvoriť"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Zabezpečenie"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Prepojené účty"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Názov"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-mail"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Pridanie hesla"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Zmena hesla"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Odhlásenie"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Odstránenie účtu"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Zabudli ste heslo?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Overte, že ste to vy"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Chcete odstrániť účet?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Týmto sa vymažú všetky dáta súvisiace s vaším účtom a túto akciu nie je možné vrátiť späť. Na dokončenie tejto akcie sa budete musieť prihlásiť"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Týmto sa vymažú všetky dáta súvisiace s vaším účtom a túto akciu nie je možné vrátiť späť. Naozaj chcete odstrániť svoj účet?"; - -/* Text of Delete action button. */ -"Delete" = "Odstrániť"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Odstrániť účet"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Túto akciu nie je možné vrátiť späť"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Odpojiť"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Prepojený účet"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Chcete odpojiť účet?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Už sa nebudete môcť prihlásiť svojím účtom"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Odpojiť účet"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Ak chcete zmeniť e-mailovú adresu prepojenú s vaším účtom, budete sa musieť znova prihlásiť."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Ak chcete zmeniť heslo, musíte najskôr zadať aktuálne heslo."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Úprava e-mailu"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Úprava názvu"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Ak chcete k účtu pridať heslo, budete sa musieť znova prihlásiť."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Ak chcete zmeniť heslo svojho účtu, budete sa musieť znova prihlásiť."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Ak chcete zmeniť heslo, musíte najskôr zadať aktuálne heslo."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Pridanie hesla"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Zmena hesla"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-mail"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Prihlásiť sa cez %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Zadajte svoje meno"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Zadajte svoj e-mail"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Zadajte svoje heslo"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nové heslo"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Zvoľte si heslo"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Máte problémy s prihlásením?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Potvrdenie e‑mailovej adresy"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Prihlásili ste sa."; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Máte problémy s prijímaním e‑mailov?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Vyskúšajte tieto bežné riešenia: \n – Skontrolujte, či bol e‑mail označený ako spam alebo či bol odfiltrovaný.\n – Skontrolujte internetové pripojenie.\n – Skontrolujte, či ste správne napísali svoju e‑mailovú adresu.\n – Skontrolujte, či máte v doručenej pošte dostatok miesta alebo či nemáte iné problémy súvisiace s nastaveniami doručenej pošty.\n Ak kroky uvedené vyššie nepomohli, môžete si e‑mail nechať poslať znova. Upozorňujeme, že sa tým deaktivuje odkaz v staršom e‑maile."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Prihlasovací e‑mail s ďalšími pokynmi bol odoslaný na adresu %@. Pozrite si poštu a dokončite prihlásenie."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Prihlasovací e‑mail bol odoslaný"; diff --git a/FirebaseAuthUI/Sources/Strings/sl.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/sl.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 5509a558492..00000000000 --- a/FirebaseAuthUI/Sources/Strings/sl.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Dobrodošli"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Prijava z e-pošto"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Vnesite e-pošto"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "E-pošta ni pravilna."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Aplikacija ne podpira te vrste računov"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Račun že imate"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "E-poštni naslov %@ ste že uporabili. Če želite nadaljevati, se prijavite z računom za %@."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Prijava"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Vnesite geslo"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Geslo ne sme biti prazno."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "E-poštni naslov in geslo, ki ste ju vnesli, se ne ujemata."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "E-poštni naslov se ne ujema z obstoječim računom."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "E-poštni naslov je za račun, ki je bil onemogočen."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Prevečkrat ste vnesli nepravilno geslo. Poskusite znova čez nekaj minut."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Ponudnika za %@ ni mogoče najti."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-pošti se ne ujemata"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Obnovitev gesla"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Na to e-pošto vam bomo poslali navodila za ponastavitev gesla."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Preverite e-pošto"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Če želite obnoviti geslo, upoštevajte navodila, ki smo jih poslali na naslov %@."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Ustvarjanje računa"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Ime in priimek"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Izberite geslo"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "pogoji storitve"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Pravilnik o zasebnosti"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Z nadaljevanjem potrjujete, da se strinjate z dokumentoma %@ in %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "E-poštni naslov že uporablja drug račun."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Zapletena gesla imajo vsaj 6 znakov in so sestavljena iz kombinacije črk ter številk"; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Z vašega naslova IP prihaja preveč zahtev za ustvarjanje novih računov. Poskusite znova čez nekaj minut."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "E-poštni naslov %@ ste že uporabili za prijavo. Vnesite geslo za ta račun."; - -/* OK button title. */ -"OK" = "V redu"; - -/* Cancel button title. */ -"Cancel" = "Prekliči"; - -/* Back button title. */ -"Back" = "Nazaj"; - -/* Next button title. */ -"Next" = "Naprej"; - -/* Save button title. */ -"Save" = "Shrani"; - -/* Send button title. */ -"Send" = "Pošlji"; - -/* Resend button title. */ -"Resend" = "Pošlji znova"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-pošta"; - -/* Label next to a password text field. */ -"Password" = "Geslo"; - -/* Label next to a name text field. */ -"Name" = "Ime"; - -/* Alert title Error. */ -"Error" = "Napaka"; - -/* Alert button title Close. */ -"Close" = "Zapri"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Varnost"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Povezani računi"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Ime"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-pošta"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Dodajanje gesla"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Spreminjanje gesla"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Odjava"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Brisanje računa"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Ali ste pozabili geslo?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Potrdite, da ste to vi"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Ali želite izbrisati račun?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "S tem dejanjem, ki ga ni mogoče razveljaviti, boste izbrisali vse podatke, povezane z vašim računom. Če želite dokončati to dejanje, se boste morali prijaviti znova."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "S tem dejanjem, ki ga ni mogoče razveljaviti, boste izbrisali vse podatke, povezane z vašim računom. Ali ste prepričani, da želite izbrisati svoj račun?"; - -/* Text of Delete action button. */ -"Delete" = "Izbriši"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Brisanje računa"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Tega dejanja ni mogoče razveljaviti"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Prekini povezavo"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Povezan račun"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Ali želite prekiniti povezavo z računom?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "S svojim računom se ne boste mogli več prijaviti"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Prekini povezavo z računom"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Če želite spremeniti e-poštni naslov, povezan z vašim računom, se boste morali prijaviti znova."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Če želite spremeniti geslo, morate najprej vnesti trenutno geslo."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Urejanje e-pošte"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Urejanje imena"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Če želite računu dodati geslo, se boste morali prijaviti znova."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Če želite spremeniti geslo računa, se boste morali prijaviti znova."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Če želite spremeniti geslo, morate najprej vnesti trenutno geslo."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Dodajanje gesla"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Spreminjanje gesla"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-pošta"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Prijava z računom za %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Vnesite ime"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Vnesite e-pošto"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Vnesite geslo"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Novo geslo"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Izberite geslo"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Ali imate težave pri prijavi?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Potrditev e-poštnega naslova"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Prijavljeni ste."; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Niste prejeli e-poštnega sporočila?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Poskusite te splošne rešitve: \n – Preverite, ali je bilo e-poštno sporočilo označeno kot vsiljena pošta ali filtrirano.\n – Preverite internetno povezavo.\n – Preverite, ali je e-poštni naslov pravilno zapisan.\n – Zagotovite, da imate v nabiralniku dovolj prostora oziroma da ni prišlo do drugih težav, povezanih z nastavitvami nabiralnika.\n – Če z zgornjimi koraki ne odpravite težave, lahko znova pošljete e-poštno sporočilo. Upoštevajte, da boste s tem onemogočili povezavo v prejšnjem e-poštnem sporočilu."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "E-poštno sporočilo za prijavo z dodatnimi navodili je bilo poslano na %@. Preverite e-pošto in dokončajte prijavo."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "E-poštno sporočilo za prijavo je bilo poslano"; diff --git a/FirebaseAuthUI/Sources/Strings/sr-Latn.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/sr-Latn.lproj/FirebaseAuthUI.strings deleted file mode 100644 index fd9a4ecf2ff..00000000000 --- a/FirebaseAuthUI/Sources/Strings/sr-Latn.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Dobro došli"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Prijavi me pomoću imejla"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Unesite imejl"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Ta imejl adresa nije tačna."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Ova aplikacija ne podržava taj tip naloga"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Već imate nalog"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Već ste upotrebili %@. Prijavite se pomoću %@-a da biste nastavili."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Prijavi me"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Unesite lozinku"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Lozinka mora da se unese."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Imejl i lozinka koje ste uneli se ne podudaraju."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Ta imejl adresa ne odgovara nijednom postojećem nalogu."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Ta imejl adresa pripada deaktiviranom nalogu."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Previše puta ste uneli netačnu lozinku. Probajte ponovo za par minuta."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Nismo uspeli da nađemo dobavljača za %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Imejlovi se ne podudaraju"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Povratite lozinku"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Na ovaj imejl ćete dobiti uputstva kako da resetujete lozinku."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Proverite imejl"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Pratite uputstva koja smo vam poslali na %@ da biste povratili lozinku."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Otvorite nalog"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Ime i prezime"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Izaberite lozinku"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Uslovi korišćenja usluge"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Politika privatnosti"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Ako nastavite, potvrđujete da prihvatate dokumente %@ i %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Ova imejl adresa se već koristi za drugi nalog."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Jake lozinke imaju bar 6 znakova, uz kombinaciju slova i brojeva."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Sa vaše IP adrese potiče previše zahteva za nalog. Probajte ponovo za par minuta."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Već ste koristili adresu %@ za prijavljivanje. Unesite lozinku za taj nalog."; - -/* OK button title. */ -"OK" = "Potvrdi"; - -/* Cancel button title. */ -"Cancel" = "Otkaži"; - -/* Back button title. */ -"Back" = "Nazad"; - -/* Next button title. */ -"Next" = "Sledeće"; - -/* Save button title. */ -"Save" = "Sačuvaj"; - -/* Send button title. */ -"Send" = "Pošalji"; - -/* Resend button title. */ -"Resend" = "Ponovo pošalji"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Imejl"; - -/* Label next to a password text field. */ -"Password" = "Lozinka"; - -/* Label next to a name text field. */ -"Name" = "Ime"; - -/* Alert title Error. */ -"Error" = "Greška"; - -/* Alert button title Close. */ -"Close" = "Zatvori"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Bezbednost"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Povezani nalozi"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Ime"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Imejl"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Dodajte lozinku"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Promenite lozinku"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Odjavi me"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Brisanje naloga"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Zaboravili ste lozinku?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Potvrdite da ste to vi"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Želite li da izbrišete nalog?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Ovim ćete trajno izbrisati sve podatke povezane sa nalogom. Treba da se ponovo prijavite da biste mogli da obavite ovu radnju"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Ovim ćete trajno izbrisati sve podatke povezane sa nalogom. Želite li stvarno da izbrišete nalog?"; - -/* Text of Delete action button. */ -"Delete" = "Izbriši"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Izbriši nalog"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Ova radnja ne može da se opozove"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Opozovi vezu"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Povezani nalog"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Želite li da opozovete vezu sa nalogom?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Više nećete moći da se prijavljujete pomoću naloga"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Opoziv veze sa nalogom"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Da biste promenili imejl adresu povezanu sa nalogom, treba da se ponovo prijavite."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Da biste promenili lozinku, treba da unesete trenutnu lozinku."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Izmena imejla"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Izmena naziva"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Da biste nalogu dodali lozinku, treba ponovo da se prijavite."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Da biste promenili lozinku naloga, treba ponovo da se prijavite."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Da biste promenili lozinku, treba je da unesete trenutnu lozinku."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Dodajte lozinku"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Promenite lozinku"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Imejl"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Prijavite se pomoću %@-a"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Unesite ime"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Unesite imejl"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Unesite lozinku"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nova lozinka"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Izaberite lozinku"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Imate problema pri prijavljivanju?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Potvrdite imejl adresu"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Prijavljeni ste!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Imate problema sa prijemom imejla?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Probajte ova uobičajena rešenja: \n– Proverite da li je imejl filtriran ili obeležen kao nepoželjan.\n – Proverite internet vezu.\n – Proverite da li ste tačno upisali imejl adresu.\n – Proverite da niste ostali bez prostora u prijemnom sandučetu, odnosno da nema drugih problema sa prijemnim sandučetom.\n Ako navedene mere ne urode plodom, možete ponovo da pošaljete imejl. Imajte u vidu da ćete time deaktivirati link u starijem imejlu."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Imejl za prijavljivanje sa dodatnim uputstvima je poslat na %@. Proverite imejl da biste dovršili prijavljivanje."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Poslali smo vam imejl za prijavljivanje"; diff --git a/FirebaseAuthUI/Sources/Strings/sr.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/sr.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 34f17afbcff..00000000000 --- a/FirebaseAuthUI/Sources/Strings/sr.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Добро дошли"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Пријави ме помоћу имејла"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Унесите имејл"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Та имејл адреса није тачна."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Ова апликација не подржава тај тип налога"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Већ имате налог"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Већ сте употребили %@. Пријавите се помоћу %@-а да бисте наставили."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Пријави ме"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Унесите лозинку"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Лозинка мора да се унесе."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Имејл и лозинка које сте унели се не подударају."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Та имејл адреса не одговара ниједном постојећем налогу."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Та имејл адреса припада деактивираном налогу."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Превише пута сте унели нетачну лозинку. Пробајте поново за пар минута."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Нисмо успели да нађемо добављача за %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Имејлови се не подударају"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Повратите лозинку"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "На овај имејл ћете добити упутства како да ресетујете лозинку."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Проверите имејл"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Пратите упутства која смо вам послали на %@ да бисте повратили лозинку."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Отворите налог"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Име и презиме"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Изаберите лозинку"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Услови коришћења услуге"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Политика приватности"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Ако наставите, потврђујете да прихватате документе %@ и %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Ова имејл адреса се већ користи за други налог."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Јаке лозинке имају бар 6 знакова, уз комбинацију слова и бројева."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Са ваше IP адресе потиче превише захтева за налог. Пробајте поново за пар минута."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Већ сте користили адресу %@ за пријављивање. Унесите лозинку за тај налог."; - -/* OK button title. */ -"OK" = "Потврди"; - -/* Cancel button title. */ -"Cancel" = "Откажи"; - -/* Back button title. */ -"Back" = "Назад"; - -/* Next button title. */ -"Next" = "Следеће"; - -/* Save button title. */ -"Save" = "Сачувај"; - -/* Send button title. */ -"Send" = "Пошаљи"; - -/* Resend button title. */ -"Resend" = "Поново пошаљи"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Имејл"; - -/* Label next to a password text field. */ -"Password" = "Лозинка"; - -/* Label next to a name text field. */ -"Name" = "Име"; - -/* Alert title Error. */ -"Error" = "Грешка"; - -/* Alert button title Close. */ -"Close" = "Затвори"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Профил"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Безбедност"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Повезани налози"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Име"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Имејл"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Додајте лозинку"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Промените лозинку"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Одјави ме"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Брисање налога"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Заборавили сте лозинку?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Потврдите да сте то ви"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Желите ли да избришете налог?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Овим ћете трајно избрисати све податке повезане са налогом. Треба да се поново пријавите да бисте могли да обавите ову радњу"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Овим ћете трајно избрисати све податке повезане са налогом. Желите ли стварно да избришете налог?"; - -/* Text of Delete action button. */ -"Delete" = "Избриши"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Избриши налог"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Ова радња не може да се опозове"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Опозови везу"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Повезани налог"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Желите ли да опозовете везу са налогом?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Више нећете моћи да се пријављујете помоћу налога"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Опозив везе са налогом"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Да бисте променили имејл адресу повезану са налогом, треба да се поново пријавите."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Да бисте променили лозинку, треба да унесете тренутну лозинку."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Измена имејла"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Измена назива"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Да бисте налогу додали лозинку, треба поново да се пријавите."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Да бисте променили лозинку налога, треба поново да се пријавите."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Да бисте променили лозинку, треба је да унесете тренутну лозинку."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Додајте лозинку"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Промените лозинку"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Имејл"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Пријавите се помоћу %@-а"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Унесите име"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Унесите имејл"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Унесите лозинку"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Нова лозинка"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Изаберите лозинку"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Имате проблема при пријављивању?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Потврдите имејл адресу"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Пријављени сте!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Имате проблема са пријемом имејла?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Пробајте ова уобичајена решења: \n– Проверите да ли је имејл филтриран или обележен као непожељан.\n – Проверите интернет везу.\n – Проверите да ли сте тачно уписали имејл адресу.\n – Проверите да нисте остали без простора у пријемном сандучету, односно да нема других проблема са пријемним сандучетом.\n Ако наведене мере не уроде плодом, можете поново да пошаљете имејл. Имајте у виду да ћете тиме деактивирати линк у старијем имејлу."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Имејл за пријављивање са додатним упутствима је послат на %@. Проверите имејл да бисте довршили пријављивање."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Послали смо вам имејл за пријављивање"; diff --git a/FirebaseAuthUI/Sources/Strings/sv.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/sv.lproj/FirebaseAuthUI.strings deleted file mode 100644 index e7c94ec562a..00000000000 --- a/FirebaseAuthUI/Sources/Strings/sv.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Välkommen"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Logga in med e-post"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Ange din e-postadress"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "E-postadressen är ogiltig."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Appen stöder inte den här typen av konto"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Du har redan ett konto"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Du har redan använt %@. Logga in med %@ om du vill fortsätta."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Logga in"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Ange ditt lösenord"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Du måste ange lösenord."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "E-postadressen och lösenordet matchar inte."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "E-postadressen matchar inget befintligt konto."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "E-postadressen tillhör ett inaktiverat konto."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Du har angett fel lösenord för många gånger. Försök igen om några minuter."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Det gick inte att hitta någon leverantör för %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-postadresserna stämmer inte överens"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Återställa lösenord"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Få ett e-postmeddelande med anvisningar för hur du återställer lösenordet."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Kolla dina e-postmeddelanden"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Följ anvisningarna som har skickats till %@ för att återställa ditt lösenord."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Skapa konto"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "För- och efternamn"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Välj lösenord"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Användarvillkor"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Sekretesspolicy"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Genom att fortsätta godkänner du våra %@ och vår %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "E-postadressen används redan av ett annat konto."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Starka lösenord består av minst 6 tecken och en blandning av bokstäver och siffror."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Det kommer för många kontobegäranden från din IP-adress. Försök igen om några minuter."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Du har redan loggat in med %@. Ange lösenordet för det kontot."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Avbryt"; - -/* Back button title. */ -"Back" = "Föregående"; - -/* Next button title. */ -"Next" = "Nästa"; - -/* Save button title. */ -"Save" = "Spara"; - -/* Send button title. */ -"Send" = "Skicka"; - -/* Resend button title. */ -"Resend" = "Skicka igen"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-post"; - -/* Label next to a password text field. */ -"Password" = "Lösenord"; - -/* Label next to a name text field. */ -"Name" = "Namn"; - -/* Alert title Error. */ -"Error" = "Fel"; - -/* Alert button title Close. */ -"Close" = "Stäng"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Säkerhet"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Länkade konton"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Namn"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-post"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Lägg till lösenord"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Ändra lösenord"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Logga ut"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Radera konto"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Har du glömt lösenordet?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Verifiera dig"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Radera konto?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "All data som är kopplad till ditt konto raderas permanent. Du måste logga in igen för att slutföra åtgärden."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "All data som är kopplad till ditt konto raderas permanent. Är du säker på att du vill radera kontot?"; - -/* Text of Delete action button. */ -"Delete" = "Radera"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Radera konto"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Det går inte att ångra åtgärden"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Ta bort länk"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Länkat konto"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Ta bort länk till konto?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Du kommer inte längre att kunna logga in med kontot"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Ta bort länk till konto"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Du måste logga in igen om du vill ändra vilken e-postadress som är länkad till ditt konto."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Du måste först ange ditt aktuella lösenord för att kunna ändra lösenordet."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Redigera e-postadress"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Redigera namn"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Du måste logga in igen för att kunna lägga till lösenord för kontot."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Du måste logga in igen för att kunna ändra lösenord för kontot."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Du måste först ange ditt aktuella lösenord för att kunna ändra lösenordet."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Lägg till lösenord"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Ändra lösenord"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-post"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Logga in med %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Ange ditt namn"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Ange din e-postadress"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Ange ditt lösenord"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Nytt lösenord"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Välj lösenord"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Har du problem med att logga in?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Bekräfta e-post"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Inloggad!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Får du inte e-postmeddelanden?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Prova dessa vanliga lösningar: \n – Kontrollera om meddelandet hamnade bland skräpposten eller filtrerades.\n – Kontrollera internetanslutningen.\n – Kontrollera att du inte stavade e-postadressen fel.\n – Kontrollera att du inte har ont om utrymme i inkorgen eller andra inkorgsrelaterade problem.\n Om ovanstående lösningar inte fungerar kan du testa att skicka meddelandet igen. Länken i det gamla meddelandet inaktiveras om du gör det."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Ett inloggningsmeddelande med instruktioner skickades till %@. Kontrollera din e-post för att slutföra inloggningen."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Inloggningsmeddelande skickat"; diff --git a/FirebaseAuthUI/Sources/Strings/ta.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/ta.lproj/FirebaseAuthUI.strings deleted file mode 100644 index eeebad5c3c3..00000000000 --- a/FirebaseAuthUI/Sources/Strings/ta.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "வரவேற்கிறோம்"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "மின்னஞ்சல் மூலம் உள்நுழைக"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "மின்னஞ்சலை உள்ளிடவும்"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "மின்னஞ்சல் முகவரி தவறாக உள்ளது."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "இந்தப் பயன்பாடு, இந்தக் கணக்கு வகையை ஆதரிக்காது"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "ஏற்கனவே உங்களிடம் கணக்கு உள்ளது"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "ஏற்கனவே %@ஐப் பயன்படுத்தியுள்ளீர்கள். தொடர, %@ மூலம் உள்நுழையவும்."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "உள்நுழைக"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "கடவுச்சொல்லை உள்ளிடவும்"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "கடவுச்சொல் காலியாக இருக்கக்கூடாது."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "உள்ளிட்ட மின்னஞ்சலும் கடவுச்சொல்லும் பொருந்தவில்லை."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "மின்னஞ்சல் முகவரி தற்போதைய கணக்குடன் பொருந்தவில்லை."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "இந்த மின்னஞ்சலுக்குரிய கணக்கு முடக்கப்பட்டுள்ளது."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "தவறான கடவுச்சொல்லைப் பலமுறை உள்ளிட்டுள்ளீர்கள். சில நிமிடங்களில் மீண்டும் முயலவும்."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "%@க்கான வழங்குநர் இல்லை."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "மின்னஞ்சல்கள் பொருந்தவில்லை"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "கடவுச்சொல்லை மீட்டெடு"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "கடவுச்சொல்லை மீட்டமைப்பது தொடர்பான வழிமுறைகளை இந்த மின்னஞ்சலில் பார்க்கவும்."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "உங்கள் மின்னஞ்சலைப் பார்க்கவும்"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "கடவுச்சொல்லை மீட்டெடுக்க, %@க்கு அனுப்பிய வழிமுறைகளைப் பின்பற்றவும்."; - -/* Title for sign up screen. */ -"SignUpTitle" = "கணக்கை உருவாக்கு"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "பெயரின் முற்பகுதி மற்றும் பிற்பகுதி"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "கடவுச்சொல்லைத் தேர்வு செய்யவும்"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "சேவை விதிமுறைகள்"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "தனியுரிமைக் கொள்கை"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "தொடர்வதன் மூலம், எங்கள் %@ மற்றும் %@ ஆகியவற்றை ஏற்பதாகக் குறிப்பிடுகிறீர்கள்."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "மின்னஞ்சல் முகவரி ஏற்கனவே வேறொரு கணக்கில் பயன்படுத்தப்படுகிறது."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "வலுவான கடவுச்சொற்களில் குறைந்தது 6 எழுத்துக்குறிகளும், எழுத்துகளும் எண்களும் கலந்த கலவையும் இருக்க வேண்டும்."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "உங்கள் IP முகவரியிலிருந்து கணக்குக் கோரிக்கைகள் பல வருகின்றன. சில நிமிடங்களில் மீண்டும் முயலவும்."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "ஏற்கனவே %@ஐப் பயன்படுத்தி உள்நுழைந்துள்ளீர்கள். அந்தக் கணக்கிற்கான கடவுச்சொல்லை உள்ளிடவும்."; - -/* OK button title. */ -"OK" = "சரி"; - -/* Cancel button title. */ -"Cancel" = "ரத்துசெய்"; - -/* Back button title. */ -"Back" = "முந்தையது"; - -/* Next button title. */ -"Next" = "அடுத்து"; - -/* Save button title. */ -"Save" = "சேமி"; - -/* Send button title. */ -"Send" = "அனுப்பு"; - -/* Resend button title. */ -"Resend" = "மீண்டும் அனுப்பு"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "மின்னஞ்சல்"; - -/* Label next to a password text field. */ -"Password" = "கடவுச்சொல்"; - -/* Label next to a name text field. */ -"Name" = "பெயர்"; - -/* Alert title Error. */ -"Error" = "பிழை"; - -/* Alert button title Close. */ -"Close" = "மூடு"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "சுயவிவரம்"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "பாதுகாப்பு"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "இணைத்துள்ள கணக்குகள்"; - -/* Account Settings cell title Name. */ -"AS_Name" = "பெயர்"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "மின்னஞ்சல்"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "கடவுச்சொல்லைச் சேர்"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "கடவுச்சொல்லை மாற்று"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "வெளியேறு"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "கணக்கை நீக்கு"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "கடவுச்சொல்லை மறந்துவிட்டீர்களா?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "நீங்கள் தான் என்பதை உறுதிசெய்யவும்"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "கணக்கை நீக்கவா?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "இவ்வாறு செய்தால், உங்கள் கணக்குடன் தொடர்புடைய எல்லாத் தரவும் அழிக்கப்படும், அத்துடன் அவற்றைத் திரும்பப்பெற முடியாது. இந்தச் செயல்பாட்டை முடிக்க, நீங்கள் மீண்டும் உள்நுழைய வேண்டும்"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "இவ்வாறு செய்தால், உங்கள் கணக்குடன் தொடர்புடைய எல்லாத் தரவும் அழிக்கப்படும், அத்துடன் அவற்றைத் திரும்பப்பெற முடியாது. நிச்சயம் நீக்க விரும்புகிறீர்களா?"; - -/* Text of Delete action button. */ -"Delete" = "நீக்கு"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "கணக்கை நீக்கு"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "இதைப் பின்னர் செயல்தவிர்க்க முடியாது"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "இணைப்பை நீக்கு"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "இணைத்துள்ள கணக்கு"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "கணக்கின் இணைப்பை நீக்கவா?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "உங்கள் கணக்கைப் பயன்படுத்தி இனி உள்நுழைய முடியாது"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "கணக்கின் இணைப்பை நீக்கு"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "உங்கள் கணக்குடன் தொடர்புடைய மின்னஞ்சல் முகவரியை மாற்ற, நீங்கள் மீண்டும் உள்நுழைய வேண்டும்."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "கடவுச்சொல்லை மாற்ற, தற்போதைய கடவுச்சொல்லை முதலில் உள்ளிட வேண்டும்."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "மின்னஞ்சலைத் திருத்து"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "பெயரை மாற்று"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "உங்கள் கணக்கின் கடவுச்சொல்லை சேர்க்க, நீங்கள் மீண்டும் உள்நுழைய வேண்டும்."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "உங்கள் கணக்கின் கடவுச்சொல்லை மாற்ற, நீங்கள் மீண்டும் உள்நுழைய வேண்டும்."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "கடவுச்சொல்லை மாற்ற, தற்போதைய கடவுச்சொல்லை முதலில் உள்ளிட வேண்டும்."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "கடவுச்சொல்லைச் சேர்"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "கடவுச்சொல்லை மாற்று"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "மின்னஞ்சல்"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "%@ மூலம் உள்நுழைக"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "பெயரை உள்ளிடவும்"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "மின்னஞ்சலை உள்ளிடவும்"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "கடவுச்சொல்லை உள்ளிடவும்"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "புதிய கடவுச்சொல்"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "கடவுச்சொல்லைத் தேர்வு செய்யவும்"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "உள்நுழைவதில் சிக்கலா?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "மின்னஞ்சலை உறுதிப்படுத்தவும்"; - -/* Title of successfully signed in label. */ -"SignedIn" = "உள்நுழைந்துவிட்டீர்கள்!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "மின்னஞ்சல்களைப் பெறுவதில் சிக்கல் உள்ளதா?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "இந்தப் பொதுவான திருத்தங்களை முயலவும்: \n - மின்னஞ்சல் ஸ்பேமாகக் குறிக்கப்பட்டுள்ளதா அல்லது வடிகட்டப்பட்டுள்ளதா எனப் பார்க்கவும்.\n - இணைய இணைப்பைச் சரிபார்க்கவும்.\n - உங்கள் மின்னஞ்சல் முகவரியில் எழுத்துப்பிழை இல்லை என்பதை உறுதிப்படுத்திக் கொள்ளவும்.\n - இன்பாக்ஸில் போதுமான இடமுள்ளதா என்பதையும், மற்ற இன்பாக்ஸ் அமைப்புகளுடன் தொடர்புடைய சிக்கல்களையும் சரிபார்க்கவும்.\n மேலேயுள்ளவற்றை முயன்றும் பலனளிக்கவில்லை எனில், நீங்கள் மீண்டும் மின்னஞ்சல் அனுப்பலாம். இது முந்தைய மின்னஞ்சலில் உள்ள இணைப்பை முடக்கிவிடும் என்பதை நினைவில் கொள்ளவும்."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "கூடுதல் வழிமுறைகளுடன் கூடிய உள்நுழைவு மின்னஞ்சல் %@ என்பதற்கு அனுப்பப்பட்டது. உள்நுழைவை நிறைவு செய்ய, உங்கள் மின்னஞ்சலைப் பார்க்கவும்."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "உள்நுழைவு மின்னஞ்சல் அனுப்பப்பட்டது"; diff --git a/FirebaseAuthUI/Sources/Strings/th.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/th.lproj/FirebaseAuthUI.strings deleted file mode 100644 index ad6e9889dbb..00000000000 --- a/FirebaseAuthUI/Sources/Strings/th.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "ยินดีต้อนรับ"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "ลงชื่อเข้าใช้ด้วยอีเมล"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "ป้อนอีเมลของคุณ"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "ที่อยู่อีเมลนี้ไม่ถูกต้อง"; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "แอปนี้ไม่รองรับบัญชีประเภทนี้"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "คุณมีบัญชีอยู่แล้ว"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "คุณใช้ %@ อยู่แล้ว ลงชื่อเข้าใช้ด้วย %@ เพื่อดำเนินการต่อ"; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "ลงชื่อเข้าใช้"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "ป้อนรหัสผ่าน"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "ต้องระบุรหัสผ่าน"; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "อีเมลและรหัสผ่านที่ป้อนไม่ตรงกัน"; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "ที่อยู่อีเมลไม่ตรงกับบัญชีที่มีอยู่"; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "ที่อยู่อีเมลนี้เป็นของบัญชีที่ปิดใช้ไปแล้ว"; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "คุณป้อนรหัสผ่านไม่ถูกต้องหลายครั้งเกินไป โปรดรอสักครู่แล้วลองอีกครั้ง"; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "ไม่พบผู้ให้บริการสำหรับ %@"; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "อีเมลไม่ตรงกัน"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "กู้คืนรหัสผ่าน"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "ดูวิธีการที่ส่งไปยังอีเมลนี้ซึ่งอธิบายเกี่ยวกับวิธีรีเซ็ตรหัสผ่านของคุณ"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "ตรวจสอบอีเมลของคุณ"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "ทำตามวิธีการที่ส่งไปยัง %@ เพื่อกู้คืนรหัสผ่าน"; - -/* Title for sign up screen. */ -"SignUpTitle" = "สร้างบัญชี"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "ชื่อและนามสกุล"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "ตั้งรหัสผ่าน"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "ข้อกำหนดในการให้บริการ"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "นโยบายความเป็นส่วนตัว"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "การดำเนินการต่อแสดงว่าคุณยอมรับ%@และ%@"; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "มีบัญชีอื่นใช้งานที่อยู่อีเมลนี้อยู่แล้ว"; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "รหัสผ่านที่รัดกุมต้องมีความยาวอย่างน้อย 6 อักขระและประกอบด้วยตัวอักษรปนกับตัวเลข"; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "มีคำขอสร้างบัญชีจากที่อยู่ IP ของคุณมากเกินไป โปรดรอสักครู่แล้วลองอีกครั้ง"; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "คุณใช้ %@ ในการลงชื่อเข้าใช้อยู่แล้ว โปรดป้อนรหัสผ่านสำหรับบัญชีดังกล่าว"; - -/* OK button title. */ -"OK" = "ตกลง"; - -/* Cancel button title. */ -"Cancel" = "ยกเลิก"; - -/* Back button title. */ -"Back" = "ย้อนกลับ"; - -/* Next button title. */ -"Next" = "ถัดไป"; - -/* Save button title. */ -"Save" = "บันทึก"; - -/* Send button title. */ -"Send" = "ส่ง"; - -/* Resend button title. */ -"Resend" = "ส่งซ้ำ"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "อีเมล"; - -/* Label next to a password text field. */ -"Password" = "รหัสผ่าน"; - -/* Label next to a name text field. */ -"Name" = "ชื่อ"; - -/* Alert title Error. */ -"Error" = "ข้อผิดพลาด"; - -/* Alert button title Close. */ -"Close" = "ปิด"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "โปรไฟล์"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "ความปลอดภัย"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "บัญชีที่ลิงก์"; - -/* Account Settings cell title Name. */ -"AS_Name" = "ชื่อ"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "อีเมล"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "เพิ่มรหัสผ่าน"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "เปลี่ยนรหัสผ่าน"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "ออกจากระบบ"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "ลบบัญชี"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "หากลืมรหัสผ่าน"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "โปรดยืนยันว่าเป็นคุณ"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "ลบบัญชีไหม"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "การทำเช่นนี้จะลบข้อมูลทั้งหมดที่เชื่อมโยงกับบัญชีของคุณและไม่สามารถเลิกทำได้ โปรดลงชื่อเข้าใช้อีกครั้งเพื่อดำเนินการให้เสร็จสมบูรณ์"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "การทำเช่นนี้จะลบข้อมูลทั้งหมดที่เชื่อมโยงกับบัญชีและไม่สามารถเลิกทำได้ คุณแน่ใจไหมว่าต้องการลบบัญชีของคุณ"; - -/* Text of Delete action button. */ -"Delete" = "ลบ"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "ลบบัญชี"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "การดำเนินการนี้ไม่สามารถเลิกทำได้"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "ยกเลิกการลิงก์"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "บัญชีที่ลิงก์"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "ยกเลิกการลิงก์บัญชีไหม"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "คุณจะไม่สามารถลงชื่อเข้าใช้ด้วยบัญชีของคุณได้อีก"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "ยกเลิกการลิงก์บัญชี"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "ในการเปลี่ยนที่อยู่อีเมลที่เชื่อมโยงกับบัญชีของคุณ คุณจะต้องลงชื่อเข้าใช้อีกครั้ง"; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "คุณต้องป้อนรหัสผ่านปัจจุบันของคุณก่อนจึงจะเปลี่ยนรหัสผ่านได้"; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "แก้ไขอีเมล"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "แก้ไขชื่อ"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "ในการเพิ่มรหัสผ่านลงในบัญชี คุณจะต้องลงชื่อเข้าใช้อีกครั้ง"; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "ในการเปลี่ยนรหัสผ่านบัญชี คุณจะต้องลงชื่อเข้าใช้อีกครั้ง"; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "คุณต้องป้อนรหัสผ่านปัจจุบันของคุณก่อนจึงจะเปลี่ยนรหัสผ่านได้"; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "เพิ่มรหัสผ่าน"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "เปลี่ยนรหัสผ่าน"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "อีเมล"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "ลงชื่อเข้าใช้ด้วย %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "ป้อนชื่อของคุณ"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "ป้อนอีเมลของคุณ"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "ป้อนรหัสผ่าน"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "รหัสผ่านใหม่"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "ตั้งรหัสผ่าน"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "หากพบปัญหาในการลงชื่อเช้าใช้"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "ยืนยันอีเมล"; - -/* Title of successfully signed in label. */ -"SignedIn" = "ลงชื่อเข้าใช้แล้ว"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "มีปัญหาในการรับอีเมลใช่ไหม"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "ลองใช้วิธีแก้ไขทั่วไปเหล่านี้ \n - ตรวจสอบว่าอีเมลดังกล่าวมีการทำเครื่องหมายว่าเป็นสแปมหรือผ่านการกรอง\n - ตรวจสอบการเชื่อมต่ออินเทอร์เน็ต\n - ตรวจสอบว่าสะกดชื่ออีเมลถูกต้องแล้ว\n - ตรวจสอบว่ายังมีพื้นที่เหลือในกล่องจดหมายหรือไม่มีปัญหาอื่นๆ ที่เกี่ยวข้องกับการตั้งค่ากล่องจดหมาย\n คุณอาจส่งอีเมลอีกครั้งได้ หากขั้นตอนข้างต้นไม่ช่วยแก้ไขปัญหา โปรดทราบว่าการกระทำดังกล่าวจะเป็นการปิดใช้งานลิงก์ในอีเมลเก่า"; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "ระบบได้ส่งอีเมลลงชื่อเข้าใช้พร้อมวิธีการเพิ่มเติมไปยัง %@ แล้ว โปรดตรวจสอบอีเมลเพื่อลงชื่อเข้าใช้"; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "ส่งอีเมลลงชื่อเข้าใช้แล้ว"; diff --git a/FirebaseAuthUI/Sources/Strings/tr.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/tr.lproj/FirebaseAuthUI.strings deleted file mode 100644 index dc2df607b0f..00000000000 --- a/FirebaseAuthUI/Sources/Strings/tr.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Hoş geldiniz"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "E-posta ile oturum aç"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "E-postanızı girin"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Bu e-posta adresi doğru değil."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Bu hesap türü, bu uygulama tarafından desteklenmiyor"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Zaten bir hesabınız var"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "%@ e-posta adresini daha önce kullandınız. Devam etmek için %@ ile oturum açın."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Oturum aç"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Şifrenizi girin"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Şifre boş bırakılamaz."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Girdiğiniz e-posta ile şifre eşleşmiyor."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Bu e-posta adresi mevcut bir hesapla eşleşmiyor."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Bu e-posta adresi, devre dışı bırakılmış bir hesaba ait."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Çok fazla kez yanlış şifre girdiniz. Birkaç dakika içinde tekrar deneyin."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "%@ için sağlayıcı bulunamıyor."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "E-postalar eşleşmiyor"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Şifreyi kurtarın"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Şifrenizi nasıl sıfırlayacağınızı açıklayan talimatlar bu e-postaya gönderilsin."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "E-postanızı kontrol edin"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Şifrenizi kurtarmak için %@ adresine gönderilen talimatları uygulayın."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Hesap oluşturun"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Ad ve Soyadı"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Şifre seçin"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Hizmet Şartları"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Gizlilik Politikası"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Devam ederek %@ ve %@ hükümlerimizi kabul ettiğinizi bildirirsiniz."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "E-posta adresi başka bir hesap tarafından kullanılıyor."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Güçlü şifreler en az 6 karakterden oluşur ve hem harf hem de rakam içerir."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "IP adresinizden çok fazla sayıda hesap isteği geliyor. Birkaç dakika içinde tekrar deneyin."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Oturum açmak için %@ adresini zaten kullandınız. Bu hesaba ait şifrenizi girin."; - -/* OK button title. */ -"OK" = "Tamam"; - -/* Cancel button title. */ -"Cancel" = "İptal"; - -/* Back button title. */ -"Back" = "Geri"; - -/* Next button title. */ -"Next" = "İleri"; - -/* Save button title. */ -"Save" = "Kaydet"; - -/* Send button title. */ -"Send" = "Gönder"; - -/* Resend button title. */ -"Resend" = "Tekrar gönder"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "E-posta"; - -/* Label next to a password text field. */ -"Password" = "Şifre"; - -/* Label next to a name text field. */ -"Name" = "Ad"; - -/* Alert title Error. */ -"Error" = "Hata"; - -/* Alert button title Close. */ -"Close" = "Kapat"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Profil"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Güvenlik"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Bağlı Hesaplar"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Ad"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "E-posta"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Şifre ekle"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Şifreyi değiştir"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Oturumu Kapat"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Hesabı Sil"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Şifrenizi mi unuttunuz?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Kimliğinizi doğrulayın"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Hesap silinsin mi?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Bu işlem, hesabınızla ilişkili tüm verileri siler ve geri alınamaz. Bu işlemi tamamlamak için tekrar oturum açmanız gerekir"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Bu işlem, hesabınızla ilişkili tüm verileri siler ve geri alınamaz. Hesabınızı silmek istediğinizden emin misiniz?"; - -/* Text of Delete action button. */ -"Delete" = "Sil"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Hesabı silin"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Bu işlem geri alınamaz"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Bağlantıyı kaldır"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Bağlı hesap"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Hesabın bağlantısı kaldırılsın mı?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Artık hesabınızı kullanarak oturum açamazsınız"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Hesabın bağlantısını kaldırın"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Hesabınızla ilişkilendirilmiş e-posta adresini değiştirmek için tekrar oturum açmanız gerekir."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Şifrenizi değiştirmek için önce mevcut şifrenizi girmeniz gerekir."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "E-postayı düzenleyin"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Adı düzenleyin"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Hesabınıza şifre eklemek için tekrar oturum açmanız gerekir."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Hesabınızın şifresini değiştirmek için tekrar oturum açmanız gerekir."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Şifrenizi değiştirmek için önce mevcut şifrenizi girmeniz gerekir."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Şifre ekleyin"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Şifreyi değiştirin"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "E-posta"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "%@ ile oturum aç"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Adınızı girin"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "E-postanızı girin"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Şifrenizi girin"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Yeni şifre"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Şifre seçin"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Oturum açılamıyor mu?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "E-posta Adresini Onaylayın"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Oturum açıldı!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "E-postaları almayla ilgili sorun mu yaşıyorsunuz?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Şu sık başvurulan düzeltme yöntemlerini deneyin: \n - E-postanın spam olarak işaretlenme veya filtrelenme durumunu kontrol edin.\n - İnternet bağlantınızı kontrol edin.\n - E-postanızda yazım hatası bulunmadığından emin olun.\n - Gelen kutunuzdaki boş alanın azalıp azalmadığını ve gelen kutusu ayarlarıyla ilgili başka bir sorun olup olmadığını kontrol edin.\n Yukarıdaki adımlar işe yaramazsa e-postayı yeniden gönderebilirsiniz. Bu işlemin eski e-postadaki bağlantıyı devre dışı bırakacağını göz önünde bulundurun."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "%@ adresine ek talimatlar içeren bir oturum açma e-postası gönderildi. Oturum açma işlemini tamamlamak için e-postanızı kontrol edin."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Oturum açma e-postası gönderildi"; diff --git a/FirebaseAuthUI/Sources/Strings/uk.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/uk.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 7950eacd484..00000000000 --- a/FirebaseAuthUI/Sources/Strings/uk.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Вітаємо"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Увійти, використовуючи електронну адресу"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Введіть електронну адресу"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Електронна адреса неправильна."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Додаток не підтримує облікові записи цього типу"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "У вас уже є обліковий запис"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Ви вже використовували електронну адресу %@. Щоб продовжити, увійдіть через %@."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Увійти"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Введіть пароль"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Укажіть пароль."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Електронна адреса та пароль не збігаються."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Ця електронна адреса не відповідає адресі наявного облікового запису."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Це електронна адреса вимкненого облікового запису."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Ви ввели неправильний пароль забагато разів. Спробуйте за кілька хвилин."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Не вдалося знайти постачальника для %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Електронні адреси не збігаються"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Відновити пароль"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "На цю електронну адресу надійдуть інструкції, як скинути пароль."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Перевірте свою електронну пошту"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Виконайте інструкції з відновлення пароля, надіслані на адресу %@."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Створити обліковий запис"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Ім’я та прізвище"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Виберіть пароль"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Умови використання"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Політика конфіденційності"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Продовжуючи, ви приймаєте такі документи: %@ і %@."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Ця електронна адреса вже використовується для іншого облікового запису."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Надійний пароль має містити принаймні 6 символів та комбінацію літер і цифр."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "З вашої IP-адреси надходить дуже багато запитів на створення облікового запису. Спробуйте за кілька хвилин."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Ви вже використовували адресу %@ для входу. Введіть пароль для цього облікового запису."; - -/* OK button title. */ -"OK" = "ОК"; - -/* Cancel button title. */ -"Cancel" = "Скасувати"; - -/* Back button title. */ -"Back" = "Назад"; - -/* Next button title. */ -"Next" = "Далі"; - -/* Save button title. */ -"Save" = "Зберегти"; - -/* Send button title. */ -"Send" = "Надіслати"; - -/* Resend button title. */ -"Resend" = "Надіслати ще раз"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Електронна адреса"; - -/* Label next to a password text field. */ -"Password" = "Пароль"; - -/* Label next to a name text field. */ -"Name" = "Ім’я"; - -/* Alert title Error. */ -"Error" = "Помилка"; - -/* Alert button title Close. */ -"Close" = "Закрити"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Профіль"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Безпека"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Зв’язані облікові записи"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Назва"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Електронна адреса"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Додати пароль"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Змінити пароль"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Вийти"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Видалити обліковий запис"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Забули пароль?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Підтвердьте свою особу"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Видалити обліковий запис?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Усі дані вашого облікового запису буде стерто, і цю дію не можна буде відмінити. Щоб виконати цю дію, потрібно ввійти ще раз."; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Усі дані вашого облікового запису буде стерто, і цю дію не можна буде відмінити. Видалити обліковий запис?"; - -/* Text of Delete action button. */ -"Delete" = "Видалити"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Видалити обліковий запис"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Цю дію не можна відмінити"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Від’єднати"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Зв’язаний обліковий запис"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Від’єднати обліковий запис?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Ви більше не зможете входити, використовуючи свій обліковий запис"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Від’єднати обліковий запис"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Щоб змінити електронну адресу, зв’язану з вашим обліковим записом, потрібно ввійти ще раз."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Щоб змінити пароль, спершу введіть поточний."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Змінити електронну адресу"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Змінити ім’я"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Щоб додати пароль до облікового запису, потрібно ввійти ще раз."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Щоб змінити пароль облікового запису, потрібно ввійти ще раз."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Щоб змінити пароль, спершу введіть поточний."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Додати пароль"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Змінити пароль"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Електронна адреса"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Твіттер"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Увійти, використовуючи %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Введіть своє ім’я"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Введіть електронну адресу"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Введіть пароль"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Новий пароль"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Виберіть пароль"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Не вдається ввійти?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Підтвердьте електронну адресу"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Ви ввійшли"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Ви не отримуєте електронні листи?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Щоб вирішити проблему, скористайтеся порадами нижче. \n – Перевірте: можливо, електронний лист позначено як спам або відфільтровано.\n – Перевірте інтернет-з’єднання.\n – Переконайтеся, що ви правильно вказали електронну адресу.\n – Перевірте доступний обсяг пам’яті для папки \"Вхідні\" й інші можливі проблеми з налаштуваннями.\n – Якщо поради вище не допоможуть, надішліть електронний лист повторно. Зверніть увагу, що після цього посилання в давнішому електронному листі стане недійсним."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Посилання для входу та додаткові вказівки надіслано на адресу %@. Дотримуйтеся їх, щоб увійти в обліковий запис."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Електронну адресу для входу надіслано"; diff --git a/FirebaseAuthUI/Sources/Strings/ur.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/ur.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 1e94ae6b921..00000000000 --- a/FirebaseAuthUI/Sources/Strings/ur.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "خوش آمدید"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "ای میل کے ساتھ سائن ان کریں"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "اپنا ای میل درج کریں"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "یہ ای میل پتہ غلط ہے۔"; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "اس قسم کا اکاؤنٹ اس ایپ کی جانب سے تعاون یافتہ نہیں ہے"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "آپ کے پاس پہلے سے ہی ایک اکاؤنٹ موجود ہے"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "آپ نے پہلے ہی %@ کو استعمال کر لیا ہے۔ جاری رکھنے کے لیے %@ کے ساتھ سائن ان کریں۔"; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "سائن ان کریں"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "اپنا پاس ورڈ درج کریں"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "پاس ورڈ خالی نہیں ہو سکتا۔"; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "آپ نے جو ای میل اور پاس ورڈ درج کیا ہے وہ مماثل نہیں ہیں۔"; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "یہ ای میل پتہ کسی موجودہ اکاؤنٹ کے مماثل نہیں ہے۔"; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "یہ ای میل پتہ ایک غیر فعال کیے ہوئے اکاؤنٹ کے لیے ہے۔"; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "آپ نے ایک غلط پاس ورڈ کافی مرتبہ درج کیا ہے۔ چند منٹوں میں دوبارہ کوشش کریں۔"; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "%@ کے لیے فراہم کنندہ کو تلاش نہیں کر سکتے۔"; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "ای میلز مماثل نہیں ہیں"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "پاس ورڈ بازیافت کریں"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "اس ای میل پر بھیجی گئی وہ ہدایات حاصل کریں جن میں آپ کے پاس ورڈ کو دوبارہ ترتیب دینے کے طریقے کی وضاحت ہے۔"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "اپنا ای میل چیک کریں"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "اپنے پاس ورڈ کو بازیافت کرنے کے لیے %@ پر بھیجی گئی ہدایات کی پیروی کریں۔"; - -/* Title for sign up screen. */ -"SignUpTitle" = "اکاؤنٹ بنائیں"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "پہلا اور آخری نام"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "پاس ورڈ منتخب کریں"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "سروس کی شرائط"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "رازداری کی پالیسی"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "جاری رکھ کر، آپ نشاندہی کر رہے ہیں کہ آپ ہماری %@ اور %@ کو قبول کرتے ہیں۔"; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "یہ ای میل پتہ پہلے سے ہی دوسرے اکاؤنٹ کے زیر استعمال ہے۔"; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "مضبوط پاس ورڈز میں کم از کم 6 کریکٹرز اور حروف و اعداد کا مرکب ہوتے ہیں۔"; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "اکاؤنٹ کی بہت سی درخواستیں آپ کے IP پتے سے آ رہی ہیں۔ چند منٹوں میں دوبارہ کوشش کریں۔"; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "آپ نے پہلے ہی سائن ان کرنے کے لیے %@ کو استعمال کر لیا ہے۔ اس اکاؤنٹ کے لیے اپنا پاس ورڈ درج کریں۔"; - -/* OK button title. */ -"OK" = "ٹھیک ہے"; - -/* Cancel button title. */ -"Cancel" = "منسوخ کریں"; - -/* Back button title. */ -"Back" = "پیچھے جائیں"; - -/* Next button title. */ -"Next" = "آگے جائیں"; - -/* Save button title. */ -"Save" = "محفوظ کریں"; - -/* Send button title. */ -"Send" = "بھیجیں"; - -/* Resend button title. */ -"Resend" = "دوبارہ بھیجیں"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "ای میل"; - -/* Label next to a password text field. */ -"Password" = "پاس ورڈ"; - -/* Label next to a name text field. */ -"Name" = "نام"; - -/* Alert title Error. */ -"Error" = "خرابی"; - -/* Alert button title Close. */ -"Close" = "بند کریں"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "پروفائل"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "سیکیورٹی"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "لنک کردہ اکاؤنٹس"; - -/* Account Settings cell title Name. */ -"AS_Name" = "نام"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "ای میل"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "پاس ورڈ شامل کریں"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "پاس ورڈ تبدیل کریں"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "سائن آؤٹ کریں"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "اکاؤنٹ حذف کریں"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "پاس ورڈ بھول گئے؟"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "توثیق کریں کہ یہ آپ ہی ہیں"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "اکاؤنٹ حذف کریں؟"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "یہ آپ کے اکاؤنٹ سے وابستہ سبھی ڈیٹا کو مٹا دے گا، اور کالعدم نہیں ہوسکتا۔ آپ کو یہ عمل مکمل کرنے کے لیے دوبارہ سائن ان کرنے کی ضرورت پڑے گی"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "یہ آپ کے اکاؤنٹ سے وابستہ سبھی ڈیٹا کو مٹا دے گا، اور کالعدم نہیں ہوسکتا۔ کیا آپ واقعی اپنا اکاؤنٹ حذف کرنا چاہتے ہیں؟"; - -/* Text of Delete action button. */ -"Delete" = "حذف کریں"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "اکاؤنٹ حذف کریں"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "اس عمل کو کالعدم نہیں کیا جا سکتا"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "لنک ختم کریں"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "لنک کردہ اکاؤنٹ"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "اکاؤنٹ کا لنک ختم کریں؟"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "اب آپ اپنا اکاؤنٹ استعمال کرتے ہوئے سائن ان نہیں کر سکیں گے"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "اکاؤنٹ کا لنک ختم کریں"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "اپنے اکاؤنٹ سے وابستہ ای میل پتہ تبدیل کرنے کے لیے، آپ کو دوبارہ سائن ان کرنے کی ضرورت پڑے گی۔"; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "اپنا پاس ورڈ تبدیل کرنے کے لیے، پہلے آپ کو اپنا موجودہ پاس ورڈ درج کرنے کی ضرورت ہے۔"; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "ای میل میں ترمیم کریں"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "نام میں ترمیم کریں"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "اپنے اکاؤنٹ میں پاس ورڈ شامل کرنے کے لیے، آپ کو دوبارہ سائن ان کرنے کی ضرورت ہے۔"; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "اپنے اکاؤنٹ کا پاس ورڈ تبدیل کرنے کے لیے، آپ کو دوبارہ سائن ان کرنے کی ضرورت ہے۔"; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "اپنا پاس ورڈ تبدیل کرنے کے لیے، پہلے آپ کو اپنا موجودہ پاس ورڈ درج کرنے کی ضرورت ہے۔"; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "پاس ورڈ شامل کریں"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "پاس ورڈ تبدیل کریں"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "ای میل"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "%@ کے ساتھ سائن ان کریں"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "اپنا نام درج کریں"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "اپنا ای میل درج کریں"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "اپنا پاس ورڈ درج کریں"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "نیا پاس ورڈ"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "پاس ورڈ منتخب کریں"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "سائن ان کرنے میں دشواری؟"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "ای میل کی تصدیق کریں"; - -/* Title of successfully signed in label. */ -"SignedIn" = "سائن ان ہو گیا!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "ای میلز حاصل کرنے میں دشواری پیش آ رہی ہے؟"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "یہ عام اصلاحات آزمائیں: \n - چیک کریں کہ آیا ای میل سپام یا فلٹر شدہ کے طور پر نشان زد کی گئی ہے۔\n - اپنا انٹرنیٹ کنکشن چیک کریں۔\n - چیک کریں کہ آپ نے اپنی ای میل کے ہجے میں غلطی تو نہیں کی ہے۔\n - چیک کریں کہ آپ کی ان باکس اسپیس ختم تو نہیں ہوگئی ہے یا دیگر ان باکس کی ترتیبات سے متعلق مسائل چیک کریں۔\n اگر مندرجہ بالا مراحل کام نہ کریں تو آپ ای میل دوبارہ بھیج سکتے ہیں۔ نوٹ کریں کہ اس سے پرانی ای میل میں موجود لنک غیر فعال ہو جائے گا۔"; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "ایک سائن ان ای میل اضافی ہدایات کے ساتھ %@ کو بھیج دی گئی ہے۔ سائن ان مکمل کرنے کے لیے اپنی ای میل چیک کریں۔"; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "سائن ان ای میل بھیج دی گئی"; diff --git a/FirebaseAuthUI/Sources/Strings/vi.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/vi.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 9328159cb32..00000000000 --- a/FirebaseAuthUI/Sources/Strings/vi.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "Chào mừng bạn"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "Đăng nhập bằng email"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "Nhập email của bạn"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "Địa chỉ email đó không đúng."; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "Loại tài khoản này không được ứng dụng này hỗ trợ"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "Bạn đã có tài khoản"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "Bạn đã sử dụng %@. Đăng nhập bằng %@ để tiếp tục."; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "Đăng nhập"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "Nhập mật khẩu của bạn"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "Không được để trống mật khẩu."; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "Email và mật khẩu bạn đã nhập không khớp."; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "Địa chỉ email đó không khớp với tài khoản hiện có."; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "Địa chỉ email đó là dành cho tài khoản đã bị vô hiệu hóa."; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "Bạn đã nhập sai mật khẩu quá nhiều lần. Hãy thử lại sau một vài phút."; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "Không thể tìm thấy nhà cung cấp cho %@."; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "Email không khớp"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "Khôi phục mật khẩu"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "Xem hướng dẫn gửi tới email này có giải thích cách đặt lại mật khẩu của bạn."; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "Kiểm tra email của bạn"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "Làm theo hướng dẫn gửi tới %@ để khôi phục mật khẩu của bạn."; - -/* Title for sign up screen. */ -"SignUpTitle" = "Tạo tài khoản"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "Họ và tên"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "Chọn mật khẩu"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "Điều khoản dịch vụ"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "Chính sách về quyền riêng tư"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "Bằng cách tiếp tục, bạn cho biết rằng bạn chấp nhận %@ và %@ của chúng tôi."; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "Địa chỉ email đã được tài khoản khác sử dụng."; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "Mật khẩu mạnh có ít nhất 6 ký tự, kết hợp chữ cái và số."; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "Có quá nhiều yêu cầu tài khoản từ địa chỉ IP của bạn. Hãy thử lại sau một vài phút."; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "Bạn đã sử dụng %@ để đăng nhập. Hãy nhập mật khẩu của bạn cho tài khoản đó."; - -/* OK button title. */ -"OK" = "OK"; - -/* Cancel button title. */ -"Cancel" = "Hủy"; - -/* Back button title. */ -"Back" = "Quay lại"; - -/* Next button title. */ -"Next" = "Tiếp"; - -/* Save button title. */ -"Save" = "Lưu"; - -/* Send button title. */ -"Send" = "Gửi"; - -/* Resend button title. */ -"Resend" = "Gửi lại"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "Email"; - -/* Label next to a password text field. */ -"Password" = "Mật khẩu"; - -/* Label next to a name text field. */ -"Name" = "Tên"; - -/* Alert title Error. */ -"Error" = "Lỗi"; - -/* Alert button title Close. */ -"Close" = "Đóng"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "Hồ sơ"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "Bảo mật"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "Tài khoản được liên kết"; - -/* Account Settings cell title Name. */ -"AS_Name" = "Tên"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "Email"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "Thêm mật khẩu"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "Đổi mật khẩu"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "Đăng xuất"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "Xóa tài khoản"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "Quên mật khẩu?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "Xác minh đó là bạn"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "Xóa tài khoản?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "Thao tác này sẽ xóa tất cả dữ liệu được liên kết với tài khoản của bạn và không thể hoàn tác. Bạn sẽ phải đăng nhập lại để hoàn tất thao tác này"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "Thao tác này sẽ xóa tất cả dữ liệu được liên kết với tài khoản của bạn và không thể hoàn tác. Bạn có chắc chắn muốn xóa tài khoản của bạn không?"; - -/* Text of Delete action button. */ -"Delete" = "Xóa"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "Xóa tài khoản"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "Không thể hoàn tác thao tác này"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "Hủy liên kết"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "Tài khoản được liên kết"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "Hủy liên kết tài khoản?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "Bạn sẽ không thể đăng nhập bằng tài khoản của bạn"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "Hủy liên kết tài khoản"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "Để thay đổi địa chỉ email liên kết với tài khoản của bạn, bạn sẽ phải đăng nhập lại."; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "Để thay đổi mật khẩu, trước tiên bạn phải nhập mật khẩu hiện tại của bạn."; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "Chỉnh sửa email"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "Chỉnh sửa tên"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "Để thêm mật khẩu cho tài khoản của bạn, bạn sẽ phải đăng nhập lại."; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "Để thay đổi mật khẩu cho tài khoản của bạn, bạn sẽ phải đăng nhập lại."; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "Để thay đổi mật khẩu, trước tiên bạn phải nhập mật khẩu hiện tại của bạn."; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "Thêm mật khẩu"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "Đổi mật khẩu"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "Email"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "Đăng nhập bằng %@"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "Nhập tên của bạn"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "Nhập email của bạn"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "Nhập mật khẩu của bạn"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "Mật khẩu mới"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "Chọn mật khẩu"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "Bạn gặp sự cố khi đăng nhập?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "Xác nhận email"; - -/* Title of successfully signed in label. */ -"SignedIn" = "Đã đăng nhập!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "Bạn gặp vấn đề khi nhận email?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "Hãy thử các cách khắc phục vấn đề phổ biến sau: \n - Kiểm tra xem email có bị đánh dấu là spam hay đã được lọc.\n - Kiểm tra kết nối Internet của bạn.\n - Kiểm tra để đảm bảo bạn không viết sai chính tả tên email.\n - Kiểm tra để đảm bảo dung lượng bộ nhớ hộp thư đến của bạn chưa hết hoặc không có vấn đề khác liên quan đến tùy chọn cài đặt hộp thư đến.\n Nếu các bước trên không hiệu quả, bạn có thể gửi lại email. Vui lòng lưu ý rằng thao tác này sẽ hủy kích hoạt đường dẫn liên kết trong email cũ."; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "Email đăng nhập có hướng dẫn bổ sung đã gửi tới %@. Hãy tìm email này trong hộp thư của bạn để hoàn tất đăng nhập."; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "Đã gửi email đăng nhập"; diff --git a/FirebaseAuthUI/Sources/Strings/zh-Hans.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/zh-Hans.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 4a21d4d2655..00000000000 --- a/FirebaseAuthUI/Sources/Strings/zh-Hans.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "欢迎"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "使用电子邮件地址登录"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "输入您的电子邮件地址"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "该电子邮件地址不正确。"; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "此应用不支持这种类型的帐号"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "您已经有帐号了"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "您已经使用了 %@。请使用 %@ 帐号登录以继续操作。"; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "登录"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "输入您的密码"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "密码不能为空。"; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "您输入的电子邮件地址和密码不匹配。"; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "该电子邮件地址没有相匹配的现有帐号。"; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "该电子邮件地址对应的帐号已停用。"; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "您输入错误密码的次数过多,请过几分钟再试。"; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "找不到 %@ 的提供方。"; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "电子邮件地址不匹配"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "找回密码"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "向此电子邮件地址发送关于如何重置密码的说明。"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "请查收电子邮件"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "请按照发送到 %@ 的说明找回密码。"; - -/* Title for sign up screen. */ -"SignUpTitle" = "创建帐号"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "姓名"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "选择密码"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "服务条款"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "隐私权政策"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "继续即表示您接受我们的%@和%@。"; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "此电子邮件地址已被其他帐号使用。"; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "安全系数高的密码至少包含 6 个字符,由字母和数字组成。"; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "来自您的 IP 地址的帐号请求过多,请过几分钟再试。"; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "您已经使用 %@ 登录了,请输入该帐号的密码。"; - -/* OK button title. */ -"OK" = "确定"; - -/* Cancel button title. */ -"Cancel" = "取消"; - -/* Back button title. */ -"Back" = "返回"; - -/* Next button title. */ -"Next" = "继续"; - -/* Save button title. */ -"Save" = "保存"; - -/* Send button title. */ -"Send" = "发送"; - -/* Resend button title. */ -"Resend" = "重新发送"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "电子邮件"; - -/* Label next to a password text field. */ -"Password" = "密码"; - -/* Label next to a name text field. */ -"Name" = "名称"; - -/* Alert title Error. */ -"Error" = "错误"; - -/* Alert button title Close. */ -"Close" = "关闭"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "个人资料"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "安全"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "已关联的帐号"; - -/* Account Settings cell title Name. */ -"AS_Name" = "名称"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "电子邮件"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "添加密码"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "更改密码"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "退出帐号"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "删除帐号"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "忘记了密码?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "请验证是您本人"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "要删除帐号吗?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "此操作将清空与您的帐号相关联的所有数据,并且无法撤消。您需要重新登录才能完成此操作"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "此操作将清空与您的帐号相关联的所有数据,并且无法撤消。确定要删除帐号吗?"; - -/* Text of Delete action button. */ -"Delete" = "删除"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "删除帐号"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "此操作无法撤消"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "取消关联"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "已关联的帐号"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "要取消帐号关联吗?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "您将不能再使用您的帐号登录"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "取消帐号关联"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "要更改与您的帐号关联的电子邮件地址,您需要再次登录。"; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "要更改密码,您需要先输入当前的密码。"; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "修改电子邮件地址"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "修改名称"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "要为帐号添加密码,您需要重新登录。"; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "要更改帐号的密码,您需要重新登录。"; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "要更改密码,您需要先输入当前的密码。"; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "添加密码"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "更改密码"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "电子邮件"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "使用 %@ 帐号登录"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "输入您的名称"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "输入您的电子邮件地址"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "输入您的密码"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "新密码"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "选择密码"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "登录时遇到问题?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "确认电子邮件地址"; - -/* Title of successfully signed in label. */ -"SignedIn" = "已登录!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "无法收到电子邮件?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "尝试以下常见解决方法:\n - 检查电子邮件是否被标记为垃圾邮件或被过滤。\n - 检查互联网连接。\n - 确保没有写错电子邮件地址。\n - 确保收件箱空间充足,且不存在其他与收件箱设置有关的问题。\n 如果上述步骤未能帮助您解决问题,您可以重新发送电子邮件。请注意,重新发送后上一封电子邮件中的链接将失效。"; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "系统已将含附加说明的登录电子邮件发送至 %@。请查收电子邮件以完成登录。"; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "已发送登录电子邮件"; diff --git a/FirebaseAuthUI/Sources/Strings/zh-Hant-TW.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/zh-Hant-TW.lproj/FirebaseAuthUI.strings deleted file mode 100644 index b46d7784533..00000000000 --- a/FirebaseAuthUI/Sources/Strings/zh-Hant-TW.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "歡迎"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "使用電子郵件登入"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "輸入您的電子郵件"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "電子郵件地址不正確。"; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "此應用程式不支援這種類型的帳戶"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "您已經有一個帳戶"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "您已經使用 %@。如要繼續進行,請登入 %@ 帳戶。"; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "登入"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "輸入您的密碼"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "密碼不能空白。"; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "您輸入的電子郵件和密碼不相符。"; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "這個電子郵件地址和現有帳戶不相符。"; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "這個電子郵件地址屬於已停用的帳戶。"; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "您輸入錯誤密碼的次數過多,請於幾分鐘後再試一次。"; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "找不到 %@ 的供應商。"; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "電子郵件不相符"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "重新取得密碼"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "這個電子郵件會收到重設密碼的指示。"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "請查看您的電子郵件"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "請依照傳送至 %@ 的指示重新取得密碼。"; - -/* Title for sign up screen. */ -"SignUpTitle" = "建立帳戶"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "姓名"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "選擇密碼"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "服務條款"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "隱私權政策"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "選擇繼續即表示您接受我們的《%@》和《%@》。"; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "另一個帳戶已使用這個電子郵件地址。"; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "安全強度高的密碼至少需有 6 個字元並混用字母和數字。"; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "您的 IP 位址傳送建立帳戶要求的次數過多,請於幾分鐘後再試一次。"; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "您已使用 %@ 帳戶登入,請輸入該帳戶的密碼。"; - -/* OK button title. */ -"OK" = "確定"; - -/* Cancel button title. */ -"Cancel" = "取消"; - -/* Back button title. */ -"Back" = "上一步"; - -/* Next button title. */ -"Next" = "下一步"; - -/* Save button title. */ -"Save" = "儲存"; - -/* Send button title. */ -"Send" = "傳送"; - -/* Resend button title. */ -"Resend" = "重新傳送"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "電子郵件"; - -/* Label next to a password text field. */ -"Password" = "密碼"; - -/* Label next to a name text field. */ -"Name" = "名稱"; - -/* Alert title Error. */ -"Error" = "錯誤"; - -/* Alert button title Close. */ -"Close" = "關閉"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "個人資料"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "安全性"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "已連結帳戶"; - -/* Account Settings cell title Name. */ -"AS_Name" = "名稱"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "電子郵件"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "新增密碼"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "變更密碼"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "登出"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "刪除帳戶"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "忘記密碼了嗎?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "請驗證您的身分"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "要刪除帳戶嗎?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "這項操作會清除與您的帳戶相關聯的所有資料,而且帳戶刪除後即無法復原。您需要再次登入才能完成這項操作"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "這項操作會清除與您的帳戶相關聯的所有資料,而且帳戶刪除後即無法復原。確定要刪除帳戶嗎?"; - -/* Text of Delete action button. */ -"Delete" = "刪除"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "刪除帳戶"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "這項操作無法復原"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "取消連結"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "已連結帳戶"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "要取消連結帳戶嗎?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "您將無法再使用自己的帳戶登入"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "取消連結帳戶"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "如要變更帳戶所連結的電子郵件地址,您需要重新登入帳戶。"; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "如要變更密碼,請先輸入目前的密碼。"; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "編輯電子郵件"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "編輯名稱"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "如要新增帳戶密碼,您需要重新登入。"; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "如要變更帳戶密碼,您需要重新登入。"; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "如要變更密碼,請先輸入目前的密碼。"; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "新增密碼"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "變更密碼"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "電子郵件"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "使用 %@ 帳戶登入"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "輸入您的名稱"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "輸入您的電子郵件"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "輸入您的密碼"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "新密碼"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "選擇密碼"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "無法登入嗎?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "確認電子郵件地址"; - -/* Title of successfully signed in label. */ -"SignedIn" = "登入成功!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "沒收到電子郵件嗎?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "請試試這些常見的解決方式:\n - 檢查電子郵件是否被標示為垃圾郵件或遭系統篩除。\n - 檢查您的網際網路連線。\n - 檢查電子郵件地址是否拼錯。\n - 確認收件匣的儲存空間是否足夠,或檢查與收件匣設定相關的其他問題。\n 如果上述步驟全部無效,建議您重新傳送電子郵件。請注意,這個動作會使先前郵件中的連結失效。"; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "系統已將登入電子郵件傳送至 %@,其中包含額外的操作說明。請查看您的電子郵件以完成登入程序。"; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "已寄出登入電子郵件"; diff --git a/FirebaseAuthUI/Sources/Strings/zh-Hant.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/zh-Hant.lproj/FirebaseAuthUI.strings deleted file mode 100644 index b46d7784533..00000000000 --- a/FirebaseAuthUI/Sources/Strings/zh-Hant.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "歡迎"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "使用電子郵件登入"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "輸入您的電子郵件"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "電子郵件地址不正確。"; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "此應用程式不支援這種類型的帳戶"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "您已經有一個帳戶"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "您已經使用 %@。如要繼續進行,請登入 %@ 帳戶。"; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "登入"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "輸入您的密碼"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "密碼不能空白。"; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "您輸入的電子郵件和密碼不相符。"; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "這個電子郵件地址和現有帳戶不相符。"; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "這個電子郵件地址屬於已停用的帳戶。"; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "您輸入錯誤密碼的次數過多,請於幾分鐘後再試一次。"; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "找不到 %@ 的供應商。"; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "電子郵件不相符"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "重新取得密碼"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "這個電子郵件會收到重設密碼的指示。"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "請查看您的電子郵件"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "請依照傳送至 %@ 的指示重新取得密碼。"; - -/* Title for sign up screen. */ -"SignUpTitle" = "建立帳戶"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "姓名"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "選擇密碼"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "服務條款"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "隱私權政策"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "選擇繼續即表示您接受我們的《%@》和《%@》。"; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "另一個帳戶已使用這個電子郵件地址。"; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "安全強度高的密碼至少需有 6 個字元並混用字母和數字。"; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "您的 IP 位址傳送建立帳戶要求的次數過多,請於幾分鐘後再試一次。"; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "您已使用 %@ 帳戶登入,請輸入該帳戶的密碼。"; - -/* OK button title. */ -"OK" = "確定"; - -/* Cancel button title. */ -"Cancel" = "取消"; - -/* Back button title. */ -"Back" = "上一步"; - -/* Next button title. */ -"Next" = "下一步"; - -/* Save button title. */ -"Save" = "儲存"; - -/* Send button title. */ -"Send" = "傳送"; - -/* Resend button title. */ -"Resend" = "重新傳送"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "電子郵件"; - -/* Label next to a password text field. */ -"Password" = "密碼"; - -/* Label next to a name text field. */ -"Name" = "名稱"; - -/* Alert title Error. */ -"Error" = "錯誤"; - -/* Alert button title Close. */ -"Close" = "關閉"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "個人資料"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "安全性"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "已連結帳戶"; - -/* Account Settings cell title Name. */ -"AS_Name" = "名稱"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "電子郵件"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "新增密碼"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "變更密碼"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "登出"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "刪除帳戶"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "忘記密碼了嗎?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "請驗證您的身分"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "要刪除帳戶嗎?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "這項操作會清除與您的帳戶相關聯的所有資料,而且帳戶刪除後即無法復原。您需要再次登入才能完成這項操作"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "這項操作會清除與您的帳戶相關聯的所有資料,而且帳戶刪除後即無法復原。確定要刪除帳戶嗎?"; - -/* Text of Delete action button. */ -"Delete" = "刪除"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "刪除帳戶"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "這項操作無法復原"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "取消連結"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "已連結帳戶"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "要取消連結帳戶嗎?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "您將無法再使用自己的帳戶登入"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "取消連結帳戶"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "如要變更帳戶所連結的電子郵件地址,您需要重新登入帳戶。"; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "如要變更密碼,請先輸入目前的密碼。"; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "編輯電子郵件"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "編輯名稱"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "如要新增帳戶密碼,您需要重新登入。"; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "如要變更帳戶密碼,您需要重新登入。"; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "如要變更密碼,請先輸入目前的密碼。"; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "新增密碼"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "變更密碼"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "電子郵件"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "使用 %@ 帳戶登入"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "輸入您的名稱"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "輸入您的電子郵件"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "輸入您的密碼"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "新密碼"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "選擇密碼"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "無法登入嗎?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "確認電子郵件地址"; - -/* Title of successfully signed in label. */ -"SignedIn" = "登入成功!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "沒收到電子郵件嗎?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "請試試這些常見的解決方式:\n - 檢查電子郵件是否被標示為垃圾郵件或遭系統篩除。\n - 檢查您的網際網路連線。\n - 檢查電子郵件地址是否拼錯。\n - 確認收件匣的儲存空間是否足夠,或檢查與收件匣設定相關的其他問題。\n 如果上述步驟全部無效,建議您重新傳送電子郵件。請注意,這個動作會使先前郵件中的連結失效。"; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "系統已將登入電子郵件傳送至 %@,其中包含額外的操作說明。請查看您的電子郵件以完成登入程序。"; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "已寄出登入電子郵件"; diff --git a/FirebaseAuthUI/Sources/Strings/zh.lproj/FirebaseAuthUI.strings b/FirebaseAuthUI/Sources/Strings/zh.lproj/FirebaseAuthUI.strings deleted file mode 100644 index 4a21d4d2655..00000000000 --- a/FirebaseAuthUI/Sources/Strings/zh.lproj/FirebaseAuthUI.strings +++ /dev/null @@ -1,269 +0,0 @@ -/* Title for auth picker screen. */ -"AuthPickerTitle" = "欢迎"; - -/* Sign in with email button label. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"SignInWithEmail" = "使用电子邮件地址登录"; - -/* Title for email entry screen, email text field placeholder. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EnterYourEmail" = "输入您的电子邮件地址"; - -/* Error message displayed when user enters an invalid email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"InvalidEmailError" = "该电子邮件地址不正确。"; - -/* Error message displayed when the app cannot authenticate user's account. */ -"CannotAuthenticateError" = "此应用不支持这种类型的帐号"; - -/* Title of an alert shown to an existing user coming back to the app. */ -"ExistingAccountTitle" = "您已经有帐号了"; - -/* Alert message to let user know what identity provider (second placeholder, ex. Google) was used previously for the email address (first placeholder). */ -"ProviderUsedPreviouslyMessage" = "您已经使用了 %@。请使用 %@ 帐号登录以继续操作。"; - -/* Title for sign in screen and sign in button. */ -"SignInTitle" = "登录"; - -/* Password text field placeholder. */ -"EnterYourPassword" = "输入您的密码"; - -/* Error message displayed when user enters an empty password. */ -"InvalidPasswordError" = "密码不能为空。"; - -/* Error message displayed when the email and password don't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"WrongPasswordError" = "您输入的电子邮件地址和密码不匹配。"; - -/* Error message displayed when there's no account matching the email address. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UserNotFoundError" = "该电子邮件地址没有相匹配的现有帐号。"; - -/* Error message displayed when the account is disabled. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AccountDisabledError" = "该电子邮件地址对应的帐号已停用。"; - -/* Error message displayed after user trying to sign in too many times. */ -"SignInTooManyTimesError" = "您输入错误密码的次数过多,请过几分钟再试。"; - -/* Error message displayed when FUIAuth is not configured with third party provider. Parameter is value of provider (e g Google, Facebook etc) */ -"CantFindProvider" = "找不到 %@ 的提供方。"; - -/* Error message displayed when after re-authorization current user's email and re-authorized user's email doesn't match. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailsDontMatch" = "电子邮件地址不匹配"; - -/* Title for password recovery screen. */ -"PasswordRecoveryTitle" = "找回密码"; - -/* Explanation on how the password of an account can be recovered. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryMessage" = "向此电子邮件地址发送关于如何重置密码的说明。"; - -/* Title of a message displayed when the email for password recovery has been sent. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PasswordRecoveryEmailSentTitle" = "请查收电子邮件"; - -/* Message displayed when the email for password recovery has been sent. */ -"PasswordRecoveryEmailSentMessage" = "请按照发送到 %@ 的说明找回密码。"; - -/* Title for sign up screen. */ -"SignUpTitle" = "创建帐号"; - -/* Name text field placeholder. */ -"FirstAndLastName" = "姓名"; - -/* Placeholder for the password text field in a sign up form. */ -"ChoosePassword" = "选择密码"; - -/* Text linked to a web page with the Terms of Service content. */ -"TermsOfService" = "服务条款"; - -/* Text linked to a web page with the Privacy Policy content. */ -"PrivacyPolicy" = "隐私权政策"; - -/* A message displayed when the first log in screen is displayed. The first placeholder is the terms of service agreement link, the second place holder is the privacy policy agreement link. */ -"TermsOfServiceMessage" = "继续即表示您接受我们的%@和%@。"; - -/* Error message displayed when the email address is already in use. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EmailAlreadyInUseError" = "此电子邮件地址已被其他帐号使用。"; - -/* Error message displayed when the password is too weak. */ -"WeakPasswordError" = "安全系数高的密码至少包含 6 个字符,由字母和数字组成。"; - -/* Error message displayed when many accounts have been created from same IP address. */ -"SignUpTooManyTimesError" = "来自您的 IP 地址的帐号请求过多,请过几分钟再试。"; - -/* Message to explain to the user that password is needed for an account with this email address. */ -"PasswordVerificationMessage" = "您已经使用 %@ 登录了,请输入该帐号的密码。"; - -/* OK button title. */ -"OK" = "确定"; - -/* Cancel button title. */ -"Cancel" = "取消"; - -/* Back button title. */ -"Back" = "返回"; - -/* Next button title. */ -"Next" = "继续"; - -/* Save button title. */ -"Save" = "保存"; - -/* Send button title. */ -"Send" = "发送"; - -/* Resend button title. */ -"Resend" = "重新发送"; - -/* Label next to a email text field. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"Email" = "电子邮件"; - -/* Label next to a password text field. */ -"Password" = "密码"; - -/* Label next to a name text field. */ -"Name" = "名称"; - -/* Alert title Error. */ -"Error" = "错误"; - -/* Alert button title Close. */ -"Close" = "关闭"; - -/* Account Settings section title Profile. */ -"AS_SectionProfile" = "个人资料"; - -/* Account Settings section title Security. */ -"AS_SectionSecurity" = "安全"; - -/* Account Settings section title Linked Accounts. */ -"AS_SectionLinkedAccounts" = "已关联的帐号"; - -/* Account Settings cell title Name. */ -"AS_Name" = "名称"; - -/* Account Settings cell title Email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"AS_Email" = "电子邮件"; - -/* Account Settings cell title Add Password. */ -"AS_AddPassword" = "添加密码"; - -/* Account Settings cell title Change Password. */ -"AS_ChangePassword" = "更改密码"; - -/* Account Settings cell title Sign Out. */ -"AS_SignOut" = "退出帐号"; - -/* Account Settings cell title Delete Account. */ -"AS_DeleteAccount" = "删除帐号"; - -/* Button text for 'Forgot Password' action. */ -"ForgotPassword" = "忘记了密码?"; - -/* Alert message title show for re-authorization. */ -"VerifyItsYou" = "请验证是您本人"; - -/* Alert message title shown to confirm account deletion action. */ -"DeleteAccountConfirmationTitle" = "要删除帐号吗?"; - -/* Alert message body shown to confirm account deletion action. */ -"DeleteAccountBody" = "此操作将清空与您的帐号相关联的所有数据,并且无法撤消。您需要重新登录才能完成此操作"; - -/* Explanation message shown before deleting account. */ -"DeleteAccountConfirmationMessage" = "此操作将清空与您的帐号相关联的所有数据,并且无法撤消。确定要删除帐号吗?"; - -/* Text of Delete action button. */ -"Delete" = "删除"; - -/* Title of Controller shown before deleting account */ -"DeleteAccountControllerTitle" = "删除帐号"; - -/* Alert message shown before account deletion. */ -"ActionCantBeUndone" = "此操作无法撤消"; - -/* Button title for unlinking account action. */ -"UnlinkAction" = "取消关联"; - -/* Controller title shown for unlinking account action. */ -"UnlinkTitle" = "已关联的帐号"; - -/* Alert title shown before unlinking action. */ -"UnlinkConfirmationTitle" = "要取消帐号关联吗?"; - -/* Alert message shown before unlinking action. */ -"UnlinkConfirmationMessage" = "您将不能再使用您的帐号登录"; - -/* Alert action title shown before unlinking action. */ -"UnlinkConfirmationActionTitle" = "取消帐号关联"; - -/* Alert action message shown before updating email action. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"UpdateEmailAlertMessage" = "要更改与您的帐号关联的电子邮件地址,您需要再次登录。"; - -/* Alert action message shown before confirmation of updating email action. */ -"UpdateEmailVerificationAlertMessage" = "要更改密码,您需要先输入当前的密码。"; - -/* Controller title shown when editing account email. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"EditEmailTitle" = "修改电子邮件地址"; - -/* Controller title shown when editing account name. */ -"EditNameTitle" = "修改名称"; - -/* Alert message shown when adding account password. */ -"AddPasswordAlertMessage" = "要为帐号添加密码,您需要重新登录。"; - -/* Alert message shown when editing account password. */ -"EditPasswordAlertMessage" = "要更改帐号的密码,您需要重新登录。"; - -/* Alert message shown when re-authenticating before editing account password. */ -"ReauthenticateEditPasswordAlertMessage" = "要更改密码,您需要先输入当前的密码。"; - -/* Controller title shown when adding password to account. */ -"AddPasswordTitle" = "添加密码"; - -/* Controller title shown when editing password to account. */ -"EditPasswordTitle" = "更改密码"; - -/* Title of Password/Email provider. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"ProviderTitlePassword" = "电子邮件"; - -/* Title of Google provider */ -"ProviderTitleGoogle" = "Google"; - -/* Title of Facebook provider */ -"ProviderTitleFacebook" = "Facebook"; - -/* Title of Twitter provider */ -"ProviderTitleTwitter" = "Twitter"; - -/* Sign in with provider button label. */ -"SignInWithProvider" = "使用 %@ 帐号登录"; - -/* Placeholder of input cell when user changes name. */ -"PlaceholderEnterName" = "输入您的名称"; - -/* Placeholder of input cell when user changes name. Use short/abbreviated translation for 'email' which is less than 15 chars. */ -"PlaceholderEnterEmail" = "输入您的电子邮件地址"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderEnterPassword" = "输入您的密码"; - -/* Placeholder of secret input cell when user confirms password. */ -"PlaceholderNewPassword" = "新密码"; - -/* Placeholder of secret input cell when user changes password. */ -"PlaceholderChosePassword" = "选择密码"; - -/* Title of forgot password button. */ -"ForgotPasswordTitle" = "登录时遇到问题?"; - -/* Title of confirm email label. */ -"ConfirmEmail" = "确认电子邮件地址"; - -/* Title of successfully signed in label. */ -"SignedIn" = "已登录!"; - -/* Title used in trouble getting email alert view. */ -"TroubleGettingEmailTitle" = "无法收到电子邮件?"; - -/* Alert message displayed when user having trouble getting email. */ -"TroubleGettingEmailMessage" = "尝试以下常见解决方法:\n - 检查电子邮件是否被标记为垃圾邮件或被过滤。\n - 检查互联网连接。\n - 确保没有写错电子邮件地址。\n - 确保收件箱空间充足,且不存在其他与收件箱设置有关的问题。\n 如果上述步骤未能帮助您解决问题,您可以重新发送电子邮件。请注意,重新发送后上一封电子邮件中的链接将失效。"; - -/* Message displayed after email is sent. The placeholder is the email address that the email is sent to. */ -"EmailSentConfirmationMessage" = "系统已将含附加说明的登录电子邮件发送至 %@。请查收电子邮件以完成登录。"; - -/* Message displayed after the email of sign-in link is sent. */ -"SignInEmailSent" = "已发送登录电子邮件"; diff --git a/FirebaseEmailAuthUI.podspec b/FirebaseEmailAuthUI.podspec deleted file mode 100644 index b89d646bfd1..00000000000 --- a/FirebaseEmailAuthUI.podspec +++ /dev/null @@ -1,29 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'FirebaseEmailAuthUI' - s.version = '15.1.0' - s.summary = 'An email authentication provider for FirebaseAuthUI.' - s.homepage = 'https://github.com/firebase/FirebaseUI-iOS' - s.license = { :type => 'Apache 2.0', :file => 'LICENSE' } - s.source = { :git => 'https://github.com/firebase/FirebaseUI-iOS.git', :tag => 'v' + s.version.to_s} - s.author = 'Firebase' - s.platform = :ios - s.ios.deployment_target = '13.0' - s.ios.framework = 'UIKit' - s.requires_arc = true - s.cocoapods_version = '>= 1.8.0' - s.pod_target_xcconfig = { - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', - } - s.swift_version = '6.0' - - s.public_header_files = 'FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/*.h' - s.source_files = 'FirebaseEmailAuthUI/Sources/**/*.{h,m}' - s.dependency 'FirebaseAuth' - s.dependency 'FirebaseCore' - s.dependency 'FirebaseAuthUI', '~> 15.0' - s.dependency 'GoogleUtilities/UserDefaults' - s.resource_bundles = { - 'FirebaseEmailAuthUI' => ['FirebaseEmailAuthUI/Sources/Resources/*.{xib,png}'] - } - -end diff --git a/FirebaseEmailAuthUI/FirebaseEmailAuthUI.xcodeproj/project.pbxproj b/FirebaseEmailAuthUI/FirebaseEmailAuthUI.xcodeproj/project.pbxproj deleted file mode 100644 index 646e2bfe0b8..00000000000 --- a/FirebaseEmailAuthUI/FirebaseEmailAuthUI.xcodeproj/project.pbxproj +++ /dev/null @@ -1,623 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 8D55F179261E710A0020DFB0 /* ic_email@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D55F170261E710A0020DFB0 /* ic_email@3x.png */; }; - 8D55F17A261E710A0020DFB0 /* FUIPasswordRecoveryViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D55F171261E710A0020DFB0 /* FUIPasswordRecoveryViewController.xib */; }; - 8D55F17B261E710A0020DFB0 /* ic_email@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D55F172261E710A0020DFB0 /* ic_email@2x.png */; }; - 8D55F17C261E710A0020DFB0 /* FUIEmailEntryViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D55F173261E710A0020DFB0 /* FUIEmailEntryViewController.xib */; }; - 8D55F17D261E710A0020DFB0 /* FUIPasswordVerificationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D55F174261E710A0020DFB0 /* FUIPasswordVerificationViewController.xib */; }; - 8D55F17E261E710A0020DFB0 /* FUIPasswordSignUpViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D55F175261E710A0020DFB0 /* FUIPasswordSignUpViewController.xib */; }; - 8D55F17F261E710A0020DFB0 /* ic_email.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D55F176261E710A0020DFB0 /* ic_email.png */; }; - 8D55F180261E710A0020DFB0 /* FUIConfirmEmailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D55F177261E710A0020DFB0 /* FUIConfirmEmailViewController.xib */; }; - 8D55F181261E710A0020DFB0 /* FUIPasswordSignInViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D55F178261E710A0020DFB0 /* FUIPasswordSignInViewController.xib */; }; - 8D69E36F21DD623F00CFA49B /* FirebaseEmailAuthUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8D69E36521DD623F00CFA49B /* FirebaseEmailAuthUI.framework */; }; - 8D69E37421DD623F00CFA49B /* FirebaseEmailAuthUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E37321DD623F00CFA49B /* FirebaseEmailAuthUITests.m */; }; - 8D69E37621DD623F00CFA49B /* FirebaseEmailAuthUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E36821DD623F00CFA49B /* FirebaseEmailAuthUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E38F21DD63B300CFA49B /* FUIPasswordSignInViewController_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E37F21DD63B200CFA49B /* FUIPasswordSignInViewController_Internal.h */; }; - 8D69E39021DD63B300CFA49B /* FUIPasswordSignUpViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E38021DD63B200CFA49B /* FUIPasswordSignUpViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E39121DD63B300CFA49B /* FUIEmailAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E38121DD63B200CFA49B /* FUIEmailAuth.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E39221DD63B300CFA49B /* FUIEmailEntryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E38221DD63B200CFA49B /* FUIEmailEntryViewController.m */; }; - 8D69E39321DD63B300CFA49B /* FUIPasswordVerificationViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E38321DD63B200CFA49B /* FUIPasswordVerificationViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E39421DD63B300CFA49B /* FUIEmailAuthStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E38421DD63B200CFA49B /* FUIEmailAuthStrings.h */; }; - 8D69E39521DD63B300CFA49B /* FUIEmailAuth_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E38521DD63B200CFA49B /* FUIEmailAuth_Internal.h */; }; - 8D69E39621DD63B300CFA49B /* FUIPasswordSignUpViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E38621DD63B200CFA49B /* FUIPasswordSignUpViewController.m */; }; - 8D69E39721DD63B300CFA49B /* FUIPasswordVerificationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E38721DD63B200CFA49B /* FUIPasswordVerificationViewController.m */; }; - 8D69E39821DD63B300CFA49B /* FUIEmailEntryViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E38821DD63B200CFA49B /* FUIEmailEntryViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E39921DD63B300CFA49B /* FUIEmailAuthStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E38921DD63B300CFA49B /* FUIEmailAuthStrings.m */; }; - 8D69E39A21DD63B300CFA49B /* FUIPasswordSignInViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E38A21DD63B300CFA49B /* FUIPasswordSignInViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E39B21DD63B300CFA49B /* FUIPasswordRecoveryViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E38B21DD63B300CFA49B /* FUIPasswordRecoveryViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E39C21DD63B300CFA49B /* FUIPasswordRecoveryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E38C21DD63B300CFA49B /* FUIPasswordRecoveryViewController.m */; }; - 8D69E39D21DD63B300CFA49B /* FUIPasswordSignInViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E38D21DD63B300CFA49B /* FUIPasswordSignInViewController.m */; }; - 8D69E39E21DD63B300CFA49B /* FUIEmailAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E38E21DD63B300CFA49B /* FUIEmailAuth.m */; }; - 8DB377A0226137CC00BF5095 /* FUIConfirmEmailViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DB3779E226137CC00BF5095 /* FUIConfirmEmailViewController.h */; }; - 8DB377A1226137CC00BF5095 /* FUIConfirmEmailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DB3779F226137CC00BF5095 /* FUIConfirmEmailViewController.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 8D69E37021DD623F00CFA49B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8D69E35C21DD623F00CFA49B /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8D69E36421DD623F00CFA49B; - remoteInfo = FirebaseEmailAuthUI; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 8D55F170261E710A0020DFB0 /* ic_email@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_email@3x.png"; sourceTree = ""; }; - 8D55F171261E710A0020DFB0 /* FUIPasswordRecoveryViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUIPasswordRecoveryViewController.xib; sourceTree = ""; }; - 8D55F172261E710A0020DFB0 /* ic_email@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_email@2x.png"; sourceTree = ""; }; - 8D55F173261E710A0020DFB0 /* FUIEmailEntryViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUIEmailEntryViewController.xib; sourceTree = ""; }; - 8D55F174261E710A0020DFB0 /* FUIPasswordVerificationViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUIPasswordVerificationViewController.xib; sourceTree = ""; }; - 8D55F175261E710A0020DFB0 /* FUIPasswordSignUpViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUIPasswordSignUpViewController.xib; sourceTree = ""; }; - 8D55F176261E710A0020DFB0 /* ic_email.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ic_email.png; sourceTree = ""; }; - 8D55F177261E710A0020DFB0 /* FUIConfirmEmailViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUIConfirmEmailViewController.xib; sourceTree = ""; }; - 8D55F178261E710A0020DFB0 /* FUIPasswordSignInViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUIPasswordSignInViewController.xib; sourceTree = ""; }; - 8D69E36521DD623F00CFA49B /* FirebaseEmailAuthUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FirebaseEmailAuthUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E36821DD623F00CFA49B /* FirebaseEmailAuthUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FirebaseEmailAuthUI.h; sourceTree = ""; }; - 8D69E36921DD623F00CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E36E21DD623F00CFA49B /* FirebaseEmailAuthUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FirebaseEmailAuthUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E37321DD623F00CFA49B /* FirebaseEmailAuthUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirebaseEmailAuthUITests.m; sourceTree = ""; }; - 8D69E37521DD623F00CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E37F21DD63B200CFA49B /* FUIPasswordSignInViewController_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIPasswordSignInViewController_Internal.h; sourceTree = ""; }; - 8D69E38021DD63B200CFA49B /* FUIPasswordSignUpViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIPasswordSignUpViewController.h; sourceTree = ""; }; - 8D69E38121DD63B200CFA49B /* FUIEmailAuth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIEmailAuth.h; sourceTree = ""; }; - 8D69E38221DD63B200CFA49B /* FUIEmailEntryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIEmailEntryViewController.m; sourceTree = ""; }; - 8D69E38321DD63B200CFA49B /* FUIPasswordVerificationViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIPasswordVerificationViewController.h; sourceTree = ""; }; - 8D69E38421DD63B200CFA49B /* FUIEmailAuthStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIEmailAuthStrings.h; sourceTree = ""; }; - 8D69E38521DD63B200CFA49B /* FUIEmailAuth_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIEmailAuth_Internal.h; sourceTree = ""; }; - 8D69E38621DD63B200CFA49B /* FUIPasswordSignUpViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIPasswordSignUpViewController.m; sourceTree = ""; }; - 8D69E38721DD63B200CFA49B /* FUIPasswordVerificationViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIPasswordVerificationViewController.m; sourceTree = ""; }; - 8D69E38821DD63B200CFA49B /* FUIEmailEntryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIEmailEntryViewController.h; sourceTree = ""; }; - 8D69E38921DD63B300CFA49B /* FUIEmailAuthStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIEmailAuthStrings.m; sourceTree = ""; }; - 8D69E38A21DD63B300CFA49B /* FUIPasswordSignInViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIPasswordSignInViewController.h; sourceTree = ""; }; - 8D69E38B21DD63B300CFA49B /* FUIPasswordRecoveryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIPasswordRecoveryViewController.h; sourceTree = ""; }; - 8D69E38C21DD63B300CFA49B /* FUIPasswordRecoveryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIPasswordRecoveryViewController.m; sourceTree = ""; }; - 8D69E38D21DD63B300CFA49B /* FUIPasswordSignInViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIPasswordSignInViewController.m; sourceTree = ""; }; - 8D69E38E21DD63B300CFA49B /* FUIEmailAuth.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIEmailAuth.m; sourceTree = ""; }; - 8DB3779E226137CC00BF5095 /* FUIConfirmEmailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIConfirmEmailViewController.h; sourceTree = ""; }; - 8DB3779F226137CC00BF5095 /* FUIConfirmEmailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIConfirmEmailViewController.m; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8D69E36221DD623F00CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E36B21DD623F00CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E36F21DD623F00CFA49B /* FirebaseEmailAuthUI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 3F62AEE76F7ADD8E7928642E /* Pods */ = { - isa = PBXGroup; - children = ( - ); - path = Pods; - sourceTree = ""; - }; - 8D55F154261E611A0020DFB0 /* Public */ = { - isa = PBXGroup; - children = ( - 8DAB9B4F2637690100FF271F /* FirebaseEmailAuthUI */, - ); - path = Public; - sourceTree = ""; - }; - 8D55F16F261E710A0020DFB0 /* Resources */ = { - isa = PBXGroup; - children = ( - 8D55F177261E710A0020DFB0 /* FUIConfirmEmailViewController.xib */, - 8D55F173261E710A0020DFB0 /* FUIEmailEntryViewController.xib */, - 8D55F171261E710A0020DFB0 /* FUIPasswordRecoveryViewController.xib */, - 8D55F178261E710A0020DFB0 /* FUIPasswordSignInViewController.xib */, - 8D55F175261E710A0020DFB0 /* FUIPasswordSignUpViewController.xib */, - 8D55F174261E710A0020DFB0 /* FUIPasswordVerificationViewController.xib */, - 8D55F176261E710A0020DFB0 /* ic_email.png */, - 8D55F172261E710A0020DFB0 /* ic_email@2x.png */, - 8D55F170261E710A0020DFB0 /* ic_email@3x.png */, - ); - path = Resources; - sourceTree = ""; - }; - 8D69E35B21DD623F00CFA49B = { - isa = PBXGroup; - children = ( - 8D69E36721DD623F00CFA49B /* Sources */, - 8D69E37221DD623F00CFA49B /* FirebaseEmailAuthUITests */, - 8D69E36621DD623F00CFA49B /* Products */, - 3F62AEE76F7ADD8E7928642E /* Pods */, - ); - sourceTree = ""; - }; - 8D69E36621DD623F00CFA49B /* Products */ = { - isa = PBXGroup; - children = ( - 8D69E36521DD623F00CFA49B /* FirebaseEmailAuthUI.framework */, - 8D69E36E21DD623F00CFA49B /* FirebaseEmailAuthUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 8D69E36721DD623F00CFA49B /* Sources */ = { - isa = PBXGroup; - children = ( - 8D55F154261E611A0020DFB0 /* Public */, - 8DB3779F226137CC00BF5095 /* FUIConfirmEmailViewController.m */, - 8D69E38521DD63B200CFA49B /* FUIEmailAuth_Internal.h */, - 8D69E38E21DD63B300CFA49B /* FUIEmailAuth.m */, - 8D69E38421DD63B200CFA49B /* FUIEmailAuthStrings.h */, - 8D69E38921DD63B300CFA49B /* FUIEmailAuthStrings.m */, - 8D69E38221DD63B200CFA49B /* FUIEmailEntryViewController.m */, - 8D69E38C21DD63B300CFA49B /* FUIPasswordRecoveryViewController.m */, - 8D69E37F21DD63B200CFA49B /* FUIPasswordSignInViewController_Internal.h */, - 8D69E38D21DD63B300CFA49B /* FUIPasswordSignInViewController.m */, - 8D69E38621DD63B200CFA49B /* FUIPasswordSignUpViewController.m */, - 8D69E38721DD63B200CFA49B /* FUIPasswordVerificationViewController.m */, - 8D69E36921DD623F00CFA49B /* Info.plist */, - 8D55F16F261E710A0020DFB0 /* Resources */, - ); - path = Sources; - sourceTree = ""; - }; - 8D69E37221DD623F00CFA49B /* FirebaseEmailAuthUITests */ = { - isa = PBXGroup; - children = ( - 8D69E37321DD623F00CFA49B /* FirebaseEmailAuthUITests.m */, - 8D69E37521DD623F00CFA49B /* Info.plist */, - ); - path = FirebaseEmailAuthUITests; - sourceTree = ""; - }; - 8DAB9B4F2637690100FF271F /* FirebaseEmailAuthUI */ = { - isa = PBXGroup; - children = ( - 8D69E36821DD623F00CFA49B /* FirebaseEmailAuthUI.h */, - 8DB3779E226137CC00BF5095 /* FUIConfirmEmailViewController.h */, - 8D69E38121DD63B200CFA49B /* FUIEmailAuth.h */, - 8D69E38821DD63B200CFA49B /* FUIEmailEntryViewController.h */, - 8D69E38B21DD63B300CFA49B /* FUIPasswordRecoveryViewController.h */, - 8D69E38A21DD63B300CFA49B /* FUIPasswordSignInViewController.h */, - 8D69E38021DD63B200CFA49B /* FUIPasswordSignUpViewController.h */, - 8D69E38321DD63B200CFA49B /* FUIPasswordVerificationViewController.h */, - ); - path = FirebaseEmailAuthUI; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 8D69E36021DD623F00CFA49B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E39821DD63B300CFA49B /* FUIEmailEntryViewController.h in Headers */, - 8D69E38F21DD63B300CFA49B /* FUIPasswordSignInViewController_Internal.h in Headers */, - 8D69E39B21DD63B300CFA49B /* FUIPasswordRecoveryViewController.h in Headers */, - 8DB377A0226137CC00BF5095 /* FUIConfirmEmailViewController.h in Headers */, - 8D69E37621DD623F00CFA49B /* FirebaseEmailAuthUI.h in Headers */, - 8D69E39321DD63B300CFA49B /* FUIPasswordVerificationViewController.h in Headers */, - 8D69E39A21DD63B300CFA49B /* FUIPasswordSignInViewController.h in Headers */, - 8D69E39521DD63B300CFA49B /* FUIEmailAuth_Internal.h in Headers */, - 8D69E39121DD63B300CFA49B /* FUIEmailAuth.h in Headers */, - 8D69E39021DD63B300CFA49B /* FUIPasswordSignUpViewController.h in Headers */, - 8D69E39421DD63B300CFA49B /* FUIEmailAuthStrings.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 8D69E36421DD623F00CFA49B /* FirebaseEmailAuthUI */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E37921DD623F00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseEmailAuthUI" */; - buildPhases = ( - 8D69E36021DD623F00CFA49B /* Headers */, - 8D69E36121DD623F00CFA49B /* Sources */, - 8D69E36221DD623F00CFA49B /* Frameworks */, - 8D69E36321DD623F00CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FirebaseEmailAuthUI; - productName = FirebaseEmailAuthUI; - productReference = 8D69E36521DD623F00CFA49B /* FirebaseEmailAuthUI.framework */; - productType = "com.apple.product-type.framework"; - }; - 8D69E36D21DD623F00CFA49B /* FirebaseEmailAuthUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E37C21DD623F00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseEmailAuthUITests" */; - buildPhases = ( - 8D69E36A21DD623F00CFA49B /* Sources */, - 8D69E36B21DD623F00CFA49B /* Frameworks */, - 8D69E36C21DD623F00CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 8D69E37121DD623F00CFA49B /* PBXTargetDependency */, - ); - name = FirebaseEmailAuthUITests; - productName = FirebaseEmailAuthUITests; - productReference = 8D69E36E21DD623F00CFA49B /* FirebaseEmailAuthUITests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 8D69E35C21DD623F00CFA49B /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1010; - ORGANIZATIONNAME = Firebase; - TargetAttributes = { - 8D69E36421DD623F00CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - 8D69E36D21DD623F00CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - }; - }; - buildConfigurationList = 8D69E35F21DD623F00CFA49B /* Build configuration list for PBXProject "FirebaseEmailAuthUI" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 8D69E35B21DD623F00CFA49B; - productRefGroup = 8D69E36621DD623F00CFA49B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8D69E36421DD623F00CFA49B /* FirebaseEmailAuthUI */, - 8D69E36D21DD623F00CFA49B /* FirebaseEmailAuthUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8D69E36321DD623F00CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D55F17B261E710A0020DFB0 /* ic_email@2x.png in Resources */, - 8D55F180261E710A0020DFB0 /* FUIConfirmEmailViewController.xib in Resources */, - 8D55F181261E710A0020DFB0 /* FUIPasswordSignInViewController.xib in Resources */, - 8D55F17C261E710A0020DFB0 /* FUIEmailEntryViewController.xib in Resources */, - 8D55F179261E710A0020DFB0 /* ic_email@3x.png in Resources */, - 8D55F17D261E710A0020DFB0 /* FUIPasswordVerificationViewController.xib in Resources */, - 8D55F17E261E710A0020DFB0 /* FUIPasswordSignUpViewController.xib in Resources */, - 8D55F17F261E710A0020DFB0 /* ic_email.png in Resources */, - 8D55F17A261E710A0020DFB0 /* FUIPasswordRecoveryViewController.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E36C21DD623F00CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8D69E36121DD623F00CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E39921DD63B300CFA49B /* FUIEmailAuthStrings.m in Sources */, - 8D69E39621DD63B300CFA49B /* FUIPasswordSignUpViewController.m in Sources */, - 8D69E39C21DD63B300CFA49B /* FUIPasswordRecoveryViewController.m in Sources */, - 8DB377A1226137CC00BF5095 /* FUIConfirmEmailViewController.m in Sources */, - 8D69E39721DD63B300CFA49B /* FUIPasswordVerificationViewController.m in Sources */, - 8D69E39E21DD63B300CFA49B /* FUIEmailAuth.m in Sources */, - 8D69E39D21DD63B300CFA49B /* FUIPasswordSignInViewController.m in Sources */, - 8D69E39221DD63B300CFA49B /* FUIEmailEntryViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E36A21DD623F00CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E37421DD623F00CFA49B /* FirebaseEmailAuthUITests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 8D69E37121DD623F00CFA49B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8D69E36421DD623F00CFA49B /* FirebaseEmailAuthUI */; - targetProxy = 8D69E37021DD623F00CFA49B /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 8D69E37721DD623F00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../\""; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 8D69E37821DD623F00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../\""; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 8D69E37A21DD623F00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseEmailAuthUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E37B21DD623F00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseEmailAuthUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 8D69E37D21DD623F00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseEmailAuthUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth", - "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore", - "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop", - "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseUI", - "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher", - "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport", - "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities", - "${PODS_CONFIGURATION_BUILD_DIR}/OCMock", - "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC", - "${PODS_CONFIGURATION_BUILD_DIR}/nanopb", - "$(PODS_CONFIGURATION_BUILD_DIR)/FirebaseAuthUI", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", - ); - OTHER_LDFLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseEmailAuthUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E37E21DD623F00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseEmailAuthUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth", - "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore", - "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop", - "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseUI", - "${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher", - "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport", - "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities", - "${PODS_CONFIGURATION_BUILD_DIR}/OCMock", - "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC", - "${PODS_CONFIGURATION_BUILD_DIR}/nanopb", - "$(PODS_CONFIGURATION_BUILD_DIR)/FirebaseAuthUI", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", - ); - OTHER_LDFLAGS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseEmailAuthUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 8D69E35F21DD623F00CFA49B /* Build configuration list for PBXProject "FirebaseEmailAuthUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E37721DD623F00CFA49B /* Debug */, - 8D69E37821DD623F00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E37921DD623F00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseEmailAuthUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E37A21DD623F00CFA49B /* Debug */, - 8D69E37B21DD623F00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E37C21DD623F00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseEmailAuthUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E37D21DD623F00CFA49B /* Debug */, - 8D69E37E21DD623F00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 8D69E35C21DD623F00CFA49B /* Project object */; -} diff --git a/FirebaseEmailAuthUI/FirebaseEmailAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseEmailAuthUI.xcscheme b/FirebaseEmailAuthUI/FirebaseEmailAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseEmailAuthUI.xcscheme deleted file mode 100644 index 689eed2fce6..00000000000 --- a/FirebaseEmailAuthUI/FirebaseEmailAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseEmailAuthUI.xcscheme +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseEmailAuthUI/FirebaseEmailAuthUITests/FirebaseEmailAuthUITests.m b/FirebaseEmailAuthUI/FirebaseEmailAuthUITests/FirebaseEmailAuthUITests.m deleted file mode 100644 index 812a9a462c4..00000000000 --- a/FirebaseEmailAuthUI/FirebaseEmailAuthUITests/FirebaseEmailAuthUITests.m +++ /dev/null @@ -1,67 +0,0 @@ -// -// 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 "FUIEmailAuth.h" -@import FirebaseAuth; -#import -#import "FUIAuthUtils.h" -#import -#import -#import -#import - -@interface FirebaseEmailAuthUITests : XCTestCase -@property (nonatomic, strong) FUIEmailAuth *provider; -@end - -@implementation FirebaseEmailAuthUITests - -- (void)setUp { - [super setUp]; - - id authUIClass = OCMClassMock([FUIAuth class]); - OCMStub([authUIClass setEmailAuthProvider:[OCMArg any]]).andDo(^(NSInvocation *invocation){ - // do nothing - }); - OCMStub(ClassMethod([authUIClass authUIWithAuth:OCMOCK_ANY])). - andReturn(authUIClass); - - id authClass = OCMClassMock([FIRAuth class]); - OCMStub(ClassMethod([authClass auth])). - andReturn(authClass); - - self.provider = [[FUIEmailAuth alloc] init]; -} - -- (void)tearDown { - self.provider = nil; - [super tearDown]; -} - -- (void)testProviderValidity { - XCTAssertNotNil(self.provider); - XCTAssertNotNil(self.provider.icon); - XCTAssertNotNil(self.provider.signInLabel); - XCTAssertNotNil(self.provider.buttonBackgroundColor); - XCTAssertNotNil(self.provider.buttonTextColor); - XCTAssertNotNil(self.provider.providerID); - XCTAssertNotNil(self.provider.shortName); - XCTAssertTrue(self.provider.signInLabel.length != 0); - XCTAssertNil(self.provider.accessToken); - XCTAssertNil(self.provider.idToken); -} - -@end diff --git a/FirebaseEmailAuthUI/FirebaseEmailAuthUITests/Info.plist b/FirebaseEmailAuthUI/FirebaseEmailAuthUITests/Info.plist deleted file mode 100644 index ba72822e872..00000000000 --- a/FirebaseEmailAuthUI/FirebaseEmailAuthUITests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/FirebaseEmailAuthUI/Podfile b/FirebaseEmailAuthUI/Podfile deleted file mode 100644 index 8c7aaa73a1f..00000000000 --- a/FirebaseEmailAuthUI/Podfile +++ /dev/null @@ -1,18 +0,0 @@ -# source 'sso://cpdc-internal/firebase' -source 'https://github.com/CocoaPods/Specs.git' - -platform :ios, '13.0' - -target 'FirebaseEmailAuthUI' do - use_frameworks! - - # The dependencies in the FirebaseEmailAuthUI podspec should be here. - pod 'FirebaseAuthUI', :path => '../' - pod 'GoogleUtilities/UserDefaults' - - target 'FirebaseEmailAuthUITests' do - inherit! :search_paths - pod 'OCMock' - end - -end diff --git a/FirebaseEmailAuthUI/Sources/FUIConfirmEmailViewController.m b/FirebaseEmailAuthUI/Sources/FUIConfirmEmailViewController.m deleted file mode 100755 index 90687777b57..00000000000 --- a/FirebaseEmailAuthUI/Sources/FUIConfirmEmailViewController.m +++ /dev/null @@ -1,305 +0,0 @@ -// -// Copyright (c) 2018 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 "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIConfirmEmailViewController.h" - -@import FirebaseAuth; - -#import - -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h" -#import "FirebaseEmailAuthUI/Sources/FUIEmailAuth_Internal.h" -#import "FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.h" -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordSignInViewController.h" -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordSignUpViewController.h" - -/** @var kCellReuseIdentifier - @brief The reuse identifier for table view cell. - */ -static NSString *const kCellReuseIdentifier = @"cellReuseIdentifier"; - -/** @var kAppIDCodingKey - @brief The key used to encode the app ID for NSCoding. - */ -static NSString *const kAppIDCodingKey = @"appID"; - -/** @var kAuthUICodingKey - @brief The key used to encode @c FUIAuth instance for NSCoding. - */ -static NSString *const kAuthUICodingKey = @"authUI"; - -/** @var kEmailCellAccessibilityID - @brief The Accessibility Identifier for the @c email sign in cell. - */ -static NSString *const kEmailCellAccessibilityID = @"EmailCellAccessibilityID"; - -/** @var kNextButtonAccessibilityID - @brief The Accessibility Identifier for the @c next button. - */ -static NSString *const kNextButtonAccessibilityID = @"NextButtonAccessibilityID"; - -@interface FUIConfirmEmailViewController () - -/** @property emailField - @brief The @c UITextField that user enters email address into. - */ -@property (nonatomic) UITextField *emailField; - -/** @property tableView - @brief The @c UITableView used to store all UI elements. - */ -@property (nonatomic, weak) IBOutlet UITableView *tableView; - -/** @property termsOfServiceView - @brief The @c Text view which displays Terms of Service. - */ -@property (nonatomic, weak) IBOutlet FUIPrivacyAndTermsOfServiceView *termsOfServiceView; - -@end - -@implementation FUIConfirmEmailViewController - -- (instancetype)initWithAuthUI:(FUIAuth *)authUI { - return [self initWithNibName:NSStringFromClass([self class]) - bundle:[FUIEmailAuth bundle] - authUI:authUI]; -} - -- (instancetype)initWithNibName:(NSString *)nibNameOrNil - bundle:(NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI { - self = [super initWithNibName:nibNameOrNil - bundle:nibBundleOrNil - authUI:authUI]; - if (self) { - self.title = FUILocalizedString(kStr_ConfirmEmail); - } - return self; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - UIBarButtonItem *nextButtonItem = - [FUIAuthBaseViewController barItemWithTitle:FUILocalizedString(kStr_Next) - target:self - action:@selector(next)]; - nextButtonItem.accessibilityIdentifier = kNextButtonAccessibilityID; - self.navigationItem.rightBarButtonItem = nextButtonItem; - self.termsOfServiceView.authUI = self.authUI; - [self.termsOfServiceView useFullMessage]; - - [self enableDynamicCellHeightForTableView:self.tableView]; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - if (self.navigationController.viewControllers.firstObject == self) { - 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:self.emailField.text]; -} - -- (void)onNext:(NSString *)emailText { - // TODO: After Firebase 11 minimum, change to EmailAuthProvider.id. - FUIEmailAuth *emailAuth = [self.authUI providerWithID:@"password"]; - - if (![[self class] isValidEmail:emailText]) { - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidEmailError)]; - return; - } - - [self incrementActivity]; - FIRAuthCredential *credential = - [FIREmailAuthProvider credentialWithEmail:emailText link:emailAuth.emailLink]; - - void (^completeSignInBlock)(FIRAuthDataResult *, NSError *) = ^(FIRAuthDataResult *authResult, - NSError *error) { - [self decrementActivity]; - - if (error) { - switch (error.code) { - case FIRAuthErrorCodeWrongPassword: - [self showAlertWithMessage:FUILocalizedString(kStr_WrongPasswordError)]; - return; - case FIRAuthErrorCodeUserNotFound: - [self showAlertWithMessage:FUILocalizedString(kStr_UserNotFoundError)]; - return; - case FIRAuthErrorCodeUserDisabled: - [self showAlertWithMessage:FUILocalizedString(kStr_AccountDisabledError)]; - return; - case FIRAuthErrorCodeTooManyRequests: - [self showAlertWithMessage:FUILocalizedString(kStr_SignInTooManyTimesError)]; - return; - default: - [self showAlertWithMessage:error.description]; - return; - } - } - - [[self class] showAlertWithTitle:FUILocalizedString(kStr_SignedIn) - message:nil - actionTitle:nil - actionHandler:nil - dismissTitle:@"OK" - dismissHandler:^{ - [self.navigationController dismissViewControllerAnimated:YES completion:^{ - [self.authUI invokeResultCallbackWithAuthDataResult:authResult URL:nil error:error]; - }]; - } - presentingViewController:self]; - }; - - [self.auth signInWithCredential:credential completion:completeSignInBlock]; -} - -- (void)textFieldDidChange { - [self didChangeEmail:self.emailField.text]; -} - -- (void)didChangeEmail:(NSString *)emailText { - self.navigationItem.rightBarButtonItem.enabled = (emailText.length > 0); -} - -#pragma mark - UITableViewDataSource - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return 1; -} - -- (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]; - } - cell.label.text = FUILocalizedString(kStr_Email); - cell.textField.placeholder = FUILocalizedString(kStr_ConfirmEmail); - cell.textField.delegate = self; - cell.accessibilityIdentifier = kEmailCellAccessibilityID; - self.emailField = cell.textField; - cell.textField.secureTextEntry = NO; - cell.textField.autocorrectionType = UITextAutocorrectionTypeNo; - cell.textField.autocapitalizationType = UITextAutocapitalizationTypeNone; - cell.textField.returnKeyType = UIReturnKeyNext; - cell.textField.keyboardType = UIKeyboardTypeEmailAddress; - if (@available(iOS 11.0, *)) { - cell.textField.textContentType = UITextContentTypeUsername; - } - [cell.textField addTarget:self - action:@selector(textFieldDidChange) - forControlEvents:UIControlEventEditingChanged]; - [self didChangeEmail:self.emailField.text]; - return cell; -} - -- (nullable id)bestProviderFromProviderIDs:(NSArray *)providerIDs { - NSArray> *providers = self.authUI.providers; - for (NSString *providerID in providerIDs) { - for (id provider in providers) { - if ([providerID isEqual:provider.providerID]) { - return provider; - } - } - } - return nil; -} - -#pragma mark - UITextFieldDelegate - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - if (textField == self.emailField) { - [self onNext:self.emailField.text]; - } - return NO; -} - -#pragma mark - Utilities - -/** @fn signInWithProvider:email: - @brief Actually kicks off sign in with the provider. - @param provider The identity provider to sign in with. - @param email The email address of the user. - */ -- (void)signInWithProvider:(id)provider email:(NSString *)email { - [self incrementActivity]; - - // Sign out first to make sure sign in starts with a clean state. - [provider signOut]; - [provider signInWithDefaultValue:email - presentingViewController:self - completion:^(FIRAuthCredential * _Nullable credential, - NSError * _Nullable error, - FIRAuthResultCallback _Nullable result, - NSDictionary * _Nullable userInfo) { - if (error) { - [self decrementActivity]; - if (result) { - result(nil, error); - } - - [self dismissNavigationControllerAnimated:YES completion:^{ - [self.authUI invokeResultCallbackWithAuthDataResult:nil URL:nil error:error]; - }]; - return; - } - - [self.auth signInWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - [self decrementActivity]; - if (result) { - result(authResult.user, error); - } - - if (error) { - [self.authUI invokeResultCallbackWithAuthDataResult:nil URL:nil error:error]; - } else { - [self dismissNavigationControllerAnimated:YES completion:^{ - [self.authUI invokeResultCallbackWithAuthDataResult:authResult URL:nil error:error]; - }]; - } - }]; - }]; -} - -@end diff --git a/FirebaseEmailAuthUI/Sources/FUIEmailAuth.m b/FirebaseEmailAuthUI/Sources/FUIEmailAuth.m deleted file mode 100644 index e20405a955a..00000000000 --- a/FirebaseEmailAuthUI/Sources/FUIEmailAuth.m +++ /dev/null @@ -1,868 +0,0 @@ -// -// Copyright (c) 2018 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 "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h" - -@import FirebaseCore; -@import FirebaseAuth; -#import - -#import - -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIConfirmEmailViewController.h" -#import "FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.h" -#import "FirebaseEmailAuthUI/Sources/FUIEmailAuth_Internal.h" -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailEntryViewController.h" -#import "FirebaseEmailAuthUI/Sources/FUIPasswordSignInViewController_Internal.h" -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordVerificationViewController.h" -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordSignInViewController.h" - -/** @var kErrorUserInfoEmailKey - @brief The key for the email address in the userinfo dictionary of a sign in error. - */ -static NSString *const kErrorUserInfoEmailKey = @"FIRAuthErrorUserInfoEmailKey"; - -/** @var kEmailButtonAccessibilityID - @brief The Accessibility Identifier for the @c email sign in button. - */ -static NSString *const kEmailButtonAccessibilityID = @"EmailButtonAccessibilityID"; - -/** @var kEmailLinkSignInEmailKey - @brief The key of the email which request email link sign in. - */ -static NSString *const kEmailLinkSignInEmailKey = @"FIRAuthEmailLinkSignInEmail"; - -/** @var kEmailLinkSignInLinkingCredentialKey - @brief The key of the auth credential to be linked. - */ -static NSString *const kEmailLinkSignInLinkingCredentialKey = @"FIRAuthEmailLinkSignInLinkingCredential"; - -@interface FUIEmailAuth () -/** @property authUI. - @brief The @c FUIAuth instance of the application. - */ -@property(nonatomic, strong, readonly) FUIAuth *authUI; - -/** @property pendingSignInCallback. - @brief The callback which should be invoked when the sign in flow completes (or is cancelled.) - */ -@property(nonatomic, copy, readwrite) FUIAuthProviderSignInCompletionBlock pendingSignInCallback; - -/** @property presentingViewController - @brief The presenting view controller for interactive sign-in. - */ -@property(nonatomic, strong) UIViewController *presentingViewController; - -@end - -@implementation FUIEmailAuth - -+ (NSBundle *)bundle { - return [FUIAuthUtils bundleNamed:FUIEmailAuthBundleName - inFrameworkBundle:[NSBundle bundleForClass:[self class]]]; -} - -- (instancetype)init { - return [self initAuthAuthUI:[FUIAuth defaultAuthUI] - signInMethod:@"password" - forceSameDevice:NO - allowNewEmailAccounts:YES - requireDisplayName:YES - actionCodeSetting:[[FIRActionCodeSettings alloc] init]]; -} - - -- (instancetype)initAuthAuthUI:(FUIAuth *)authUI - signInMethod:(NSString *)signInMethod - forceSameDevice:(BOOL)forceSameDevice - allowNewEmailAccounts:(BOOL)allowNewEmailAccounts - actionCodeSetting:(FIRActionCodeSettings *)actionCodeSettings { - return [self initAuthAuthUI:authUI - signInMethod:signInMethod - forceSameDevice:forceSameDevice - allowNewEmailAccounts:allowNewEmailAccounts - requireDisplayName:YES - actionCodeSetting:actionCodeSettings]; -} - -- (instancetype)initAuthAuthUI:(FUIAuth *)authUI - signInMethod:(NSString *)signInMethod - forceSameDevice:(BOOL)forceSameDevice - allowNewEmailAccounts:(BOOL)allowNewEmailAccounts - requireDisplayName:(BOOL)requireDisplayName - actionCodeSetting:(FIRActionCodeSettings *)actionCodeSettings { - self = [super init]; - if (self) { - _authUI = authUI; - _authUI.emailAuthProvider = self; - _signInMethod = signInMethod; - _forceSameDevice = forceSameDevice; - _allowNewEmailAccounts = allowNewEmailAccounts; - _requireDisplayName = requireDisplayName; - _actionCodeSettings = actionCodeSettings; - } - return self; -} - - -#pragma mark - FUIAuthProvider - -- (nullable NSString *)providerID { - return @"password"; -} - -/** @fn accessToken: - @brief Email Auth token is matched by FirebaseUI User Access Token - */ -- (nullable NSString *)accessToken { - return nil; -} - -/** @fn idToken: - @brief Email Auth Token Secret is matched by FirebaseUI User Id Token - */ -- (nullable NSString *)idToken { - return nil; -} - -- (NSString *)shortName { - return @"Email"; -} - -- (NSString *)signInLabel { - return FUILocalizedString(kStr_SignInWithEmail); -} - -- (UIImage *)icon { - return [FUIAuthUtils imageNamed:@"ic_email" fromBundle:[FUIEmailAuth bundle]]; -} - -- (UIColor *)buttonBackgroundColor { - return [UIColor colorWithRed:208.f/255.f green:2.f/255.f blue:27.f/255.f alpha:1.0]; -} - -- (UIColor *)buttonTextColor { - return [UIColor whiteColor]; -} - -- (void)signInWithPresentingViewController:(UIViewController *)presentingViewController { - [self signInWithPresentingViewController:presentingViewController - email:nil]; -} - -- (void)signInWithPresentingViewController:(UIViewController *)presentingViewController - email:(nullable NSString *)email { - [self.authUI signInWithProviderUI:self - presentingViewController:presentingViewController - defaultValue:email]; -} - - -#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 { - self.presentingViewController = presentingViewController; - - self.pendingSignInCallback = completion; - id delegate = self.authUI.delegate; - UIViewController *controller; - if (self.allowNewEmailAccounts) { - if ([delegate respondsToSelector:@selector(emailEntryViewControllerForAuthUI:)]) { - controller = [delegate emailEntryViewControllerForAuthUI:self.authUI]; - } else { - controller = [[FUIEmailEntryViewController alloc] initWithAuthUI:self.authUI]; - } - } else { - if ([delegate respondsToSelector:@selector(passwordSignInViewControllerForAuthUI:email:)]) { - controller = [delegate passwordSignInViewControllerForAuthUI:self.authUI - email:defaultValue]; - } else { - controller = [[FUIPasswordSignInViewController alloc] initWithAuthUI:self.authUI - email:defaultValue]; - } - } - - if ([presentingViewController isKindOfClass:[FUIAuthBaseViewController class]]) { - FUIAuthBaseViewController *authController = - (FUIAuthBaseViewController *)presentingViewController; - [authController pushViewController:controller]; - } else { - UINavigationController *navigationController = - [[UINavigationController alloc] initWithRootViewController:controller]; - [presentingViewController presentViewController:navigationController - animated:YES - completion:nil]; - } -} - -- (void)signOut { - return; -} - -- (BOOL)handleOpenURL:(NSURL *)URL sourceApplication:(nullable NSString *)sourceApplication { - self.emailLink = URL.absoluteString; - - // Retrieve continueUrl from URL - NSURLComponents *urlComponents = [NSURLComponents componentsWithString:URL.absoluteString]; - NSString *continueURLString; - for (NSURLQueryItem *queryItem in urlComponents.queryItems) { - if ([queryItem.name isEqualToString:@"continueUrl"]) { - continueURLString = queryItem.value; - } - } - if (!continueURLString) { - NSLog(@"FUIEmailAuth unable to handle url without continue URL: %@", URL); - return NO; - } - - // Retrieve url parameters from continueUrl - NSMutableDictionary *urlParameterDict= [NSMutableDictionary dictionary]; - NSURLComponents *continueURLComponents = [NSURLComponents componentsWithString:continueURLString]; - for (NSURLQueryItem *queryItem in continueURLComponents.queryItems) { - urlParameterDict[queryItem.name] = queryItem.value; - } - // Retrieve parameters from local storage - NSMutableDictionary *localParameterDict = [NSMutableDictionary dictionary]; - localParameterDict[kEmailLinkSignInEmailKey] = [GULUserDefaults.standardUserDefaults - stringForKey:kEmailLinkSignInEmailKey]; - localParameterDict[@"ui_sid"] = [GULUserDefaults.standardUserDefaults stringForKey:@"ui_sid"]; - - // Handling flows - NSString *urlSessionID = urlParameterDict[@"ui_sid"]; - NSString *localSessionID = localParameterDict[@"ui_sid"]; - BOOL sameDevice = urlSessionID && localSessionID && [urlSessionID isEqualToString:localSessionID]; - - if (sameDevice) { - // Same device - if (urlParameterDict[@"ui_pid"]) { - // Unverified provider linking - NSError *error = nil; - [self handleUnverifiedProviderLinking:urlParameterDict[@"ui_pid"] - email:localParameterDict[kEmailLinkSignInEmailKey] - error:&error]; - if (error != nil) { - NSLog(@"Error verifying provider linking: %@", error); - return NO; - } - } else if (urlParameterDict[@"ui_auid"]) { - // Anonymous upgrade - [self handleAnonymousUpgrade:urlParameterDict[@"ui_auid"] - email:localParameterDict[kEmailLinkSignInEmailKey]]; - } else { - // Normal email link sign in - [self handleEmaiLinkSignIn:localParameterDict[kEmailLinkSignInEmailKey]]; - } - } else { - // Different device - if ([urlParameterDict[@"ui_sd"] isEqualToString:@"1"]) { - // Force same device enabled - [self handleDifferentDevice]; - } else { - // Force same device not enabled - [self handleConfirmEmail]; - } - } - - return YES; -} - -- (void)handleUnverifiedProviderLinking:(NSString *)providerID - email:(NSString *)email - error:(NSError **)error { - if ([providerID isEqualToString:@"facebook.com"]) { - NSData *unverifiedProviderCredentialData = [GULUserDefaults.standardUserDefaults - objectForKey:kEmailLinkSignInLinkingCredentialKey]; - FIRAuthCredential *unverifiedProviderCredential; - - // TODO: - // The replacement method for `unarchiveObjectWithData:` requires NSSecureCoding, which - // FIRAuthCredential does not yet conform to. -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - unverifiedProviderCredential = - [NSKeyedUnarchiver unarchiveObjectWithData:unverifiedProviderCredentialData]; -#pragma clang diagnostic pop - - FIRAuthCredential *emailLinkCredential = - [FIREmailAuthProvider credentialWithEmail:email link:self.emailLink]; - - void (^completeSignInBlock)(FIRAuthDataResult *, NSError *) = ^(FIRAuthDataResult *authResult, - NSError *error) { - if (error) { - switch (error.code) { - case FIRAuthErrorCodeWrongPassword: - [FUIAuthBaseViewController showAlertWithMessage:FUILocalizedString(kStr_WrongPasswordError)]; - return; - case FIRAuthErrorCodeUserNotFound: - [FUIAuthBaseViewController showAlertWithMessage:FUILocalizedString(kStr_UserNotFoundError)]; - return; - case FIRAuthErrorCodeUserDisabled: - [FUIAuthBaseViewController showAlertWithMessage:FUILocalizedString(kStr_AccountDisabledError)]; - return; - case FIRAuthErrorCodeTooManyRequests: - [FUIAuthBaseViewController showAlertWithMessage:FUILocalizedString(kStr_SignInTooManyTimesError)]; - return; - } - } - - void (^dismissHandler)(void) = ^() { - UINavigationController *authViewController = [self.authUI authViewController]; - if (!(authViewController.isViewLoaded && authViewController.view.window)) { - [authViewController.navigationController dismissViewControllerAnimated:YES completion:nil]; - } - [self.authUI invokeResultCallbackWithAuthDataResult:authResult URL:nil error:error]; - }; - - [FUIAuthBaseViewController showAlertWithTitle:FUILocalizedString(kStr_SignedIn) - message:nil - actionTitle:nil - actionHandler:nil - dismissTitle:@"OK" - dismissHandler:dismissHandler - presentingViewController:nil]; - }; - - [self.authUI.auth signInWithCredential:emailLinkCredential - completion:^(FIRAuthDataResult * _Nullable authResult, - NSError * _Nullable error) { - if (error) { - [FUIAuthBaseViewController showAlertWithMessage:error.description]; - return; - } - - [authResult.user linkWithCredential:unverifiedProviderCredential completion:completeSignInBlock]; - }]; - } -} - -- (void)handleAnonymousUpgrade:(NSString *)anonymousUserID email:(NSString *)email { - // Check for the presence of an anonymous user and whether automatic upgrade is enabled. - if (self.authUI.auth.currentUser.isAnonymous && - self.authUI.shouldAutoUpgradeAnonymousUsers && - [anonymousUserID isEqualToString:self.authUI.auth.currentUser.uid]) { - - FIRAuthCredential *credential = - [FIREmailAuthProvider credentialWithEmail:email link:self.emailLink]; - - void (^completeSignInBlock)(FIRAuthDataResult *, NSError *) = ^(FIRAuthDataResult *authResult, - NSError *error) { - if (error) { - switch (error.code) { - case FIRAuthErrorCodeWrongPassword: - [FUIAuthBaseViewController showAlertWithMessage:FUILocalizedString(kStr_WrongPasswordError)]; - return; - case FIRAuthErrorCodeUserNotFound: - [FUIAuthBaseViewController showAlertWithMessage:FUILocalizedString(kStr_UserNotFoundError)]; - return; - case FIRAuthErrorCodeUserDisabled: - [FUIAuthBaseViewController showAlertWithMessage:FUILocalizedString(kStr_AccountDisabledError)]; - return; - case FIRAuthErrorCodeTooManyRequests: - [FUIAuthBaseViewController showAlertWithMessage:FUILocalizedString(kStr_SignInTooManyTimesError)]; - return; - } - } - [FUIAuthBaseViewController showAlertWithMessage:FUILocalizedString(kStr_SignedIn)]; - }; - - [self.authUI.auth.currentUser - linkWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - if (error) { - if (error.code == FIRAuthErrorCodeEmailAlreadyInUse) { - NSDictionary *userInfo = @{ FUIAuthCredentialKey : credential }; - NSError *mergeError = [FUIAuthErrorUtils mergeConflictErrorWithUserInfo:userInfo - underlyingError:error]; - completeSignInBlock(nil, mergeError); - return; - } - completeSignInBlock(nil, error); - return; - } - completeSignInBlock(authResult, nil); - }]; - } else { - [self handleDifferentDevice]; - } -} - -- (void)handleEmaiLinkSignIn:(NSString *)email { - FIRAuthCredential *credential = - [FIREmailAuthProvider credentialWithEmail:email link:self.emailLink]; - - void (^completeSignInBlock)(FIRAuthDataResult *, NSError *) = ^(FIRAuthDataResult *authResult, - NSError *error) { - if (error) { - switch (error.code) { - case FIRAuthErrorCodeWrongPassword: - [FUIAuthBaseViewController showAlertWithMessage:FUILocalizedString(kStr_WrongPasswordError)]; - return; - case FIRAuthErrorCodeUserNotFound: - [FUIAuthBaseViewController showAlertWithMessage:FUILocalizedString(kStr_UserNotFoundError)]; - return; - case FIRAuthErrorCodeUserDisabled: - [FUIAuthBaseViewController showAlertWithMessage:FUILocalizedString(kStr_AccountDisabledError)]; - return; - case FIRAuthErrorCodeTooManyRequests: - [FUIAuthBaseViewController showAlertWithMessage:FUILocalizedString(kStr_SignInTooManyTimesError)]; - return; - } - } - - void (^dismissHandler)(void) = ^() { - UINavigationController *authViewController = [self.authUI authViewController]; - if (!(authViewController.isViewLoaded && authViewController.view.window)) { - [authViewController.navigationController dismissViewControllerAnimated:YES completion:nil]; - } - [self.authUI invokeResultCallbackWithAuthDataResult:authResult URL:nil error:error]; - }; - - [FUIAuthBaseViewController showAlertWithTitle:FUILocalizedString(kStr_SignedIn) - message:nil - actionTitle:nil - actionHandler:nil - dismissTitle:FUILocalizedString(kStr_OK) - dismissHandler:dismissHandler - presentingViewController:nil]; - }; - - [self.authUI.auth signInWithCredential:credential completion:completeSignInBlock]; -} - -- (void)handleDifferentDevice { - UINavigationController *authViewController = [self.authUI authViewController]; - void (^completion)(void) = ^(){ - [FUIAuthBaseViewController showAlertWithTitle:@"New Device detected" - message:@"Try opening the link using the same " - "device where you started the sign-in process" - presentingViewController:authViewController]; - }; - - if (!(authViewController.isViewLoaded && authViewController.view.window)) { - [UIApplication.sharedApplication.keyWindow.rootViewController - presentViewController:authViewController animated:YES completion:completion]; - } else { - completion(); - } -} - -- (void)handleConfirmEmail { - UINavigationController *authViewController = [self.authUI authViewController]; - void (^completion)(void) = ^(){ - UIViewController *controller = [[FUIConfirmEmailViewController alloc] initWithAuthUI:self.authUI]; - [authViewController pushViewController:controller animated:YES]; - }; - - if (!(authViewController.isViewLoaded && authViewController.view.window)) { - [UIApplication.sharedApplication.keyWindow.rootViewController - presentViewController:authViewController animated:YES completion:completion]; - } else { - completion(); - } -} - -/** @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 { - FUIAuthProviderSignInCompletionBlock callback = self.pendingSignInCallback; - self.pendingSignInCallback = nil; - if (callback) { - callback(credential, error, result, nil); - } -} - -#pragma mark - FUIEmailAuthProvider - -- (void)signInWithEmailHint:(NSString *)emailHint - presentingViewController:(FUIAuthBaseViewController *)presentingViewController - originalError:(NSError *)originalError - completion:(FUIEmailHintSignInCallback)completion { - NSString *kTempApp = @"tempApp"; - FIROptions *options = [FIROptions defaultOptions]; - // Create an new app instance in order to create a new auth instance. - if (![FIRApp appNamed:kTempApp]) { - [FIRApp configureWithName:kTempApp options:options]; - } - FIRApp *tempApp = [FIRApp appNamed:kTempApp]; - // Create a new auth instance in order to perform a successful sign-in without losing the - // currently signed in user on the default auth instance. - FIRAuth *tempAuth = [FIRAuth authWithApp:tempApp]; - - [self.authUI.auth fetchSignInMethodsForEmail:emailHint - completion:^(NSArray *_Nullable providers, - NSError *_Nullable error) { - if (error) { - if (completion) { - completion(nil, error, nil); - } - return; - } - NSString *existingFederatedProviderID = [self authProviderFromProviders:providers]; - // Set of providers which can be auto-linked. - NSSet *supportedProviders = - [NSSet setWithObjects:@"google.com", - @"facebook.com", - @"password", - nil]; - if ([supportedProviders containsObject:existingFederatedProviderID]) { - if ([existingFederatedProviderID isEqualToString:@"password"]) { - - [FUIAuthBaseViewController showSignInAlertWithEmail:emailHint - providerShortName:@"Email/Password" - providerSignInLabel:@"Sign in with Email/Password" - presentingViewController:presentingViewController - signinHandler:^{ - FUIAuth *authUI = [FUIAuth authUIWithAuth:tempAuth]; - // Email password sign-in - FUIPasswordSignInViewController *controller = - [[FUIPasswordSignInViewController alloc] initWithAuthUI:authUI email:emailHint]; - controller.onDismissCallback = ^(FIRAuthDataResult *result, NSError *error) { - if (completion) { - completion(result, error, nil); - } - }; - [presentingViewController pushViewController:controller]; - } - cancelHandler:^{ - if (completion) { - completion(nil, originalError, nil); - } - }]; - } else { // Federated sign-in case. - id authProviderUI; - // Retrieve the FUIAuthProvider instance from FUIAuth for the existing provider ID. - for (id provider in self.authUI.providers) { - if ([provider.providerID isEqualToString:existingFederatedProviderID]) { - authProviderUI = provider; - break; - } - } - - [FUIAuthBaseViewController showSignInAlertWithEmail:emailHint - provider:authProviderUI - presentingViewController:presentingViewController - signinHandler:^{ - [authProviderUI signOut]; - [authProviderUI signInWithDefaultValue:emailHint - presentingViewController:presentingViewController - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - FIRAuthResultCallback _Nullable result, - NSDictionary *_Nullable userInfo) { - if (error) { - if (completion) { - completion(nil, error, nil); - } - return; - } - - [tempAuth signInWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - if (error) { - if (completion) { - completion(nil, error, nil); - } - } - - // Handle potential email mismatch. - if (![emailHint isEqualToString:authResult.user.email]) { - NSString *signedInEmail = authResult.user.email; - NSString *title = - [NSString stringWithFormat:@"Continue sign in with %@?", signedInEmail]; - NSString *message = - [NSString stringWithFormat:@"You originally wanted to sign in with %@", - emailHint]; - [FUIAuthBaseViewController showAlertWithTitle:title - message:message - actionTitle:@"Continue" - actionHandler:^{ - if (completion) { - completion(authResult, nil, credential); - } - } - dismissTitle:@"Cancel" - dismissHandler:^{ - if (completion) { - completion(nil, error, credential); - } - } - presentingViewController:presentingViewController]; - } - if (completion) { - completion(authResult, error, credential); - } - }]; - }]; - } - cancelHandler:^{ - if (completion) { - completion(nil, originalError, nil); - } - }]; - } - } - }]; -} - -- (void)handleAccountLinkingForEmail:(NSString *)email - newCredential:(FIRAuthCredential *)newCredential - presentingViewController:(UIViewController *)presentingViewController - signInResult:(_Nullable FIRAuthResultCallback)result { - id delegate = self.authUI.delegate; - [self.authUI.auth fetchSignInMethodsForEmail:email - completion:^(NSArray *_Nullable providers, - NSError *_Nullable error) { - if (result) { - result(nil, error); - } - - if (error) { - if (error.code == FIRAuthErrorCodeInvalidEmail) { - // This should never happen because the email address comes from the backend. - [FUIAuthBaseViewController showAlertWithMessage:FUILocalizedString(kStr_InvalidEmailError) - presentingViewController:presentingViewController]; - } else { - [presentingViewController dismissViewControllerAnimated:YES completion:^{ - [self.authUI invokeResultCallbackWithAuthDataResult:nil URL:nil error:error]; - }]; - } - return; - } - if (!providers.count) { - // This should never happen because the user must be registered. - [FUIAuthBaseViewController showAlertWithMessage: - FUILocalizedString(kStr_CannotAuthenticateError) - presentingViewController:presentingViewController]; - return; - } - NSString *bestProviderID = providers[0]; - if ([bestProviderID isEqual:@"password"]) { - // Password verification. - UIViewController *passwordController; - if ([delegate respondsToSelector: - @selector(passwordVerificationViewControllerForAuthUI:email:newCredential:)]) { - - passwordController = [delegate passwordVerificationViewControllerForAuthUI:self.authUI - email:email - newCredential:newCredential]; - } else { - passwordController = - [[FUIPasswordVerificationViewController alloc] initWithAuthUI:self.authUI - email:email - newCredential:newCredential]; - } - if (presentingViewController.navigationController) { - [FUIAuthBaseViewController pushViewController:passwordController - navigationController: - presentingViewController.navigationController]; - } - return; - } - - if ([bestProviderID isEqual:@"emailLink"]) { - NSString *providerName; - if ([newCredential.provider isEqualToString:@"facebook.com"]) { - providerName = @"Facebook"; - } else if ([newCredential.provider isEqualToString:@"twitter.com"]) { - providerName = @"Twitter"; - } else if ([newCredential.provider isEqualToString:@"github.com" -@"twitter.com"]) { - providerName = @"Github"; - } - NSString *message = [NSString stringWithFormat: - @"You already have an account\n \n You've already used %@. You " - "can connect your %@ account with %@ by signing in with Email " - "link below. \n \n For this flow to successfully connect your " - "account with this email, you have to open the link on the same " - "device or browser.", email, providerName, email]; - void (^actionHandler)(void) = ^() { - [self generateURLParametersAndLocalCache:email - linkingProvider:newCredential.provider]; - - NSData *data = [NSKeyedArchiver archivedDataWithRootObject:newCredential]; - [GULUserDefaults.standardUserDefaults setObject:data forKey:kEmailLinkSignInLinkingCredentialKey]; - - void (^completion)(NSError * _Nullable error) = ^(NSError * _Nullable error){ - if (error) { - [FUIAuthBaseViewController showAlertWithMessage:error.description]; - } else { - NSString *signInMessage = [NSString stringWithFormat: - @"A sign-in email with additional instructions was sent to %@. Check your " - "email to complete sign-in.", email]; - [FUIAuthBaseViewController - showAlertWithTitle:@"Sign-in email sent" - message:signInMessage - presentingViewController:nil]; - } - }; - [self.authUI.auth sendSignInLinkToEmail:email - actionCodeSettings:self.actionCodeSettings - completion:completion]; - }; - - [FUIAuthBaseViewController - showAlertWithTitle:@"Sign in" - message:message - actionTitle:@"Sign in" - actionHandler:actionHandler - dismissTitle:nil - dismissHandler:nil - presentingViewController:nil]; - return; - } - - id bestProvider = [self.authUI providerWithID:bestProviderID]; - if (!bestProvider) { - // Unsupported provider. - [FUIAuthBaseViewController showAlertWithMessage: - FUILocalizedString(kStr_CannotAuthenticateError) - presentingViewController:presentingViewController]; - return; - } - - [FUIAuthBaseViewController showSignInAlertWithEmail:email - provider:bestProvider - presentingViewController:presentingViewController - signinHandler:^{ - // Sign out first to make sure sign in starts with a clean state. - [bestProvider signOut]; - [bestProvider signInWithDefaultValue:email - presentingViewController:presentingViewController - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - _Nullable FIRAuthResultCallback result, - NSDictionary *_Nullable userInfo) { - if (error) { - if (error.code == FUIAuthErrorCodeUserCancelledSignIn) { - // User cancelled sign in, Do nothing. - if (result) { - result(nil, error); - } - return; - } - [self.authUI invokeResultCallbackWithAuthDataResult:nil URL:nil error:error]; - return; - } - - [self.authUI.auth signInWithCredential:credential - completion:^(FIRAuthDataResult*_Nullable authResult, - NSError *_Nullable error) { - if (error) { - [self.authUI invokeResultCallbackWithAuthDataResult:nil URL:nil error:error]; - if (result) { - result(nil, error); - } - return; - } - - FIRUser *user = authResult.user; - [user linkWithCredential:newCredential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - if (result) { - result(authResult.user, error); - } - // Ignore any error (most likely caused by email mismatch) and treat the user as - // successfully signed in. - [presentingViewController dismissViewControllerAnimated:YES completion:^{ - [self.authUI invokeResultCallbackWithAuthDataResult:authResult URL:nil error:nil]; - }]; - }]; - }]; - }]; - } cancelHandler:^{ - [self.authUI signOutWithError:nil]; - }]; - }]; -} - -#pragma mark - Private - -- (void)generateURLParametersAndLocalCache:(NSString *)email linkingProvider:(NSString *)linkingProvider { - NSURL *url = self.actionCodeSettings.URL; - NSURLComponents *urlComponents = [NSURLComponents componentsWithString:url.absoluteString]; - NSMutableArray *urlQuertItems = [NSMutableArray array]; - - [GULUserDefaults.standardUserDefaults setObject:email forKey:kEmailLinkSignInEmailKey]; - - if (self.authUI.auth.currentUser.isAnonymous && self.authUI.shouldAutoUpgradeAnonymousUsers) { - NSString *auid = self.authUI.auth.currentUser.uid; - - NSURLQueryItem *anonymousUserIDQueryItem = - [NSURLQueryItem queryItemWithName:@"ui_auid" value:auid]; - [urlQuertItems addObject:anonymousUserIDQueryItem]; - } - - NSInteger ui_sid = arc4random_uniform(999999999); - NSString *sidString = [NSString stringWithFormat:@"%ld", (long)ui_sid]; - [GULUserDefaults.standardUserDefaults setObject:sidString forKey:@"ui_sid"]; - - NSURLQueryItem *sessionIDQueryItem = - [NSURLQueryItem queryItemWithName:@"ui_sid" value:sidString]; - [urlQuertItems addObject:sessionIDQueryItem]; - - NSString *sameDeviceValueString; - if (self.forceSameDevice) { - sameDeviceValueString = @"1"; - } else { - sameDeviceValueString = @"0"; - } - NSURLQueryItem *sameDeviceQueryItem = [NSURLQueryItem queryItemWithName:@"ui_sd" value:sameDeviceValueString]; - [urlQuertItems addObject:sameDeviceQueryItem]; - - if (linkingProvider) { - NSURLQueryItem *providerIDQueryItem = [NSURLQueryItem queryItemWithName:@"ui_pid" value:linkingProvider]; - [urlQuertItems addObject:providerIDQueryItem]; - } - - urlComponents.queryItems = urlQuertItems; - self.actionCodeSettings.URL = urlComponents.URL; -} - -- (nullable NSString *)authProviderFromProviders:(NSArray *) providers { - NSSet *providerSet = - [NSSet setWithArray:@[ @"facebook.com", - @"google.com", - @"password" ]]; - for (NSString *provider in providers) { - if ( [providerSet containsObject:provider]) { - return provider; - } - } - return nil; -} - -@end diff --git a/FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.h b/FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.h deleted file mode 100644 index a7867b8bf30..00000000000 --- a/FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.h +++ /dev/null @@ -1,39 +0,0 @@ -// -// Copyright (c) 2018 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 - -NS_ASSUME_NONNULL_BEGIN - -/* Name of the FirebaseEmailAuthUI resource bundle. */ -extern NSString *const FUIEmailAuthBundleName; - -#ifdef __cplusplus -extern "C" { -#endif - -/** @fn FUIEmailAuthLocalizedString - @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 *FUIEmailAuthLocalizedString(NSString *key); - -#ifdef __cplusplus -} -#endif - -NS_ASSUME_NONNULL_END diff --git a/FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.m b/FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.m deleted file mode 100644 index ff2fcc9de3f..00000000000 --- a/FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.m +++ /dev/null @@ -1,35 +0,0 @@ -// -// Copyright (c) 2018 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 "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h" -#import "FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.h" - -#if SWIFT_PACKAGE -NSString *const FUIEmailAuthBundleName = @"FirebaseUI_FirebaseEmailAuthUI"; -#else -NSString *const FUIEmailAuthBundleName = @"FirebaseEmailAuthUI"; -#endif // SWIFT_PACKAGE - -/** @var kEmailAuthProviderTableName - @brief The name of the strings table to search for localized strings. - */ -NSString *const kEmailAuthProviderTableName = @"FirebaseEmailAuthUI"; - -NSString *FUIEmailAuthLocalizedString(NSString *key) { - return FUILocalizedStringFromTableInBundle(key, - kEmailAuthProviderTableName, - [FUIEmailAuth bundle]); -} diff --git a/FirebaseEmailAuthUI/Sources/FUIEmailAuth_Internal.h b/FirebaseEmailAuthUI/Sources/FUIEmailAuth_Internal.h deleted file mode 100644 index ca43c60571d..00000000000 --- a/FirebaseEmailAuthUI/Sources/FUIEmailAuth_Internal.h +++ /dev/null @@ -1,54 +0,0 @@ -// -// 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 "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h" - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface FUIEmailAuth (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 email 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; - -/** @fn generateURLParametersAndLocalCache:linkingProvider: - @brief Generate the parameters before sending out the email link. Append the parameters to - continue url and store them locally. - @param email The email that requested the email sign in link. - @param linkingProvider The id of the auth provider to be linked, if any. - */ -- (void)generateURLParametersAndLocalCache:(NSString *)email linkingProvider:(nullable NSString *)linkingProvider; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseEmailAuthUI/Sources/FUIEmailEntryViewController.m b/FirebaseEmailAuthUI/Sources/FUIEmailEntryViewController.m deleted file mode 100755 index 2cb16b3304d..00000000000 --- a/FirebaseEmailAuthUI/Sources/FUIEmailEntryViewController.m +++ /dev/null @@ -1,380 +0,0 @@ -// -// 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 "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailEntryViewController.h" - -@import FirebaseAuth; - -#import - -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h" -#import "FirebaseEmailAuthUI/Sources/FUIEmailAuth_Internal.h" -#import "FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.h" -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordSignInViewController.h" -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordSignUpViewController.h" - -/** @var kCellReuseIdentifier - @brief The reuse identifier for table view cell. - */ -static NSString *const kCellReuseIdentifier = @"cellReuseIdentifier"; - -/** @var kAppIDCodingKey - @brief The key used to encode the app ID for NSCoding. - */ -static NSString *const kAppIDCodingKey = @"appID"; - -/** @var kAuthUICodingKey - @brief The key used to encode @c FUIAuth instance for NSCoding. - */ -static NSString *const kAuthUICodingKey = @"authUI"; - -/** @var kEmailCellAccessibilityID - @brief The Accessibility Identifier for the @c email sign in cell. - */ -static NSString *const kEmailCellAccessibilityID = @"EmailCellAccessibilityID"; - -/** @var kNextButtonAccessibilityID - @brief The Accessibility Identifier for the @c next button. - */ -static NSString *const kNextButtonAccessibilityID = @"NextButtonAccessibilityID"; - -@interface FUIEmailEntryViewController () -@end - -@implementation FUIEmailEntryViewController { - /** @var _emailField - @brief The @c UITextField that user enters email address into. - */ - UITextField *_emailField; - - /** @var _tableView - @brief The @c UITableView used to store all UI elements. - */ - __weak IBOutlet UITableView *_tableView; - - /** @var _termsOfServiceView - @brief The @c Text view which displays Terms of Service. - */ - __weak IBOutlet FUIPrivacyAndTermsOfServiceView *_termsOfServiceView; - -} - -- (instancetype)initWithAuthUI:(FUIAuth *)authUI { - return [self initWithNibName:NSStringFromClass([self class]) - bundle:[FUIEmailAuth bundle] - authUI:authUI]; -} - -- (instancetype)initWithNibName:(NSString *)nibNameOrNil - bundle:(NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI { - - self = [super initWithNibName:nibNameOrNil - bundle:nibBundleOrNil - authUI:authUI]; - if (self) { - self.title = FUILocalizedString(kStr_EnterYourEmail); - } - return self; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - UIBarButtonItem *nextButtonItem = - [FUIAuthBaseViewController barItemWithTitle:FUILocalizedString(kStr_Next) - target:self - action:@selector(next)]; - nextButtonItem.accessibilityIdentifier = kNextButtonAccessibilityID; - self.navigationItem.rightBarButtonItem = nextButtonItem; - _termsOfServiceView.authUI = self.authUI; - [_termsOfServiceView useFullMessage]; - - [self enableDynamicCellHeightForTableView:_tableView]; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - if (self.navigationController.viewControllers.firstObject == self) { - 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:_emailField.text]; -} - -- (void)onNext:(NSString *)emailText { - FUIEmailAuth *emailAuth = [self.authUI providerWithID:@"password"]; - id delegate = self.authUI.delegate; - - if (![[self class] isValidEmail:emailText]) { - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidEmailError)]; - return; - } - - [self incrementActivity]; - - [self.auth fetchSignInMethodsForEmail:emailText - completion:^(NSArray *_Nullable providers, - NSError *_Nullable error) { - [self decrementActivity]; - - if (error) { - if (error.code == FIRAuthErrorCodeInvalidEmail) { - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidEmailError)]; - } else { - [self dismissNavigationControllerAnimated:YES completion:^{ - [self.authUI invokeResultCallbackWithAuthDataResult:nil URL:nil error:error]; - }]; - } - return; - } - - id provider = [self bestProviderFromProviderIDs:providers]; - if (provider && ![provider.providerID isEqualToString:@"password"]) { - NSString *email = emailText; - [[self class] showSignInAlertWithEmail:email - provider:provider - presentingViewController:self - signinHandler:^{ - [self signInWithProvider:provider email:email]; - } - cancelHandler:^{ - [self.authUI signOutWithError:nil]; - }]; - } else if ([providers containsObject:@"password"]) { - UIViewController *controller; - if ([delegate respondsToSelector:@selector(passwordSignInViewControllerForAuthUI:email:)]) { - controller = [delegate passwordSignInViewControllerForAuthUI:self.authUI - email:emailText]; - } else { - controller = [[FUIPasswordSignInViewController alloc] initWithAuthUI:self.authUI - email:emailText]; - } - [self pushViewController:controller]; - - // TODO: Use API to get string when Firebase 11 is the minimum. - } else if ([emailAuth.signInMethod isEqualToString:@"emailLink"]) { - [self sendSignInLinkToEmail:emailText]; - } else { - if (providers.count) { - // There's some unsupported providers, surface the error to the user. - [self showAlertWithMessage:FUILocalizedString(kStr_CannotAuthenticateError)]; - } else { - // New user. - UIViewController *controller; - if (emailAuth.allowNewEmailAccounts) { - if ([delegate respondsToSelector:@selector(passwordSignUpViewControllerForAuthUI:email:requireDisplayName:)]) { - controller = [delegate passwordSignUpViewControllerForAuthUI:self.authUI - email:emailText - requireDisplayName:emailAuth.requireDisplayName]; - } else { - controller = [[FUIPasswordSignUpViewController alloc] initWithAuthUI:self.authUI - email:emailText - requireDisplayName:emailAuth.requireDisplayName]; - } - } else { - [self showAlertWithMessage:FUILocalizedString(kStr_UserNotFoundError)]; - } - if (controller != nil) { - [self pushViewController:controller]; - } - } - } - }]; -} - -- (void)sendSignInLinkToEmail:(NSString*)email { - if (![[self class] isValidEmail:email]) { - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidEmailError)]; - return; - } - - [self incrementActivity]; - FUIEmailAuth *emailAuth = [self.authUI providerWithID:@"password"]; - [emailAuth generateURLParametersAndLocalCache:email linkingProvider:nil]; - [self.auth sendSignInLinkToEmail:email - actionCodeSettings:emailAuth.actionCodeSettings - completion:^(NSError * _Nullable error) { - [self decrementActivity]; - - if (error) { - [FUIAuthBaseViewController showAlertWithTitle:FUILocalizedString(kStr_Error) - message:error.description - presentingViewController:self]; - } else { - NSString *successMessage = - [NSString stringWithFormat: FUILocalizedString(kStr_EmailSentConfirmationMessage), email]; - [FUIAuthBaseViewController showAlertWithTitle:FUILocalizedString(kStr_SignInEmailSent) - message:successMessage - actionTitle:FUILocalizedString(kStr_TroubleGettingEmailTitle) - actionHandler:^{ - [FUIAuthBaseViewController - showAlertWithTitle:FUILocalizedString(kStr_TroubleGettingEmailTitle) - message:FUILocalizedString(kStr_TroubleGettingEmailMessage) - actionTitle:FUILocalizedString(kStr_Resend) - actionHandler:^{ - [self sendSignInLinkToEmail:email]; - } dismissTitle:FUILocalizedString(kStr_Back) - dismissHandler:^{ - [self.navigationController popToRootViewControllerAnimated:YES]; - } - presentingViewController:self]; - } - dismissTitle:FUILocalizedString(kStr_Back) - dismissHandler:^{ - [self.navigationController dismissViewControllerAnimated:YES - completion:nil]; - } - presentingViewController:self]; - } - }]; -} - -- (void)textFieldDidChange { - [self didChangeEmail:_emailField.text]; -} - -- (void)didChangeEmail:(NSString *)emailText { - self.navigationItem.rightBarButtonItem.enabled = (emailText.length > 0); -} - -#pragma mark - UITableViewDataSource - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return 1; -} - -- (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]; - } - cell.label.text = FUILocalizedString(kStr_Email); - cell.textField.placeholder = FUILocalizedString(kStr_EnterYourEmail); - cell.textField.delegate = self; - cell.accessibilityIdentifier = kEmailCellAccessibilityID; - _emailField = cell.textField; - cell.textField.secureTextEntry = NO; - cell.textField.autocorrectionType = UITextAutocorrectionTypeNo; - cell.textField.autocapitalizationType = UITextAutocapitalizationTypeNone; - cell.textField.returnKeyType = UIReturnKeyNext; - cell.textField.keyboardType = UIKeyboardTypeEmailAddress; - if (@available(iOS 11.0, *)) { - cell.textField.textContentType = UITextContentTypeUsername; - } - [cell.textField addTarget:self - action:@selector(textFieldDidChange) - forControlEvents:UIControlEventEditingChanged]; - [self didChangeEmail:_emailField.text]; - return cell; -} - -- (nullable id)bestProviderFromProviderIDs:(NSArray *)providerIDs { - NSArray> *providers = self.authUI.providers; - for (NSString *providerID in providerIDs) { - for (id provider in providers) { - if ([providerID isEqual:provider.providerID]) { - return provider; - } - } - } - return nil; -} - -#pragma mark - UITextFieldDelegate - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - if (textField == _emailField) { - [self onNext:_emailField.text]; - } - return NO; -} - -#pragma mark - Utilities - -/** @fn signInWithProvider:email: - @brief Actually kicks off sign in with the provider. - @param provider The identity provider to sign in with. - @param email The email address of the user. - */ -- (void)signInWithProvider:(id)provider email:(NSString *)email { - [self incrementActivity]; - - // Sign out first to make sure sign in starts with a clean state. - [provider signOut]; - [provider signInWithDefaultValue:email - presentingViewController:self - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - _Nullable FIRAuthResultCallback result, - NSDictionary *_Nullable userInfo) { - if (error) { - [self decrementActivity]; - if (result) { - result(nil, error); - } - - [self dismissNavigationControllerAnimated:YES completion:^{ - [self.authUI invokeResultCallbackWithAuthDataResult:nil URL:nil error:error]; - }]; - return; - } - - [self.auth signInWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - [self decrementActivity]; - if (result) { - result(authResult.user, error); - } - - if (error) { - [self.authUI invokeResultCallbackWithAuthDataResult:nil URL:nil error:error]; - } else { - [self dismissNavigationControllerAnimated:YES completion:^{ - [self.authUI invokeResultCallbackWithAuthDataResult:authResult URL:nil error:error]; - }]; - } - }]; - }]; -} -@end diff --git a/FirebaseEmailAuthUI/Sources/FUIPasswordRecoveryViewController.m b/FirebaseEmailAuthUI/Sources/FUIPasswordRecoveryViewController.m deleted file mode 100755 index 7fb030ead65..00000000000 --- a/FirebaseEmailAuthUI/Sources/FUIPasswordRecoveryViewController.m +++ /dev/null @@ -1,206 +0,0 @@ -// -// 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 "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordRecoveryViewController.h" - -@import FirebaseAuth; - -#import - -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h" -#import "FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.h" - -/** @var kCellReuseIdentifier - @brief The reuse identifier for table view cell. - */ -static NSString *const kCellReuseIdentifier = @"cellReuseIdentifier"; - -/** @var kFooterTextViewHorizontalInset - @brief The horizontal inset for @c footerTextView, which should match the iOS standard margin. - */ -static const CGFloat kFooterTextViewHorizontalInset = 8.0f; - -@interface FUIPasswordRecoveryViewController () -/** @property footerTextView - @brief The text view in the footer of the table. - */ -@property(nonatomic, strong) IBOutlet UITextView *footerTextView; -@property(nonatomic, strong) IBOutlet FUIPrivacyAndTermsOfServiceView *termsOfServiceView; - -@end - -@implementation FUIPasswordRecoveryViewController { - /** @var _email - @brief The @c email address of the user from the previous screen. - */ - NSString *_email; - - /** @var _emailField - @brief The @c UITextField that user enters email address into. - */ - UITextField *_emailField; - - /** @var _tableView - @brief The @c UITableView used to store all UI elements. - */ - __weak IBOutlet UITableView *_tableView; -} - -- (instancetype)initWithAuthUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email { - return [self initWithNibName:NSStringFromClass([self class]) - bundle:[FUIEmailAuth bundle] - authUI:authUI - email:email]; -} - -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email { - self = [super initWithNibName:nibNameOrNil - bundle:nibBundleOrNil - authUI:authUI]; - if (self) { - _email = [email copy]; - - self.title = FUILocalizedString(kStr_PasswordRecoveryTitle); - } - return self; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - UIBarButtonItem *sendButtonItem = - [FUIAuthBaseViewController barItemWithTitle:FUILocalizedString(kStr_Send) - target:self - action:@selector(send)]; - self.navigationItem.rightBarButtonItem = sendButtonItem; - - [self enableDynamicCellHeightForTableView:_tableView]; - - if (@available(iOS 13.0, *)) { - _tableView.backgroundColor = [UIColor systemBackgroundColor]; - self.footerTextView.textColor = [UIColor secondaryLabelColor]; - } -} - -- (void)viewDidLayoutSubviews { - [super viewDidLayoutSubviews]; - - self.footerTextView.text = FUILocalizedString(kStr_PasswordRecoveryMessage); - - // Adjust the footerTextView to have standard margins. - self.footerTextView.textContainer.lineFragmentPadding = 0; - _footerTextView.textContainerInset = - UIEdgeInsetsMake(0, kFooterTextViewHorizontalInset, 0, kFooterTextViewHorizontalInset); - [self.footerTextView sizeToFit]; - - self.termsOfServiceView.authUI = self.authUI; - [self.termsOfServiceView useFooterMessage]; -} - -#pragma mark - Actions - -- (void)send { - [self recoverEmail:_emailField.text]; -} - -- (void)recoverEmail:(NSString *)email { - if (![[self class] isValidEmail:email]) { - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidEmailError)]; - return; - } - - [self incrementActivity]; - - [self.auth sendPasswordResetWithEmail:email - completion:^(NSError *_Nullable error) { - [self decrementActivity]; - - if (error) { - if (error.code == FIRAuthErrorCodeUserNotFound) { - [self showAlertWithMessage:FUILocalizedString(kStr_UserNotFoundError)]; - return; - } - - [self dismissNavigationControllerAnimated:YES completion:^{ - [self.authUI invokeResultCallbackWithAuthDataResult:nil URL:nil error:error]; - }]; - return; - } - - NSString *message = [NSString stringWithFormat: - FUILocalizedString(kStr_PasswordRecoveryEmailSentMessage), email]; - [self showAlertWithMessage:message]; - }]; -} - -- (void)textFieldDidChange { - [self didChangeEmail:_emailField.text]; -} - -- (void)didChangeEmail:(NSString *)email { - self.navigationItem.rightBarButtonItem.enabled = (email.length > 0); - -} - -#pragma mark - UITableViewDataSource - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return 1; -} - -- (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]; - } - cell.label.text = FUILocalizedString(kStr_Email); - _emailField = cell.textField; - _emailField.delegate = self; - _emailField.text = _email; - _emailField.placeholder = FUILocalizedString(kStr_EnterYourEmail); - _emailField.secureTextEntry = NO; - _emailField.returnKeyType = UIReturnKeyNext; - _emailField.keyboardType = UIKeyboardTypeEmailAddress; - _emailField.autocorrectionType = UITextAutocorrectionTypeNo; - _emailField.autocapitalizationType = UITextAutocapitalizationTypeNone; - if (@available(iOS 11.0, *)) { - _emailField.textContentType = UITextContentTypeUsername; - } - [cell.textField addTarget:self - action:@selector(textFieldDidChange) - forControlEvents:UIControlEventEditingChanged]; - [self didChangeEmail:_emailField.text]; - return cell; -} - -#pragma mark - UITextFieldDelegate - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - if (textField == _emailField) { - [self send]; - } - return NO; -} - -@end diff --git a/FirebaseEmailAuthUI/Sources/FUIPasswordSignInViewController.m b/FirebaseEmailAuthUI/Sources/FUIPasswordSignInViewController.m deleted file mode 100755 index e9461bfbb74..00000000000 --- a/FirebaseEmailAuthUI/Sources/FUIPasswordSignInViewController.m +++ /dev/null @@ -1,300 +0,0 @@ -// -// 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 "FUIPasswordSignInViewController_Internal.h" - -@import FirebaseAuth; -#import - -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h" -#import "FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.h" -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordRecoveryViewController.h" - -typedef void (^FIRAuthDataResultCallback)(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error); - -/** @var kCellReuseIdentifier - @brief The reuse identifier for table view cell. - */ -static NSString *const kCellReuseIdentifier = @"cellReuseIdentifier"; - -@interface FUIPasswordSignInViewController () -@end - -@implementation FUIPasswordSignInViewController { - /** @var _email - @brief The @c email address of the user from the previous screen. - */ - NSString *_email; - - /** @var _emailField - @brief The @c UITextField that user enters email address into. - */ - UITextField *_emailField; - - /** @var _passwordField - @brief The @c UITextField that user enters password into. - */ - UITextField *_passwordField; - - /** @var _tableView - @brief The @c UITableView used to store all UI elements. - */ - __weak IBOutlet UITableView *_tableView; - - /** @var _forgotPasswordButton - @brief The @c UIButton which handles forgot password action. - */ - __weak IBOutlet UIButton *_forgotPasswordButton; - - /** @var _termsOfServiceView - @brief The @c Text view which displays Terms of Service. - */ - __weak IBOutlet FUIPrivacyAndTermsOfServiceView *_termsOfServiceView; - -} - -- (instancetype)initWithAuthUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email { - return [self initWithNibName:NSStringFromClass([self class]) - bundle:[FUIEmailAuth bundle] - authUI:authUI - email:email]; -} - -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email { - self = [super initWithNibName:nibNameOrNil - bundle:nibBundleOrNil - authUI:authUI]; - if (self) { - _email = [email copy]; - - self.title = FUILocalizedString(kStr_SignInTitle); - __weak FUIPasswordSignInViewController *weakself = self; - _onDismissCallback = ^(FIRAuthDataResult *authResult, NSError *error){ - [weakself.authUI invokeResultCallbackWithAuthDataResult:authResult URL:nil error:error]; - }; - } - return self; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - UIBarButtonItem *signInButtonItem = - [FUIAuthBaseViewController barItemWithTitle:FUILocalizedString(kStr_SignInTitle) - target:self - action:@selector(signIn)]; - self.navigationItem.rightBarButtonItem = signInButtonItem; - [_forgotPasswordButton setTitle:FUILocalizedString(kStr_ForgotPasswordTitle) - forState:UIControlStateNormal]; - _termsOfServiceView.authUI = self.authUI; - [_termsOfServiceView useFooterMessage]; - - [self enableDynamicCellHeightForTableView:_tableView]; - - if (@available(iOS 13.0, *)) { - _tableView.backgroundColor = [UIColor systemBackgroundColor]; - } -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - if (self.navigationController.viewControllers.firstObject == self) { - 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)signInWithDefaultValue:(NSString *)email andPassword:(NSString *)password { - if (![[self class] isValidEmail:email]) { - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidEmailError)]; - return; - } - if (password.length <= 0) { - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidPasswordError)]; - return; - } - - [self incrementActivity]; - FIRAuthCredential *credential = - [FIREmailAuthProvider credentialWithEmail:email password:password]; - - void (^completeSignInBlock)(FIRAuthDataResult *, NSError *) = ^(FIRAuthDataResult *authResult, - NSError *error) { - [self decrementActivity]; - - if (error) { - switch (error.code) { - case FIRAuthErrorCodeWrongPassword: - [self showAlertWithMessage:FUILocalizedString(kStr_WrongPasswordError)]; - return; - case FIRAuthErrorCodeUserNotFound: - [self showAlertWithMessage:FUILocalizedString(kStr_UserNotFoundError)]; - return; - case FIRAuthErrorCodeUserDisabled: - [self showAlertWithMessage:FUILocalizedString(kStr_AccountDisabledError)]; - return; - case FIRAuthErrorCodeTooManyRequests: - [self showAlertWithMessage:FUILocalizedString(kStr_SignInTooManyTimesError)]; - return; - } - } - - [self dismissNavigationControllerAnimated:YES completion:^{ - if (self->_onDismissCallback) { - self->_onDismissCallback(authResult, error); - } - }]; - }; - - // Check for the presence of an anonymous user and whether automatic upgrade is enabled. - if (self.auth.currentUser.isAnonymous && self.authUI.shouldAutoUpgradeAnonymousUsers) { - [self.auth.currentUser - linkWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - if (error) { - if (error.code == FIRAuthErrorCodeEmailAlreadyInUse) { - NSDictionary *userInfo = @{ FUIAuthCredentialKey : credential }; - NSError *mergeError = [FUIAuthErrorUtils mergeConflictErrorWithUserInfo:userInfo - underlyingError:error]; - completeSignInBlock(nil, mergeError); - return; - } - completeSignInBlock(nil, error); - return; - } - completeSignInBlock(authResult, nil); - }]; - } else { - [self.auth signInWithCredential:credential completion:completeSignInBlock]; - } -} - -- (void)signIn { - [self signInWithDefaultValue:_emailField.text andPassword:_passwordField.text]; -} - -- (void)forgotPasswordForEmail:(NSString *)email { - UIViewController *viewController; - id delegate = self.authUI.delegate; - if ([delegate respondsToSelector:@selector(passwordRecoveryViewControllerForAuthUI:email:)]) { - viewController = [delegate passwordRecoveryViewControllerForAuthUI:self.authUI - email:email]; - } else { - viewController = [[FUIPasswordRecoveryViewController alloc] initWithAuthUI:self.authUI - email:email]; - } - [self pushViewController:viewController]; - -} - -- (IBAction)forgotPassword { - [self forgotPasswordForEmail:_emailField.text]; -} - -- (void)textFieldDidChange { - [self didChangeEmail:_emailField.text andPassword:_passwordField.text]; -} - -- (void)didChangeEmail:(NSString *)email andPassword:(NSString *)password { - BOOL enableActionButton = email.length > 0 && password.length > 0; - self.navigationItem.rightBarButtonItem.enabled = enableActionButton; -} - -#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]; - } - cell.textField.delegate = self; - if (indexPath.row == 0) { - cell.label.text = FUILocalizedString(kStr_Email); - cell.textField.enabled = _email == nil; - _emailField = cell.textField; - _emailField.text = _email; - _emailField.placeholder = FUILocalizedString(kStr_EnterYourEmail); - _emailField.secureTextEntry = NO; - _emailField.returnKeyType = UIReturnKeyNext; - _emailField.keyboardType = UIKeyboardTypeEmailAddress; - _emailField.autocorrectionType = UITextAutocorrectionTypeNo; - _emailField.autocapitalizationType = UITextAutocapitalizationTypeNone; - if (@available(iOS 11.0, *)) { - _emailField.textContentType = UITextContentTypeUsername; - } - } else if (indexPath.row == 1) { - cell.label.text = FUILocalizedString(kStr_Password); - _passwordField = cell.textField; - _passwordField.placeholder = FUILocalizedString(kStr_EnterYourPassword); - _passwordField.secureTextEntry = YES; - _passwordField.returnKeyType = UIReturnKeyNext; - _passwordField.keyboardType = UIKeyboardTypeDefault; - if (@available(iOS 11.0, *)) { - _passwordField.textContentType = UITextContentTypePassword; - } - } - [cell.textField addTarget:self - action:@selector(textFieldDidChange) - forControlEvents:UIControlEventEditingChanged]; - [self didChangeEmail:_emailField.text andPassword:_passwordField.text]; - return cell; -} - -#pragma mark - UITextFieldDelegate - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - if (textField == _emailField) { - [_passwordField becomeFirstResponder]; - } else if (textField == _passwordField) { - [self signIn]; - } - return NO; -} - -@end diff --git a/FirebaseEmailAuthUI/Sources/FUIPasswordSignInViewController_Internal.h b/FirebaseEmailAuthUI/Sources/FUIPasswordSignInViewController_Internal.h deleted file mode 100644 index b4e43b0d579..00000000000 --- a/FirebaseEmailAuthUI/Sources/FUIPasswordSignInViewController_Internal.h +++ /dev/null @@ -1,36 +0,0 @@ -// -// Copyright (c) 2018 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 "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordSignInViewController.h" -@import FirebaseAuth; - -NS_ASSUME_NONNULL_BEGIN - -@interface FUIPasswordSignInViewController () - -typedef void (^FIRAuthDataResultCallback)(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error); - -/** @property onDismissCallback: - @brief Sets an optional custom callback for FUIPasswordSigInViewController during dismissal. This block is NOT set to nil after use, set to nil after using - if you wish to avoid circular references. - */ -@property(nonatomic, strong, nullable) FIRAuthDataResultCallback onDismissCallback; - -NS_ASSUME_NONNULL_END - - -@end diff --git a/FirebaseEmailAuthUI/Sources/FUIPasswordSignUpViewController.m b/FirebaseEmailAuthUI/Sources/FUIPasswordSignUpViewController.m deleted file mode 100755 index 19c377ee9ee..00000000000 --- a/FirebaseEmailAuthUI/Sources/FUIPasswordSignUpViewController.m +++ /dev/null @@ -1,378 +0,0 @@ -// -// 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 "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordSignUpViewController.h" - -@import FirebaseAuth; -#import - -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h" -#import "FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.h" - -/** @var kCellReuseIdentifier - @brief The reuse identifier for table view cell. - */ -static NSString *const kCellReuseIdentifier = @"cellReuseIdentifier"; - -/** @var kEmailSignUpCellAccessibilityID - @brief The Accessibility Identifier for the @c email cell. - */ -static NSString *const kEmailSignUpCellAccessibilityID = @"EmailSignUpCellAccessibilityID"; - -/** @var kPasswordSignUpCellAccessibilityID - @brief The Accessibility Identifier for the @c password cell. - */ -static NSString *const kPasswordSignUpCellAccessibilityID = @"PasswordSignUpCellAccessibilityID"; - -/** @var kNameSignUpCellAccessibilityID - @brief The Accessibility Identifier for the @c name cell. - */ -static NSString *const kNameSignUpCellAccessibilityID = @"NameSignUpCellAccessibilityID"; - -/** @var kSaveButtonAccessibilityID - @brief The Accessibility Identifier for the @c next button. - */ -static NSString *const kSaveButtonAccessibilityID = @"SaveButtonAccessibilityID"; - -/** @var kTextFieldRightViewSize - @brief The height and width of the @c rightView of the password text field. - */ -static const CGFloat kTextFieldRightViewSize = 36.0f; - -@interface FUIPasswordSignUpViewController () -@end - -@implementation FUIPasswordSignUpViewController { - /** @var _email - @brief The @c email address of the user from the previous screen. - */ - NSString *_email; - - /** @var _emailField - @brief The @c UITextField that user enters email address into. - */ - UITextField *_emailField; - - /** @var _nameField - @brief The @c UITextField that user enters name into. - */ - UITextField *_nameField; - - /** @var requireDisplayName - @brief Indicate weather display name field is required. - */ - BOOL _requireDisplayName; - - /** @var _passwordField - @brief The @c UITextField that user enters password into. - */ - UITextField *_passwordField; - - /** @var _tableView - @brief The @c UITableView used to store all UI elements. - */ - __weak IBOutlet UITableView *_tableView; -} - -- (instancetype)initWithAuthUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email - requireDisplayName:(BOOL)requireDisplayName { - return [self initWithNibName:NSStringFromClass([self class]) - bundle:[FUIEmailAuth bundle] - authUI:authUI - email:email - requireDisplayName:requireDisplayName]; -} - -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email - requireDisplayName:(BOOL)requireDisplayName { - self = [super initWithNibName:nibNameOrNil - bundle:nibBundleOrNil - authUI:authUI]; - if (self) { - _email = [email copy]; - _requireDisplayName = requireDisplayName; - self.title = FUILocalizedString(kStr_SignUpTitle); - } - return self; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - UIBarButtonItem *saveButtonItem = - [FUIAuthBaseViewController barItemWithTitle:FUILocalizedString(kStr_Save) - target:self - action:@selector(save)]; - saveButtonItem.accessibilityIdentifier = kSaveButtonAccessibilityID; - self.navigationItem.rightBarButtonItem = saveButtonItem; - - [self enableDynamicCellHeightForTableView:_tableView]; - - if (@available(iOS 13.0, *)) { - _tableView.backgroundColor = [UIColor systemBackgroundColor]; - } -} - -- (void)viewDidLayoutSubviews { - [super viewDidLayoutSubviews]; - - self.footerView.authUI = self.authUI; - [self.footerView useFooterMessage]; -} - -#pragma mark - Actions - -- (void)save { - [self signUpWithEmail:_emailField.text - andPassword:_passwordField.text - andUsername:_nameField.text]; -} - -- (void)signUpWithEmail:(NSString *)email - andPassword:(NSString *)password - andUsername:(NSString *)username { - if (![[self class] isValidEmail:email]) { - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidEmailError)]; - return; - } - if (password.length <= 0) { - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidPasswordError)]; - return; - } - - [self incrementActivity]; - - // Check for the presence of an anonymous user and whether automatic upgrade is enabled. - if (self.auth.currentUser.isAnonymous && self.authUI.shouldAutoUpgradeAnonymousUsers) { - FIRAuthCredential *credential = - [FIREmailAuthProvider credentialWithEmail:email password:password]; - [self.auth.currentUser - linkWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError * _Nullable error) { - if (error) { - [self decrementActivity]; - [self finishSignUpWithAuthDataResult:nil error:error]; - return; - } - FIRUserProfileChangeRequest *request = [authResult.user profileChangeRequest]; - request.displayName = username; - [request commitChangesWithCompletion:^(NSError *_Nullable error) { - [self decrementActivity]; - - if (error) { - [self finishSignUpWithAuthDataResult:nil error:error]; - return; - } - [self finishSignUpWithAuthDataResult:authResult error:nil]; - }]; - }]; - } else { - [self.auth createUserWithEmail:email - password:password - completion:^(FIRAuthDataResult *_Nullable authDataResult, - NSError *_Nullable error) { - if (error) { - [self decrementActivity]; - - [self finishSignUpWithAuthDataResult:nil error:error]; - return; - } - - FIRUserProfileChangeRequest *request = [authDataResult.user profileChangeRequest]; - request.displayName = username; - [request commitChangesWithCompletion:^(NSError *_Nullable error) { - [self decrementActivity]; - - if (error) { - [self finishSignUpWithAuthDataResult:nil error:error]; - return; - } - [self finishSignUpWithAuthDataResult:authDataResult error:nil]; - }]; - }]; - } -} - -- (void)finishSignUpWithAuthDataResult:(nullable FIRAuthDataResult *)authDataResult - error:(nullable NSError *)error { - if (error) { - switch (error.code) { - case FIRAuthErrorCodeEmailAlreadyInUse: - [self showAlertWithMessage:FUILocalizedString(kStr_EmailAlreadyInUseError)]; - return; - case FIRAuthErrorCodeInvalidEmail: - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidEmailError)]; - return; - case FIRAuthErrorCodeWeakPassword: - [self showAlertWithMessage:FUILocalizedString(kStr_WeakPasswordError)]; - return; - case FIRAuthErrorCodeTooManyRequests: - [self showAlertWithMessage:FUILocalizedString(kStr_SignUpTooManyTimesError)]; - return; - } - } - - [self dismissNavigationControllerAnimated:YES completion:^() { - [self.authUI invokeResultCallbackWithAuthDataResult:authDataResult URL:nil error:error]; - }]; -} - -- (void)textFieldDidChange { - [self didChangeEmail:_emailField.text orPassword:_passwordField.text orUserName:_nameField.text]; -} - -- (void)didChangeEmail:(NSString *)email - orPassword:(NSString *)password - orUserName:(NSString *)username { - BOOL enableActionButton = email.length > 0 && password.length > 0; - if (_requireDisplayName) { - enableActionButton = enableActionButton && username.length > 0; - } - self.navigationItem.rightBarButtonItem.enabled = enableActionButton; -} - -#pragma mark - UITableViewDataSource - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - if (_requireDisplayName) { - return 3; - } else { - 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]; - } - cell.textField.delegate = self; - if (indexPath.row == 0) { - cell.label.text = FUILocalizedString(kStr_Email); - cell.accessibilityIdentifier = kEmailSignUpCellAccessibilityID; - cell.textField.enabled = NO; - _emailField = cell.textField; - _emailField.text = _email; - _emailField.placeholder = FUILocalizedString(kStr_EnterYourEmail); - _emailField.secureTextEntry = NO; - _emailField.returnKeyType = UIReturnKeyNext; - _emailField.keyboardType = UIKeyboardTypeEmailAddress; - _emailField.autocorrectionType = UITextAutocorrectionTypeNo; - _emailField.autocapitalizationType = UITextAutocapitalizationTypeNone; - if (@available(iOS 11.0, *)) { - _emailField.textContentType = UITextContentTypeUsername; - } - } else if (indexPath.row == 1) { - if (_requireDisplayName) { - cell.label.text = FUILocalizedString(kStr_Name); - cell.accessibilityIdentifier = kNameSignUpCellAccessibilityID; - _nameField = cell.textField; - _nameField.placeholder = FUILocalizedString(kStr_FirstAndLastName); - _nameField.secureTextEntry = NO; - _nameField.returnKeyType = UIReturnKeyNext; - _nameField.keyboardType = UIKeyboardTypeDefault; - _nameField.autocapitalizationType = UITextAutocapitalizationTypeWords; - if (@available(iOS 10.0, *)) { - _nameField.textContentType = UITextContentTypeName; - } - } else { - cell.label.text = FUILocalizedString(kStr_Password); - cell.accessibilityIdentifier = kPasswordSignUpCellAccessibilityID; - _passwordField = cell.textField; - _passwordField.placeholder = FUILocalizedString(kStr_ChoosePassword); - _passwordField.secureTextEntry = YES; - _passwordField.rightView = [self visibilityToggleButtonForPasswordField]; - _passwordField.rightViewMode = UITextFieldViewModeAlways; - _passwordField.returnKeyType = UIReturnKeyNext; - _passwordField.keyboardType = UIKeyboardTypeDefault; - if (@available(iOS 11.0, *)) { - _passwordField.textContentType = UITextContentTypePassword; - } - } - } else if (indexPath.row == 2) { - cell.label.text = FUILocalizedString(kStr_Password); - cell.accessibilityIdentifier = kPasswordSignUpCellAccessibilityID; - _passwordField = cell.textField; - _passwordField.placeholder = FUILocalizedString(kStr_ChoosePassword); - _passwordField.secureTextEntry = YES; - _passwordField.rightView = [self visibilityToggleButtonForPasswordField]; - _passwordField.rightViewMode = UITextFieldViewModeAlways; - _passwordField.returnKeyType = UIReturnKeyNext; - _passwordField.keyboardType = UIKeyboardTypeDefault; - if (@available(iOS 11.0, *)) { - _passwordField.textContentType = UITextContentTypePassword; - } - } - [cell.textField addTarget:self - action:@selector(textFieldDidChange) - forControlEvents:UIControlEventEditingChanged]; - [self didChangeEmail:_emailField.text orPassword:_passwordField.text orUserName:_nameField.text]; - return cell; -} - -#pragma mark - UITextFieldDelegate - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - if (textField == _emailField) { - [_nameField becomeFirstResponder]; - } else if (textField == _nameField) { - [_passwordField becomeFirstResponder]; - } else if (textField == _passwordField) { - [self signUpWithEmail:_emailField.text - andPassword:_passwordField.text - andUsername:_nameField.text]; - } - return NO; -} - -#pragma mark - Password field visibility toggle button - -- (UIButton *)visibilityToggleButtonForPasswordField { - UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; - button.frame = CGRectMake(0, 0, kTextFieldRightViewSize, kTextFieldRightViewSize); - button.tintColor = [UIColor lightGrayColor]; - [self updateIconForRightViewButton:button]; - [button addTarget:self - action:@selector(togglePasswordFieldVisibility:) - forControlEvents:UIControlEventTouchUpInside]; - return button; -} - -- (void)updateIconForRightViewButton:(UIButton *)button { - NSString *imageName = _passwordField.secureTextEntry ? @"ic_visibility" : @"ic_visibility_off"; - UIImage *image = [FUIAuthUtils imageNamed:imageName fromBundle:[FUIAuthUtils authUIBundle]]; - [button setImage:image forState:UIControlStateNormal]; -} - -- (void)togglePasswordFieldVisibility:(UIButton *)button { - // Make sure cursor is placed correctly by disabling and enabling the text field. - _passwordField.enabled = NO; - _passwordField.secureTextEntry = !_passwordField.secureTextEntry; - [self updateIconForRightViewButton:button]; - _passwordField.enabled = YES; - [_passwordField becomeFirstResponder]; -} - -@end diff --git a/FirebaseEmailAuthUI/Sources/FUIPasswordVerificationViewController.m b/FirebaseEmailAuthUI/Sources/FUIPasswordVerificationViewController.m deleted file mode 100755 index eb1062e339c..00000000000 --- a/FirebaseEmailAuthUI/Sources/FUIPasswordVerificationViewController.m +++ /dev/null @@ -1,239 +0,0 @@ -// -// 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 "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordVerificationViewController.h" - -@import FirebaseAuth; - -#import - -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h" -#import "FirebaseEmailAuthUI/Sources/FUIEmailAuthStrings.h" -#import "FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordRecoveryViewController.h" - -/** @var kCellReuseIdentifier - @brief The reuse identifier for table view cell. - */ -static NSString *const kCellReuseIdentifier = @"cellReuseIdentifier"; - -@interface FUIPasswordVerificationViewController () -@end - -@implementation FUIPasswordVerificationViewController { - /** @var _email - @brief The @c The email address of the user collected previously. - */ - NSString *_email; - - /** @var _newCredential - @brief The new @c FIRAuthCredential that the user had never used before. - */ - FIRAuthCredential *_newCredential; - - /** @var _passwordField - @brief The @c UITextField that user enters password into. - */ - UITextField *_passwordField; - - /** @var _tableView - @brief The @c UITableView used to store all UI elements. - */ - __weak IBOutlet UITableView *_tableView; - - /** @var _forgotPasswordButton - @brief The @c UIButton which handles forgot password action. - */ - __weak IBOutlet UIButton *_forgotPasswordButton; - - /** @var _termsOfServiceView - @brief The @c Text view which displays Terms of Service. - */ - __weak IBOutlet FUIPrivacyAndTermsOfServiceView *_termsOfServiceView; - -} - -- (instancetype)initWithAuthUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email - newCredential:(FIRAuthCredential *)newCredential { - return [self initWithNibName:NSStringFromClass([self class]) - bundle:[FUIEmailAuth bundle] - authUI:authUI - email:email - newCredential:newCredential]; -} - -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email - newCredential:(FIRAuthCredential *)newCredential { - self = [super initWithNibName:nibNameOrNil - bundle:nibBundleOrNil - authUI:authUI]; - if (self) { - _email = [email copy]; - _newCredential = newCredential; - self.title = FUILocalizedString(kStr_SignInTitle); - } - return self; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - UIBarButtonItem *nextButtonItem = - [FUIAuthBaseViewController barItemWithTitle:FUILocalizedString(kStr_Next) - target:self - action:@selector(next)]; - self.navigationItem.rightBarButtonItem = nextButtonItem; - - // The initial frame doesn't matter as long as it's not CGRectZero, otherwise a default empty - // header is added by UITableView. - FUIAuthTableHeaderView *tableHeaderView = - [[FUIAuthTableHeaderView alloc] initWithFrame:_tableView.bounds]; - _tableView.tableHeaderView = tableHeaderView; - [_forgotPasswordButton setTitle:FUILocalizedString(kStr_ForgotPasswordTitle) - forState:UIControlStateNormal]; - _termsOfServiceView.authUI = self.authUI; - [_termsOfServiceView useFooterMessage]; - [self enableDynamicCellHeightForTableView:_tableView]; -} - -- (void)viewDidLayoutSubviews { - [super viewDidLayoutSubviews]; - - FUIAuthTableHeaderView *tableHeaderView = - (FUIAuthTableHeaderView *)_tableView.tableHeaderView; - tableHeaderView.titleLabel.text = FUILocalizedString(kStr_ExistingAccountTitle); - tableHeaderView.detailLabel.text = - [NSString stringWithFormat:FUILocalizedString(kStr_PasswordVerificationMessage), _email]; - - CGSize previousSize = tableHeaderView.frame.size; - [tableHeaderView sizeToFit]; - if (!CGSizeEqualToSize(tableHeaderView.frame.size, previousSize)) { - // Update the height of table header view by setting the view again. - _tableView.tableHeaderView = tableHeaderView; - } -} - -#pragma mark - Actions - -- (void)next { - [self verifyPassword:_passwordField.text]; -} - -- (void)verifyPassword:(NSString *)password { - if (![[self class] isValidEmail:_email]) { - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidEmailError)]; - return; - } - if (password.length <= 0) { - [self showAlertWithMessage:FUILocalizedString(kStr_InvalidPasswordError)]; - return; - } - - [self incrementActivity]; - - FIRAuthCredential *credential = - [FIREmailAuthProvider credentialWithEmail:_email password:password]; - [self.auth signInWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - if (error) { - [self decrementActivity]; - - [self showAlertWithMessage:FUILocalizedString(kStr_WrongPasswordError)]; - return; - } - - [authResult.user linkWithCredential:self->_newCredential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - [self decrementActivity]; - - // Ignore any error (shouldn't happen) and treat the user as successfully signed in. - [self dismissNavigationControllerAnimated:YES completion:^{ - [self.authUI invokeResultCallbackWithAuthDataResult:authResult URL:nil error:nil]; - }]; - }]; - }]; -} - -- (IBAction)forgotPassword { - UIViewController *viewController; - id delegate = self.authUI.delegate; - - if ([delegate respondsToSelector:@selector(passwordRecoveryViewControllerForAuthUI:email:)]) { - viewController = [delegate passwordRecoveryViewControllerForAuthUI:self.authUI - email:_email]; - } else { - viewController = [[FUIPasswordRecoveryViewController alloc] initWithAuthUI:self.authUI - email:_email]; - } - [self pushViewController:viewController]; -} - -- (void)textFieldDidChange { - [self didChangePassword:_passwordField.text]; -} - -- (void)didChangePassword:(NSString *)password { - BOOL enableActionButton = (password.length > 0); - self.navigationItem.rightBarButtonItem.enabled = enableActionButton; -} - -#pragma mark - UITableViewDataSource - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return 1; -} - -- (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]; - } - cell.textField.delegate = self; - cell.label.text = FUILocalizedString(kStr_Password); - _passwordField = cell.textField; - _passwordField.placeholder = FUILocalizedString(kStr_EnterYourPassword); - _passwordField.secureTextEntry = YES; - _passwordField.returnKeyType = UIReturnKeyNext; - _passwordField.keyboardType = UIKeyboardTypeDefault; - if (@available(iOS 11.0, *)) { - _passwordField.textContentType = UITextContentTypePassword; - } - [cell.textField addTarget:self - action:@selector(textFieldDidChange) - forControlEvents:UIControlEventEditingChanged]; - [self didChangePassword:_passwordField.text]; - return cell; -} - -#pragma mark - UITextFieldDelegate - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - if (textField == _passwordField) { - [self next]; - } - return NO; -} - -@end diff --git a/FirebaseEmailAuthUI/Sources/Info.plist b/FirebaseEmailAuthUI/Sources/Info.plist deleted file mode 100644 index ba72822e872..00000000000 --- a/FirebaseEmailAuthUI/Sources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIConfirmEmailViewController.h b/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIConfirmEmailViewController.h deleted file mode 100644 index 56acc3b3c24..00000000000 --- a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIConfirmEmailViewController.h +++ /dev/null @@ -1,44 +0,0 @@ -// -// Copyright (c) 2018 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 - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIConfirmEmailViewController - @brief The view controller that asks for user's email address. - */ -@interface FUIConfirmEmailViewController : FUIAuthBaseViewController - -/** @fn onNext: - @brief Should be called when user entered email. Triggers email verification before - pushing new controller - @param emailText Email value entered by user. - */ -- (void)onNext:(NSString *)emailText; - -/** @fn didChangeEmail: - @brief Update UI control state according to the email provided. Should be called after any - change of email. - @param emailText Email value entered by user. - */ -- (void)didChangeEmail:(NSString *)emailText; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h b/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h deleted file mode 100644 index 22fa242328d..00000000000 --- a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailAuth.h +++ /dev/null @@ -1,129 +0,0 @@ -// -// Copyright (c) 2018 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 - -@class FUIAuth; -@class FIRActionCodeSettings; -@class FUIEmailEntryViewController; -@class FUIPasswordSignInViewController; -@class FUIPasswordSignUpViewController; -@class FUIPasswordRecoveryViewController; -@class FUIPasswordVerificationViewController; - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIEmailAuth - @brief AuthUI components for Email Sign In. - */ -@interface FUIEmailAuth : NSObject - -/** @property emailLink. - @brief The link for email link sign in. - */ -@property(nonatomic, strong, readwrite, nullable) NSString *emailLink; - -/** @property buttonAlignment - @brief The alignment of the icon and text of the button. - */ -@property(nonatomic, readwrite) FUIButtonAlignment buttonAlignment; - -+ (NSBundle *)bundle; - -/** @fn initAuthAuthUI:signInMethod:forceSameDevice:allowNewEmailAccounts:actionCodeSetting: - @brief Initializer with several configurations. - @param authUI The auth UI object that this auth UI provider associate with. - @param signInMethod The email sign in method, which can be password or email link. - @param forceSameDevice Indicate whether for the email sign in link to be open on the same device. - @param allowNewEmailAccounts Indicate whether allow sign up if the user doesn't exist. - @param actionCodeSettings The action code settings for email actions. - */ -- (instancetype)initAuthAuthUI:(FUIAuth *)authUI - signInMethod:(NSString *)signInMethod - forceSameDevice:(BOOL)forceSameDevice - allowNewEmailAccounts:(BOOL)allowNewEmailAccounts - actionCodeSetting:(FIRActionCodeSettings *)actionCodeSettings; - -/** @fn initAuthAuthUI:signInMethod:forceSameDevice:allowNewEmailAccounts:requireDisplayName:actionCodeSetting: - @brief Initializer with several configurations. - @param authUI The auth UI object that this auth UI provider associate with. - @param signInMethod The email sign in method, which can be password or email link. - @param forceSameDevice Indicate whether for the email sign in link to be open on the same device. - @param allowNewEmailAccounts Indicate whether allow sign up if the user doesn't exist. - @param requireDisplayName Indicate whether require display name when sign up. - @param actionCodeSettings The action code settings for email actions. - */ -- (instancetype)initAuthAuthUI:(FUIAuth *)authUI - signInMethod:(NSString *)signInMethod - forceSameDevice:(BOOL)forceSameDevice - allowNewEmailAccounts:(BOOL)allowNewEmailAccounts - requireDisplayName:(BOOL)requireDisplayName - actionCodeSetting:(FIRActionCodeSettings *)actionCodeSettings; - -/** @property signInMethod. - @brief Defines the sign in method for FIREmailAuthProvider. - This can be one of the following string constants: - - FIREmailLinkAuthSignInMethod - - FIREmailPasswordAuthSignInMethod (default). - */ -@property(nonatomic, copy, readonly) NSString *signInMethod; - -/** @property forceSameDevice. - @brief Whether to force same device flow. If not, opening the link on a different device will - display an error message. Note that this should be true when used with anonymous user - upgrade flows. The default is false. - */ -@property(nonatomic, assign, readonly) BOOL forceSameDevice; - -/** @property actionCodeSettings. - @brief Defines the FIRActionCodeSettings configuration to use when sending the link. This gives - the developer the ability to specify how the link can be handled, custom dynamic link, - additional state in the deep link, etc. - */ -@property(nonatomic, strong, readonly) FIRActionCodeSettings *actionCodeSettings; - -/** @property allowNewEmailAccounts - @brief Whether to allow new user sign, defaults to YES. - */ -@property(nonatomic, assign, readonly) BOOL allowNewEmailAccounts; - -/** @property requireDisplayName - @brief Whether signup requires display name, defaults to YES. - */ -@property(nonatomic, assign, readonly) BOOL requireDisplayName; - -/** @fn signInWithPresentingViewController: - @brief Signs in with email 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:email:"))); - -/** @fn signInWithPresentingViewController:email: - @brief Signs in with email auth provider. - @see FUIAuthDelegate.authUI:didSignInWithAuthDataResult:URL:error: for method callback. - @param presentingViewController The view controller used to present the UI. - @param email The default email address. - */ -- (void)signInWithPresentingViewController:(UIViewController *)presentingViewController - email:(nullable NSString *)email; - - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailEntryViewController.h b/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailEntryViewController.h deleted file mode 100644 index 570cdef8a7c..00000000000 --- a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIEmailEntryViewController.h +++ /dev/null @@ -1,44 +0,0 @@ -// -// 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 - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIEmailEntryViewController - @brief The view controller that asks for user's email address. - */ -@interface FUIEmailEntryViewController : FUIAuthBaseViewController - -/** @fn onNext: - @brief Should be called when user entered email. Triggers email verification before - pushing new controller - @param emailText Email value entered by user. - */ -- (void)onNext:(NSString *)emailText; - -/** @fn didChangeEmail: - @brief Should be called after any change of email value. Updates UI controls state - (e g state of next button) - @param emailText Email value entered by user. - */ -- (void)didChangeEmail:(NSString *)emailText; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordRecoveryViewController.h b/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordRecoveryViewController.h deleted file mode 100644 index 0a1e55c1ec3..00000000000 --- a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordRecoveryViewController.h +++ /dev/null @@ -1,75 +0,0 @@ -// -// 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 - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIPasswordRecoveryViewController - @brief The view controller that asks for user's password. - */ -@interface FUIPasswordRecoveryViewController : FUIAuthBaseViewController - -/** @fn initWithNibName:bundle:authUI: - @brief Please use @c initWithAuthUI:email:. - */ -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI NS_UNAVAILABLE; - -/** @fn initWithAuthUI: - @brief Please use @c initWithAuthUI:email:. - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI NS_UNAVAILABLE; - -/** @fn initWithNibName:bundle:authUI:email: - @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 email The email address of the user. - */ -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email NS_DESIGNATED_INITIALIZER; - -/** @fn initWithAuthUI:email: - @brief Convenience initializer. - @param authUI The @c FUIAuth instance that manages this view controller. - @param email The email address of the user. - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email; - -/** @fn didChangeEmail: - @brief Should be called after any change of email value. Updates UI controls state - (e g state of send button) - @param email The email address of the user. - */ -- (void)didChangeEmail:(NSString *)email; - -/** @fn recoverEmail: - @brief Should be called when user want to recover password for specified email. - Sends email recover request. - @param email The email address of the user. - */ -- (void)recoverEmail:(NSString *)email; -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordSignInViewController.h b/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordSignInViewController.h deleted file mode 100644 index 57987a5c056..00000000000 --- a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordSignInViewController.h +++ /dev/null @@ -1,83 +0,0 @@ -// -// 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 - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIPasswordSignInViewController - @brief The view controller that asks for user's password. - */ -@interface FUIPasswordSignInViewController : FUIAuthBaseViewController - -/** @fn initWithNibName:bundle:authUI: - @brief Please use @c initWithNibName:bundle:authUI:email:. - */ -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI NS_UNAVAILABLE; - -/** @fn initWithAuthUI: - @brief Please use @c initWithNibName:bundle:authUI:email:. - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI NS_UNAVAILABLE; - -/** @fn initWithNibName:bundle:authUI:email: - @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 email The email address of the user. - */ -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email NS_DESIGNATED_INITIALIZER; - -/** @fn initWithAuthUI:email: - @brief Convenience initializer. - @param authUI The @c FUIAuth instance that manages this view controller. - @param email The email address of the user. - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email; - -/** @fn forgotPasswordForEmail: - @brief Method is called when user forgot password. - @param email The email address of the user. - */ -- (void)forgotPasswordForEmail:(NSString *)email; - -/** @fn didChangeEmail:andPassword: - @brief Should be called after any change of email/password value. Updates UI controls state - (e g state of next button) - @param email The email address of the user. - @param password The password which user uses. - */ -- (void)didChangeEmail:(NSString *)email andPassword:(NSString *)password; - -/** @fn signInWithDefaultValue:andPassword: - @brief Should be called when user entered credentials. Sends authorization request - @param email The email address of the user. - @param password The password which user uses. - */ -- (void)signInWithDefaultValue:(NSString *)email andPassword:(NSString *)password; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordSignUpViewController.h b/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordSignUpViewController.h deleted file mode 100644 index 41383adf18f..00000000000 --- a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordSignUpViewController.h +++ /dev/null @@ -1,95 +0,0 @@ -// -// 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 - -#import - -@class FUIPrivacyAndTermsOfServiceView; - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIPasswordSignUpViewController - @brief The view controller where user signs up as a password account. - */ -@interface FUIPasswordSignUpViewController : FUIAuthBaseViewController - -/** @property footerTextView - @brief The view in the footer of the table that displays Privacy and Terms of Service. - */ -@property(nonatomic, strong) IBOutlet FUIPrivacyAndTermsOfServiceView *footerView; - -/** @fn initWithNibName:bundle:authUI: - @brief Please use @c initWithAuthUI:email:. - */ -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI NS_UNAVAILABLE; - -/** @fn initWithAuthUI: - @brief Please use @c initWithAuthUI:email:. - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI NS_UNAVAILABLE; - -/** @fn initWithNibName:bundle:authUI:email: - @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 email The email address of the user. - @param requireDisplayName Whether the displayname field is required . - */ -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email - requireDisplayName:(BOOL)requireDisplayName NS_DESIGNATED_INITIALIZER; - -/** @fn initWithAuthUI:email: - @brief Convenience initializer. - @param authUI The @c FUIAuth instance that manages this view controller. - @param email The email address of the user. - @param requireDisplayName Whether the displayname field is required . - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email - requireDisplayName:(BOOL)requireDisplayName; - -/** @fn didChangeEmail:orPassword:orUserName: - @brief Should be called after any change of email, password or user name value. - Updates UI controls state (e g state of next button) - @param email The email address of the user. - @param password The password which user uses. - @param username The username which user uses. - */ -- (void)didChangeEmail:(NSString *)email - orPassword:(NSString *)password - orUserName:(NSString *)username; - -/** @fn signUpWithEmail:andPassword:andUsername: - @brief Should be called when user entered credentials and name. Sends request to create - new user and second request to update it's name - @param email The email address of the user. - @param password The password which user uses. - @param username The username which user uses. - */ -- (void)signUpWithEmail:(NSString *)email - andPassword:(NSString *)password - andUsername:(NSString *)username; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordVerificationViewController.h b/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordVerificationViewController.h deleted file mode 100644 index 807e99f28af..00000000000 --- a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FUIPasswordVerificationViewController.h +++ /dev/null @@ -1,86 +0,0 @@ -// -// 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 - -#import - -@class FIRAuthCredential; - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIPasswordVerificationViewController - @brief The view controller that verifies user's password. - */ -@interface FUIPasswordVerificationViewController : FUIAuthBaseViewController - -/** @fn initWithNibName:bundle:authUI: - @brief Please use @c initWithAuthUI:email:. - */ -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI NS_UNAVAILABLE; - -/** @fn initWithAuthUI: - @brief Please use @c initWithAuthUI:email:. - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI NS_UNAVAILABLE; - -/** @fn initWithNibName:bundle:authUI:email:newCredential: - @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 email The email address of the user. - @param newCredential The new @c FIRAuthCredential that the user had never used before. - */ -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email - newCredential:(FIRAuthCredential *)newCredential NS_DESIGNATED_INITIALIZER; - -/** @fn initWithAuthUI:email:newCredential: - @brief Convenience initializer. - @param authUI The @c FUIAuth instance that manages this view controller. - @param email The email address of the user. - @param newCredential The new @c FIRAuthCredential that the user had never used before. - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email - newCredential:(FIRAuthCredential *)newCredential; - -/** @fn forgotPassword - @brief Method is called when user forgot password. - */ -- (void)forgotPassword; - -/** @fn didChangePassword: - @brief Should be called after any change of password value. Updates UI controls state - (e g state of next button) - @param password The password which user uses. - */ -- (void)didChangePassword:(NSString *)password; - -/** @fn verifyPassword: - @brief Should be called when user entered password. Sends authorization request - @param password The password which user uses. - */ -- (void)verifyPassword:(NSString *)password; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FirebaseEmailAuthUI.h b/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FirebaseEmailAuthUI.h deleted file mode 100644 index 52e51fa4794..00000000000 --- a/FirebaseEmailAuthUI/Sources/Public/FirebaseEmailAuthUI/FirebaseEmailAuthUI.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// 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 - -//! Project version number for FirebaseEmailAuthUI. -FOUNDATION_EXPORT double FirebaseEmailAuthUIVersionNumber; - -//! Project version string for FirebaseEmailAuthUI. -FOUNDATION_EXPORT const unsigned char FirebaseEmailAuthUIVersionString[]; - -#import "FUIEmailAuth.h" -#import "FUIEmailEntryViewController.h" -#import "FUIPasswordRecoveryViewController.h" -#import "FUIPasswordVerificationViewController.h" -#import "FUIPasswordSignInViewController.h" -#import "FUIPasswordSignUpViewController.h" diff --git a/FirebaseEmailAuthUI/Sources/Resources/FUIConfirmEmailViewController.xib b/FirebaseEmailAuthUI/Sources/Resources/FUIConfirmEmailViewController.xib deleted file mode 100644 index 3656d78bcb6..00000000000 --- a/FirebaseEmailAuthUI/Sources/Resources/FUIConfirmEmailViewController.xib +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseEmailAuthUI/Sources/Resources/FUIEmailEntryViewController.xib b/FirebaseEmailAuthUI/Sources/Resources/FUIEmailEntryViewController.xib deleted file mode 100644 index 9214352436c..00000000000 --- a/FirebaseEmailAuthUI/Sources/Resources/FUIEmailEntryViewController.xib +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseEmailAuthUI/Sources/Resources/FUIPasswordRecoveryViewController.xib b/FirebaseEmailAuthUI/Sources/Resources/FUIPasswordRecoveryViewController.xib deleted file mode 100644 index aa1a998d960..00000000000 --- a/FirebaseEmailAuthUI/Sources/Resources/FUIPasswordRecoveryViewController.xib +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseEmailAuthUI/Sources/Resources/FUIPasswordSignInViewController.xib b/FirebaseEmailAuthUI/Sources/Resources/FUIPasswordSignInViewController.xib deleted file mode 100644 index 1567c2f146c..00000000000 --- a/FirebaseEmailAuthUI/Sources/Resources/FUIPasswordSignInViewController.xib +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseEmailAuthUI/Sources/Resources/FUIPasswordSignUpViewController.xib b/FirebaseEmailAuthUI/Sources/Resources/FUIPasswordSignUpViewController.xib deleted file mode 100644 index 13fdd24e1fe..00000000000 --- a/FirebaseEmailAuthUI/Sources/Resources/FUIPasswordSignUpViewController.xib +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseEmailAuthUI/Sources/Resources/FUIPasswordVerificationViewController.xib b/FirebaseEmailAuthUI/Sources/Resources/FUIPasswordVerificationViewController.xib deleted file mode 100644 index c10c58f3399..00000000000 --- a/FirebaseEmailAuthUI/Sources/Resources/FUIPasswordVerificationViewController.xib +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseEmailAuthUI/Sources/Resources/ic_email.png b/FirebaseEmailAuthUI/Sources/Resources/ic_email.png deleted file mode 100644 index 4cfd6b12894..00000000000 Binary files a/FirebaseEmailAuthUI/Sources/Resources/ic_email.png and /dev/null differ diff --git a/FirebaseEmailAuthUI/Sources/Resources/ic_email@2x.png b/FirebaseEmailAuthUI/Sources/Resources/ic_email@2x.png deleted file mode 100644 index c3e2e44c0a3..00000000000 Binary files a/FirebaseEmailAuthUI/Sources/Resources/ic_email@2x.png and /dev/null differ diff --git a/FirebaseEmailAuthUI/Sources/Resources/ic_email@3x.png b/FirebaseEmailAuthUI/Sources/Resources/ic_email@3x.png deleted file mode 100644 index aae04aea0a9..00000000000 Binary files a/FirebaseEmailAuthUI/Sources/Resources/ic_email@3x.png and /dev/null differ diff --git a/FirebaseFacebookAuthUI.podspec b/FirebaseFacebookAuthUI.podspec deleted file mode 100644 index d75aa6ccc60..00000000000 --- a/FirebaseFacebookAuthUI.podspec +++ /dev/null @@ -1,32 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'FirebaseFacebookAuthUI' - s.version = '15.1.0' - s.summary = 'A Facebook auth provider for FirebaseAuthUI.' - s.homepage = 'https://github.com/firebase/FirebaseUI-iOS' - s.license = { :type => 'Apache 2.0', :file => 'LICENSE' } - s.source = { :git => 'https://github.com/firebase/FirebaseUI-iOS.git', :tag => 'v' + s.version.to_s} - s.author = 'Firebase' - s.platform = :ios - s.ios.deployment_target = '13.0' - s.ios.framework = 'UIKit' - s.requires_arc = true - s.cocoapods_version = '>= 1.8.0' - s.swift_versions = '5.0' - s.pod_target_xcconfig = { - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', - } - s.swift_version = '6.0' - - s.platform = :ios, '13.0' - s.public_header_files = 'FirebaseFacebookAuthUI/Sources/Public/FirebaseFacebookAuthUI/*.h' - s.source_files = 'FirebaseFacebookAuthUI/Sources/**/*.{h,m}' - s.dependency 'FirebaseAuth' - s.dependency 'FirebaseCore' - s.dependency 'FirebaseAuthUI', '~> 15.0' - s.dependency 'FBSDKLoginKit', '>= 17.0', '< 18.0' - s.dependency 'FBSDKCoreKit_Basics' - s.resource_bundles = { - 'FirebaseFacebookAuthUI' => ['FirebaseFacebookAuthUI/Sources/{Resources,Strings}/*.{png,lproj}'] - } - -end diff --git a/FirebaseFacebookAuthUI/FirebaseFacebookAuthUI.xcodeproj/project.pbxproj b/FirebaseFacebookAuthUI/FirebaseFacebookAuthUI.xcodeproj/project.pbxproj deleted file mode 100644 index 1147652ba1c..00000000000 --- a/FirebaseFacebookAuthUI/FirebaseFacebookAuthUI.xcodeproj/project.pbxproj +++ /dev/null @@ -1,919 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 8D69E3DB21DD83EB00CFA49B /* FirebaseFacebookAuthUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E3DA21DD83EB00CFA49B /* FirebaseFacebookAuthUITests.m */; }; - 8D69E3DD21DD83EB00CFA49B /* FirebaseFacebookAuthUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E3CF21DD83EB00CFA49B /* FirebaseFacebookAuthUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E3E821DD843800CFA49B /* FUIFacebookAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E3E621DD843800CFA49B /* FUIFacebookAuth.m */; }; - 8D69E3E921DD843800CFA49B /* FUIFacebookAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E3E721DD843800CFA49B /* FUIFacebookAuth.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E44421DD843F00CFA49B /* FirebaseFacebookAuthUI.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E3EB21DD843E00CFA49B /* FirebaseFacebookAuthUI.strings */; }; - 8D69E44521DD843F00CFA49B /* ic_facebook.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E44121DD843F00CFA49B /* ic_facebook.png */; }; - 8D69E44621DD843F00CFA49B /* ic_facebook@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E44221DD843F00CFA49B /* ic_facebook@3x.png */; }; - 8D69E44721DD843F00CFA49B /* ic_facebook@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E44321DD843F00CFA49B /* ic_facebook@2x.png */; }; - 8D69E44B21DD845100CFA49B /* FUIFacebookAuthTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E44821DD845100CFA49B /* FUIFacebookAuthTest.m */; }; - 8D69E44C21DD845100CFA49B /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E44921DD845100CFA49B /* GoogleService-Info.plist */; }; - 8D69E44D21DD88BB00CFA49B /* FirebaseFacebookAuthUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8D69E3CC21DD83EB00CFA49B /* FirebaseFacebookAuthUI.framework */; }; - 8D69E45121DD8A6D00CFA49B /* ic_facebook.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E44121DD843F00CFA49B /* ic_facebook.png */; }; - 8D69E45221DD8A6D00CFA49B /* ic_facebook@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E44321DD843F00CFA49B /* ic_facebook@2x.png */; }; - 8D69E45321DD8A6D00CFA49B /* ic_facebook@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E44221DD843F00CFA49B /* ic_facebook@3x.png */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 8D69E3D721DD83EB00CFA49B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8D69E3C321DD83EB00CFA49B /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8D69E3CB21DD83EB00CFA49B; - remoteInfo = FirebaseFacebookAuthUI; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 8D69E3CC21DD83EB00CFA49B /* FirebaseFacebookAuthUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FirebaseFacebookAuthUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E3CF21DD83EB00CFA49B /* FirebaseFacebookAuthUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FirebaseFacebookAuthUI.h; sourceTree = ""; }; - 8D69E3D021DD83EB00CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E3D521DD83EB00CFA49B /* FirebaseFacebookAuthUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FirebaseFacebookAuthUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E3DA21DD83EB00CFA49B /* FirebaseFacebookAuthUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirebaseFacebookAuthUITests.m; sourceTree = ""; }; - 8D69E3DC21DD83EB00CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E3E621DD843800CFA49B /* FUIFacebookAuth.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIFacebookAuth.m; sourceTree = ""; }; - 8D69E3E721DD843800CFA49B /* FUIFacebookAuth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIFacebookAuth.h; sourceTree = ""; }; - 8D69E3EC21DD843E00CFA49B /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E3ED21DD843E00CFA49B /* ur */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ur; path = ur.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E3EE21DD843E00CFA49B /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E3EF21DD843E00CFA49B /* es-SV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-SV"; path = "es-SV.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E3F021DD843E00CFA49B /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E3F121DD843E00CFA49B /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E3F221DD843E00CFA49B /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E3F321DD843E00CFA49B /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E3F421DD843E00CFA49B /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E3F521DD843E00CFA49B /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = fa.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E3F621DD843E00CFA49B /* mr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mr; path = mr.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E3F721DD843E00CFA49B /* es-GT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-GT"; path = "es-GT.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E3F821DD843E00CFA49B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E3F921DD843E00CFA49B /* en-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-CA"; path = "en-CA.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E3FA21DD843E00CFA49B /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E3FB21DD843E00CFA49B /* es-PY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PY"; path = "es-PY.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E3FC21DD843E00CFA49B /* gu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gu; path = gu.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E3FD21DD843E00CFA49B /* kn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = kn; path = kn.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E3FE21DD843E00CFA49B /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E3FF21DD843E00CFA49B /* es-US */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-US"; path = "es-US.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E40021DD843E00CFA49B /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E40121DD843E00CFA49B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E40221DD843E00CFA49B /* es-VE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-VE"; path = "es-VE.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E40321DD843E00CFA49B /* es-CL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CL"; path = "es-CL.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E40421DD843E00CFA49B /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E40521DD843E00CFA49B /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E40621DD843E00CFA49B /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E40721DD843E00CFA49B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E40821DD843E00CFA49B /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E40921DD843E00CFA49B /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E40A21DD843E00CFA49B /* sr-Latn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sr-Latn"; path = "sr-Latn.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E40B21DD843E00CFA49B /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E40C21DD843E00CFA49B /* es-PA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PA"; path = "es-PA.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E40D21DD843E00CFA49B /* en-SG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-SG"; path = "en-SG.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E40E21DD843E00CFA49B /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E40F21DD843E00CFA49B /* ms */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ms; path = ms.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E41021DD843E00CFA49B /* es-CR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CR"; path = "es-CR.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E41121DD843E00CFA49B /* ta */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ta; path = ta.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E41221DD843E00CFA49B /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E41321DD843E00CFA49B /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E41421DD843E00CFA49B /* es-AR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-AR"; path = "es-AR.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E41521DD843E00CFA49B /* es-PE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PE"; path = "es-PE.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E41621DD843E00CFA49B /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E41721DD843E00CFA49B /* en-IE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-IE"; path = "en-IE.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E41821DD843E00CFA49B /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E41921DD843E00CFA49B /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E41A21DD843E00CFA49B /* es-CO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CO"; path = "es-CO.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E41B21DD843E00CFA49B /* gsw */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gsw; path = gsw.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E41C21DD843E00CFA49B /* en-ZA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-ZA"; path = "en-ZA.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E41D21DD843E00CFA49B /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E41E21DD843E00CFA49B /* es-PR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PR"; path = "es-PR.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E41F21DD843E00CFA49B /* de-AT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "de-AT"; path = "de-AT.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E42021DD843E00CFA49B /* en-AU */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-AU"; path = "en-AU.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E42121DD843E00CFA49B /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E42221DD843E00CFA49B /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E42321DD843E00CFA49B /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E42421DD843E00CFA49B /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E42521DD843E00CFA49B /* lv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lv; path = lv.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E42621DD843E00CFA49B /* es-MX */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-MX"; path = "es-MX.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E42721DD843E00CFA49B /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E42821DD843E00CFA49B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E42921DD843E00CFA49B /* es-DO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-DO"; path = "es-DO.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E42A21DD843E00CFA49B /* fr-CH */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CH"; path = "fr-CH.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E42B21DD843E00CFA49B /* es-NI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-NI"; path = "es-NI.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E42C21DD843E00CFA49B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E42D21DD843E00CFA49B /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E42E21DD843E00CFA49B /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E42F21DD843E00CFA49B /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E43021DD843E00CFA49B /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E43121DD843E00CFA49B /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E43221DD843E00CFA49B /* de-CH */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "de-CH"; path = "de-CH.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E43321DD843E00CFA49B /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E43421DD843E00CFA49B /* es-EC */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-EC"; path = "es-EC.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E43521DD843E00CFA49B /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E43621DD843E00CFA49B /* es-BO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-BO"; path = "es-BO.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E43721DD843E00CFA49B /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E43821DD843E00CFA49B /* ln */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ln; path = ln.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E43921DD843E00CFA49B /* es-UY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-UY"; path = "es-UY.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E43A21DD843E00CFA49B /* es-HN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-HN"; path = "es-HN.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E43B21DD843E00CFA49B /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E43C21DD843E00CFA49B /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E43D21DD843E00CFA49B /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E43E21DD843E00CFA49B /* zh */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh; path = zh.lproj/FirebaseFacebookAuthUI.strings; sourceTree = ""; }; - 8D69E43F21DD843E00CFA49B /* en-IN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-IN"; path = "en-IN.lproj/FirebaseFacebookAuthUI.strings"; sourceTree = ""; }; - 8D69E44121DD843F00CFA49B /* ic_facebook.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ic_facebook.png; sourceTree = ""; }; - 8D69E44221DD843F00CFA49B /* ic_facebook@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_facebook@3x.png"; sourceTree = ""; }; - 8D69E44321DD843F00CFA49B /* ic_facebook@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_facebook@2x.png"; sourceTree = ""; }; - 8D69E44821DD845100CFA49B /* FUIFacebookAuthTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIFacebookAuthTest.m; sourceTree = ""; }; - 8D69E44921DD845100CFA49B /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; - 8D69E44A21DD845100CFA49B /* FUIFacebookAuthTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIFacebookAuthTest.h; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8D69E3C921DD83EB00CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E3D221DD83EB00CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E44D21DD88BB00CFA49B /* FirebaseFacebookAuthUI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 7DC88936A359F0A20973DC4C /* Pods */ = { - isa = PBXGroup; - children = ( - ); - path = Pods; - sourceTree = ""; - }; - 8D55F157261E6E0D0020DFB0 /* Public */ = { - isa = PBXGroup; - children = ( - 8DAB9B522637691200FF271F /* FirebaseFacebookAuthUI */, - ); - path = Public; - sourceTree = ""; - }; - 8D69E3C221DD83EB00CFA49B = { - isa = PBXGroup; - children = ( - 8D69E3CE21DD83EB00CFA49B /* Sources */, - 8D69E3D921DD83EB00CFA49B /* FirebaseFacebookAuthUITests */, - 8D69E3CD21DD83EB00CFA49B /* Products */, - 7DC88936A359F0A20973DC4C /* Pods */, - ); - sourceTree = ""; - }; - 8D69E3CD21DD83EB00CFA49B /* Products */ = { - isa = PBXGroup; - children = ( - 8D69E3CC21DD83EB00CFA49B /* FirebaseFacebookAuthUI.framework */, - 8D69E3D521DD83EB00CFA49B /* FirebaseFacebookAuthUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 8D69E3CE21DD83EB00CFA49B /* Sources */ = { - isa = PBXGroup; - children = ( - 8D55F157261E6E0D0020DFB0 /* Public */, - 8D69E3E621DD843800CFA49B /* FUIFacebookAuth.m */, - 8D69E3D021DD83EB00CFA49B /* Info.plist */, - 8D69E44021DD843F00CFA49B /* Resources */, - 8D69E3EA21DD843E00CFA49B /* Strings */, - ); - path = Sources; - sourceTree = ""; - }; - 8D69E3D921DD83EB00CFA49B /* FirebaseFacebookAuthUITests */ = { - isa = PBXGroup; - children = ( - 8D69E3DA21DD83EB00CFA49B /* FirebaseFacebookAuthUITests.m */, - 8D69E44A21DD845100CFA49B /* FUIFacebookAuthTest.h */, - 8D69E44821DD845100CFA49B /* FUIFacebookAuthTest.m */, - 8D69E44921DD845100CFA49B /* GoogleService-Info.plist */, - 8D69E3DC21DD83EB00CFA49B /* Info.plist */, - ); - path = FirebaseFacebookAuthUITests; - sourceTree = ""; - }; - 8D69E3EA21DD843E00CFA49B /* Strings */ = { - isa = PBXGroup; - children = ( - 8D69E3EB21DD843E00CFA49B /* FirebaseFacebookAuthUI.strings */, - ); - path = Strings; - sourceTree = ""; - }; - 8D69E44021DD843F00CFA49B /* Resources */ = { - isa = PBXGroup; - children = ( - 8D69E44121DD843F00CFA49B /* ic_facebook.png */, - 8D69E44321DD843F00CFA49B /* ic_facebook@2x.png */, - 8D69E44221DD843F00CFA49B /* ic_facebook@3x.png */, - ); - path = Resources; - sourceTree = ""; - }; - 8DAB9B522637691200FF271F /* FirebaseFacebookAuthUI */ = { - isa = PBXGroup; - children = ( - 8D69E3CF21DD83EB00CFA49B /* FirebaseFacebookAuthUI.h */, - 8D69E3E721DD843800CFA49B /* FUIFacebookAuth.h */, - ); - path = FirebaseFacebookAuthUI; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 8D69E3C721DD83EB00CFA49B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E3DD21DD83EB00CFA49B /* FirebaseFacebookAuthUI.h in Headers */, - 8D69E3E921DD843800CFA49B /* FUIFacebookAuth.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 8D69E3CB21DD83EB00CFA49B /* FirebaseFacebookAuthUI */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E3E021DD83EB00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseFacebookAuthUI" */; - buildPhases = ( - 8D69E3C721DD83EB00CFA49B /* Headers */, - 8D69E3C821DD83EB00CFA49B /* Sources */, - 8D69E3C921DD83EB00CFA49B /* Frameworks */, - 8D69E3CA21DD83EB00CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FirebaseFacebookAuthUI; - productName = FirebaseFacebookAuthUI; - productReference = 8D69E3CC21DD83EB00CFA49B /* FirebaseFacebookAuthUI.framework */; - productType = "com.apple.product-type.framework"; - }; - 8D69E3D421DD83EB00CFA49B /* FirebaseFacebookAuthUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E3E321DD83EB00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseFacebookAuthUITests" */; - buildPhases = ( - 8D69E3D121DD83EB00CFA49B /* Sources */, - 8D69E3D221DD83EB00CFA49B /* Frameworks */, - 8D69E3D321DD83EB00CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 8D69E3D821DD83EB00CFA49B /* PBXTargetDependency */, - ); - name = FirebaseFacebookAuthUITests; - productName = FirebaseFacebookAuthUITests; - productReference = 8D69E3D521DD83EB00CFA49B /* FirebaseFacebookAuthUITests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 8D69E3C321DD83EB00CFA49B /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1020; - ORGANIZATIONNAME = Firebase; - TargetAttributes = { - 8D69E3CB21DD83EB00CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - 8D69E3D421DD83EB00CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - }; - }; - buildConfigurationList = 8D69E3C621DD83EB00CFA49B /* Build configuration list for PBXProject "FirebaseFacebookAuthUI" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - de, - ur, - he, - "es-SV", - "zh-Hant-TW", - ar, - el, - "zh-Hans", - ja, - fa, - mr, - "es-GT", - "en-CA", - uk, - "es-PY", - gu, - kn, - nb, - "es-US", - "en-GB", - es, - "es-VE", - "es-CL", - sl, - da, - "es-419", - it, - bg, - sk, - "sr-Latn", - "nn-NO", - "es-PA", - "en-SG", - sr, - ms, - "es-CR", - ta, - sv, - cs, - "es-AR", - "es-PE", - ko, - "en-IE", - fil, - "zh-Hant", - "es-CO", - gsw, - "en-ZA", - hu, - "es-PR", - "de-AT", - "en-AU", - tr, - pl, - "pt-BR", - vi, - lv, - "es-MX", - lt, - ru, - "es-DO", - "fr-CH", - "es-NI", - fr, - fi, - id, - nl, - th, - pt, - "de-CH", - bn, - "es-EC", - "pt-PT", - "es-BO", - ro, - ln, - "es-UY", - "es-HN", - hr, - hi, - ca, - zh, - "en-IN", - ); - mainGroup = 8D69E3C221DD83EB00CFA49B; - productRefGroup = 8D69E3CD21DD83EB00CFA49B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8D69E3CB21DD83EB00CFA49B /* FirebaseFacebookAuthUI */, - 8D69E3D421DD83EB00CFA49B /* FirebaseFacebookAuthUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8D69E3CA21DD83EB00CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E44721DD843F00CFA49B /* ic_facebook@2x.png in Resources */, - 8D69E44621DD843F00CFA49B /* ic_facebook@3x.png in Resources */, - 8D69E44521DD843F00CFA49B /* ic_facebook.png in Resources */, - 8D69E44421DD843F00CFA49B /* FirebaseFacebookAuthUI.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E3D321DD83EB00CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E44C21DD845100CFA49B /* GoogleService-Info.plist in Resources */, - 8D69E45321DD8A6D00CFA49B /* ic_facebook@3x.png in Resources */, - 8D69E45121DD8A6D00CFA49B /* ic_facebook.png in Resources */, - 8D69E45221DD8A6D00CFA49B /* ic_facebook@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8D69E3C821DD83EB00CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E3E821DD843800CFA49B /* FUIFacebookAuth.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E3D121DD83EB00CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E44B21DD845100CFA49B /* FUIFacebookAuthTest.m in Sources */, - 8D69E3DB21DD83EB00CFA49B /* FirebaseFacebookAuthUITests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 8D69E3D821DD83EB00CFA49B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8D69E3CB21DD83EB00CFA49B /* FirebaseFacebookAuthUI */; - targetProxy = 8D69E3D721DD83EB00CFA49B /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 8D69E3EB21DD843E00CFA49B /* FirebaseFacebookAuthUI.strings */ = { - isa = PBXVariantGroup; - children = ( - 8D69E3EC21DD843E00CFA49B /* de */, - 8D69E3ED21DD843E00CFA49B /* ur */, - 8D69E3EE21DD843E00CFA49B /* he */, - 8D69E3EF21DD843E00CFA49B /* es-SV */, - 8D69E3F021DD843E00CFA49B /* zh-Hant-TW */, - 8D69E3F121DD843E00CFA49B /* ar */, - 8D69E3F221DD843E00CFA49B /* el */, - 8D69E3F321DD843E00CFA49B /* zh-Hans */, - 8D69E3F421DD843E00CFA49B /* ja */, - 8D69E3F521DD843E00CFA49B /* fa */, - 8D69E3F621DD843E00CFA49B /* mr */, - 8D69E3F721DD843E00CFA49B /* es-GT */, - 8D69E3F821DD843E00CFA49B /* en */, - 8D69E3F921DD843E00CFA49B /* en-CA */, - 8D69E3FA21DD843E00CFA49B /* uk */, - 8D69E3FB21DD843E00CFA49B /* es-PY */, - 8D69E3FC21DD843E00CFA49B /* gu */, - 8D69E3FD21DD843E00CFA49B /* kn */, - 8D69E3FE21DD843E00CFA49B /* nb */, - 8D69E3FF21DD843E00CFA49B /* es-US */, - 8D69E40021DD843E00CFA49B /* en-GB */, - 8D69E40121DD843E00CFA49B /* es */, - 8D69E40221DD843E00CFA49B /* es-VE */, - 8D69E40321DD843E00CFA49B /* es-CL */, - 8D69E40421DD843E00CFA49B /* sl */, - 8D69E40521DD843E00CFA49B /* da */, - 8D69E40621DD843E00CFA49B /* es-419 */, - 8D69E40721DD843E00CFA49B /* it */, - 8D69E40821DD843E00CFA49B /* bg */, - 8D69E40921DD843E00CFA49B /* sk */, - 8D69E40A21DD843E00CFA49B /* sr-Latn */, - 8D69E40B21DD843E00CFA49B /* nn-NO */, - 8D69E40C21DD843E00CFA49B /* es-PA */, - 8D69E40D21DD843E00CFA49B /* en-SG */, - 8D69E40E21DD843E00CFA49B /* sr */, - 8D69E40F21DD843E00CFA49B /* ms */, - 8D69E41021DD843E00CFA49B /* es-CR */, - 8D69E41121DD843E00CFA49B /* ta */, - 8D69E41221DD843E00CFA49B /* sv */, - 8D69E41321DD843E00CFA49B /* cs */, - 8D69E41421DD843E00CFA49B /* es-AR */, - 8D69E41521DD843E00CFA49B /* es-PE */, - 8D69E41621DD843E00CFA49B /* ko */, - 8D69E41721DD843E00CFA49B /* en-IE */, - 8D69E41821DD843E00CFA49B /* fil */, - 8D69E41921DD843E00CFA49B /* zh-Hant */, - 8D69E41A21DD843E00CFA49B /* es-CO */, - 8D69E41B21DD843E00CFA49B /* gsw */, - 8D69E41C21DD843E00CFA49B /* en-ZA */, - 8D69E41D21DD843E00CFA49B /* hu */, - 8D69E41E21DD843E00CFA49B /* es-PR */, - 8D69E41F21DD843E00CFA49B /* de-AT */, - 8D69E42021DD843E00CFA49B /* en-AU */, - 8D69E42121DD843E00CFA49B /* tr */, - 8D69E42221DD843E00CFA49B /* pl */, - 8D69E42321DD843E00CFA49B /* pt-BR */, - 8D69E42421DD843E00CFA49B /* vi */, - 8D69E42521DD843E00CFA49B /* lv */, - 8D69E42621DD843E00CFA49B /* es-MX */, - 8D69E42721DD843E00CFA49B /* lt */, - 8D69E42821DD843E00CFA49B /* ru */, - 8D69E42921DD843E00CFA49B /* es-DO */, - 8D69E42A21DD843E00CFA49B /* fr-CH */, - 8D69E42B21DD843E00CFA49B /* es-NI */, - 8D69E42C21DD843E00CFA49B /* fr */, - 8D69E42D21DD843E00CFA49B /* fi */, - 8D69E42E21DD843E00CFA49B /* id */, - 8D69E42F21DD843E00CFA49B /* nl */, - 8D69E43021DD843E00CFA49B /* th */, - 8D69E43121DD843E00CFA49B /* pt */, - 8D69E43221DD843E00CFA49B /* de-CH */, - 8D69E43321DD843E00CFA49B /* bn */, - 8D69E43421DD843E00CFA49B /* es-EC */, - 8D69E43521DD843E00CFA49B /* pt-PT */, - 8D69E43621DD843E00CFA49B /* es-BO */, - 8D69E43721DD843E00CFA49B /* ro */, - 8D69E43821DD843E00CFA49B /* ln */, - 8D69E43921DD843E00CFA49B /* es-UY */, - 8D69E43A21DD843E00CFA49B /* es-HN */, - 8D69E43B21DD843E00CFA49B /* hr */, - 8D69E43C21DD843E00CFA49B /* hi */, - 8D69E43D21DD843E00CFA49B /* ca */, - 8D69E43E21DD843E00CFA49B /* zh */, - 8D69E43F21DD843E00CFA49B /* en-IN */, - ); - name = FirebaseFacebookAuthUI.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 8D69E3DE21DD83EB00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../\""; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 8D69E3DF21DD83EB00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../\""; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 8D69E3E121DD83EB00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - "\"FBSDKCoreKit\"", - "-framework", - "\"FBSDKLoginKit\"", - "-framework", - "\"Foundation\"", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"SafariServices\"", - "-framework", - "\"Security\"", - "-framework", - "\"UIKit\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseFacebookAuthUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E3E221DD83EB00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - "\"FBSDKCoreKit\"", - "-framework", - "\"FBSDKLoginKit\"", - "-framework", - "\"Foundation\"", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"SafariServices\"", - "-framework", - "\"Security\"", - "-framework", - "\"UIKit\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseFacebookAuthUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 8D69E3E421DD83EB00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseFacebookAuthUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FBSDKCoreKit_Basics\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FBSDKLoginKit\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/nanopb\"", - "\"$(PODS_CONFIGURATION_BUILD_DIR)/FirebaseAuthUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FBSDKCoreKit\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FBAEMKit\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/XCFrameworkIntermediates/FBAEMKit\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/XCFrameworkIntermediates/FBSDKCoreKit\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/XCFrameworkIntermediates/FBSDKCoreKit_Basics\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/XCFrameworkIntermediates/FBSDKLoginKit\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - "\"FBSDKCoreKit\"", - "-framework", - "\"FBSDKLoginKit\"", - "-framework", - "\"Foundation\"", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"OCMock\"", - "-framework", - "\"SafariServices\"", - "-framework", - "\"Security\"", - "-framework", - "\"UIKit\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseFacebookAuthUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E3E521DD83EB00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseFacebookAuthUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FBSDKCoreKit_Basics\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FBSDKLoginKit\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/nanopb\"", - "\"$(PODS_CONFIGURATION_BUILD_DIR)/FirebaseAuthUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FBSDKCoreKit\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FBAEMKit\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/XCFrameworkIntermediates/FBAEMKit\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/XCFrameworkIntermediates/FBSDKCoreKit\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/XCFrameworkIntermediates/FBSDKCoreKit_Basics\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/XCFrameworkIntermediates/FBSDKLoginKit\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - "\"FBSDKCoreKit\"", - "-framework", - "\"FBSDKLoginKit\"", - "-framework", - "\"Foundation\"", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"OCMock\"", - "-framework", - "\"SafariServices\"", - "-framework", - "\"Security\"", - "-framework", - "\"UIKit\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseFacebookAuthUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 8D69E3C621DD83EB00CFA49B /* Build configuration list for PBXProject "FirebaseFacebookAuthUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E3DE21DD83EB00CFA49B /* Debug */, - 8D69E3DF21DD83EB00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E3E021DD83EB00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseFacebookAuthUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E3E121DD83EB00CFA49B /* Debug */, - 8D69E3E221DD83EB00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E3E321DD83EB00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseFacebookAuthUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E3E421DD83EB00CFA49B /* Debug */, - 8D69E3E521DD83EB00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 8D69E3C321DD83EB00CFA49B /* Project object */; -} diff --git a/FirebaseFacebookAuthUI/FirebaseFacebookAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseFacebookAuthUI.xcscheme b/FirebaseFacebookAuthUI/FirebaseFacebookAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseFacebookAuthUI.xcscheme deleted file mode 100644 index 65d0c58cb38..00000000000 --- a/FirebaseFacebookAuthUI/FirebaseFacebookAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseFacebookAuthUI.xcscheme +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/FUIFacebookAuthTest.h b/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/FUIFacebookAuthTest.h deleted file mode 100644 index b92a65bf704..00000000000 --- a/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/FUIFacebookAuthTest.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// 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 -#import - -@interface FUIFacebookAuth (Testing) -- (FBSDKLoginManager *)createLoginManager; -- (void)configureProvider; -@end - -@interface FUIFacebookAuthTest : FUIFacebookAuth -- (void)configureLoginManager:(FBSDKLoginManagerLoginResult *)result withError:(NSError *)error; - -@end diff --git a/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/FUIFacebookAuthTest.m b/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/FUIFacebookAuthTest.m deleted file mode 100644 index 98f89ef682d..00000000000 --- a/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/FUIFacebookAuthTest.m +++ /dev/null @@ -1,47 +0,0 @@ -// -// 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 "FUIFacebookAuthTest.h" -#import -#import - -@interface FUIFacebookAuthTest () -@property(nonatomic) FBSDKLoginManagerLoginResult *result; -@property(nonatomic) NSError *error; -@end - -@implementation FUIFacebookAuthTest - -- (FBSDKLoginManager *)createLoginManager { - id mock = OCMClassMock([FBSDKLoginManager class]); - OCMStub( - [mock logInWithPermissions:[OCMArg any] - fromViewController:[OCMArg any] - handler:[OCMArg any]] - ).andDo(^(NSInvocation *invocation) { - void (^completion)(FBSDKLoginManagerLoginResult *, NSError *); - [invocation getArgument:&completion atIndex:4]; - completion(self.result, self.error); - }); - return mock; -} - -- (void)configureLoginManager:(FBSDKLoginManagerLoginResult *)result withError:(NSError *)error { - self.result = result; - self.error = error; -} - -@end diff --git a/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/FirebaseFacebookAuthUITests.m b/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/FirebaseFacebookAuthUITests.m deleted file mode 100644 index 4da8a54d2ba..00000000000 --- a/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/FirebaseFacebookAuthUITests.m +++ /dev/null @@ -1,300 +0,0 @@ -// -// 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 XCTest; - -#import "FUIFacebookAuth.h" -#import "FUIFacebookAuthTest.h" - -#import "FUIAuthUtils.h" -#import -@import FirebaseAuth; -#import -#import -#import -#import - -@interface FirebaseFacebookAuthUITests : XCTestCase -@property (nonatomic, strong) FUIFacebookAuthTest *provider; -@property (nonatomic, strong) FUIAuth *authUI; -@property (nonatomic, strong) id mockOAuthProvider; -@end - -@implementation FirebaseFacebookAuthUITests - -+ (void)initialize { - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - [[FBSDKSettings sharedSettings] setAppID:@"0000000"]; - }); -} - -- (void)setUp { - [super setUp]; - - id authClass = OCMClassMock([FIRAuth class]); - OCMStub(ClassMethod([authClass auth])). - andReturn(authClass); - - self.mockOAuthProvider = OCMClassMock([FIROAuthProvider class]); - OCMStub(ClassMethod([self.mockOAuthProvider providerWithProviderID:OCMOCK_ANY])). - andReturn(self.mockOAuthProvider); - - id mockUtilsClass = OCMClassMock([FUIAuthUtils class]); - OCMStub(ClassMethod([mockUtilsClass bundleNamed:OCMOCK_ANY - inFrameworkBundle:OCMOCK_ANY])). - andReturn([NSBundle bundleForClass:[FUIFacebookAuthTest class]]); - - FIRAuth *auth = [FIRAuth auth]; - self.authUI = [FUIAuth authUIWithAuth:auth]; - self.provider = [[FUIFacebookAuthTest alloc] initWithAuthUI:self.authUI]; -} - -- (void)tearDown { - self.provider = nil; - self.authUI = nil; - self.mockOAuthProvider = nil; - [super tearDown]; -} - -- (void)testProviderValidity { - self.provider = [[FUIFacebookAuthTest alloc] initWithAuthUI:self.authUI]; - - XCTAssertNotNil(self.provider); - XCTAssertNotNil(self.provider.icon); - XCTAssertNotNil(self.provider.signInLabel); - XCTAssertNotNil(self.provider.buttonBackgroundColor); - XCTAssertNotNil(self.provider.buttonTextColor); - XCTAssertNotNil(self.provider.providerID); - XCTAssertNotNil(self.provider.shortName); - XCTAssertTrue(self.provider.signInLabel.length != 0); - - OCMVerify(never(), [self.mockOAuthProvider providerWithProviderID:@"facebook.com"]); -} - -- (void)testUseEmulatorCreatesOAuthProvider { - [self.authUI useEmulatorWithHost:@"host" port:12345]; - self.provider = [[FUIFacebookAuthTest alloc] initWithAuthUI:self.authUI]; - - XCTAssertNotNil(self.provider); - OCMVerify([self.mockOAuthProvider providerWithProviderID:@"facebook.com"]); -} - -- (void)testSuccessfullLogin { - NSString *testToken = @"fakeToken"; - XCTAssertNotNil(self.provider); - XCTAssertNil(self.provider.accessToken); - - FBSDKAccessToken *token = [[FBSDKAccessToken alloc] initWithTokenString:testToken - permissions:@[] - declinedPermissions:@[] - expiredPermissions:@[] - appID:@"testAppId" - userID:@"testUserId" - expirationDate:nil - refreshDate:nil - dataAccessExpirationDate:nil]; - id mockToken = OCMPartialMock(token); - - NSSet *emptySet = [NSSet set]; - FBSDKLoginManagerLoginResult *result = - [[FBSDKLoginManagerLoginResult alloc] initWithToken:mockToken - authenticationToken:nil - isCancelled:NO - grantedPermissions:emptySet - declinedPermissions:emptySet]; - XCTAssertNil(_provider.accessToken); - [self.provider configureLoginManager:result withError:nil]; - - XCTestExpectation *expectation = [self expectationWithDescription:@"logged in"]; - [self.provider signInWithDefaultValue:nil - presentingViewController:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - FIRAuthResultCallback _Nullable result, - NSDictionary *_Nullable userInfo) { - XCTAssertNil(error); - XCTAssertNotNil(credential); - XCTAssertNotNil(result); - FIRAuthCredential *expectedCredential = [FIRFacebookAuthProvider credentialWithAccessToken:testToken]; - XCTAssertEqualObjects(credential.provider, expectedCredential.provider); - XCTAssertNil(self.provider.idToken); - - //verify that we are using token from server - OCMVerify([mockToken tokenString]); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:0.1 handler:^(NSError *_Nullable error) { - XCTAssertNil(error); - }]; - - OCMVerify(never(), [self.mockOAuthProvider getCredentialWithUIDelegate:nil completion:OCMOCK_ANY]); -} - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" -- (void)testLegacyInitSuccessfulLogin { - self.provider = [[FUIFacebookAuthTest alloc] init]; - - NSString *testToken = @"fakeToken"; - XCTAssertNotNil(self.provider); - XCTAssertNil(self.provider.accessToken); - - FBSDKAccessToken *token = [[FBSDKAccessToken alloc] initWithTokenString:testToken - permissions:@[] - declinedPermissions:@[] - expiredPermissions:@[] - appID:@"testAppId" - userID:@"testUserId" - expirationDate:nil - refreshDate:nil - dataAccessExpirationDate:nil]; - id mockToken = OCMPartialMock(token); - - NSSet *emptySet = [NSSet set]; - FBSDKLoginManagerLoginResult *result = - [[FBSDKLoginManagerLoginResult alloc] initWithToken:mockToken - authenticationToken:nil - isCancelled:NO - grantedPermissions:emptySet - declinedPermissions:emptySet]; - XCTAssertNil(_provider.accessToken); - [self.provider configureLoginManager:result withError:nil]; - - XCTestExpectation *expectation = [self expectationWithDescription:@"logged in"]; - [self.provider signInWithDefaultValue:nil - presentingViewController:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - FIRAuthResultCallback _Nullable result, - NSDictionary *_Nullable userInfo) { - XCTAssertNil(error); - XCTAssertNotNil(credential); - XCTAssertNotNil(result); - FIRAuthCredential *expectedCredential = [FIRFacebookAuthProvider credentialWithAccessToken:testToken]; - XCTAssertEqualObjects(credential.provider, expectedCredential.provider); - XCTAssertNil(self.provider.idToken); - - //verify that we are using token from server - OCMVerify([mockToken tokenString]); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:0.1 handler:^(NSError *_Nullable error) { - XCTAssertNil(error); - }]; - - OCMVerify(never(), [self.mockOAuthProvider getCredentialWithUIDelegate:nil completion:OCMOCK_ANY]); -} -#pragma clang diagnostic pop - -- (void)testCancelLogin { - NSString *testToken = @"fakeToken"; - FBSDKAccessToken *token = [[FBSDKAccessToken alloc] initWithTokenString:testToken - permissions:@[] - declinedPermissions:@[] - expiredPermissions:@[] - appID:@"testAppId" - userID:@"testUserId" - expirationDate:nil - refreshDate:nil - dataAccessExpirationDate:nil]; - id mockToken = OCMPartialMock(token); - FBSDKLoginManagerLoginResult *result = - [[FBSDKLoginManagerLoginResult alloc] initWithToken:mockToken - authenticationToken:nil - isCancelled:YES - grantedPermissions:[NSSet set] - declinedPermissions:[NSSet set]]; - [self.provider configureLoginManager:result withError:nil]; - - XCTestExpectation *expectation = [self expectationWithDescription:@"logged in"]; - [self.provider signInWithDefaultValue:nil - presentingViewController:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - FIRAuthResultCallback _Nullable result, - NSDictionary *_Nullable userInfo) { - XCTAssertNotNil(error); - XCTAssertEqual(error.code, FUIAuthErrorCodeUserCancelledSignIn); - XCTAssertNil(credential); - XCTAssertNil(result); - XCTAssertNil(self.provider.idToken); - - //verify that we are not using token from server if user canceled request - OCMReject([mockToken tokenString]); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:0.1 handler:^(NSError *_Nullable error) { - XCTAssertNil(error); - }]; -} - -- (void)testErrorLogin { - NSError *testError = [NSError errorWithDomain:@"testErrorDomain" code:777 userInfo:nil]; - - [self.provider configureLoginManager:nil withError:testError]; - - XCTestExpectation *expectation = [self expectationWithDescription:@"logged in"]; - [self.provider signInWithDefaultValue:nil - presentingViewController:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - FIRAuthResultCallback _Nullable result, - NSDictionary *_Nullable userInfo) { - XCTAssertNotNil(error); - XCTAssertEqual(error.userInfo[NSUnderlyingErrorKey], testError); - XCTAssertNil(credential); - XCTAssertNil(result); - XCTAssertNil(self.provider.idToken); - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:0.1 handler:^(NSError *_Nullable error) { - XCTAssertNil(error); - }]; -} - -- (void)testSignOut { - id mockProvider = OCMPartialMock([[FUIFacebookAuth alloc] initWithAuthUI:self.authUI]); - id mockFacebookManager = OCMClassMock([FBSDKLoginManager class]); - - OCMExpect([mockProvider createLoginManager]).andReturn(mockFacebookManager); - [mockProvider configureProvider]; - - OCMExpect([mockFacebookManager logOut]); - [mockProvider signOut]; - - OCMVerifyAll(mockFacebookManager); - OCMVerifyAll(mockProvider); - -} - -- (void)testUseEmulatorUsesOAuthProvider { - [self.authUI useEmulatorWithHost:@"host" port:12345]; - self.provider = [[FUIFacebookAuthTest alloc] initWithAuthUI:self.authUI]; - - [self.provider signInWithDefaultValue:nil - presentingViewController:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - FIRAuthResultCallback _Nullable result, - NSDictionary *_Nullable userInfo) {}]; - OCMVerify([self.mockOAuthProvider getCredentialWithUIDelegate:nil completion:OCMOCK_ANY]); -} - -@end diff --git a/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/GoogleService-Info.plist b/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/GoogleService-Info.plist deleted file mode 100644 index 5f2ebaa9e38..00000000000 --- a/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/GoogleService-Info.plist +++ /dev/null @@ -1,40 +0,0 @@ - - - - - AD_UNIT_ID_FOR_BANNER_TEST - ad-unit-banner - AD_UNIT_ID_FOR_INTERSTITIAL_TEST - ad-unit-interstitial - CLIENT_ID - client-id.apps.googleusercontent.com - REVERSED_CLIENT_ID - com.googleusercontent.apps.client-id - API_KEY - api-key - GCM_SENDER_ID - sender-id - PLIST_VERSION - 1 - BUNDLE_ID - com.firebase.FirebaseFacebookAuthUITests - PROJECT_ID - project-id - STORAGE_BUCKET - storage-bucket - IS_ADS_ENABLED - - IS_ANALYTICS_ENABLED - - IS_APPINVITE_ENABLED - - IS_GCM_ENABLED - - IS_SIGNIN_ENABLED - - GOOGLE_APP_ID - 0:000000000000:ios:0000000000000000 - DATABASE_URL - database-url - - diff --git a/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/Info.plist b/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/Info.plist deleted file mode 100644 index cc6aa6a73ee..00000000000 --- a/FirebaseFacebookAuthUI/FirebaseFacebookAuthUITests/Info.plist +++ /dev/null @@ -1,42 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - CFBundleURLTypes - - - CFBundleURLSchemes - - fb00000000 - - - - FacebookAppID - 00000000 - FacebookDisplayName - FirebaseUI - LSApplicationQueriesSchemes - - fbapi - fb-messenger-share-api - fbauth2 - fbshareextension - - - diff --git a/FirebaseFacebookAuthUI/Podfile b/FirebaseFacebookAuthUI/Podfile deleted file mode 100644 index eacb2eac8a1..00000000000 --- a/FirebaseFacebookAuthUI/Podfile +++ /dev/null @@ -1,22 +0,0 @@ -# source 'sso://cpdc-internal/firebase' -source 'https://github.com/CocoaPods/Specs.git' - -platform :ios, '14.0' - -target 'FirebaseFacebookAuthUI' do - use_frameworks! - - # The facebook pods generate an unreasonable number of warnings. - inhibit_all_warnings! - - pod 'FBSDKLoginKit', '~> 17.0' - pod 'FBSDKCoreKit' - - pod 'FirebaseAuthUI', :path => '../' - - target 'FirebaseFacebookAuthUITests' do - inherit! :search_paths - pod 'OCMock' - end - -end diff --git a/FirebaseFacebookAuthUI/Sources/FUIFacebookAuth.m b/FirebaseFacebookAuthUI/Sources/FUIFacebookAuth.m deleted file mode 100644 index edea630ef47..00000000000 --- a/FirebaseFacebookAuthUI/Sources/FUIFacebookAuth.m +++ /dev/null @@ -1,405 +0,0 @@ -// -// 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 "FirebaseFacebookAuthUI/Sources/Public/FirebaseFacebookAuthUI/FUIFacebookAuth.h" - -#import -@import FirebaseAuth; - -#if SWIFT_PACKAGE -@import FBSDKCoreKit; -@import FBSDKLoginKit; -#else -#import -#import -#endif // SWIFT_PACKAGE - -/** @var kTableName - @brief The name of the strings table to search for localized strings. - */ -static NSString *const kTableName = @"FirebaseFacebookAuthUI"; - -/** @var kBundleName - @brief The name of the bundle to search for resources. - */ -#if SWIFT_PACKAGE -static NSString *const kBundleName = @"FirebaseUI_FirebaseFacebookAuthUI"; -#else -static NSString *const kBundleName = @"FirebaseFacebookAuthUI"; -#endif // SWIFT_PACKAGE - -/** @var kSignInWithFacebook - @brief The string key for localized button text. - */ -static NSString *const kSignInWithFacebook = @"SignInWithFacebook"; - -/** @var kFacebookAppId - @brief The string key used to read Facebook App Id from Info.plist. - */ -static NSString *const kFacebookAppId = @"FacebookAppID"; - -/** @var kFacebookDisplayName - @brief The string key used to read Facebook App Name from Info.plist. - */ -static NSString *const kFacebookDisplayName = @"FacebookDisplayName"; - -@interface FUIFacebookAuth () - -/** @property authUI - @brief FUIAuth instance of the application. - */ -@property(nonatomic, strong) FUIAuth *authUI; - -/** @property providerForEmulator - @brief The OAuth provider to be used when the emulator is enabled. - */ -@property(nonatomic, strong) FIROAuthProvider *providerForEmulator; - -/** @property currentNonce - @brief The nonce for the current Facebook Limited Login session, if any. - */ -@property(nonatomic, copy, nullable) NSString *currentNonce; - -@end - -@implementation FUIFacebookAuth { - - /** @var _pendingSignInCallback - @brief The callback which should be invoked when the sign in flow completes (or is cancelled.) - */ - FUIAuthProviderSignInCompletionBlock _pendingSignInCallback; - - /** @var _presentingViewController - @brief The presenting view controller for interactive sign-in. - */ - UIViewController *_presentingViewController; - - /** @var _email - @brief The email address associated with this account. - */ - NSString *_email; -} - -+ (NSBundle *)bundle { - return [FUIAuthUtils bundleNamed:kBundleName - inFrameworkBundle:[NSBundle bundleForClass:[self class]]]; -} - -- (instancetype)initWithAuthUI:(FUIAuth *)authUI - permissions:(NSArray *)permissions { - self = [super init]; - if (self != nil) { - _authUI = authUI; - _scopes = permissions; - [self configureProvider]; - } - return self; -} - -- (instancetype)initWithAuthUI:(FUIAuth *)authUI { - return [self initWithAuthUI:authUI permissions:@[ @"email" ]]; -} - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-implementations" -- (instancetype)initWithPermissions:(NSArray *)permissions { - self = [super init]; - if (self != nil) { - _scopes = permissions; - [self configureProvider]; - } - return self; -} - -- (instancetype)init { - return [self initWithPermissions:@[ @"email" ]]; -} -#pragma clang diagnostic pop - - -#pragma mark - FUIAuthProvider - -- (nullable NSString *)providerID { - return @"facebook.com"; -} - -/** @fn accessToken: - @brief The access token provided by Facebook's login flow. - */ -- (nullable NSString *)accessToken { - if (self.authUI.isEmulatorEnabled) { - return nil; - } - return [FBSDKAccessToken currentAccessToken].tokenString; -} - -/** @fn idToken: - @brief The ID token provided by Facebook's login flow. - */ -- (nullable NSString *)idToken { - if (self.authUI.isEmulatorEnabled) { - return nil; - } - return FBSDKAuthenticationToken.currentAuthenticationToken.tokenString; -} - -- (NSString *)shortName { - return @"Facebook"; -} - -- (NSString *)signInLabel { - return FUILocalizedStringFromTableInBundle(kSignInWithFacebook, - kTableName, - [FUIFacebookAuth bundle]); -} - -- (UIImage *)icon { - return [FUIAuthUtils imageNamed:@"ic_facebook" fromBundle:[FUIFacebookAuth bundle]]; -} - -- (UIColor *)buttonBackgroundColor { - return [UIColor colorWithRed:59.0f/255.0f green:89.0f/255.0f blue:152.0f/255.0f alpha:1.0f]; -} - -- (UIColor *)buttonTextColor { - return [UIColor whiteColor]; -} - -#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; - _presentingViewController = presentingViewController; - - if (self.authUI.isEmulatorEnabled) { - [self signInWithOAuthProvider:self.providerForEmulator - presentingViewController:presentingViewController - completion:completion]; - return; - } - - if (self.useLimitedLogin) { - // Facebook Limited Login - NSString *nonce = [FUIAuthUtils randomNonce]; - self.currentNonce = nonce; - FBSDKLoginConfiguration *configuration = - [[FBSDKLoginConfiguration alloc] initWithPermissions:_scopes - tracking:FBSDKLoginTrackingLimited - nonce:[FUIAuthUtils stringBySHA256HashingString:nonce]]; - [_loginManager logInFromViewController:presentingViewController - configuration:configuration - completion:^(FBSDKLoginManagerLoginResult *result, NSError *error) { - if ([self maybeHandleCancelledResult:result error:error]) { - return; - } - self->_email = FBSDKProfile.currentProfile.email; - NSString *idToken = FBSDKAuthenticationToken.currentAuthenticationToken.tokenString; - [self completeSignInFlowWithAccessToken:nil idToken:idToken error:nil]; - }]; - } else { - [_loginManager logInWithPermissions:_scopes - fromViewController:presentingViewController - handler:^(FBSDKLoginManagerLoginResult *result, - NSError *error) { - if ([self maybeHandleCancelledResult:result error:error]) { - return; - } - // Retrieve email. - [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" - parameters:@{ @"fields" : @"email" }] - startWithCompletion:^(id connection, - id result, - NSError *error) { - self->_email = result[@"email"]; - }]; - [self completeSignInFlowWithAccessToken:result.token.tokenString - idToken:nil - error:nil]; - }]; - } -} - -- (void)signInWithOAuthProvider:(FIROAuthProvider *)oauthProvider - presentingViewController:(nullable UIViewController *)presentingViewController - completion:(nullable FUIAuthProviderSignInCompletionBlock)completion { - oauthProvider.scopes = self.scopes; - - [oauthProvider getCredentialWithUIDelegate:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error) { - if (error) { - [FUIAuthBaseViewController showAlertWithMessage:error.localizedDescription - presentingViewController:presentingViewController]; - if (completion) { - completion(nil, error, nil, nil); - } - return; - } - if (completion) { - UIActivityIndicatorView *activityView = - [FUIAuthBaseViewController addActivityIndicator:presentingViewController.view]; - [activityView startAnimating]; - FIRAuthResultCallback result = ^(FIRUser *_Nullable user, - NSError *_Nullable error) { - [activityView stopAnimating]; - [activityView removeFromSuperview]; - }; - completion(credential, nil, result, nil); - } - }]; -} - -- (NSString *)email { - return _email; -} - -- (void)signOut { - if (self.authUI.isEmulatorEnabled) { - return; - } - [_loginManager logOut]; -} - -- (BOOL)handleOpenURL:(NSURL *)URL sourceApplication:(NSString *)sourceApplication { - if (self.authUI.isEmulatorEnabled) { - return NO; - } - return [[FBSDKApplicationDelegate sharedInstance] application:[UIApplication sharedApplication] - openURL:URL - sourceApplication:sourceApplication - annotation:nil]; -} - -#pragma mark - - -/** @fn completeSignInFlowWithAccessToken:idToken:error: - @brief Called with the result of a Facebook sign-in attempt. Invokes and clears any pending - sign in callback block. - @param accessToken The Facebook access token, if the Facebook sign-in attempt with tracking enabled is successful. - @param idToken The Facebook ID token, if the Facebook Limited Login attempt is successful. - @param error An error which occurred during the sign-in attempt. - */ -- (void)completeSignInFlowWithAccessToken:(nullable NSString *)accessToken - idToken:(nullable NSString *)idToken - error:(nullable NSError *)error { - if (error) { - [self callbackWithCredential:nil error:error result:nil]; - return; - } - FIRAuthCredential *credential; - if (idToken) { - NSString *rawNonce = self.currentNonce; - credential = [FIROAuthProvider credentialWithProviderID:@"facebook.com" - IDToken:idToken - rawNonce:rawNonce]; - } else { - // Assume accessToken cannot be nil if there's no error and idToken is nil. - NSString *_Nonnull token = (id _Nonnull)accessToken; - credential = [FIRFacebookAuthProvider credentialWithAccessToken:token]; - } - UIActivityIndicatorView *activityView = - [FUIAuthBaseViewController addActivityIndicator:_presentingViewController.view]; - [activityView startAnimating]; - [self callbackWithCredential:credential error:nil result:^(FIRUser *_Nullable user, - NSError *_Nullable error) { - [activityView stopAnimating]; - [activityView removeFromSuperview]; - }]; -} - -/** @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 { - FUIAuthProviderSignInCompletionBlock callback = _pendingSignInCallback; - _pendingSignInCallback = nil; - if (callback) { - callback(credential, error, result, nil); - } -} - -/** @fn callbackWithCredential:error: - @brief Validates that Facebook SDK data was filled in Info.plist and creates Facebook login manager - */ -- (void)configureProvider { - NSBundle *bundle = [NSBundle mainBundle]; - NSString *facebookAppId = [bundle objectForInfoDictionaryKey:kFacebookAppId]; - NSString *facebookDisplayName = [bundle objectForInfoDictionaryKey:kFacebookDisplayName]; - - if (facebookAppId == nil || facebookDisplayName == nil) { - // Executes in test targets only. - bundle = [FUIFacebookAuth bundle]; - facebookAppId = facebookAppId ?: [bundle objectForInfoDictionaryKey:kFacebookAppId]; - facebookDisplayName = facebookDisplayName ?: - [bundle objectForInfoDictionaryKey:kFacebookDisplayName]; - } - - if (!(facebookAppId && facebookDisplayName)) { - [NSException raise:NSInternalInconsistencyException - format:@"Please set FacebookAppID, FacebookDisplayName, and\nURL types > Url " - @"Schemes in `Supporting Files/Info.plist` according to " - @"https://developers.facebook.com/docs/ios/getting-started"]; - } - - if (self.authUI.isEmulatorEnabled) { - _providerForEmulator = [FIROAuthProvider providerWithProviderID:self.providerID]; - } else { - _loginManager = [self createLoginManager]; - } -} - -#pragma mark - Private methods - -- (FBSDKLoginManager *)createLoginManager { - return [[FBSDKLoginManager alloc] init]; -} - -- (BOOL)maybeHandleCancelledResult:(FBSDKLoginManagerLoginResult *)result - error:(NSError *)error { - if (error) { - NSError *newError = - [FUIAuthErrorUtils providerErrorWithUnderlyingError:error - providerID:@"facebook.com"]; - [self completeSignInFlowWithAccessToken:nil idToken:nil error:newError]; - return true; - } - - if (result.isCancelled) { - NSError *newError = [FUIAuthErrorUtils userCancelledSignInError]; - [self completeSignInFlowWithAccessToken:nil idToken:nil error:newError]; - return true; - } - return false; -} - -@end diff --git a/FirebaseFacebookAuthUI/Sources/Info.plist b/FirebaseFacebookAuthUI/Sources/Info.plist deleted file mode 100644 index e688d8b94f8..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 0.5 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/FirebaseFacebookAuthUI/Sources/Public/FirebaseFacebookAuthUI/FUIFacebookAuth.h b/FirebaseFacebookAuthUI/Sources/Public/FirebaseFacebookAuthUI/FUIFacebookAuth.h deleted file mode 100644 index ae088d38f8f..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Public/FirebaseFacebookAuthUI/FUIFacebookAuth.h +++ /dev/null @@ -1,86 +0,0 @@ -// -// 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. -// - -@class FBSDKLoginManager; - -#if SWIFT_PACKAGE -#import -#else -#import -#endif // SWIFT_PACKAGE - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIFacebookAuth - @brief AuthUI components for Facebook Login. - */ -@interface FUIFacebookAuth : NSObject -{ - @protected - /** @var _loginManager - @brief The Facebook login manager. - */ - FBSDKLoginManager *_loginManager; - -} - -/** @property scopes - @brief The scopes to use with Facebook Login. - @remarks Defaults to using "email" scopes. - */ -@property(nonatomic, readonly, copy) NSArray *scopes; - -/** @property buttonAlignment - @brief The alignment of the icon and text of the button. - */ -@property(nonatomic, readwrite) FUIButtonAlignment buttonAlignment; - -/** @property useLimitedLogin - @brief Whether or not Facebook Login should use Limited Login mode. - */ -@property(nonatomic, assign) BOOL useLimitedLogin; - -/** @fn initWithAuthUI - @brief Convenience initializer. Uses a default permission of `@[ "email" ]`. - @param authUI The @c FUIAuth instance that manages this provider. - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI; - -/** @fn initWithAuthUI:permissions: - @brief Designated initializer. - @param authUI The @c FUIAuth instance that manages this provider. - @param permissions The permissions of the app. This array must be an array of specific string values - as defined in https://developers.facebook.com/docs/facebook-login/permissions/ - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI - permissions:(NSArray *)permissions NS_DESIGNATED_INITIALIZER; - -/** @fn init - @brief Conevenience initializer. Uses a default permission of `@[ "email" ]`. - */ -- (instancetype)init -__attribute__((deprecated("Instead use initWithAuthUI:"))); - -/** @fn initWithPermissions: - @param permissions The permissions of the app. This array must be an array of specific string values - as defined in https://developers.facebook.com/docs/facebook-login/permissions/ - */ -- (instancetype)initWithPermissions:(NSArray *)permissions -__attribute__((deprecated("Instead use initWithAuthUI:permissions:"))) NS_DESIGNATED_INITIALIZER; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseFacebookAuthUI/Sources/Public/FirebaseFacebookAuthUI/FirebaseFacebookAuthUI.h b/FirebaseFacebookAuthUI/Sources/Public/FirebaseFacebookAuthUI/FirebaseFacebookAuthUI.h deleted file mode 100644 index acf563353d9..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Public/FirebaseFacebookAuthUI/FirebaseFacebookAuthUI.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// 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 - -//! Project version number for FirebaseFacebookAuthUI. -FOUNDATION_EXPORT double FirebaseFacebookAuthUIVersionNumber; - -//! Project version string for FirebaseFacebookAuthUI. -FOUNDATION_EXPORT const unsigned char FirebaseFacebookAuthUIVersionString[]; - -#import "FUIFacebookAuth.h" - - - diff --git a/FirebaseFacebookAuthUI/Sources/Resources/ic_facebook.png b/FirebaseFacebookAuthUI/Sources/Resources/ic_facebook.png deleted file mode 100644 index 98e08279526..00000000000 Binary files a/FirebaseFacebookAuthUI/Sources/Resources/ic_facebook.png and /dev/null differ diff --git a/FirebaseFacebookAuthUI/Sources/Resources/ic_facebook@2x.png b/FirebaseFacebookAuthUI/Sources/Resources/ic_facebook@2x.png deleted file mode 100644 index ca19a0c4947..00000000000 Binary files a/FirebaseFacebookAuthUI/Sources/Resources/ic_facebook@2x.png and /dev/null differ diff --git a/FirebaseFacebookAuthUI/Sources/Resources/ic_facebook@3x.png b/FirebaseFacebookAuthUI/Sources/Resources/ic_facebook@3x.png deleted file mode 100644 index 4b325a14fbf..00000000000 Binary files a/FirebaseFacebookAuthUI/Sources/Resources/ic_facebook@3x.png and /dev/null differ diff --git a/FirebaseFacebookAuthUI/Sources/Strings/ar.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/ar.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index bdee46d5fca..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/ar.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "تسجيل الدخول عبر Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/bg.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/bg.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index a761182d574..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/bg.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Вход с Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/bn.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/bn.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index e86fd13ddd4..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/bn.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Facebook দিয়ে সাইন-ইন করুন"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/ca.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/ca.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 30902659483..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/ca.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Inicia la sessió amb Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/cs.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/cs.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 6c7f4d8adef..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/cs.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Přihlaste se přes Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/da.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/da.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index e63fc451cd0..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/da.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Log ind med Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/de-AT.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/de-AT.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 4ec8b9656fe..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/de-AT.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Über Facebook anmelden"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/de-CH.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/de-CH.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 4ec8b9656fe..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/de-CH.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Über Facebook anmelden"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/de.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/de.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 4ec8b9656fe..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/de.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Über Facebook anmelden"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/el.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/el.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index bc98f4d43fe..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/el.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Σύνδεση μέσω Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/en-AU.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/en-AU.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 703d19e1942..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/en-AU.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Sign in with Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/en-CA.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/en-CA.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 703d19e1942..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/en-CA.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Sign in with Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/en-GB.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/en-GB.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 703d19e1942..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/en-GB.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Sign in with Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/en-IE.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/en-IE.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 703d19e1942..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/en-IE.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Sign in with Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/en-IN.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/en-IN.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 703d19e1942..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/en-IN.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Sign in with Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/en-SG.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/en-SG.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 703d19e1942..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/en-SG.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Sign in with Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/en-ZA.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/en-ZA.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 703d19e1942..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/en-ZA.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Sign in with Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/en.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/en.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 703d19e1942..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/en.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Sign in with Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-419.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-419.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-419.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-AR.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-AR.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-AR.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-BO.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-BO.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-BO.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-CL.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-CL.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-CL.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-CO.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-CO.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-CO.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-CR.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-CR.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-CR.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-DO.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-DO.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-DO.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-EC.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-EC.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-EC.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-GT.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-GT.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-GT.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-HN.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-HN.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-HN.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-MX.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-MX.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-MX.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-NI.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-NI.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-NI.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-PA.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-PA.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-PA.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-PE.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-PE.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-PE.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-PR.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-PR.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-PR.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-PY.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-PY.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-PY.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-SV.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-SV.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-SV.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-US.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-US.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-US.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-UY.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-UY.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-UY.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es-VE.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es-VE.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2ed151d5338..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es-VE.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Acceder con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/es.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/es.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 53fa28ce4dd..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/es.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Iniciar sesión con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/fa.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/fa.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 882982afb54..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/fa.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "ورود به سیستم با Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/fi.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/fi.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index c8acd558b4d..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/fi.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Kirjaudu Facebook-tilillä"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/fil.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/fil.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 5d2a1d2fb0a..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/fil.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Mag-sign in sa Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/fr-CH.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/fr-CH.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index cb12ebc4c3d..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/fr-CH.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Se connecter avec Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/fr.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/fr.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index cb12ebc4c3d..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/fr.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Se connecter avec Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/gsw.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/gsw.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 4ec8b9656fe..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/gsw.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Über Facebook anmelden"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/gu.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/gu.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 4d5eb97e12d..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/gu.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Facebook વડે સાઇન ઇન કરો"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/he.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/he.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 4fd9c6d3608..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/he.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "כניסה באמצעות Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/hi.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/hi.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index cdd37f4bcc4..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/hi.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Facebook से प्रवेश करें"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/hr.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/hr.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index e0e3d2d2d92..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/hr.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Prijava putem Facebooka"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/hu.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/hu.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 9a05d8aefc9..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/hu.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Bejelentkezés Facebook-fiókkal"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/id.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/id.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 835f04ce141..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/id.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Login dengan Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/it.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/it.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 529a01a90e1..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/it.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Accedi con Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/ja.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/ja.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 641cf18e64d..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/ja.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Facebook でログイン"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/kn.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/kn.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 5c1006ccb62..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/kn.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Facebook ಮೂಲಕ ಸೈನ್ ಇನ್ ಮಾಡಿ"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/ko.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/ko.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index ad5a9dd68f2..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/ko.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Facebook으로 로그인"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/ln.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/ln.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index cb12ebc4c3d..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/ln.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Se connecter avec Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/lt.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/lt.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 236aaa6423c..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/lt.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Prisijungti per „Facebook“"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/lv.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/lv.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index aad17cb3750..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/lv.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Pierakstīties ar Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/mr.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/mr.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 38d7414e45c..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/mr.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Facebookने साइन इन करा"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/ms.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/ms.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index ca54ea442e5..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/ms.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Log masuk dengan Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/nb.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/nb.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2c86df22023..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/nb.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Logg på med Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/nl.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/nl.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 9ab8f0e8765..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/nl.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Inloggen met Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/nn-NO.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/nn-NO.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 2c86df22023..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/nn-NO.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Logg på med Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/pl.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/pl.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 8493300a958..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/pl.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Zaloguj się przez Facebooka"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/pt-BR.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/pt-BR.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index ea5135997a6..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/pt-BR.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Fazer login com o Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/pt-PT.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/pt-PT.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 1f97cf42a88..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/pt-PT.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Iniciar sessão com o Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/pt.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/pt.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index ea5135997a6..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/pt.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Fazer login com o Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/ro.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/ro.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 9bbe7a6f56c..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/ro.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Conectați-vă cu Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/ru.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/ru.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 1249f673400..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/ru.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Войти через аккаунт Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/sk.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/sk.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 31acfbdc39a..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/sk.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Prihlásiť sa cez Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/sl.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/sl.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 76722c118ab..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/sl.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Prijava z računom za Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/sr-Latn.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/sr-Latn.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 626d8b47b65..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/sr-Latn.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Prijavi me pomoću Facebook-a"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/sr.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/sr.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 77ba841f3cf..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/sr.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Пријави ме помоћу Facebook-а"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/sv.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/sv.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index b0f01c2ef54..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/sv.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Logga in med Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/ta.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/ta.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 1fddd58e997..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/ta.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Facebook மூலம் உள்நுழைக"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/th.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/th.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 276f8968b11..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/th.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "ลงชื่อเข้าใช้ด้วย Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/tr.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/tr.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index bbed81d639c..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/tr.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Facebook ile oturum aç"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/uk.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/uk.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 85f368f07fd..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/uk.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Увійти через Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/ur.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/ur.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 24bd3ad32fa..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/ur.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Facebook کے ساتھ سائن ان کریں"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/vi.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/vi.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 1b564e8606a..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/vi.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "Đăng nhập bằng Facebook"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/zh-Hans.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/zh-Hans.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 582e856aa33..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/zh-Hans.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "使用 Facebook 帐号登录"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/zh-Hant-TW.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/zh-Hant-TW.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 389383c194f..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/zh-Hant-TW.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "使用 Facebook 帳戶登入"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/zh-Hant.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/zh-Hant.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 389383c194f..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/zh-Hant.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "使用 Facebook 帳戶登入"; diff --git a/FirebaseFacebookAuthUI/Sources/Strings/zh.lproj/FirebaseFacebookAuthUI.strings b/FirebaseFacebookAuthUI/Sources/Strings/zh.lproj/FirebaseFacebookAuthUI.strings deleted file mode 100644 index 582e856aa33..00000000000 --- a/FirebaseFacebookAuthUI/Sources/Strings/zh.lproj/FirebaseFacebookAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Facebook. */ -"SignInWithFacebook" = "使用 Facebook 帐号登录"; diff --git a/FirebaseGoogleAuthUI.podspec b/FirebaseGoogleAuthUI.podspec deleted file mode 100644 index 84252f5a558..00000000000 --- a/FirebaseGoogleAuthUI.podspec +++ /dev/null @@ -1,29 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'FirebaseGoogleAuthUI' - s.version = '15.1.0' - s.summary = 'Google authentication for FirebaseAuthUI.' - s.homepage = 'https://github.com/firebase/FirebaseUI-iOS' - s.license = { :type => 'Apache 2.0', :file => 'LICENSE' } - s.source = { :git => 'https://github.com/firebase/FirebaseUI-iOS.git', :tag => 'v' + s.version.to_s} - s.author = 'Firebase' - s.platform = :ios - s.ios.deployment_target = '13.0' - s.ios.framework = 'UIKit' - s.requires_arc = true - s.cocoapods_version = '>= 1.8.0' - s.pod_target_xcconfig = { - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', - } - s.swift_version = '6.0' - - s.public_header_files = 'FirebaseGoogleAuthUI/Sources/Public/FirebaseGoogleAuthUI/*.h' - s.source_files = 'FirebaseGoogleAuthUI/Sources/**/*.{h,m}' - s.dependency 'FirebaseAuth' - s.dependency 'FirebaseCore' - s.dependency 'FirebaseAuthUI', '~> 15.0' - s.dependency 'GoogleSignIn', '~> 8.0' - s.resource_bundles = { - 'FirebaseGoogleAuthUI' => ['FirebaseGoogleAuthUI/Sources/{Resources,Strings}/*.{png,lproj}'] - } - -end diff --git a/FirebaseGoogleAuthUI/FirebaseGoogleAuthUI.xcodeproj/project.pbxproj b/FirebaseGoogleAuthUI/FirebaseGoogleAuthUI.xcodeproj/project.pbxproj deleted file mode 100644 index 4a0f4cab6f3..00000000000 --- a/FirebaseGoogleAuthUI/FirebaseGoogleAuthUI.xcodeproj/project.pbxproj +++ /dev/null @@ -1,913 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 8D69E4A121DE8CAF00CFA49B /* FirebaseGoogleAuthUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8D69E49721DE8CAF00CFA49B /* FirebaseGoogleAuthUI.framework */; }; - 8D69E4A621DE8CAF00CFA49B /* FirebaseGoogleAuthUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E4A521DE8CAF00CFA49B /* FirebaseGoogleAuthUITests.m */; }; - 8D69E4A821DE8CAF00CFA49B /* FirebaseGoogleAuthUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E49A21DE8CAF00CFA49B /* FirebaseGoogleAuthUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E50D21DE8CF000CFA49B /* FirebaseGoogleAuthUI.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E4B221DE8CF000CFA49B /* FirebaseGoogleAuthUI.strings */; }; - 8D69E50E21DE8CF000CFA49B /* ic_google.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E50821DE8CF000CFA49B /* ic_google.png */; }; - 8D69E50F21DE8CF000CFA49B /* ic_google@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E50921DE8CF000CFA49B /* ic_google@2x.png */; }; - 8D69E51021DE8CF000CFA49B /* ic_google@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E50A21DE8CF000CFA49B /* ic_google@3x.png */; }; - 8D69E51121DE8CF000CFA49B /* FUIGoogleAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E50B21DE8CF000CFA49B /* FUIGoogleAuth.h */; }; - 8D69E51221DE8CF000CFA49B /* FUIGoogleAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E50C21DE8CF000CFA49B /* FUIGoogleAuth.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 8D69E4A221DE8CAF00CFA49B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8D69E48E21DE8CAF00CFA49B /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8D69E49621DE8CAF00CFA49B; - remoteInfo = FirebaseGoogleAuthUI; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 8D69E49721DE8CAF00CFA49B /* FirebaseGoogleAuthUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FirebaseGoogleAuthUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E49A21DE8CAF00CFA49B /* FirebaseGoogleAuthUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FirebaseGoogleAuthUI.h; sourceTree = ""; }; - 8D69E49B21DE8CAF00CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E4A021DE8CAF00CFA49B /* FirebaseGoogleAuthUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FirebaseGoogleAuthUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E4A521DE8CAF00CFA49B /* FirebaseGoogleAuthUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirebaseGoogleAuthUITests.m; sourceTree = ""; }; - 8D69E4A721DE8CAF00CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E4B321DE8CF000CFA49B /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4B421DE8CF000CFA49B /* ur */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ur; path = ur.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4B521DE8CF000CFA49B /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4B621DE8CF000CFA49B /* es-SV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-SV"; path = "es-SV.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4B721DE8CF000CFA49B /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4B821DE8CF000CFA49B /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4B921DE8CF000CFA49B /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4BA21DE8CF000CFA49B /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4BB21DE8CF000CFA49B /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4BC21DE8CF000CFA49B /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = fa.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4BD21DE8CF000CFA49B /* mr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mr; path = mr.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4BE21DE8CF000CFA49B /* es-GT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-GT"; path = "es-GT.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4BF21DE8CF000CFA49B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4C021DE8CF000CFA49B /* en-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-CA"; path = "en-CA.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4C121DE8CF000CFA49B /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4C221DE8CF000CFA49B /* es-PY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PY"; path = "es-PY.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4C321DE8CF000CFA49B /* gu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gu; path = gu.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4C421DE8CF000CFA49B /* kn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = kn; path = kn.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4C521DE8CF000CFA49B /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4C621DE8CF000CFA49B /* es-US */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-US"; path = "es-US.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4C721DE8CF000CFA49B /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4C821DE8CF000CFA49B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4C921DE8CF000CFA49B /* es-VE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-VE"; path = "es-VE.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4CA21DE8CF000CFA49B /* es-CL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CL"; path = "es-CL.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4CB21DE8CF000CFA49B /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4CC21DE8CF000CFA49B /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4CD21DE8CF000CFA49B /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4CE21DE8CF000CFA49B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4CF21DE8CF000CFA49B /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4D021DE8CF000CFA49B /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4D121DE8CF000CFA49B /* sr-Latn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sr-Latn"; path = "sr-Latn.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4D221DE8CF000CFA49B /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4D321DE8CF000CFA49B /* es-PA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PA"; path = "es-PA.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4D421DE8CF000CFA49B /* en-SG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-SG"; path = "en-SG.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4D521DE8CF000CFA49B /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4D621DE8CF000CFA49B /* ms */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ms; path = ms.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4D721DE8CF000CFA49B /* es-CR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CR"; path = "es-CR.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4D821DE8CF000CFA49B /* ta */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ta; path = ta.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4D921DE8CF000CFA49B /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4DA21DE8CF000CFA49B /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4DB21DE8CF000CFA49B /* es-AR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-AR"; path = "es-AR.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4DC21DE8CF000CFA49B /* es-PE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PE"; path = "es-PE.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4DD21DE8CF000CFA49B /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4DE21DE8CF000CFA49B /* en-IE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-IE"; path = "en-IE.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4DF21DE8CF000CFA49B /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4E021DE8CF000CFA49B /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4E121DE8CF000CFA49B /* es-CO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CO"; path = "es-CO.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4E221DE8CF000CFA49B /* gsw */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gsw; path = gsw.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4E321DE8CF000CFA49B /* en-ZA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-ZA"; path = "en-ZA.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4E421DE8CF000CFA49B /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4E521DE8CF000CFA49B /* es-PR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PR"; path = "es-PR.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4E621DE8CF000CFA49B /* de-AT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "de-AT"; path = "de-AT.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4E721DE8CF000CFA49B /* en-AU */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-AU"; path = "en-AU.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4E821DE8CF000CFA49B /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4E921DE8CF000CFA49B /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4EA21DE8CF000CFA49B /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4EB21DE8CF000CFA49B /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4EC21DE8CF000CFA49B /* lv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lv; path = lv.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4ED21DE8CF000CFA49B /* es-MX */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-MX"; path = "es-MX.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4EE21DE8CF000CFA49B /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4EF21DE8CF000CFA49B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4F021DE8CF000CFA49B /* es-DO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-DO"; path = "es-DO.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4F121DE8CF000CFA49B /* fr-CH */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CH"; path = "fr-CH.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4F221DE8CF000CFA49B /* es-NI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-NI"; path = "es-NI.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4F321DE8CF000CFA49B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4F421DE8CF000CFA49B /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4F521DE8CF000CFA49B /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4F621DE8CF000CFA49B /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4F721DE8CF000CFA49B /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4F821DE8CF000CFA49B /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4F921DE8CF000CFA49B /* de-CH */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "de-CH"; path = "de-CH.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4FA21DE8CF000CFA49B /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4FB21DE8CF000CFA49B /* es-EC */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-EC"; path = "es-EC.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4FC21DE8CF000CFA49B /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4FD21DE8CF000CFA49B /* es-BO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-BO"; path = "es-BO.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E4FE21DE8CF000CFA49B /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E4FF21DE8CF000CFA49B /* ln */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ln; path = ln.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E50021DE8CF000CFA49B /* es-UY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-UY"; path = "es-UY.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E50121DE8CF000CFA49B /* es-HN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-HN"; path = "es-HN.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E50221DE8CF000CFA49B /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E50321DE8CF000CFA49B /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E50421DE8CF000CFA49B /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E50521DE8CF000CFA49B /* zh */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh; path = zh.lproj/FirebaseGoogleAuthUI.strings; sourceTree = ""; }; - 8D69E50621DE8CF000CFA49B /* en-IN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-IN"; path = "en-IN.lproj/FirebaseGoogleAuthUI.strings"; sourceTree = ""; }; - 8D69E50821DE8CF000CFA49B /* ic_google.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ic_google.png; sourceTree = ""; }; - 8D69E50921DE8CF000CFA49B /* ic_google@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_google@2x.png"; sourceTree = ""; }; - 8D69E50A21DE8CF000CFA49B /* ic_google@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_google@3x.png"; sourceTree = ""; }; - 8D69E50B21DE8CF000CFA49B /* FUIGoogleAuth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIGoogleAuth.h; sourceTree = ""; }; - 8D69E50C21DE8CF000CFA49B /* FUIGoogleAuth.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIGoogleAuth.m; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8D69E49421DE8CAF00CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E49D21DE8CAF00CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E4A121DE8CAF00CFA49B /* FirebaseGoogleAuthUI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 2F1A7A9CC42931C0584896C1 /* Pods */ = { - isa = PBXGroup; - children = ( - ); - path = Pods; - sourceTree = ""; - }; - 8D55F15D261E6E470020DFB0 /* Public */ = { - isa = PBXGroup; - children = ( - 8DF993742637694800DC12D1 /* FirebaseGoogleAuthUI */, - ); - path = Public; - sourceTree = ""; - }; - 8D69E48D21DE8CAF00CFA49B = { - isa = PBXGroup; - children = ( - 8D69E49921DE8CAF00CFA49B /* Sources */, - 8D69E4A421DE8CAF00CFA49B /* FirebaseGoogleAuthUITests */, - 8D69E49821DE8CAF00CFA49B /* Products */, - 2F1A7A9CC42931C0584896C1 /* Pods */, - ); - sourceTree = ""; - }; - 8D69E49821DE8CAF00CFA49B /* Products */ = { - isa = PBXGroup; - children = ( - 8D69E49721DE8CAF00CFA49B /* FirebaseGoogleAuthUI.framework */, - 8D69E4A021DE8CAF00CFA49B /* FirebaseGoogleAuthUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 8D69E49921DE8CAF00CFA49B /* Sources */ = { - isa = PBXGroup; - children = ( - 8D55F15D261E6E470020DFB0 /* Public */, - 8D69E50C21DE8CF000CFA49B /* FUIGoogleAuth.m */, - 8D69E49B21DE8CAF00CFA49B /* Info.plist */, - 8D69E50721DE8CF000CFA49B /* Resources */, - 8D69E4B121DE8CF000CFA49B /* Strings */, - ); - path = Sources; - sourceTree = ""; - }; - 8D69E4A421DE8CAF00CFA49B /* FirebaseGoogleAuthUITests */ = { - isa = PBXGroup; - children = ( - 8D69E4A521DE8CAF00CFA49B /* FirebaseGoogleAuthUITests.m */, - 8D69E4A721DE8CAF00CFA49B /* Info.plist */, - ); - path = FirebaseGoogleAuthUITests; - sourceTree = ""; - }; - 8D69E4B121DE8CF000CFA49B /* Strings */ = { - isa = PBXGroup; - children = ( - 8D69E4B221DE8CF000CFA49B /* FirebaseGoogleAuthUI.strings */, - ); - path = Strings; - sourceTree = ""; - }; - 8D69E50721DE8CF000CFA49B /* Resources */ = { - isa = PBXGroup; - children = ( - 8D69E50821DE8CF000CFA49B /* ic_google.png */, - 8D69E50921DE8CF000CFA49B /* ic_google@2x.png */, - 8D69E50A21DE8CF000CFA49B /* ic_google@3x.png */, - ); - path = Resources; - sourceTree = ""; - }; - 8DF993742637694800DC12D1 /* FirebaseGoogleAuthUI */ = { - isa = PBXGroup; - children = ( - 8D69E49A21DE8CAF00CFA49B /* FirebaseGoogleAuthUI.h */, - 8D69E50B21DE8CF000CFA49B /* FUIGoogleAuth.h */, - ); - path = FirebaseGoogleAuthUI; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 8D69E49221DE8CAF00CFA49B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E51121DE8CF000CFA49B /* FUIGoogleAuth.h in Headers */, - 8D69E4A821DE8CAF00CFA49B /* FirebaseGoogleAuthUI.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 8D69E49621DE8CAF00CFA49B /* FirebaseGoogleAuthUI */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E4AB21DE8CAF00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseGoogleAuthUI" */; - buildPhases = ( - 8D69E49221DE8CAF00CFA49B /* Headers */, - 8D69E49321DE8CAF00CFA49B /* Sources */, - 8D69E49421DE8CAF00CFA49B /* Frameworks */, - 8D69E49521DE8CAF00CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FirebaseGoogleAuthUI; - productName = FirebaseGoogleAuthUI; - productReference = 8D69E49721DE8CAF00CFA49B /* FirebaseGoogleAuthUI.framework */; - productType = "com.apple.product-type.framework"; - }; - 8D69E49F21DE8CAF00CFA49B /* FirebaseGoogleAuthUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E4AE21DE8CAF00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseGoogleAuthUITests" */; - buildPhases = ( - 8D69E49C21DE8CAF00CFA49B /* Sources */, - 8D69E49D21DE8CAF00CFA49B /* Frameworks */, - 8D69E49E21DE8CAF00CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 8D69E4A321DE8CAF00CFA49B /* PBXTargetDependency */, - ); - name = FirebaseGoogleAuthUITests; - productName = FirebaseGoogleAuthUITests; - productReference = 8D69E4A021DE8CAF00CFA49B /* FirebaseGoogleAuthUITests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 8D69E48E21DE8CAF00CFA49B /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1140; - ORGANIZATIONNAME = Firebase; - TargetAttributes = { - 8D69E49621DE8CAF00CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - 8D69E49F21DE8CAF00CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - }; - }; - buildConfigurationList = 8D69E49121DE8CAF00CFA49B /* Build configuration list for PBXProject "FirebaseGoogleAuthUI" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - de, - ur, - he, - "es-SV", - "zh-Hant-TW", - ar, - el, - "zh-Hans", - ja, - fa, - mr, - "es-GT", - "en-CA", - uk, - "es-PY", - gu, - kn, - nb, - "es-US", - "en-GB", - es, - "es-VE", - "es-CL", - sl, - da, - "es-419", - it, - bg, - sk, - "sr-Latn", - "nn-NO", - "es-PA", - "en-SG", - sr, - ms, - "es-CR", - ta, - sv, - cs, - "es-AR", - "es-PE", - ko, - "en-IE", - fil, - "zh-Hant", - "es-CO", - gsw, - "en-ZA", - hu, - "es-PR", - "de-AT", - "en-AU", - tr, - pl, - "pt-BR", - vi, - lv, - "es-MX", - lt, - ru, - "es-DO", - "fr-CH", - "es-NI", - fr, - fi, - id, - nl, - th, - pt, - "de-CH", - bn, - "es-EC", - "pt-PT", - "es-BO", - ro, - ln, - "es-UY", - "es-HN", - hr, - hi, - ca, - zh, - "en-IN", - ); - mainGroup = 8D69E48D21DE8CAF00CFA49B; - productRefGroup = 8D69E49821DE8CAF00CFA49B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8D69E49621DE8CAF00CFA49B /* FirebaseGoogleAuthUI */, - 8D69E49F21DE8CAF00CFA49B /* FirebaseGoogleAuthUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8D69E49521DE8CAF00CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E50F21DE8CF000CFA49B /* ic_google@2x.png in Resources */, - 8D69E50E21DE8CF000CFA49B /* ic_google.png in Resources */, - 8D69E51021DE8CF000CFA49B /* ic_google@3x.png in Resources */, - 8D69E50D21DE8CF000CFA49B /* FirebaseGoogleAuthUI.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E49E21DE8CAF00CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8D69E49321DE8CAF00CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E51221DE8CF000CFA49B /* FUIGoogleAuth.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E49C21DE8CAF00CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E4A621DE8CAF00CFA49B /* FirebaseGoogleAuthUITests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 8D69E4A321DE8CAF00CFA49B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8D69E49621DE8CAF00CFA49B /* FirebaseGoogleAuthUI */; - targetProxy = 8D69E4A221DE8CAF00CFA49B /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 8D69E4B221DE8CF000CFA49B /* FirebaseGoogleAuthUI.strings */ = { - isa = PBXVariantGroup; - children = ( - 8D69E4B321DE8CF000CFA49B /* de */, - 8D69E4B421DE8CF000CFA49B /* ur */, - 8D69E4B521DE8CF000CFA49B /* he */, - 8D69E4B621DE8CF000CFA49B /* es-SV */, - 8D69E4B721DE8CF000CFA49B /* zh-Hant-TW */, - 8D69E4B821DE8CF000CFA49B /* ar */, - 8D69E4B921DE8CF000CFA49B /* el */, - 8D69E4BA21DE8CF000CFA49B /* zh-Hans */, - 8D69E4BB21DE8CF000CFA49B /* ja */, - 8D69E4BC21DE8CF000CFA49B /* fa */, - 8D69E4BD21DE8CF000CFA49B /* mr */, - 8D69E4BE21DE8CF000CFA49B /* es-GT */, - 8D69E4BF21DE8CF000CFA49B /* en */, - 8D69E4C021DE8CF000CFA49B /* en-CA */, - 8D69E4C121DE8CF000CFA49B /* uk */, - 8D69E4C221DE8CF000CFA49B /* es-PY */, - 8D69E4C321DE8CF000CFA49B /* gu */, - 8D69E4C421DE8CF000CFA49B /* kn */, - 8D69E4C521DE8CF000CFA49B /* nb */, - 8D69E4C621DE8CF000CFA49B /* es-US */, - 8D69E4C721DE8CF000CFA49B /* en-GB */, - 8D69E4C821DE8CF000CFA49B /* es */, - 8D69E4C921DE8CF000CFA49B /* es-VE */, - 8D69E4CA21DE8CF000CFA49B /* es-CL */, - 8D69E4CB21DE8CF000CFA49B /* sl */, - 8D69E4CC21DE8CF000CFA49B /* da */, - 8D69E4CD21DE8CF000CFA49B /* es-419 */, - 8D69E4CE21DE8CF000CFA49B /* it */, - 8D69E4CF21DE8CF000CFA49B /* bg */, - 8D69E4D021DE8CF000CFA49B /* sk */, - 8D69E4D121DE8CF000CFA49B /* sr-Latn */, - 8D69E4D221DE8CF000CFA49B /* nn-NO */, - 8D69E4D321DE8CF000CFA49B /* es-PA */, - 8D69E4D421DE8CF000CFA49B /* en-SG */, - 8D69E4D521DE8CF000CFA49B /* sr */, - 8D69E4D621DE8CF000CFA49B /* ms */, - 8D69E4D721DE8CF000CFA49B /* es-CR */, - 8D69E4D821DE8CF000CFA49B /* ta */, - 8D69E4D921DE8CF000CFA49B /* sv */, - 8D69E4DA21DE8CF000CFA49B /* cs */, - 8D69E4DB21DE8CF000CFA49B /* es-AR */, - 8D69E4DC21DE8CF000CFA49B /* es-PE */, - 8D69E4DD21DE8CF000CFA49B /* ko */, - 8D69E4DE21DE8CF000CFA49B /* en-IE */, - 8D69E4DF21DE8CF000CFA49B /* fil */, - 8D69E4E021DE8CF000CFA49B /* zh-Hant */, - 8D69E4E121DE8CF000CFA49B /* es-CO */, - 8D69E4E221DE8CF000CFA49B /* gsw */, - 8D69E4E321DE8CF000CFA49B /* en-ZA */, - 8D69E4E421DE8CF000CFA49B /* hu */, - 8D69E4E521DE8CF000CFA49B /* es-PR */, - 8D69E4E621DE8CF000CFA49B /* de-AT */, - 8D69E4E721DE8CF000CFA49B /* en-AU */, - 8D69E4E821DE8CF000CFA49B /* tr */, - 8D69E4E921DE8CF000CFA49B /* pl */, - 8D69E4EA21DE8CF000CFA49B /* pt-BR */, - 8D69E4EB21DE8CF000CFA49B /* vi */, - 8D69E4EC21DE8CF000CFA49B /* lv */, - 8D69E4ED21DE8CF000CFA49B /* es-MX */, - 8D69E4EE21DE8CF000CFA49B /* lt */, - 8D69E4EF21DE8CF000CFA49B /* ru */, - 8D69E4F021DE8CF000CFA49B /* es-DO */, - 8D69E4F121DE8CF000CFA49B /* fr-CH */, - 8D69E4F221DE8CF000CFA49B /* es-NI */, - 8D69E4F321DE8CF000CFA49B /* fr */, - 8D69E4F421DE8CF000CFA49B /* fi */, - 8D69E4F521DE8CF000CFA49B /* id */, - 8D69E4F621DE8CF000CFA49B /* nl */, - 8D69E4F721DE8CF000CFA49B /* th */, - 8D69E4F821DE8CF000CFA49B /* pt */, - 8D69E4F921DE8CF000CFA49B /* de-CH */, - 8D69E4FA21DE8CF000CFA49B /* bn */, - 8D69E4FB21DE8CF000CFA49B /* es-EC */, - 8D69E4FC21DE8CF000CFA49B /* pt-PT */, - 8D69E4FD21DE8CF000CFA49B /* es-BO */, - 8D69E4FE21DE8CF000CFA49B /* ro */, - 8D69E4FF21DE8CF000CFA49B /* ln */, - 8D69E50021DE8CF000CFA49B /* es-UY */, - 8D69E50121DE8CF000CFA49B /* es-HN */, - 8D69E50221DE8CF000CFA49B /* hr */, - 8D69E50321DE8CF000CFA49B /* hi */, - 8D69E50421DE8CF000CFA49B /* ca */, - 8D69E50521DE8CF000CFA49B /* zh */, - 8D69E50621DE8CF000CFA49B /* en-IN */, - ); - name = FirebaseGoogleAuthUI.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 8D69E4A921DE8CAF00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../\""; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 8D69E4AA21DE8CAF00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../\""; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 8D69E4AC21DE8CAF00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - "\"CoreGraphics\"", - "-framework", - "\"CoreText\"", - "-framework", - "\"Foundation\"", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleSignIn\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"LocalAuthentication\"", - "-framework", - "\"SafariServices\"", - "-framework", - "\"Security\"", - "-framework", - "\"SystemConfiguration\"", - "-framework", - "\"UIKit\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseGoogleAuthUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E4AD21DE8CAF00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - "\"CoreGraphics\"", - "-framework", - "\"CoreText\"", - "-framework", - "\"Foundation\"", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleSignIn\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"LocalAuthentication\"", - "-framework", - "\"SafariServices\"", - "-framework", - "\"Security\"", - "-framework", - "\"SystemConfiguration\"", - "-framework", - "\"UIKit\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseGoogleAuthUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 8D69E4AF21DE8CAF00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseGoogleAuthUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/AppAuth\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMAppAuth\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/nanopb\"", - "\"$(PODS_CONFIGURATION_BUILD_DIR)/FirebaseAuthUI\"", - "\"$(PODS_CONFIGURATION_BUILD_DIR)/GoogleSignIn\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - "\"CoreGraphics\"", - "-framework", - "\"CoreText\"", - "-framework", - "\"Foundation\"", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"LocalAuthentication\"", - "-framework", - "\"OCMock\"", - "-framework", - "\"SafariServices\"", - "-framework", - "\"Security\"", - "-framework", - "\"SystemConfiguration\"", - "-framework", - "\"UIKit\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseGoogleAuthUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E4B021DE8CAF00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseGoogleAuthUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/AppAuth\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMAppAuth\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/nanopb\"", - "\"$(PODS_CONFIGURATION_BUILD_DIR)/FirebaseAuthUI\"", - "\"$(PODS_CONFIGURATION_BUILD_DIR)/GoogleSignIn\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - "\"CoreGraphics\"", - "-framework", - "\"CoreText\"", - "-framework", - "\"Foundation\"", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"LocalAuthentication\"", - "-framework", - "\"OCMock\"", - "-framework", - "\"SafariServices\"", - "-framework", - "\"Security\"", - "-framework", - "\"SystemConfiguration\"", - "-framework", - "\"UIKit\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseGoogleAuthUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 8D69E49121DE8CAF00CFA49B /* Build configuration list for PBXProject "FirebaseGoogleAuthUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E4A921DE8CAF00CFA49B /* Debug */, - 8D69E4AA21DE8CAF00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E4AB21DE8CAF00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseGoogleAuthUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E4AC21DE8CAF00CFA49B /* Debug */, - 8D69E4AD21DE8CAF00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E4AE21DE8CAF00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseGoogleAuthUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E4AF21DE8CAF00CFA49B /* Debug */, - 8D69E4B021DE8CAF00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 8D69E48E21DE8CAF00CFA49B /* Project object */; -} diff --git a/FirebaseGoogleAuthUI/FirebaseGoogleAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseGoogleAuthUI.xcscheme b/FirebaseGoogleAuthUI/FirebaseGoogleAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseGoogleAuthUI.xcscheme deleted file mode 100644 index ae29f511ce2..00000000000 --- a/FirebaseGoogleAuthUI/FirebaseGoogleAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseGoogleAuthUI.xcscheme +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseGoogleAuthUI/FirebaseGoogleAuthUITests/FirebaseGoogleAuthUITests.m b/FirebaseGoogleAuthUI/FirebaseGoogleAuthUITests/FirebaseGoogleAuthUITests.m deleted file mode 100644 index 60e871d224a..00000000000 --- a/FirebaseGoogleAuthUI/FirebaseGoogleAuthUITests/FirebaseGoogleAuthUITests.m +++ /dev/null @@ -1,374 +0,0 @@ -// -// 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 FirebaseAuth; -#import -#import -#import -@import XCTest; - -#import "FUIGoogleAuth.h" - -@interface FUIGoogleAuth (Testing) -- (NSString *)clientID; -- (GIDSignIn *)googleSignIn; -- (void)handleSignInWithUser:(GIDGoogleUser *)user - error:(NSError *)error - presentingViewController:(UIViewController *)presentingViewController - callback:(FUIAuthProviderSignInCompletionBlock)callback; -@end - -@interface FirebaseGoogleAuthUITests : XCTestCase -@property (nonatomic, strong) id mockProvider; -@property (nonatomic, strong) id mockOAuthProvider; -@property (nonatomic, strong) FUIAuth *authUI; -@end - -@implementation FirebaseGoogleAuthUITests - -- (void)setUp { - [super setUp]; - - id authClass = OCMClassMock([FIRAuth class]); - OCMStub(ClassMethod([authClass auth])). - andReturn(authClass); - - self.mockOAuthProvider = OCMClassMock([FIROAuthProvider class]); - OCMStub(ClassMethod([_mockOAuthProvider providerWithProviderID:OCMOCK_ANY])). - andReturn(_mockOAuthProvider); - - FIRAuth *auth = [FIRAuth auth]; - self.authUI = [FUIAuth authUIWithAuth:auth]; - self.mockProvider = OCMPartialMock([[FUIGoogleAuth alloc] initWithAuthUI:self.authUI]); - OCMStub([_mockProvider clientID]).andReturn(@"clientID"); -} - -- (void)tearDown { - self.mockProvider = nil; - self.mockOAuthProvider = nil; - self.authUI = nil; - [super tearDown]; -} - -- (void)testProviderValidity { - FUIGoogleAuth *provider = [[FUIGoogleAuth alloc] initWithAuthUI:self.authUI]; - - XCTAssertNotNil(provider); - XCTAssertNotNil(provider.icon); - XCTAssertNotNil(provider.signInLabel); - XCTAssertNotNil(provider.buttonBackgroundColor); - XCTAssertNotNil(provider.buttonTextColor); - XCTAssertNotNil(provider.providerID); - XCTAssertNotNil(provider.shortName); - XCTAssertTrue(provider.signInLabel.length != 0); - XCTAssertNil(provider.accessToken); - XCTAssertNil(provider.idToken); - - OCMVerify(never(), [self.mockOAuthProvider providerWithProviderID:@"google.com"]); -} - -#ifdef PORT_REST_OF_FILE_TO_GSI_7 - -- (void)testUseEmulatorCreatesOAuthProvider { - [self.authUI useEmulatorWithHost:@"host" port:12345]; - FUIGoogleAuth *provider = [[FUIGoogleAuth alloc] initWithAuthUI:self.authUI]; - - XCTAssertNotNil(provider); - OCMVerify([self.mockOAuthProvider providerWithProviderID:@"google.com"]); -} - -- (void)testSuccessfulLogin { - NSString *testIdToken = @"idToken"; - NSString *testAccessToken = @"accessToken"; - - id mockSignInDelegate = _mockProvider; - id mockSignIn = OCMClassMock([GIDSignIn class]); - id mockAuthentication = OCMClassMock([GIDAuthentication class]); - id mockGoogleUser = OCMClassMock([GIDGoogleUser class]); - - // mock accessToken - OCMExpect([mockGoogleUser authentication]).andReturn(mockAuthentication); - OCMExpect([mockAuthentication accessToken]).andReturn(testAccessToken); - - // mock idToken - OCMExpect([mockGoogleUser authentication]).andReturn(mockAuthentication); - OCMExpect([mockAuthentication idToken]).andReturn(testIdToken); - - OCMExpect([_mockProvider googleSignIn]).andReturn(mockSignIn); - - // forward call to signIn delegate - OCMExpect([mockSignIn signInWithConfiguration:[OCMArg any] - presentingViewController:[OCMArg any] - hint:[OCMArg any] - callback:[OCMArg any]]).andDo(^(NSInvocation *invocation) { - void (^callback)(GIDGoogleUser *, NSError *) = nil; - [invocation getArgument:&callback atIndex:5]; - callback(mockGoogleUser, nil); - }); - - XCTestExpectation *expectation = [self expectationWithDescription:@"logged in"]; - - [_mockProvider signInWithDefaultValue:nil - presentingViewController:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - FIRAuthResultCallback _Nullable result, - NSDictionary *_Nullable userInfo) { - XCTAssertNil(error); - XCTAssertNotNil(result); - XCTAssertNotNil(credential); - FIRAuthCredential *expectedCredential = - [FIRGoogleAuthProvider credentialWithIDToken:testIdToken accessToken:testAccessToken]; - XCTAssertEqualObjects(credential.provider, expectedCredential.provider); - - [expectation fulfill]; - // We can't compare result and resultCallback. Thus verifying with expectation that result - // is called. - result(mockGoogleUser, error); - }]; - [self waitForExpectationsWithTimeout:0.1 handler:^(NSError *_Nullable error) { - XCTAssertNil(error); - }]; - - OCMVerifyAll(_mockProvider); - OCMVerifyAll(mockSignInDelegate); - OCMVerifyAll(mockGoogleUser); - - //verify that we are doing actual sign in - OCMVerifyAll(mockSignIn); - //verify that we are using token from server - OCMVerifyAll(mockAuthentication); - OCMVerify(never(), [self.mockOAuthProvider getCredentialWithUIDelegate:nil completion:OCMOCK_ANY]); -} - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" -- (void)testLegacyInitSuccessfulLogin { - NSString *testIdToken = @"idToken"; - NSString *testAccessToken = @"accessToken"; - - _mockProvider = OCMPartialMock([[FUIGoogleAuth alloc] init]); - - id mockSignInDelegate = _mockProvider; - id mockSignIn = OCMClassMock([GIDSignIn class]); - id mockAuthentication = OCMClassMock([GIDAuthentication class]); - id mockGoogleUser = OCMClassMock([GIDGoogleUser class]); - - OCMStub([_mockProvider clientID]).andReturn(@"clientID"); - - // mock accessToken - OCMExpect([mockGoogleUser authentication]).andReturn(mockAuthentication); - OCMExpect([mockAuthentication accessToken]).andReturn(testAccessToken); - - // mock idToken - OCMExpect([mockGoogleUser authentication]).andReturn(mockAuthentication); - OCMExpect([mockAuthentication idToken]).andReturn(testIdToken); - - OCMExpect([_mockProvider googleSignIn]).andReturn(mockSignIn); - - // forward call to signIn delegate - OCMExpect([mockSignIn signInWithConfiguration:[OCMArg any] - presentingViewController:[OCMArg any] - hint:[OCMArg any] - callback:[OCMArg any]]).andDo(^(NSInvocation *invocation) { - void (^callback)(GIDGoogleUser *, NSError *) = nil; - [invocation getArgument:&callback atIndex:5]; - callback(mockGoogleUser, nil); - }); - - XCTestExpectation *expectation = [self expectationWithDescription:@"logged in"]; - - [_mockProvider signInWithDefaultValue:nil - presentingViewController:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - FIRAuthResultCallback _Nullable result, - NSDictionary *_Nullable userInfo) { - XCTAssertNil(error); - XCTAssertNotNil(result); - XCTAssertNotNil(credential); - FIRAuthCredential *expectedCredential = - [FIRGoogleAuthProvider credentialWithIDToken:testIdToken accessToken:testAccessToken]; - XCTAssertEqualObjects(credential.provider, expectedCredential.provider); - - [expectation fulfill]; - // We can't compare result and resultCallback. Thus verifying with expectation that result - // is called. - result(mockGoogleUser, error); - }]; - [self waitForExpectationsWithTimeout:0.1 handler:^(NSError *_Nullable error) { - XCTAssertNil(error); - }]; - - OCMVerifyAll(_mockProvider); - OCMVerifyAll(mockSignInDelegate); - OCMVerifyAll(mockGoogleUser); - - //verify that we are doing actual sign in - OCMVerifyAll(mockSignIn); - //verify that we are using token from server - OCMVerifyAll(mockAuthentication); - OCMVerify(never(), [self.mockOAuthProvider getCredentialWithUIDelegate:nil completion:OCMOCK_ANY]); -} -#pragma clang diagnostic pop - -- (void)testErrorLogin { - NSString *testIdToken = @"idToken"; - NSString *testAccessToken = @"accessToken"; - - id mockSignInDelegate = _mockProvider; - id mockSignIn = OCMClassMock([GIDSignIn class]); - id mockAuthentication = OCMClassMock([GIDAuthentication class]); - id mockGoogleUser = OCMClassMock([GIDGoogleUser class]); - - // mock accessToken - OCMStub([mockGoogleUser authentication]).andReturn(mockAuthentication); - OCMStub([mockAuthentication accessToken]).andReturn(testAccessToken); - - // mock idToken - OCMStub([mockGoogleUser authentication]).andReturn(mockAuthentication); - OCMStub([mockAuthentication idToken]).andReturn(testIdToken); - - OCMExpect([_mockProvider googleSignIn]).andReturn(mockSignIn); - NSError *signInError = [NSError errorWithDomain:@"sign in domain" code:kGIDSignInErrorCodeUnknown userInfo:@{}]; - - // forward call to signIn delegate - OCMExpect([mockSignIn signInWithConfiguration:[OCMArg any] - presentingViewController:[OCMArg any] - hint:[OCMArg any] - callback:[OCMArg any]]).andDo(^(NSInvocation *invocation) { - void (^callback)(GIDGoogleUser *, NSError *) = nil; - [invocation getArgument:&callback atIndex:5]; - callback(mockGoogleUser, signInError); - }); - - - XCTestExpectation *expectation = [self expectationWithDescription:@"logged in"]; - - [_mockProvider signInWithDefaultValue:nil - presentingViewController:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - FIRAuthResultCallback _Nullable result, - NSDictionary *_Nullable userInfo) { - XCTAssertNotNil(error); - XCTAssertEqualObjects(error.userInfo[NSUnderlyingErrorKey], signInError); - XCTAssertNil(credential); - XCTAssertNil(result); - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:0.1 handler:^(NSError *_Nullable error) { - XCTAssertNil(error); - }]; - - OCMVerifyAll(_mockProvider); - OCMVerifyAll(mockSignInDelegate); - OCMVerifyAll(mockGoogleUser); - - //verify that we are doing actual sign in - OCMVerifyAll(mockSignIn); - //verify that we are using token from server - OCMVerifyAll(mockAuthentication); -} - -- (void)testCancelLogin { - NSString *testIdToken = @"idToken"; - NSString *testAccessToken = @"accessToken"; - - id mockSignInDelegate = _mockProvider; - id mockSignIn = OCMClassMock([GIDSignIn class]); - id mockAuthentication = OCMClassMock([GIDAuthentication class]); - id mockGoogleUser = OCMClassMock([GIDGoogleUser class]); - - // mock accessToken - OCMStub([mockGoogleUser authentication]).andReturn(mockAuthentication); - OCMStub([mockAuthentication accessToken]).andReturn(testAccessToken); - - // mock idToken - OCMStub([mockGoogleUser authentication]).andReturn(mockAuthentication); - OCMStub([mockAuthentication idToken]).andReturn(testIdToken); - - OCMExpect([_mockProvider googleSignIn]).andReturn(mockSignIn); - NSError *signInError = [NSError errorWithDomain:@"sign in domain" code:kGIDSignInErrorCodeCanceled userInfo:@{}]; - - // forward call to signIn delegate - OCMExpect([mockSignIn signInWithConfiguration:[OCMArg any] - presentingViewController:[OCMArg any] - hint:[OCMArg any] - callback:[OCMArg any]]).andDo(^(NSInvocation *invocation) { - void (^callback)(GIDGoogleUser *, NSError *) = nil; - [invocation getArgument:&callback atIndex:5]; - callback(mockGoogleUser, signInError); - }); - - XCTestExpectation *expectation = [self expectationWithDescription:@"logged in"]; - - [_mockProvider signInWithDefaultValue:nil - presentingViewController:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - FIRAuthResultCallback _Nullable result, - NSDictionary *_Nullable userInfo) { - XCTAssertNotNil(error); - XCTAssertEqualObjects(error, [FUIAuthErrorUtils userCancelledSignInError]); - XCTAssertNil(credential); - XCTAssertNil(result); - - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:0.1 handler:^(NSError *_Nullable error) { - XCTAssertNil(error); - }]; - - OCMVerifyAll(_mockProvider); - OCMVerifyAll(mockSignInDelegate); - OCMVerifyAll(mockGoogleUser); - - //verify that we are doing actual sign in - OCMVerifyAll(mockSignIn); - //verify that we are using token from server - OCMVerifyAll(mockAuthentication); -} -#endif - -- (void)testSignOut { - id mockSignIn = OCMClassMock([GIDSignIn class]); - OCMExpect([_mockProvider googleSignIn]).andReturn(mockSignIn); - OCMExpect([mockSignIn signOut]); - - [_mockProvider signOut]; - - OCMVerifyAll(_mockProvider); - OCMVerifyAll(mockSignIn); -} - -- (void)testUseEmulatorUsesOAuthProvider { - [self.authUI useEmulatorWithHost:@"host" port:12345]; - self.mockProvider = OCMPartialMock([[FUIGoogleAuth alloc] initWithAuthUI:self.authUI]); - - [self.mockProvider signInWithDefaultValue:nil - presentingViewController:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - FIRAuthResultCallback _Nullable result, - NSDictionary *_Nullable userInfo) {}]; - - OCMVerify([self.mockOAuthProvider getCredentialWithUIDelegate:nil completion:OCMOCK_ANY]); - OCMVerify(never(), [self.mockProvider googleSignIn]); -} - - -@end diff --git a/FirebaseGoogleAuthUI/FirebaseGoogleAuthUITests/Info.plist b/FirebaseGoogleAuthUI/FirebaseGoogleAuthUITests/Info.plist deleted file mode 100644 index 0b3caea4471..00000000000 --- a/FirebaseGoogleAuthUI/FirebaseGoogleAuthUITests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/FirebaseGoogleAuthUI/Podfile b/FirebaseGoogleAuthUI/Podfile deleted file mode 100644 index f6ac224ca9f..00000000000 --- a/FirebaseGoogleAuthUI/Podfile +++ /dev/null @@ -1,18 +0,0 @@ -# source 'sso://cpdc-internal/firebase' -source 'https://github.com/CocoaPods/Specs.git' - -platform :ios, '13.0' - -target 'FirebaseGoogleAuthUI' do - use_frameworks! - - pod 'FirebaseAuth' - pod 'GoogleSignIn', '~> 7.0' - pod 'FirebaseAuthUI', :path => '../' - - target 'FirebaseGoogleAuthUITests' do - inherit! :search_paths - pod 'OCMock' - end - -end diff --git a/FirebaseGoogleAuthUI/Sources/FUIGoogleAuth.m b/FirebaseGoogleAuthUI/Sources/FUIGoogleAuth.m deleted file mode 100644 index 1f28fdc4a5d..00000000000 --- a/FirebaseGoogleAuthUI/Sources/FUIGoogleAuth.m +++ /dev/null @@ -1,294 +0,0 @@ -// -// 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 "FirebaseGoogleAuthUI/Sources/Public/FirebaseGoogleAuthUI/FUIGoogleAuth.h" - -@import FirebaseAuth; - -#import -#import -#import - -/** @var kTableName - @brief The name of the strings table to search for localized strings. - */ -static NSString *const kTableName = @"FirebaseGoogleAuthUI"; - -/** @var kBundleName - @brief The name of the bundle to search for resources. - */ -#if SWIFT_PACKAGE -static NSString *const kBundleName = @"FirebaseUI_FirebaseGoogleAuthUI"; -#else -static NSString *const kBundleName = @"FirebaseGoogleAuthUI"; -#endif // SWIFT_PACKAGE - -/** @var kSignInWithGoogle - @brief The string key for localized button text. - */ -static NSString *const kSignInWithGoogle = @"SignInWithGoogle"; - -@interface FUIGoogleAuth () - -/** @property authUI - @brief FUIAuth instance of the application. - */ -@property(nonatomic, strong) FUIAuth *authUI; - -/** @property providerForEmulator - @brief The OAuth provider to be used when the emulator is enabled. - */ -@property(nonatomic, strong) FIROAuthProvider *providerForEmulator; - -@end -@implementation FUIGoogleAuth { - /** @var _email - @brief The email address associated with this account. - */ - NSString *_email; -} - -+ (NSBundle *)bundle { - return [FUIAuthUtils bundleNamed:kBundleName - inFrameworkBundle:[NSBundle bundleForClass:[self class]]]; -} - -+ (NSArray *)defaultScopes { - return @[kGoogleUserInfoEmailScope, kGoogleUserInfoProfileScope]; -} - -- (instancetype)initWithAuthUI:(FUIAuth *)authUI { - return [self initWithAuthUI:authUI scopes:@[kGoogleUserInfoEmailScope, kGoogleUserInfoProfileScope]]; -} - -- (instancetype)initWithAuthUI:(FUIAuth *)authUI scopes:(NSArray *)scopes { - self = [super init]; - if (self) { - _authUI = authUI; - _scopes = [scopes copy]; - if (_authUI.isEmulatorEnabled) { - _providerForEmulator = [FIROAuthProvider providerWithProviderID:self.providerID]; - } - } - return self; -} - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-implementations" -- (instancetype)init { - return [self initWithScopes:[[self class] defaultScopes]]; -} - -- (instancetype)initWithScopes:(NSArray *)scopes { - self = [super init]; - if (self) { - _scopes = [scopes copy]; - } - return self; -} -#pragma clang diagnostic pop - -- (GIDSignIn *)googleSignIn { - return GIDSignIn.sharedInstance; -} - -- (NSString *)clientID { - return self.authUI.auth.app.options.clientID; -} - -#pragma mark - FUIAuthProvider - -- (nullable NSString *)providerID { - // TODO: Replace with FIRGoogleAuthProvider.id when Firebase 11 is the minimum. - return @"google.com"; -} - -- (nullable NSString *)accessToken { - if (self.authUI.isEmulatorEnabled) { - return nil; - } - return [self googleSignIn].currentUser.accessToken.tokenString; -} - -- (nullable NSString *)idToken { - if (self.authUI.isEmulatorEnabled) { - return nil; - } - return [self googleSignIn].currentUser.idToken.tokenString; -} - -- (NSString *)shortName { - return @"Google"; -} - -- (NSString *)signInLabel { - return FUILocalizedStringFromTableInBundle(kSignInWithGoogle, - kTableName, - [FUIGoogleAuth bundle]); -} - -- (UIImage *)icon { - return [FUIAuthUtils imageNamed:@"ic_google" fromBundle:[FUIGoogleAuth bundle]]; -} - -- (UIColor *)buttonBackgroundColor { - return [UIColor whiteColor]; -} - -- (UIColor *)buttonTextColor { - return [UIColor colorWithWhite:0 alpha:0.54f]; -} - -#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 { - - if (self.authUI.isEmulatorEnabled) { - [self signInWithOAuthProvider:self.providerForEmulator - presentingViewController:presentingViewController - completion:completion]; - return; - } - - GIDSignIn *signIn = [self googleSignIn]; - NSString *clientID = [self clientID]; - - if (!clientID) { - [NSException raise:NSInternalInconsistencyException - format:@"OAuth client ID not found. Please make sure Google Sign-In is enabled in " - @"the Firebase console. You may have to download a new GoogleService-Info.plist file after " - @"enabling Google Sign-In."]; - } - - FUIAuthProviderSignInCompletionBlock callback = ^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - _Nullable FIRAuthResultCallback result, - NSDictionary *_Nullable userInfo) { - if (completion) { - completion(credential, error, result, userInfo); - } - }; - - signIn.configuration = [[GIDConfiguration alloc] initWithClientID:clientID]; - - [signIn signInWithPresentingViewController:presentingViewController - hint:defaultValue completion:^(GIDSignInResult * _Nullable signInResult, NSError * _Nullable error) { - [self handleSignInWithUser:signInResult.user - error:error - presentingViewController:presentingViewController - callback:callback]; - }]; -} - -- (void)signInWithOAuthProvider:(FIROAuthProvider *)oauthProvider - presentingViewController:(nullable UIViewController *)presentingViewController - completion:(nullable FUIAuthProviderSignInCompletionBlock)completion { - oauthProvider.scopes = [[self class] defaultScopes]; - - [oauthProvider getCredentialWithUIDelegate:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error) { - if (error) { - [FUIAuthBaseViewController showAlertWithMessage:error.localizedDescription - presentingViewController:presentingViewController]; - if (completion) { - completion(nil, error, nil, nil); - } - return; - } - if (completion) { - UIActivityIndicatorView *activityView = - [FUIAuthBaseViewController addActivityIndicator:presentingViewController.view]; - [activityView startAnimating]; - FIRAuthResultCallback result = ^(FIRUser *_Nullable user, - NSError *_Nullable error) { - [activityView stopAnimating]; - [activityView removeFromSuperview]; - }; - completion(credential, nil, result, nil); - } - }]; -} - -- (void)signOut { - if (self.authUI.isEmulatorEnabled) { - return; - } - GIDSignIn *signIn = [self googleSignIn]; - [signIn signOut]; -} - -- (BOOL)handleOpenURL:(NSURL *)URL sourceApplication:(NSString *)sourceApplication { - if (self.authUI.isEmulatorEnabled) { - return NO; - } - GIDSignIn *signIn = [self googleSignIn]; - return [signIn handleURL:URL]; -} - -- (NSString *)email { - return _email; -} - -- (void)handleSignInWithUser:(GIDGoogleUser *)user - error:(NSError *)error - presentingViewController:(UIViewController *)presentingViewController - callback:(FUIAuthProviderSignInCompletionBlock)callback { - if (error) { - if (error.code == kGIDSignInErrorCodeCanceled) { - NSError *newError = [FUIAuthErrorUtils userCancelledSignInError]; - if (callback) { - callback(nil, newError, nil, nil); - } - } else { - NSError *newError = - [FUIAuthErrorUtils providerErrorWithUnderlyingError:error - providerID:@"google.com"]; - if (callback) { - callback(nil, newError, nil, nil); - } - } - return; - } - _email = user.profile.email; - UIActivityIndicatorView *activityView = - [FUIAuthBaseViewController addActivityIndicator:presentingViewController.view]; - [activityView startAnimating]; - FIRAuthCredential *credential = - [FIRGoogleAuthProvider credentialWithIDToken:user.idToken.tokenString - accessToken:user.accessToken.tokenString]; - FIRAuthResultCallback result = ^(FIRUser *_Nullable user, - NSError *_Nullable error) { - [activityView stopAnimating]; - [activityView removeFromSuperview]; - }; - if (callback) { - callback(credential, error, result, nil); - } -} - -@end diff --git a/FirebaseGoogleAuthUI/Sources/Info.plist b/FirebaseGoogleAuthUI/Sources/Info.plist deleted file mode 100644 index e688d8b94f8..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 0.5 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/FirebaseGoogleAuthUI/Sources/Public/FirebaseGoogleAuthUI/FUIGoogleAuth.h b/FirebaseGoogleAuthUI/Sources/Public/FirebaseGoogleAuthUI/FUIGoogleAuth.h deleted file mode 100644 index d0c39c76735..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Public/FirebaseGoogleAuthUI/FUIGoogleAuth.h +++ /dev/null @@ -1,94 +0,0 @@ -// -// 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 - -NS_ASSUME_NONNULL_BEGIN - -/** @var kGoogleGamesScope - @brief The OAuth scope string for the "Games" scope. - */ -static NSString *const kGoogleGamesScope = @"https://www.googleapis.com/auth/games"; - -/** @var kGooglePlusMeScope - @brief The OAuth scope string for the "plus.me" scope. - */ -static NSString *const kGooglePlusMeScope = @"https://www.googleapis.com/auth/plus.me"; - -/** @var kGooglePlusMeScope - @brief The OAuth scope string for the user's email scope. - */ -static NSString *const kGoogleUserInfoEmailScope = @"https://www.googleapis.com/auth/userinfo.email"; - -/** @var kGooglePlusMeScope - @brief The OAuth scope string for the basic G+ profile information scope. - */ -static NSString *const kGoogleUserInfoProfileScope = @"https://www.googleapis.com/auth/userinfo.profile"; - -/** @class FUIGoogleAuth - @brief AuthUI components for Google Sign In. - */ -@interface FUIGoogleAuth : NSObject - -/** @property scopes - @brief The scopes to use with Google Sign In. - @remarks Defaults to using email and profile scopes. For a list of all scopes - see https://developers.google.com/identity/protocols/googlescopes. - Starting with GoogleSignIn 6.0, scopes are no longer granted upon first authentication and - should be requested lazily. - */ -@property(nonatomic, copy, readonly) NSArray *scopes; - -/** @property buttonAlignment - @brief The alignment of the icon and text of the button. - */ -@property(nonatomic, readwrite) FUIButtonAlignment buttonAlignment; - -/** @fn initWithAuthUI - @brief Convenience initializer. Calls designated init with default - scopes of "email" and "profile". - @param authUI The @c FUIAuth instance that manages this provider. - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI; - -/** @fn initWithAuthUI:scopes: - @brief Designated initializer. - @param authUI The @c FUIAuth instance that manages this provider. - @param scopes The user account scopes required by the app. A list of possible scopes can be - found at https://developers.google.com/identity/protocols/googlescopes. - Starting with GoogleSignIn 6.0, scopes are no longer granted upon first authentication and - should be requested lazily. - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI - scopes:(NSArray *)scopes NS_DESIGNATED_INITIALIZER; - -/** @fn init - @brief Convenience initializer. Calls designated init with default - scopes of "email" and "profile". - */ -- (instancetype)init -__attribute__((deprecated("Instead use initWithAuthUI:"))); - -/** @fn initWithScopes: - @param scopes The user account scopes required by the app. A list of possible scopes can be - found at https://developers.google.com/identity/protocols/googlescopes - */ -- (instancetype)initWithScopes:(NSArray *)scopes -__attribute__((deprecated("Instead use initWithAuthUI:permissions:"))) NS_DESIGNATED_INITIALIZER; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseGoogleAuthUI/Sources/Public/FirebaseGoogleAuthUI/FirebaseGoogleAuthUI.h b/FirebaseGoogleAuthUI/Sources/Public/FirebaseGoogleAuthUI/FirebaseGoogleAuthUI.h deleted file mode 100644 index 8ebc7aca199..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Public/FirebaseGoogleAuthUI/FirebaseGoogleAuthUI.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// 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 - -//! Project version number for FirebaseGoogleAuthUI. -FOUNDATION_EXPORT double FirebaseGoogleAuthUIVersionNumber; - -//! Project version string for FirebaseGoogleAuthUI. -FOUNDATION_EXPORT const unsigned char FirebaseGoogleAuthUIVersionString[]; - -#import "FUIGoogleAuth.h" diff --git a/FirebaseGoogleAuthUI/Sources/Resources/ic_google.png b/FirebaseGoogleAuthUI/Sources/Resources/ic_google.png deleted file mode 100644 index 4b0e1c00598..00000000000 Binary files a/FirebaseGoogleAuthUI/Sources/Resources/ic_google.png and /dev/null differ diff --git a/FirebaseGoogleAuthUI/Sources/Resources/ic_google@2x.png b/FirebaseGoogleAuthUI/Sources/Resources/ic_google@2x.png deleted file mode 100644 index 62b29c6a027..00000000000 Binary files a/FirebaseGoogleAuthUI/Sources/Resources/ic_google@2x.png and /dev/null differ diff --git a/FirebaseGoogleAuthUI/Sources/Resources/ic_google@3x.png b/FirebaseGoogleAuthUI/Sources/Resources/ic_google@3x.png deleted file mode 100644 index 2a2ac76cd98..00000000000 Binary files a/FirebaseGoogleAuthUI/Sources/Resources/ic_google@3x.png and /dev/null differ diff --git a/FirebaseGoogleAuthUI/Sources/Strings/ar.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/ar.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 4efe22304ad..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/ar.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "تسجيل الدخول عبر Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/bg.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/bg.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 839b9a1568d..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/bg.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Вход с Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/bn.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/bn.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index e31fe5224d2..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/bn.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Google দিয়ে সাইন-ইন করুন"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/ca.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/ca.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 63865fea9ef..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/ca.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Inicia la sessió amb Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/cs.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/cs.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 42c972b2eb8..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/cs.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Přihlaste se účtem Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/da.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/da.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 2db7de8b1e3..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/da.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Log ind med Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/de-AT.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/de-AT.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index f34ffa78781..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/de-AT.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Über Google anmelden"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/de-CH.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/de-CH.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index f34ffa78781..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/de-CH.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Über Google anmelden"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/de.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/de.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index f34ffa78781..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/de.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Über Google anmelden"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/el.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/el.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 76a035b4c06..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/el.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Σύνδεση μέσω Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/en-AU.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/en-AU.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index f8145396bff..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/en-AU.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Sign in with Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/en-CA.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/en-CA.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index f8145396bff..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/en-CA.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Sign in with Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/en-GB.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/en-GB.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index f8145396bff..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/en-GB.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Sign in with Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/en-IE.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/en-IE.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index f8145396bff..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/en-IE.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Sign in with Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/en-IN.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/en-IN.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index f8145396bff..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/en-IN.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Sign in with Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/en-SG.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/en-SG.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index f8145396bff..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/en-SG.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Sign in with Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/en-ZA.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/en-ZA.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index f8145396bff..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/en-ZA.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Sign in with Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/en.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/en.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index f8145396bff..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/en.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Sign in with Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-419.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-419.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-419.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-AR.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-AR.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-AR.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-BO.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-BO.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-BO.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-CL.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-CL.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-CL.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-CO.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-CO.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-CO.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-CR.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-CR.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-CR.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-DO.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-DO.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-DO.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-EC.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-EC.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-EC.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-GT.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-GT.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-GT.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-HN.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-HN.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-HN.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-MX.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-MX.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-MX.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-NI.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-NI.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-NI.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-PA.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-PA.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-PA.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-PE.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-PE.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-PE.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-PR.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-PR.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-PR.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-PY.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-PY.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-PY.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-SV.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-SV.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-SV.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-US.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-US.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-US.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-UY.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-UY.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-UY.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es-VE.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es-VE.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 874628731b1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es-VE.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Acceder con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/es.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/es.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 0c63fccaa75..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/es.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Iniciar sesión con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/fa.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/fa.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 9675abcf7e6..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/fa.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "ورود به سیستم با Google‎"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/fi.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/fi.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 3eb0d25c1e9..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/fi.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Kirjaudu Google-tilillä"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/fil.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/fil.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index a2df5adf86e..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/fil.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Mag-sign in sa Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/fr-CH.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/fr-CH.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 890742b1bd2..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/fr-CH.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Se connecter avec Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/fr.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/fr.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 890742b1bd2..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/fr.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Se connecter avec Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/gsw.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/gsw.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index f34ffa78781..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/gsw.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Über Google anmelden"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/gu.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/gu.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 395c7b2f0d1..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/gu.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Google વડે સાઇન ઇન કરો"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/he.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/he.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index a1e7afc26ed..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/he.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "כניסה באמצעות Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/hi.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/hi.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index bca4cb818a8..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/hi.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Google से प्रवेश करें"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/hr.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/hr.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 733dc1fe6c7..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/hr.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Prijava putem Googlea"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/hu.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/hu.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 6512cffe095..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/hu.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Bejelentkezés Google-fiókkal"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/id.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/id.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 01e14638732..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/id.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Login dengan Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/it.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/it.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 5e0b7c7921e..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/it.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Accedi con Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/ja.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/ja.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index f56a07b2c7f..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/ja.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Google でログイン"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/kn.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/kn.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index b9e52fdac39..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/kn.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Google ಮೂಲಕ ಸೈನ್ ಇನ್ ಮಾಡಿ"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/ko.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/ko.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index bb872f3e762..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/ko.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Google 계정으로 로그인"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/ln.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/ln.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 890742b1bd2..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/ln.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Se connecter avec Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/lt.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/lt.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 7743afbf5aa..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/lt.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Prisijungti per „Google“"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/lv.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/lv.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 079aad36c18..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/lv.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Pierakstīties ar Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/mr.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/mr.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 22347ebdaf8..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/mr.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Googleने साइन इन करा"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/ms.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/ms.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index dfedb53cb1d..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/ms.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Log masuk dengan Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/nb.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/nb.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index e4f3243c1ac..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/nb.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Logg på med Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/nl.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/nl.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 42bfe001721..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/nl.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Inloggen met Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/nn-NO.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/nn-NO.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index e4f3243c1ac..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/nn-NO.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Logg på med Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/pl.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/pl.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 149abf6a1a8..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/pl.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Zaloguj się przez Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/pt-BR.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/pt-BR.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 0fa304fb2a2..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/pt-BR.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Fazer login com o Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/pt-PT.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/pt-PT.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 2ca321d981e..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/pt-PT.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Iniciar sessão com o Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/pt.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/pt.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 0fa304fb2a2..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/pt.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Fazer login com o Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/ro.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/ro.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index e5d25a7e0eb..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/ro.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Conectați-vă cu Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/ru.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/ru.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index dba30be2cdc..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/ru.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Войти через аккаунт Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/sk.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/sk.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 854dad1cb6d..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/sk.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Prihlásiť sa cez Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/sl.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/sl.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 40bfec3cf7d..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/sl.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Prijava z Google Računom"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/sr-Latn.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/sr-Latn.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 65a17604dd6..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/sr-Latn.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Prijavi me pomoću Google-a"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/sr.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/sr.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index b3cde9919b3..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/sr.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Пријави ме помоћу Google-а"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/sv.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/sv.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 2292766a226..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/sv.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Logga in med Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/ta.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/ta.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 4affb1375d3..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/ta.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Google மூலம் உள்நுழைக"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/th.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/th.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index a0713d48bb7..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/th.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "ลงชื่อเข้าใช้ด้วย Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/tr.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/tr.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index a715b653e2c..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/tr.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Google ile oturum aç"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/uk.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/uk.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index f1a8af112a7..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/uk.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Увійти через Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/ur.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/ur.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 5d012107c6f..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/ur.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Google کے ساتھ سائن ان کریں"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/vi.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/vi.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 8a4d2921625..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/vi.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "Đăng nhập bằng Google"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/zh-Hans.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/zh-Hans.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 25c7aef4395..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/zh-Hans.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "使用 Google 帐号登录"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/zh-Hant-TW.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/zh-Hant-TW.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 26e20b9d65a..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/zh-Hant-TW.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "使用 Google 帳戶登入"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/zh-Hant.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/zh-Hant.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 26e20b9d65a..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/zh-Hant.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "使用 Google 帳戶登入"; diff --git a/FirebaseGoogleAuthUI/Sources/Strings/zh.lproj/FirebaseGoogleAuthUI.strings b/FirebaseGoogleAuthUI/Sources/Strings/zh.lproj/FirebaseGoogleAuthUI.strings deleted file mode 100644 index 25c7aef4395..00000000000 --- a/FirebaseGoogleAuthUI/Sources/Strings/zh.lproj/FirebaseGoogleAuthUI.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* The text of the button used to sign-in with Google. */ -"SignInWithGoogle" = "使用 Google 帐号登录"; diff --git a/FirebaseOAuthUI.podspec b/FirebaseOAuthUI.podspec deleted file mode 100644 index c2d271cb9b8..00000000000 --- a/FirebaseOAuthUI.podspec +++ /dev/null @@ -1,27 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'FirebaseOAuthUI' - s.version = '15.1.0' - s.summary = 'A collection of OAuth providers for FirebaseAuthUI.' - s.homepage = 'https://github.com/firebase/FirebaseUI-iOS' - s.license = { :type => 'Apache 2.0', :file => 'LICENSE' } - s.source = { :git => 'https://github.com/firebase/FirebaseUI-iOS.git', :tag => 'v' + s.version.to_s} - s.author = 'Firebase' - s.platform = :ios - s.ios.deployment_target = '13.0' - s.ios.framework = 'UIKit' - s.requires_arc = true - s.cocoapods_version = '>= 1.8.0' - s.pod_target_xcconfig = { - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', - } - s.swift_version = '6.0' - - s.public_header_files = 'FirebaseOAuthUI/Sources/Public/FirebaseOAuthUI/*.h' - s.source_files = 'FirebaseOAuthUI/Sources/**/*.{h,m}' - s.dependency 'FirebaseAuthUI', '~> 15.0' - s.dependency 'FirebaseAuth', '>= 8.0', '< 13.0' - s.resource_bundles = { - 'FirebaseOAuthUI' => ['FirebaseOAuthUI/Sources/{Resources,Strings}/*.{png,lproj}'] - } - -end diff --git a/FirebaseOAuthUI/FirebaseOAuthUI.xcodeproj/project.pbxproj b/FirebaseOAuthUI/FirebaseOAuthUI.xcodeproj/project.pbxproj deleted file mode 100644 index 84eb76a8da9..00000000000 --- a/FirebaseOAuthUI/FirebaseOAuthUI.xcodeproj/project.pbxproj +++ /dev/null @@ -1,531 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 8D69E22721DD476D00CFA49B /* FirebaseOAuthUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8D69E21D21DD476C00CFA49B /* FirebaseOAuthUI.framework */; }; - 8D69E22C21DD476D00CFA49B /* FirebaseOAuthUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E22B21DD476D00CFA49B /* FirebaseOAuthUITests.m */; }; - 8D69E22E21DD476D00CFA49B /* FirebaseOAuthUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E22021DD476D00CFA49B /* FirebaseOAuthUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E23921DD47B400CFA49B /* FUIOAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E23721DD47B400CFA49B /* FUIOAuth.m */; }; - 8D69E23A21DD47B400CFA49B /* FUIOAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E23821DD47B400CFA49B /* FUIOAuth.h */; settings = {ATTRIBUTES = (Public, ); }; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 8D69E22821DD476D00CFA49B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8D69E21421DD476C00CFA49B /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8D69E21C21DD476C00CFA49B; - remoteInfo = FirebaseOAuthUI; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 8D69E21D21DD476C00CFA49B /* FirebaseOAuthUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FirebaseOAuthUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E22021DD476D00CFA49B /* FirebaseOAuthUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FirebaseOAuthUI.h; sourceTree = ""; }; - 8D69E22121DD476D00CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E22621DD476D00CFA49B /* FirebaseOAuthUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FirebaseOAuthUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E22B21DD476D00CFA49B /* FirebaseOAuthUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirebaseOAuthUITests.m; sourceTree = ""; }; - 8D69E22D21DD476D00CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E23721DD47B400CFA49B /* FUIOAuth.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIOAuth.m; sourceTree = ""; }; - 8D69E23821DD47B400CFA49B /* FUIOAuth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIOAuth.h; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8D69E21A21DD476C00CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E22321DD476D00CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E22721DD476D00CFA49B /* FirebaseOAuthUI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 5763488F2FEC8FD187D3A6FB /* Pods */ = { - isa = PBXGroup; - children = ( - ); - path = Pods; - sourceTree = ""; - }; - 8D55F164261E6E9F0020DFB0 /* Public */ = { - isa = PBXGroup; - children = ( - 8DF993772637696200DC12D1 /* FirebaseOAuthUI */, - ); - path = Public; - sourceTree = ""; - }; - 8D69E21321DD476C00CFA49B = { - isa = PBXGroup; - children = ( - 8D69E21F21DD476C00CFA49B /* Sources */, - 8D69E22A21DD476D00CFA49B /* FirebaseOAuthUITests */, - 8D69E21E21DD476C00CFA49B /* Products */, - 5763488F2FEC8FD187D3A6FB /* Pods */, - ); - sourceTree = ""; - }; - 8D69E21E21DD476C00CFA49B /* Products */ = { - isa = PBXGroup; - children = ( - 8D69E21D21DD476C00CFA49B /* FirebaseOAuthUI.framework */, - 8D69E22621DD476D00CFA49B /* FirebaseOAuthUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 8D69E21F21DD476C00CFA49B /* Sources */ = { - isa = PBXGroup; - children = ( - 8D55F164261E6E9F0020DFB0 /* Public */, - 8D69E23721DD47B400CFA49B /* FUIOAuth.m */, - 8D69E22121DD476D00CFA49B /* Info.plist */, - ); - path = Sources; - sourceTree = ""; - }; - 8D69E22A21DD476D00CFA49B /* FirebaseOAuthUITests */ = { - isa = PBXGroup; - children = ( - 8D69E22B21DD476D00CFA49B /* FirebaseOAuthUITests.m */, - 8D69E22D21DD476D00CFA49B /* Info.plist */, - ); - path = FirebaseOAuthUITests; - sourceTree = ""; - }; - 8DF993772637696200DC12D1 /* FirebaseOAuthUI */ = { - isa = PBXGroup; - children = ( - 8D69E22021DD476D00CFA49B /* FirebaseOAuthUI.h */, - 8D69E23821DD47B400CFA49B /* FUIOAuth.h */, - ); - path = FirebaseOAuthUI; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 8D69E21821DD476C00CFA49B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E22E21DD476D00CFA49B /* FirebaseOAuthUI.h in Headers */, - 8D69E23A21DD47B400CFA49B /* FUIOAuth.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 8D69E21C21DD476C00CFA49B /* FirebaseOAuthUI */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E23121DD476D00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseOAuthUI" */; - buildPhases = ( - 8D69E21821DD476C00CFA49B /* Headers */, - 8D69E21921DD476C00CFA49B /* Sources */, - 8D69E21A21DD476C00CFA49B /* Frameworks */, - 8D69E21B21DD476C00CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FirebaseOAuthUI; - productName = FirebaseOAuthUI; - productReference = 8D69E21D21DD476C00CFA49B /* FirebaseOAuthUI.framework */; - productType = "com.apple.product-type.framework"; - }; - 8D69E22521DD476D00CFA49B /* FirebaseOAuthUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E23421DD476D00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseOAuthUITests" */; - buildPhases = ( - 8D69E22221DD476D00CFA49B /* Sources */, - 8D69E22321DD476D00CFA49B /* Frameworks */, - 8D69E22421DD476D00CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 8D69E22921DD476D00CFA49B /* PBXTargetDependency */, - ); - name = FirebaseOAuthUITests; - productName = FirebaseOAuthUITests; - productReference = 8D69E22621DD476D00CFA49B /* FirebaseOAuthUITests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 8D69E21421DD476C00CFA49B /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1010; - ORGANIZATIONNAME = Firebase; - TargetAttributes = { - 8D69E21C21DD476C00CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - 8D69E22521DD476D00CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - }; - }; - buildConfigurationList = 8D69E21721DD476C00CFA49B /* Build configuration list for PBXProject "FirebaseOAuthUI" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 8D69E21321DD476C00CFA49B; - productRefGroup = 8D69E21E21DD476C00CFA49B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8D69E21C21DD476C00CFA49B /* FirebaseOAuthUI */, - 8D69E22521DD476D00CFA49B /* FirebaseOAuthUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8D69E21B21DD476C00CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E22421DD476D00CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8D69E21921DD476C00CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E23921DD47B400CFA49B /* FUIOAuth.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E22221DD476D00CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E22C21DD476D00CFA49B /* FirebaseOAuthUITests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 8D69E22921DD476D00CFA49B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8D69E21C21DD476C00CFA49B /* FirebaseOAuthUI */; - targetProxy = 8D69E22821DD476D00CFA49B /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 8D69E22F21DD476D00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../\""; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 8D69E23021DD476D00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../\""; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 8D69E23221DD476D00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseOAuthUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E23321DD476D00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseOAuthUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 8D69E23521DD476D00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseOAuthUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/OCMock\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/nanopb\"", - "\"$(PODS_CONFIGURATION_BUILD_DIR)/FirebaseAuthUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"OCMock\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseOAuthUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E23621DD476D00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseOAuthUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/OCMock\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/nanopb\"", - "\"$(PODS_CONFIGURATION_BUILD_DIR)/FirebaseAuthUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreInternal\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"OCMock\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseOAuthUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 8D69E21721DD476C00CFA49B /* Build configuration list for PBXProject "FirebaseOAuthUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E22F21DD476D00CFA49B /* Debug */, - 8D69E23021DD476D00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E23121DD476D00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseOAuthUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E23221DD476D00CFA49B /* Debug */, - 8D69E23321DD476D00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E23421DD476D00CFA49B /* Build configuration list for PBXNativeTarget "FirebaseOAuthUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E23521DD476D00CFA49B /* Debug */, - 8D69E23621DD476D00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 8D69E21421DD476C00CFA49B /* Project object */; -} diff --git a/FirebaseOAuthUI/FirebaseOAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseOAuthUI.xcscheme b/FirebaseOAuthUI/FirebaseOAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseOAuthUI.xcscheme deleted file mode 100644 index 86e56de6152..00000000000 --- a/FirebaseOAuthUI/FirebaseOAuthUI.xcodeproj/xcshareddata/xcschemes/FirebaseOAuthUI.xcscheme +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebaseOAuthUI/FirebaseOAuthUITests/FirebaseOAuthUITests.m b/FirebaseOAuthUI/FirebaseOAuthUITests/FirebaseOAuthUITests.m deleted file mode 100644 index 4896dd53bc5..00000000000 --- a/FirebaseOAuthUI/FirebaseOAuthUITests/FirebaseOAuthUITests.m +++ /dev/null @@ -1,112 +0,0 @@ -// -// Copyright (c) 2019 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 -#import - -@import FirebaseAuth; -#import -#import - -#import "FUIOAuth.h" - -@interface FirebaseOAuthUITests : XCTestCase -@property (nonatomic, strong) FUIOAuth *provider; -@property (nonatomic, strong) FUIAuth *authUI; -@property (nonatomic, strong) id mockOAuthProvider; -@end - -@implementation FirebaseOAuthUITests - -- (void)setUp { - [super setUp]; - - id authClass = OCMClassMock([FIRAuth class]); - OCMStub(ClassMethod([authClass auth])). - andReturn(authClass); - - id appClass = OCMClassMock([FIRApp class]); - OCMStub([authClass app]).andReturn(appClass); - - FIRAuth *auth = [FIRAuth auth]; - self.authUI = [FUIAuth authUIWithAuth:auth]; - - self.mockOAuthProvider = OCMClassMock([FIROAuthProvider class]); - OCMStub(ClassMethod([_mockOAuthProvider providerWithProviderID:OCMOCK_ANY auth:self.authUI.auth])). - andReturn(_mockOAuthProvider); -} - -- (void)tearDown { - self.provider = nil; - self.authUI = nil; - self.mockOAuthProvider = nil; - [super tearDown]; -} - -- (void)testProviderValidity { - self.provider = [[FUIOAuth alloc] initWithAuthUI:self.authUI - providerID:@"dummy" - buttonLabelText:@"Sign in with dummy" - shortName:@"Dummy" - buttonColor:[UIColor clearColor] - iconImage:[UIImage imageNamed:@""] - scopes:@[] - customParameters:@{} - loginHintKey:nil]; - - XCTAssertNotNil(self.provider); - XCTAssertNil(self.provider.icon); - XCTAssertNotNil(self.provider.signInLabel); - XCTAssertNotNil(self.provider.buttonBackgroundColor); - XCTAssertNotNil(self.provider.buttonTextColor); - XCTAssertNotNil(self.provider.providerID); - XCTAssertNotNil(self.provider.shortName); - XCTAssertTrue(self.provider.signInLabel.length != 0); - XCTAssertNil(self.provider.accessToken); - XCTAssertNil(self.provider.idToken); - - OCMVerify([self.mockOAuthProvider providerWithProviderID:@"dummy" auth:self.authUI.auth]); -} - -- (void)testAppleUsesEmulatorCreatesOAuthProvider { - [self.authUI useEmulatorWithHost:@"host" port:12345]; - - self.provider = [[FUIOAuth alloc] initWithAuthUI:self.authUI - providerID:@"apple.com" - buttonLabelText:@"Sign in with Apple" - shortName:@"Apple" - buttonColor:[UIColor clearColor] - iconImage:[UIImage imageNamed:@""] - scopes:@[] - customParameters:@{} - loginHintKey:nil]; - OCMVerify([self.mockOAuthProvider providerWithProviderID:@"apple.com" auth:self.authUI.auth]); -} - -- (void)testAppleNoUseEmulatorNoOAuthProvider { - self.provider = [[FUIOAuth alloc] initWithAuthUI:self.authUI - providerID:@"apple.com" - buttonLabelText:@"Sign in with Apple" - shortName:@"Apple" - buttonColor:[UIColor clearColor] - iconImage:[UIImage imageNamed:@""] - scopes:@[] - customParameters:@{} - loginHintKey:nil]; - OCMVerify(never(), [self.mockOAuthProvider providerWithProviderID:@"apple.com" auth:self.authUI.auth]); -} - -@end diff --git a/FirebaseOAuthUI/FirebaseOAuthUITests/Info.plist b/FirebaseOAuthUI/FirebaseOAuthUITests/Info.plist deleted file mode 100644 index ba72822e872..00000000000 --- a/FirebaseOAuthUI/FirebaseOAuthUITests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/FirebaseOAuthUI/Podfile b/FirebaseOAuthUI/Podfile deleted file mode 100644 index eb6235ebc54..00000000000 --- a/FirebaseOAuthUI/Podfile +++ /dev/null @@ -1,16 +0,0 @@ -# source 'sso://cpdc-internal/firebase' -source 'https://github.com/CocoaPods/Specs.git' - -platform :ios, '13.0' - -target 'FirebaseOAuthUI' do - use_frameworks! - - pod 'FirebaseAuthUI', :path => '../' - - target 'FirebaseOAuthUITests' do - inherit! :search_paths - pod 'OCMock' - end - -end diff --git a/FirebaseOAuthUI/Sources/FUIOAuth.m b/FirebaseOAuthUI/Sources/FUIOAuth.m deleted file mode 100644 index 452db652824..00000000000 --- a/FirebaseOAuthUI/Sources/FUIOAuth.m +++ /dev/null @@ -1,395 +0,0 @@ -// -// Copyright (c) 2019 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 FirebaseAuth; - -#import "FirebaseOAuthUI/Sources/Public/FirebaseOAuthUI/FUIOAuth.h" - -#import -#import - -/** @var kTableName - @brief The name of the strings table to search for localized strings. - */ -static NSString *const kTableName = @"FirebaseOAuthUI"; - -/** @var kBundleName - @brief The name of the bundle to search for resources. - */ -#if SWIFT_PACKAGE -static NSString *const kBundleName = @"FirebaseUI_FirebaseOAuthUI"; -#else -static NSString *const kBundleName = @"FirebaseOAuthUI"; -#endif // SWIFT_PACKAGE - -/** @var kSignInAsGuest - @brief The string key for localized button text. - */ -static NSString *const kSignInAsGuest = @"SignInAsGuest"; - -NS_ASSUME_NONNULL_BEGIN - -@interface FUIOAuth () { - FUIAuthProviderSignInCompletionBlock _providerSignInCompletion; -} - -/** @property authUI - @brief FUIAuth instance of the application. - */ -@property(nonatomic, strong) FUIAuth *authUI; - -/** @property presentingViewController - @brief The presenting view controller for interactive sign-in. - */ -@property(nonatomic, strong) UIViewController *presentingViewController; - -/** @property providerID - @brief A unique identifier for the provider. - */ -@property(nonatomic, copy, nullable) NSString *providerID; - -/** @property signInLabel - @brief A localized label for the provider's sign-in button. - */ -@property(nonatomic, copy) NSString *signInLabel; - -/** @property shortName - @brief A short display name for the provider. - */ -@property(nonatomic, copy) NSString *shortName; - -/** @property icon - @brief The icon image of the provider. - */ -@property(nonatomic, strong) UIImage *icon; - -/** @property buttonBackgroundColor - @brief The background color that should be used for the sign in button of the provider. - */ -@property(nonatomic, strong) UIColor *buttonBackgroundColor; - -/** @property buttonTextColor - @brief The text color that should be used for the sign in button of the provider. - */ -@property(nonatomic, readwrite) UIColor *buttonTextColor; - -/** @property scopes - @brief Array used to configure the OAuth scopes. - */ -@property(nonatomic, copy, nullable) NSArray *scopes; - -/** @property customParameters - @brief Dictionary used to configure the OAuth custom parameters. - */ -@property(nonatomic, copy, nullable) NSDictionary *customParameters; - -/** @property loginHintKey - @brief The key of the custom parameter, with which the login hint can be passed to the IdP. - */ -@property(nonatomic, copy, nullable) NSString *loginHintKey; - -/** @property currentNonce - @brief The nonce for the current Sign in with Apple session, if any. - */ -@property(nonatomic, copy, nullable) NSString *currentNonce; - -/** @property provider - @brief The OAuth provider that does the actual sign in. - */ -@property(nonatomic, strong) FIROAuthProvider *provider; - -@end - -@implementation FUIOAuth - -+ (NSBundle *)bundle { - return [FUIAuthUtils bundleNamed:kBundleName - inFrameworkBundle:[NSBundle bundleForClass:[self class]]]; -} - -- (instancetype)initWithAuthUI:(FUIAuth *)authUI - providerID:(NSString *)providerID - buttonLabelText:(NSString *)buttonLabelText - shortName:(NSString *)shortName - buttonColor:(UIColor *)buttonColor - iconImage:(UIImage *)iconImage - scopes:(nullable NSArray *)scopes - customParameters:(nullable NSDictionary *)customParameters - loginHintKey:(nullable NSString *)loginHintKey { - if (self = [super init]) { - _authUI = authUI; - _providerID = providerID; - _signInLabel = buttonLabelText; - _shortName = shortName; - _buttonBackgroundColor = buttonColor; - _buttonTextColor = [UIColor whiteColor]; - _icon = iconImage; - _scopes = scopes; - _customParameters = customParameters; - _loginHintKey = loginHintKey; - if ((_authUI.isEmulatorEnabled || ![_providerID isEqualToString:@"apple.com"]) && ![_providerID isEqualToString:@"facebook.com"]) { - _provider = [FIROAuthProvider providerWithProviderID:self.providerID auth:_authUI.auth]; - } - } - return self; -} - -+ (FUIOAuth *)twitterAuthProvider { - return [FUIOAuth twitterAuthProviderWithAuthUI:[FUIAuth defaultAuthUI]]; -} - -+ (FUIOAuth *)twitterAuthProviderWithAuthUI:(FUIAuth *)authUI { - return [[FUIOAuth alloc] initWithAuthUI:authUI - providerID:@"twitter.com" - buttonLabelText:@"Sign in with Twitter" - shortName:@"Twitter" - buttonColor:[UIColor colorWithRed:71.0f/255.0f - green:154.0f/255.0f - blue:234.0f/255.0f - alpha:1.0f] - iconImage:[FUIAuthUtils imageNamed:@"ic_twitter" - fromBundle:[FUIOAuth bundle]] - scopes:@[@"user.readwrite"] - customParameters:@{@"prompt" : @"consent"} - loginHintKey:nil]; -} - -+ (FUIOAuth *)githubAuthProvider { - return [FUIOAuth githubAuthProviderWithAuthUI:[FUIAuth defaultAuthUI]]; -} - -+ (FUIOAuth *)githubAuthProviderWithAuthUI:(FUIAuth *)authUI -{ - return [[FUIOAuth alloc] initWithAuthUI:authUI - providerID:@"github.com" - buttonLabelText:@"Sign in with GitHub" - shortName:@"GitHub" - buttonColor:[UIColor colorWithRed:0.2 green:0.2 blue:0.2 alpha:1.0] - iconImage:[FUIAuthUtils imageNamed:@"ic_github" - fromBundle:[FUIOAuth bundle]] - scopes:nil - customParameters:nil - loginHintKey:nil]; -} - -+ (FUIOAuth *)microsoftAuthProvider { - return [FUIOAuth microsoftAuthProviderWithAuthUI:[FUIAuth defaultAuthUI]]; -} - -+ (FUIOAuth *)microsoftAuthProviderWithAuthUI:(FUIAuth *)authUI { - return [[FUIOAuth alloc] initWithAuthUI:authUI - providerID:@"microsoft.com" - buttonLabelText:@"Sign in with Microsoft" - shortName:@"Microsoft" - buttonColor:[UIColor colorWithRed:.18 green:.18 blue:.18 alpha:1.0] - iconImage:[FUIAuthUtils imageNamed:@"ic_microsoft" - fromBundle:[FUIOAuth bundle]] - scopes:@[@"user.readwrite"] - customParameters:@{@"prompt" : @"consent"} - loginHintKey:@"login_hint"]; -} - -+ (FUIOAuth *)yahooAuthProvider { - return [FUIOAuth yahooAuthProviderWithAuthUI:[FUIAuth defaultAuthUI]]; -} - -+ (FUIOAuth *)yahooAuthProviderWithAuthUI:(FUIAuth *)authUI { - return [[FUIOAuth alloc] initWithAuthUI:authUI - providerID:@"yahoo.com" - buttonLabelText:@"Sign in with Yahoo" - shortName:@"Yahoo" - buttonColor:[UIColor colorWithRed:.45 green:.05 blue:.62 alpha:1.0] - iconImage:[FUIAuthUtils imageNamed:@"ic_yahoo" - fromBundle:[FUIOAuth bundle]] - scopes:@[@"user.readwrite"] - customParameters:@{@"prompt" : @"consent"} - loginHintKey:nil]; -} - -+ (FUIOAuth *)appleAuthProvider { - return [FUIOAuth appleAuthProviderWithAuthUI:[FUIAuth defaultAuthUI]]; -} - -+ (FUIOAuth *)appleAuthProviderWithAuthUI:(FUIAuth *)authUI { - UIUserInterfaceStyle style = UITraitCollection.currentTraitCollection.userInterfaceStyle; - return [self appleAuthProviderWithAuthUI:authUI userInterfaceStyle:style]; -} - -+ (FUIOAuth *)appleAuthProviderWithUserInterfaceStyle:(UIUserInterfaceStyle)userInterfaceStyle { - return [FUIOAuth appleAuthProviderWithAuthUI:[FUIAuth defaultAuthUI] userInterfaceStyle:userInterfaceStyle]; -} - -+ (FUIOAuth *)appleAuthProviderWithAuthUI:(FUIAuth *)authUI - userInterfaceStyle:(UIUserInterfaceStyle)userInterfaceStyle { - UIImage *iconImage = [FUIAuthUtils imageNamed:@"ic_apple" - fromBundle:[FUIOAuth bundle]]; - UIColor *buttonColor = [UIColor blackColor]; - UIColor *buttonTextColor = [UIColor whiteColor]; - if (userInterfaceStyle == UIUserInterfaceStyleDark) { - iconImage = [iconImage imageWithTintColor:[UIColor blackColor]]; - buttonColor = [UIColor whiteColor]; - buttonTextColor = [UIColor blackColor]; - } else if (userInterfaceStyle == UIUserInterfaceStyleLight) { - iconImage = [iconImage imageWithTintColor:[UIColor whiteColor]]; - buttonColor = [UIColor blackColor]; - buttonTextColor = [UIColor whiteColor]; - } else { - iconImage = [iconImage imageWithTintColor:[UIColor whiteColor]]; - } - FUIOAuth *provider = [[FUIOAuth alloc] initWithAuthUI:authUI - providerID:@"apple.com" - buttonLabelText:@"Sign in with Apple" - shortName:@"Apple" - buttonColor:buttonColor - iconImage:iconImage - scopes:@[@"name", @"email"] - customParameters:nil - loginHintKey:nil]; - provider.buttonAlignment = FUIButtonAlignmentCenter; - provider.buttonTextColor = buttonTextColor; - return provider; -} - -#pragma mark - FUIAuthProvider - -/** @fn accessToken: - @brief OAuth token is matched by FirebaseUI User Access Token - */ -- (nullable NSString *)accessToken { - return nil; -} - -/** @fn idToken: - @brief OAuth Token Secret is matched by FirebaseUI User Id Token - */ -- (nullable NSString *)idToken { - return nil; -} - -#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 { - self.presentingViewController = presentingViewController; - FIROAuthProvider *provider = self.provider; - _providerSignInCompletion = completion; - - if ([self.providerID isEqualToString:@"apple.com"] && !self.authUI.isEmulatorEnabled) { - if (@available(iOS 13.0, *)) { - NSString *nonce = [FUIAuthUtils randomNonce]; - self.currentNonce = nonce; - ASAuthorizationAppleIDRequest *request = [[[ASAuthorizationAppleIDProvider alloc] init] createRequest]; - request.requestedScopes = @[ASAuthorizationScopeFullName, ASAuthorizationScopeEmail]; - request.nonce = [FUIAuthUtils stringBySHA256HashingString:nonce]; - ASAuthorizationController* controller = [[ASAuthorizationController alloc] initWithAuthorizationRequests:@[request]]; - controller.delegate = self; - controller.presentationContextProvider = self; - [controller performRequests]; - } else { - NSLog(@"Sign in with Apple is only available on iOS 13+."); - } - } else { - provider.scopes = self.scopes; - NSMutableDictionary *customParameters = [NSMutableDictionary dictionary]; - if (self.customParameters.count) { - [customParameters addEntriesFromDictionary:self.customParameters]; - } - if (self.loginHintKey.length && defaultValue.length) { - customParameters[self.loginHintKey] = defaultValue; - } - provider.customParameters = [customParameters copy]; - - [self.provider getCredentialWithUIDelegate:nil - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error) { - if (error) { - [FUIAuthBaseViewController showAlertWithMessage:error.localizedDescription - presentingViewController:presentingViewController]; - if (completion) { - completion(nil, error, nil, nil); - } - return; - } - if (completion) { - UIActivityIndicatorView *activityView = - [FUIAuthBaseViewController addActivityIndicator:presentingViewController.view]; - [activityView startAnimating]; - FIRAuthResultCallback result = ^(FIRUser *_Nullable user, - NSError *_Nullable error) { - [activityView stopAnimating]; - [activityView removeFromSuperview]; - }; - completion(credential, nil, result, nil); - } - }]; - } -} - -- (void)signOut { - return; -} - -- (BOOL)handleOpenURL:(NSURL *)URL sourceApplication:(nullable NSString *)sourceApplication { - return NO; -} - -#pragma mark - ASAuthorizationControllerDelegate - -- (void)authorizationController:(ASAuthorizationController *)controller didCompleteWithAuthorization:(ASAuthorization *)authorization API_AVAILABLE(ios(13.0)) { - ASAuthorizationAppleIDCredential *appleIDCredential = authorization.credential; - NSData *rawIdentityToken = appleIDCredential.identityToken; - if (rawIdentityToken == nil) { - // It's pretty awful to not have an error when login is unsuccessful, but Apple's docs - // don't provide any useful information here. - // https://developer.apple.com/documentation/authenticationservices/asauthorizationappleidcredential - NSLog(@"Sign in with Apple completed with authorization, but no jwt: %@", authorization); - _providerSignInCompletion(nil, nil, nil, nil); - } - NSString *idToken = [[NSString alloc] initWithData:appleIDCredential.identityToken encoding:NSUTF8StringEncoding]; - NSString *rawNonce = self.currentNonce; - FIROAuthCredential *credential = [FIROAuthProvider credentialWithProviderID:@"apple.com" - IDToken:idToken - rawNonce:rawNonce]; - _providerSignInCompletion(credential, nil, nil, nil); -} - -- (void)authorizationController:(ASAuthorizationController *)controller didCompleteWithError:(NSError *)error API_AVAILABLE(ios(13.0)) { - NSLog(@"%@", error.description); - // canceled/failed/invalid/Nothandled/Unknown - if (_providerSignInCompletion) { - _providerSignInCompletion(nil, error, nil, nil); - } -} - -#pragma mark - ASAuthorizationControllerPresentationContextProviding - -- (ASPresentationAnchor)presentationAnchorForAuthorizationController:(ASAuthorizationController *)controller API_AVAILABLE(ios(13.0)) { - return self.presentingViewController.view.window; -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseOAuthUI/Sources/Info.plist b/FirebaseOAuthUI/Sources/Info.plist deleted file mode 100644 index d3de8eefb69..00000000000 --- a/FirebaseOAuthUI/Sources/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/FirebaseOAuthUI/Sources/Public/FirebaseOAuthUI/FUIOAuth.h b/FirebaseOAuthUI/Sources/Public/FirebaseOAuthUI/FUIOAuth.h deleted file mode 100644 index 79951516d17..00000000000 --- a/FirebaseOAuthUI/Sources/Public/FirebaseOAuthUI/FUIOAuth.h +++ /dev/null @@ -1,133 +0,0 @@ -// -// Copyright (c) 2019 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. -// - -@class FUIAuth; - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIOAuth - @brief AuthUI components for OAuth Sign In. - */ -@interface FUIOAuth : NSObject - -/** @property buttonAlignment - @brief The alignment of the icon and text of the button. - */ -@property(nonatomic, readwrite) FUIButtonAlignment buttonAlignment; - -/** @fn init - @brief Please use `initWithAuthUI:providerID:providerName:buttonColor:iconImage:scopes: - customParameters:` instead. - */ -- (instancetype)init NS_UNAVAILABLE; - -/** @fn init - @brief Please use `initWithAuthUI:providerID:providerName:buttonColor:iconImage:scopes: - customParameters:` instead. - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI NS_UNAVAILABLE; - -/** @fn initWithAuthUI:providerID:buttonLabelText:buttonColor:iconImage:scopes:customParameters: - @brief AuthUI components for OAuth Sign In. - @param authUI The @c FUIAuth instance that manages controllers of this provider. - @param providerID The unique identifier for the provider. - @param buttonLabelText The text label for the sign in button. - @param shortName A short display name for the provider. - @param buttonColor The background color that should be used for the sign in button of the - provider. - @param iconImage The icon image of the provider. - @param scopes Array used to configure the OAuth scopes. - @param customParameters Dictionary used to configure the OAuth custom parameters. - @param loginHintKey The key of the custom parameter, with which the login hint can be passed to - the IdP. - - */ -- (instancetype)initWithAuthUI:(FUIAuth *)authUI - providerID:(NSString *)providerID - buttonLabelText:(NSString *)buttonLabelText - shortName:(NSString *)shortName - buttonColor:(UIColor *)buttonColor - iconImage:(UIImage *)iconImage - scopes:(nullable NSArray *)scopes - customParameters:(nullable NSDictionary *)customParameters - loginHintKey:(nullable NSString *)loginHintKey - NS_DESIGNATED_INITIALIZER; - -/** @fn twitterAuthProvider - @brief Built-in OAuth provider for Twitter. -*/ -+ (FUIOAuth *)twitterAuthProvider; - -/** @fn twitterAuthProvider - @brief Built-in OAuth provider for Twitter. -*/ -+ (FUIOAuth *)twitterAuthProviderWithAuthUI:(FUIAuth *)authUI; - -/** @fn githubAuthProvider - @brief Built-in OAuth provider for Github. -*/ -+ (FUIOAuth *)githubAuthProvider; - -/** @fn githubAuthProvider - @brief Built-in OAuth provider for Github. -*/ -+ (FUIOAuth *)githubAuthProviderWithAuthUI:(FUIAuth *)authUI; - -/** @fn microsoftAuthProvider - @brief Built-in OAuth provider for Microsoft. -*/ -+ (FUIOAuth *)microsoftAuthProvider; - -/** @fn microsoftAuthProvider - @brief Built-in OAuth provider for Microsoft. -*/ -+ (FUIOAuth *)microsoftAuthProviderWithAuthUI:(FUIAuth *)authUI; - -/** @fn yahooAuthProvider - @brief Built-in OAuth provider for Yahoo. -*/ -+ (FUIOAuth *)yahooAuthProvider; - -/** @fn yahooAuthProvider - @brief Built-in OAuth provider for Yahoo. -*/ -+ (FUIOAuth *)yahooAuthProviderWithAuthUI:(FUIAuth *)authUI; - -/** @fn appleAuthProvider - @brief Built-in OAuth provider for Apple. -*/ -+ (FUIOAuth *)appleAuthProvider API_AVAILABLE(ios(13.0)); - -/** @fn appleAuthProvider - @brief Built-in OAuth provider for Apple. -*/ -+ (FUIOAuth *)appleAuthProviderWithAuthUI:(FUIAuth *)authUI API_AVAILABLE(ios(13.0)); - -/** @fn appleAuthProvider - @brief Built-in OAuth provider with custom UserInterfaceStyle for Apple. -*/ -+ (FUIOAuth *)appleAuthProviderWithUserInterfaceStyle:(UIUserInterfaceStyle)userInterfaceStyle API_AVAILABLE(ios(13.0)); - -/** @fn appleAuthProvider - @brief Built-in OAuth provider with custom UserInterfaceStyle for Apple. -*/ -+ (FUIOAuth *)appleAuthProviderWithAuthUI:(FUIAuth *)authUI userInterfaceStyle:(UIUserInterfaceStyle)userInterfaceStyle API_AVAILABLE(ios(13.0)); - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebaseOAuthUI/Sources/Public/FirebaseOAuthUI/FirebaseOAuthUI.h b/FirebaseOAuthUI/Sources/Public/FirebaseOAuthUI/FirebaseOAuthUI.h deleted file mode 100644 index 3d5aa8aacfd..00000000000 --- a/FirebaseOAuthUI/Sources/Public/FirebaseOAuthUI/FirebaseOAuthUI.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright (c) 2019 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 - -//! Project version number for FirebaseOAuthUI. -FOUNDATION_EXPORT double FirebaseOAuthUIVersionNumber; - -//! Project version string for FirebaseOAuthUI. -FOUNDATION_EXPORT const unsigned char FirebaseOAuthUIVersionString[]; - -#import "FUIOAuth.h" - - diff --git a/FirebaseOAuthUI/Sources/Resources/ic_apple.png b/FirebaseOAuthUI/Sources/Resources/ic_apple.png deleted file mode 100644 index 49f66fcf10a..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_apple.png and /dev/null differ diff --git a/FirebaseOAuthUI/Sources/Resources/ic_apple@2x.png b/FirebaseOAuthUI/Sources/Resources/ic_apple@2x.png deleted file mode 100644 index 5a7f9023cb0..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_apple@2x.png and /dev/null differ diff --git a/FirebaseOAuthUI/Sources/Resources/ic_apple@3x.png b/FirebaseOAuthUI/Sources/Resources/ic_apple@3x.png deleted file mode 100644 index 42e64f962cb..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_apple@3x.png and /dev/null differ diff --git a/FirebaseOAuthUI/Sources/Resources/ic_github.png b/FirebaseOAuthUI/Sources/Resources/ic_github.png deleted file mode 100644 index cae7a5ddfc2..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_github.png and /dev/null differ diff --git a/FirebaseOAuthUI/Sources/Resources/ic_github@2x.png b/FirebaseOAuthUI/Sources/Resources/ic_github@2x.png deleted file mode 100644 index acd642bc19f..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_github@2x.png and /dev/null differ diff --git a/FirebaseOAuthUI/Sources/Resources/ic_github@3x.png b/FirebaseOAuthUI/Sources/Resources/ic_github@3x.png deleted file mode 100644 index ffcfd198a44..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_github@3x.png and /dev/null differ diff --git a/FirebaseOAuthUI/Sources/Resources/ic_microsoft.png b/FirebaseOAuthUI/Sources/Resources/ic_microsoft.png deleted file mode 100644 index 3a57a3e967a..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_microsoft.png and /dev/null differ diff --git a/FirebaseOAuthUI/Sources/Resources/ic_microsoft@2x.png b/FirebaseOAuthUI/Sources/Resources/ic_microsoft@2x.png deleted file mode 100644 index baf89791056..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_microsoft@2x.png and /dev/null differ diff --git a/FirebaseOAuthUI/Sources/Resources/ic_microsoft@3x.png b/FirebaseOAuthUI/Sources/Resources/ic_microsoft@3x.png deleted file mode 100644 index ca78fa69de5..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_microsoft@3x.png and /dev/null differ diff --git a/FirebaseOAuthUI/Sources/Resources/ic_twitter.png b/FirebaseOAuthUI/Sources/Resources/ic_twitter.png deleted file mode 100644 index f1d8c9b4c65..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_twitter.png and /dev/null differ diff --git a/FirebaseOAuthUI/Sources/Resources/ic_twitter@2x.png b/FirebaseOAuthUI/Sources/Resources/ic_twitter@2x.png deleted file mode 100644 index 66f60060d0e..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_twitter@2x.png and /dev/null differ diff --git a/FirebaseOAuthUI/Sources/Resources/ic_twitter@3x.png b/FirebaseOAuthUI/Sources/Resources/ic_twitter@3x.png deleted file mode 100644 index 5a17a16a498..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_twitter@3x.png and /dev/null differ diff --git a/FirebaseOAuthUI/Sources/Resources/ic_yahoo.png b/FirebaseOAuthUI/Sources/Resources/ic_yahoo.png deleted file mode 100644 index 3d0060050d2..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_yahoo.png and /dev/null differ diff --git a/FirebaseOAuthUI/Sources/Resources/ic_yahoo@2x.png b/FirebaseOAuthUI/Sources/Resources/ic_yahoo@2x.png deleted file mode 100644 index 0deffb137a2..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_yahoo@2x.png and /dev/null differ diff --git a/FirebaseOAuthUI/Sources/Resources/ic_yahoo@3x.png b/FirebaseOAuthUI/Sources/Resources/ic_yahoo@3x.png deleted file mode 100644 index f3bf49ed073..00000000000 Binary files a/FirebaseOAuthUI/Sources/Resources/ic_yahoo@3x.png and /dev/null differ diff --git a/FirebasePhoneAuthUI.podspec b/FirebasePhoneAuthUI.podspec deleted file mode 100644 index ffdb3b8888a..00000000000 --- a/FirebasePhoneAuthUI.podspec +++ /dev/null @@ -1,27 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'FirebasePhoneAuthUI' - s.version = '15.1.0' - s.summary = 'A phone auth provider for FirebaseAuthUI.' - s.homepage = 'https://github.com/firebase/FirebaseUI-iOS' - s.license = { :type => 'Apache 2.0', :file => 'LICENSE' } - s.source = { :git => 'https://github.com/firebase/FirebaseUI-iOS.git', :tag => 'v' + s.version.to_s} - s.author = 'Firebase' - s.platform = :ios - s.ios.deployment_target = '13.0' - s.ios.framework = 'UIKit' - s.requires_arc = true - s.cocoapods_version = '>= 1.8.0' - s.pod_target_xcconfig = { - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', - } - s.swift_version = '6.0' - - s.public_header_files = 'FirebasePhoneAuthUI/Sources/Public/FirebasePhoneAuthUI/*.h' - s.source_files = 'FirebasePhoneAuthUI/Sources/**/*.{h,m}' - s.dependency 'FirebaseAuth' - s.dependency 'FirebaseAuthUI', '~> 15.0' - s.resource_bundles = { - 'FirebasePhoneAuthUI' => ['FirebasePhoneAuthUI/Sources/{Resources,Strings}/*.{xib,json,lproj,png}'] - } - -end diff --git a/FirebasePhoneAuthUI/FirebasePhoneAuthUI.xcodeproj/project.pbxproj b/FirebasePhoneAuthUI/FirebasePhoneAuthUI.xcodeproj/project.pbxproj deleted file mode 100644 index c47f3b34d87..00000000000 --- a/FirebasePhoneAuthUI/FirebasePhoneAuthUI.xcodeproj/project.pbxproj +++ /dev/null @@ -1,937 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 8D69E54B21DE915A00CFA49B /* FirebasePhoneAuthUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8D69E54121DE915A00CFA49B /* FirebasePhoneAuthUI.framework */; }; - 8D69E55021DE915A00CFA49B /* FirebasePhoneAuthUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E54F21DE915A00CFA49B /* FirebasePhoneAuthUITests.m */; }; - 8D69E55221DE915A00CFA49B /* FirebasePhoneAuthUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E54421DE915A00CFA49B /* FirebasePhoneAuthUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E5D221DE91D400CFA49B /* FUIPhoneAuthStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E55B21DE91D200CFA49B /* FUIPhoneAuthStrings.m */; }; - 8D69E5D321DE91D400CFA49B /* FUIPrivacyAndTermsOfServiceView+PhoneAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E55C21DE91D200CFA49B /* FUIPrivacyAndTermsOfServiceView+PhoneAuth.h */; }; - 8D69E5D421DE91D400CFA49B /* FirebasePhoneAuthUI.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E55E21DE91D200CFA49B /* FirebasePhoneAuthUI.strings */; }; - 8D69E5D621DE91D400CFA49B /* ic_phone.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E5B521DE91D300CFA49B /* ic_phone.png */; }; - 8D69E5D721DE91D400CFA49B /* ic_phone@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E5B621DE91D300CFA49B /* ic_phone@3x.png */; }; - 8D69E5D821DE91D400CFA49B /* ic_phone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E5B721DE91D300CFA49B /* ic_phone@2x.png */; }; - 8D69E5D921DE91D400CFA49B /* country-codes.json in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E5B821DE91D300CFA49B /* country-codes.json */; }; - 8D69E5DA21DE91D400CFA49B /* FUIPhoneAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E5B921DE91D300CFA49B /* FUIPhoneAuth.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D69E5DB21DE91D400CFA49B /* FUIPhoneAuthStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E5BA21DE91D300CFA49B /* FUIPhoneAuthStrings.h */; }; - 8D69E5DC21DE91D400CFA49B /* FUICodeField.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E5BB21DE91D300CFA49B /* FUICodeField.m */; }; - 8D69E5DD21DE91D400CFA49B /* FUICollationForCountries.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E5BD21DE91D300CFA49B /* FUICollationForCountries.m */; }; - 8D69E5DE21DE91D400CFA49B /* FUICountryTableViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E5BE21DE91D300CFA49B /* FUICountryTableViewController.h */; }; - 8D69E5DF21DE91D400CFA49B /* FUICountryCodes.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E5BF21DE91D300CFA49B /* FUICountryCodes.m */; }; - 8D69E5E021DE91D400CFA49B /* FUIFeatureSwitch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E5C021DE91D300CFA49B /* FUIFeatureSwitch.h */; }; - 8D69E5E121DE91D400CFA49B /* FUIPhoneNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E5C121DE91D300CFA49B /* FUIPhoneNumber.h */; }; - 8D69E5E221DE91D400CFA49B /* FUICountryTableViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E5C221DE91D300CFA49B /* FUICountryTableViewController.xib */; }; - 8D69E5E321DE91D400CFA49B /* FUICountryTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E5C321DE91D300CFA49B /* FUICountryTableViewController.m */; }; - 8D69E5E421DE91D400CFA49B /* FUICollationForCountries.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E5C421DE91D300CFA49B /* FUICollationForCountries.h */; }; - 8D69E5E521DE91D400CFA49B /* FUICountryCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E5C521DE91D300CFA49B /* FUICountryCodes.h */; }; - 8D69E5E621DE91D400CFA49B /* FUIPhoneNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E5C621DE91D300CFA49B /* FUIPhoneNumber.m */; }; - 8D69E5E721DE91D400CFA49B /* FUIFeatureSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E5C721DE91D300CFA49B /* FUIFeatureSwitch.m */; }; - 8D69E5E821DE91D400CFA49B /* FUIPhoneEntryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E5C821DE91D300CFA49B /* FUIPhoneEntryViewController.m */; }; - 8D69E5E921DE91D400CFA49B /* FUIPhoneVerificationViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E5C921DE91D300CFA49B /* FUIPhoneVerificationViewController.h */; }; - 8D69E5EA21DE91D400CFA49B /* FUIPhoneVerificationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E5CA21DE91D300CFA49B /* FUIPhoneVerificationViewController.xib */; }; - 8D69E5EB21DE91D400CFA49B /* FUIPhoneEntryViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E5CB21DE91D300CFA49B /* FUIPhoneEntryViewController.xib */; }; - 8D69E5EC21DE91D400CFA49B /* FUIPhoneAuth_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E5CC21DE91D300CFA49B /* FUIPhoneAuth_Internal.h */; }; - 8D69E5ED21DE91D400CFA49B /* FUIPrivacyAndTermsOfServiceView+PhoneAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E5CD21DE91D300CFA49B /* FUIPrivacyAndTermsOfServiceView+PhoneAuth.m */; }; - 8D69E5EE21DE91D400CFA49B /* FUIPhoneVerificationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E5CE21DE91D300CFA49B /* FUIPhoneVerificationViewController.m */; }; - 8D69E5EF21DE91D400CFA49B /* FUIPhoneAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E5CF21DE91D300CFA49B /* FUIPhoneAuth.m */; }; - 8D69E5F021DE91D400CFA49B /* FUICodeField.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E5D021DE91D300CFA49B /* FUICodeField.h */; }; - 8D69E5F121DE91D400CFA49B /* FUIPhoneEntryViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D69E5D121DE91D300CFA49B /* FUIPhoneEntryViewController.h */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 8D69E54C21DE915A00CFA49B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8D69E53821DE915A00CFA49B /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8D69E54021DE915A00CFA49B; - remoteInfo = FirebasePhoneAuthUI; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 8D69E54121DE915A00CFA49B /* FirebasePhoneAuthUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FirebasePhoneAuthUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E54421DE915A00CFA49B /* FirebasePhoneAuthUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FirebasePhoneAuthUI.h; sourceTree = ""; }; - 8D69E54521DE915A00CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E54A21DE915A00CFA49B /* FirebasePhoneAuthUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FirebasePhoneAuthUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E54F21DE915A00CFA49B /* FirebasePhoneAuthUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirebasePhoneAuthUITests.m; sourceTree = ""; }; - 8D69E55121DE915A00CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E55B21DE91D200CFA49B /* FUIPhoneAuthStrings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIPhoneAuthStrings.m; sourceTree = ""; }; - 8D69E55C21DE91D200CFA49B /* FUIPrivacyAndTermsOfServiceView+PhoneAuth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "FUIPrivacyAndTermsOfServiceView+PhoneAuth.h"; sourceTree = ""; }; - 8D69E55F21DE91D200CFA49B /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E56021DE91D200CFA49B /* ur */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ur; path = ur.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E56121DE91D200CFA49B /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E56221DE91D200CFA49B /* es-SV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-SV"; path = "es-SV.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E56321DE91D200CFA49B /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E56421DE91D200CFA49B /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E56521DE91D200CFA49B /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E56621DE91D200CFA49B /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E56721DE91D200CFA49B /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E56821DE91D200CFA49B /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = fa.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E56921DE91D200CFA49B /* mr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mr; path = mr.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E56A21DE91D200CFA49B /* es-GT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-GT"; path = "es-GT.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E56B21DE91D200CFA49B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E56C21DE91D200CFA49B /* en-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-CA"; path = "en-CA.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E56D21DE91D200CFA49B /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E56E21DE91D200CFA49B /* es-PY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PY"; path = "es-PY.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E56F21DE91D200CFA49B /* gu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gu; path = gu.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E57021DE91D200CFA49B /* kn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = kn; path = kn.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E57121DE91D200CFA49B /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E57221DE91D200CFA49B /* es-US */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-US"; path = "es-US.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E57321DE91D200CFA49B /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E57421DE91D200CFA49B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E57521DE91D200CFA49B /* es-VE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-VE"; path = "es-VE.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E57621DE91D200CFA49B /* es-CL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CL"; path = "es-CL.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E57721DE91D200CFA49B /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E57821DE91D200CFA49B /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E57921DE91D200CFA49B /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E57A21DE91D200CFA49B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E57B21DE91D200CFA49B /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E57C21DE91D200CFA49B /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E57D21DE91D200CFA49B /* sr-Latn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sr-Latn"; path = "sr-Latn.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E57E21DE91D200CFA49B /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E57F21DE91D200CFA49B /* es-PA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PA"; path = "es-PA.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E58021DE91D200CFA49B /* en-SG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-SG"; path = "en-SG.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E58121DE91D200CFA49B /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E58221DE91D200CFA49B /* ms */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ms; path = ms.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E58321DE91D200CFA49B /* es-CR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CR"; path = "es-CR.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E58421DE91D200CFA49B /* ta */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ta; path = ta.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E58521DE91D200CFA49B /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E58621DE91D200CFA49B /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E58721DE91D200CFA49B /* es-AR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-AR"; path = "es-AR.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E58821DE91D200CFA49B /* es-PE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PE"; path = "es-PE.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E58921DE91D200CFA49B /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E58A21DE91D200CFA49B /* en-IE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-IE"; path = "en-IE.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E58B21DE91D200CFA49B /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E58C21DE91D200CFA49B /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E58D21DE91D200CFA49B /* es-CO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CO"; path = "es-CO.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E58E21DE91D200CFA49B /* gsw */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gsw; path = gsw.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E58F21DE91D200CFA49B /* en-ZA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-ZA"; path = "en-ZA.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E59021DE91D200CFA49B /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E59121DE91D200CFA49B /* es-PR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PR"; path = "es-PR.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E59221DE91D200CFA49B /* de-AT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "de-AT"; path = "de-AT.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E59321DE91D200CFA49B /* en-AU */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-AU"; path = "en-AU.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E59421DE91D200CFA49B /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E59521DE91D200CFA49B /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E59621DE91D200CFA49B /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E59721DE91D200CFA49B /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E59821DE91D200CFA49B /* lv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lv; path = lv.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E59921DE91D200CFA49B /* es-MX */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-MX"; path = "es-MX.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E59A21DE91D200CFA49B /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E59B21DE91D200CFA49B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E59C21DE91D200CFA49B /* es-DO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-DO"; path = "es-DO.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E59D21DE91D200CFA49B /* fr-CH */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CH"; path = "fr-CH.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E59E21DE91D200CFA49B /* es-NI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-NI"; path = "es-NI.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E59F21DE91D200CFA49B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E5A021DE91D200CFA49B /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E5A121DE91D200CFA49B /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E5A221DE91D200CFA49B /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E5A321DE91D200CFA49B /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E5A421DE91D200CFA49B /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E5A521DE91D200CFA49B /* de-CH */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "de-CH"; path = "de-CH.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E5A621DE91D200CFA49B /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E5A721DE91D200CFA49B /* es-EC */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-EC"; path = "es-EC.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E5A821DE91D200CFA49B /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E5A921DE91D200CFA49B /* es-BO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-BO"; path = "es-BO.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E5AA21DE91D200CFA49B /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E5AB21DE91D200CFA49B /* ln */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ln; path = ln.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E5AC21DE91D200CFA49B /* es-UY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-UY"; path = "es-UY.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E5AD21DE91D200CFA49B /* es-HN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-HN"; path = "es-HN.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E5AE21DE91D200CFA49B /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E5AF21DE91D200CFA49B /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E5B021DE91D200CFA49B /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E5B121DE91D200CFA49B /* zh */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh; path = zh.lproj/FirebasePhoneAuthUI.strings; sourceTree = ""; }; - 8D69E5B221DE91D200CFA49B /* en-IN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-IN"; path = "en-IN.lproj/FirebasePhoneAuthUI.strings"; sourceTree = ""; }; - 8D69E5B521DE91D300CFA49B /* ic_phone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ic_phone.png; sourceTree = ""; }; - 8D69E5B621DE91D300CFA49B /* ic_phone@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_phone@3x.png"; sourceTree = ""; }; - 8D69E5B721DE91D300CFA49B /* ic_phone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_phone@2x.png"; sourceTree = ""; }; - 8D69E5B821DE91D300CFA49B /* country-codes.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "country-codes.json"; sourceTree = ""; }; - 8D69E5B921DE91D300CFA49B /* FUIPhoneAuth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIPhoneAuth.h; sourceTree = ""; }; - 8D69E5BA21DE91D300CFA49B /* FUIPhoneAuthStrings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIPhoneAuthStrings.h; sourceTree = ""; }; - 8D69E5BB21DE91D300CFA49B /* FUICodeField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUICodeField.m; sourceTree = ""; }; - 8D69E5BD21DE91D300CFA49B /* FUICollationForCountries.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUICollationForCountries.m; sourceTree = ""; }; - 8D69E5BE21DE91D300CFA49B /* FUICountryTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUICountryTableViewController.h; sourceTree = ""; }; - 8D69E5BF21DE91D300CFA49B /* FUICountryCodes.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUICountryCodes.m; sourceTree = ""; }; - 8D69E5C021DE91D300CFA49B /* FUIFeatureSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIFeatureSwitch.h; sourceTree = ""; }; - 8D69E5C121DE91D300CFA49B /* FUIPhoneNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIPhoneNumber.h; sourceTree = ""; }; - 8D69E5C221DE91D300CFA49B /* FUICountryTableViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUICountryTableViewController.xib; sourceTree = ""; }; - 8D69E5C321DE91D300CFA49B /* FUICountryTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUICountryTableViewController.m; sourceTree = ""; }; - 8D69E5C421DE91D300CFA49B /* FUICollationForCountries.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUICollationForCountries.h; sourceTree = ""; }; - 8D69E5C521DE91D300CFA49B /* FUICountryCodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUICountryCodes.h; sourceTree = ""; }; - 8D69E5C621DE91D300CFA49B /* FUIPhoneNumber.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIPhoneNumber.m; sourceTree = ""; }; - 8D69E5C721DE91D300CFA49B /* FUIFeatureSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIFeatureSwitch.m; sourceTree = ""; }; - 8D69E5C821DE91D300CFA49B /* FUIPhoneEntryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIPhoneEntryViewController.m; sourceTree = ""; }; - 8D69E5C921DE91D300CFA49B /* FUIPhoneVerificationViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIPhoneVerificationViewController.h; sourceTree = ""; }; - 8D69E5CA21DE91D300CFA49B /* FUIPhoneVerificationViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUIPhoneVerificationViewController.xib; sourceTree = ""; }; - 8D69E5CB21DE91D300CFA49B /* FUIPhoneEntryViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FUIPhoneEntryViewController.xib; sourceTree = ""; }; - 8D69E5CC21DE91D300CFA49B /* FUIPhoneAuth_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIPhoneAuth_Internal.h; sourceTree = ""; }; - 8D69E5CD21DE91D300CFA49B /* FUIPrivacyAndTermsOfServiceView+PhoneAuth.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "FUIPrivacyAndTermsOfServiceView+PhoneAuth.m"; sourceTree = ""; }; - 8D69E5CE21DE91D300CFA49B /* FUIPhoneVerificationViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIPhoneVerificationViewController.m; sourceTree = ""; }; - 8D69E5CF21DE91D300CFA49B /* FUIPhoneAuth.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIPhoneAuth.m; sourceTree = ""; }; - 8D69E5D021DE91D300CFA49B /* FUICodeField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUICodeField.h; sourceTree = ""; }; - 8D69E5D121DE91D300CFA49B /* FUIPhoneEntryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIPhoneEntryViewController.h; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8D69E53E21DE915A00CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E54721DE915A00CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E54B21DE915A00CFA49B /* FirebasePhoneAuthUI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 4132CF4029104D5AA0E7B64A /* Pods */ = { - isa = PBXGroup; - children = ( - ); - path = Pods; - sourceTree = ""; - }; - 8D55F167261E6ECE0020DFB0 /* Public */ = { - isa = PBXGroup; - children = ( - 8DF9937A2637697800DC12D1 /* FirebasePhoneAuthUI */, - ); - path = Public; - sourceTree = ""; - }; - 8D69E53721DE915A00CFA49B = { - isa = PBXGroup; - children = ( - 8D69E54321DE915A00CFA49B /* Sources */, - 8D69E54E21DE915A00CFA49B /* FirebasePhoneAuthUITests */, - 8D69E54221DE915A00CFA49B /* Products */, - 4132CF4029104D5AA0E7B64A /* Pods */, - ); - sourceTree = ""; - }; - 8D69E54221DE915A00CFA49B /* Products */ = { - isa = PBXGroup; - children = ( - 8D69E54121DE915A00CFA49B /* FirebasePhoneAuthUI.framework */, - 8D69E54A21DE915A00CFA49B /* FirebasePhoneAuthUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 8D69E54321DE915A00CFA49B /* Sources */ = { - isa = PBXGroup; - children = ( - 8D55F167261E6ECE0020DFB0 /* Public */, - 8D69E5D021DE91D300CFA49B /* FUICodeField.h */, - 8D69E5BB21DE91D300CFA49B /* FUICodeField.m */, - 8D69E5CC21DE91D300CFA49B /* FUIPhoneAuth_Internal.h */, - 8D69E5CF21DE91D300CFA49B /* FUIPhoneAuth.m */, - 8D69E5BA21DE91D300CFA49B /* FUIPhoneAuthStrings.h */, - 8D69E55B21DE91D200CFA49B /* FUIPhoneAuthStrings.m */, - 8D69E5D121DE91D300CFA49B /* FUIPhoneEntryViewController.h */, - 8D69E5C821DE91D300CFA49B /* FUIPhoneEntryViewController.m */, - 8D69E5C921DE91D300CFA49B /* FUIPhoneVerificationViewController.h */, - 8D69E5CE21DE91D300CFA49B /* FUIPhoneVerificationViewController.m */, - 8D69E55C21DE91D200CFA49B /* FUIPrivacyAndTermsOfServiceView+PhoneAuth.h */, - 8D69E5CD21DE91D300CFA49B /* FUIPrivacyAndTermsOfServiceView+PhoneAuth.m */, - 8D69E5BD21DE91D300CFA49B /* FUICollationForCountries.m */, - 8D69E5BE21DE91D300CFA49B /* FUICountryTableViewController.h */, - 8D69E5BF21DE91D300CFA49B /* FUICountryCodes.m */, - 8D69E5C021DE91D300CFA49B /* FUIFeatureSwitch.h */, - 8D69E5C121DE91D300CFA49B /* FUIPhoneNumber.h */, - 8D69E5C321DE91D300CFA49B /* FUICountryTableViewController.m */, - 8D69E5C421DE91D300CFA49B /* FUICollationForCountries.h */, - 8D69E5C521DE91D300CFA49B /* FUICountryCodes.h */, - 8D69E5C621DE91D300CFA49B /* FUIPhoneNumber.m */, - 8D69E5C721DE91D300CFA49B /* FUIFeatureSwitch.m */, - 8D69E5B421DE91D300CFA49B /* Resources */, - 8D69E55D21DE91D200CFA49B /* Strings */, - 8D69E54521DE915A00CFA49B /* Info.plist */, - ); - path = Sources; - sourceTree = ""; - }; - 8D69E54E21DE915A00CFA49B /* FirebasePhoneAuthUITests */ = { - isa = PBXGroup; - children = ( - 8D69E54F21DE915A00CFA49B /* FirebasePhoneAuthUITests.m */, - 8D69E55121DE915A00CFA49B /* Info.plist */, - ); - path = FirebasePhoneAuthUITests; - sourceTree = ""; - }; - 8D69E55D21DE91D200CFA49B /* Strings */ = { - isa = PBXGroup; - children = ( - 8D69E55E21DE91D200CFA49B /* FirebasePhoneAuthUI.strings */, - ); - path = Strings; - sourceTree = ""; - }; - 8D69E5B421DE91D300CFA49B /* Resources */ = { - isa = PBXGroup; - children = ( - 8D69E5CB21DE91D300CFA49B /* FUIPhoneEntryViewController.xib */, - 8D69E5CA21DE91D300CFA49B /* FUIPhoneVerificationViewController.xib */, - 8D69E5C221DE91D300CFA49B /* FUICountryTableViewController.xib */, - 8D69E5B521DE91D300CFA49B /* ic_phone.png */, - 8D69E5B621DE91D300CFA49B /* ic_phone@3x.png */, - 8D69E5B721DE91D300CFA49B /* ic_phone@2x.png */, - 8D69E5B821DE91D300CFA49B /* country-codes.json */, - ); - path = Resources; - sourceTree = ""; - }; - 8DF9937A2637697800DC12D1 /* FirebasePhoneAuthUI */ = { - isa = PBXGroup; - children = ( - 8D69E54421DE915A00CFA49B /* FirebasePhoneAuthUI.h */, - 8D69E5B921DE91D300CFA49B /* FUIPhoneAuth.h */, - ); - path = FirebasePhoneAuthUI; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 8D69E53C21DE915A00CFA49B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E5E921DE91D400CFA49B /* FUIPhoneVerificationViewController.h in Headers */, - 8D69E55221DE915A00CFA49B /* FirebasePhoneAuthUI.h in Headers */, - 8D69E5DE21DE91D400CFA49B /* FUICountryTableViewController.h in Headers */, - 8D69E5DB21DE91D400CFA49B /* FUIPhoneAuthStrings.h in Headers */, - 8D69E5F121DE91D400CFA49B /* FUIPhoneEntryViewController.h in Headers */, - 8D69E5DA21DE91D400CFA49B /* FUIPhoneAuth.h in Headers */, - 8D69E5E521DE91D400CFA49B /* FUICountryCodes.h in Headers */, - 8D69E5E421DE91D400CFA49B /* FUICollationForCountries.h in Headers */, - 8D69E5E021DE91D400CFA49B /* FUIFeatureSwitch.h in Headers */, - 8D69E5EC21DE91D400CFA49B /* FUIPhoneAuth_Internal.h in Headers */, - 8D69E5D321DE91D400CFA49B /* FUIPrivacyAndTermsOfServiceView+PhoneAuth.h in Headers */, - 8D69E5E121DE91D400CFA49B /* FUIPhoneNumber.h in Headers */, - 8D69E5F021DE91D400CFA49B /* FUICodeField.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 8D69E54021DE915A00CFA49B /* FirebasePhoneAuthUI */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E55521DE915A00CFA49B /* Build configuration list for PBXNativeTarget "FirebasePhoneAuthUI" */; - buildPhases = ( - 8D69E53C21DE915A00CFA49B /* Headers */, - 8D69E53D21DE915A00CFA49B /* Sources */, - 8D69E53E21DE915A00CFA49B /* Frameworks */, - 8D69E53F21DE915A00CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FirebasePhoneAuthUI; - productName = FirebasePhoneAuthUI; - productReference = 8D69E54121DE915A00CFA49B /* FirebasePhoneAuthUI.framework */; - productType = "com.apple.product-type.framework"; - }; - 8D69E54921DE915A00CFA49B /* FirebasePhoneAuthUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E55821DE915A00CFA49B /* Build configuration list for PBXNativeTarget "FirebasePhoneAuthUITests" */; - buildPhases = ( - 8D69E54621DE915A00CFA49B /* Sources */, - 8D69E54721DE915A00CFA49B /* Frameworks */, - 8D69E54821DE915A00CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 8D69E54D21DE915A00CFA49B /* PBXTargetDependency */, - ); - name = FirebasePhoneAuthUITests; - productName = FirebasePhoneAuthUITests; - productReference = 8D69E54A21DE915A00CFA49B /* FirebasePhoneAuthUITests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 8D69E53821DE915A00CFA49B /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1010; - ORGANIZATIONNAME = Firebase; - TargetAttributes = { - 8D69E54021DE915A00CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - 8D69E54921DE915A00CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - }; - }; - buildConfigurationList = 8D69E53B21DE915A00CFA49B /* Build configuration list for PBXProject "FirebasePhoneAuthUI" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - de, - ur, - he, - "es-SV", - "zh-Hant-TW", - ar, - el, - "zh-Hans", - ja, - fa, - mr, - "es-GT", - "en-CA", - uk, - "es-PY", - gu, - kn, - nb, - "es-US", - "en-GB", - es, - "es-VE", - "es-CL", - sl, - da, - "es-419", - it, - bg, - sk, - "sr-Latn", - "nn-NO", - "es-PA", - "en-SG", - sr, - ms, - "es-CR", - ta, - sv, - cs, - "es-AR", - "es-PE", - ko, - "en-IE", - fil, - "zh-Hant", - "es-CO", - gsw, - "en-ZA", - hu, - "es-PR", - "de-AT", - "en-AU", - tr, - pl, - "pt-BR", - vi, - lv, - "es-MX", - lt, - ru, - "es-DO", - "fr-CH", - "es-NI", - fr, - fi, - id, - nl, - th, - pt, - "de-CH", - bn, - "es-EC", - "pt-PT", - "es-BO", - ro, - ln, - "es-UY", - "es-HN", - hr, - hi, - ca, - zh, - "en-IN", - ); - mainGroup = 8D69E53721DE915A00CFA49B; - productRefGroup = 8D69E54221DE915A00CFA49B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8D69E54021DE915A00CFA49B /* FirebasePhoneAuthUI */, - 8D69E54921DE915A00CFA49B /* FirebasePhoneAuthUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8D69E53F21DE915A00CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E5D821DE91D400CFA49B /* ic_phone@2x.png in Resources */, - 8D69E5E221DE91D400CFA49B /* FUICountryTableViewController.xib in Resources */, - 8D69E5D621DE91D400CFA49B /* ic_phone.png in Resources */, - 8D69E5EB21DE91D400CFA49B /* FUIPhoneEntryViewController.xib in Resources */, - 8D69E5D921DE91D400CFA49B /* country-codes.json in Resources */, - 8D69E5D721DE91D400CFA49B /* ic_phone@3x.png in Resources */, - 8D69E5D421DE91D400CFA49B /* FirebasePhoneAuthUI.strings in Resources */, - 8D69E5EA21DE91D400CFA49B /* FUIPhoneVerificationViewController.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E54821DE915A00CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8D69E53D21DE915A00CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E5E621DE91D400CFA49B /* FUIPhoneNumber.m in Sources */, - 8D69E5DD21DE91D400CFA49B /* FUICollationForCountries.m in Sources */, - 8D69E5ED21DE91D400CFA49B /* FUIPrivacyAndTermsOfServiceView+PhoneAuth.m in Sources */, - 8D69E5E321DE91D400CFA49B /* FUICountryTableViewController.m in Sources */, - 8D69E5DC21DE91D400CFA49B /* FUICodeField.m in Sources */, - 8D69E5EE21DE91D400CFA49B /* FUIPhoneVerificationViewController.m in Sources */, - 8D69E5DF21DE91D400CFA49B /* FUICountryCodes.m in Sources */, - 8D69E5E721DE91D400CFA49B /* FUIFeatureSwitch.m in Sources */, - 8D69E5EF21DE91D400CFA49B /* FUIPhoneAuth.m in Sources */, - 8D69E5D221DE91D400CFA49B /* FUIPhoneAuthStrings.m in Sources */, - 8D69E5E821DE91D400CFA49B /* FUIPhoneEntryViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E54621DE915A00CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E55021DE915A00CFA49B /* FirebasePhoneAuthUITests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 8D69E54D21DE915A00CFA49B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8D69E54021DE915A00CFA49B /* FirebasePhoneAuthUI */; - targetProxy = 8D69E54C21DE915A00CFA49B /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 8D69E55E21DE91D200CFA49B /* FirebasePhoneAuthUI.strings */ = { - isa = PBXVariantGroup; - children = ( - 8D69E55F21DE91D200CFA49B /* de */, - 8D69E56021DE91D200CFA49B /* ur */, - 8D69E56121DE91D200CFA49B /* he */, - 8D69E56221DE91D200CFA49B /* es-SV */, - 8D69E56321DE91D200CFA49B /* zh-Hant-TW */, - 8D69E56421DE91D200CFA49B /* ar */, - 8D69E56521DE91D200CFA49B /* el */, - 8D69E56621DE91D200CFA49B /* zh-Hans */, - 8D69E56721DE91D200CFA49B /* ja */, - 8D69E56821DE91D200CFA49B /* fa */, - 8D69E56921DE91D200CFA49B /* mr */, - 8D69E56A21DE91D200CFA49B /* es-GT */, - 8D69E56B21DE91D200CFA49B /* en */, - 8D69E56C21DE91D200CFA49B /* en-CA */, - 8D69E56D21DE91D200CFA49B /* uk */, - 8D69E56E21DE91D200CFA49B /* es-PY */, - 8D69E56F21DE91D200CFA49B /* gu */, - 8D69E57021DE91D200CFA49B /* kn */, - 8D69E57121DE91D200CFA49B /* nb */, - 8D69E57221DE91D200CFA49B /* es-US */, - 8D69E57321DE91D200CFA49B /* en-GB */, - 8D69E57421DE91D200CFA49B /* es */, - 8D69E57521DE91D200CFA49B /* es-VE */, - 8D69E57621DE91D200CFA49B /* es-CL */, - 8D69E57721DE91D200CFA49B /* sl */, - 8D69E57821DE91D200CFA49B /* da */, - 8D69E57921DE91D200CFA49B /* es-419 */, - 8D69E57A21DE91D200CFA49B /* it */, - 8D69E57B21DE91D200CFA49B /* bg */, - 8D69E57C21DE91D200CFA49B /* sk */, - 8D69E57D21DE91D200CFA49B /* sr-Latn */, - 8D69E57E21DE91D200CFA49B /* nn-NO */, - 8D69E57F21DE91D200CFA49B /* es-PA */, - 8D69E58021DE91D200CFA49B /* en-SG */, - 8D69E58121DE91D200CFA49B /* sr */, - 8D69E58221DE91D200CFA49B /* ms */, - 8D69E58321DE91D200CFA49B /* es-CR */, - 8D69E58421DE91D200CFA49B /* ta */, - 8D69E58521DE91D200CFA49B /* sv */, - 8D69E58621DE91D200CFA49B /* cs */, - 8D69E58721DE91D200CFA49B /* es-AR */, - 8D69E58821DE91D200CFA49B /* es-PE */, - 8D69E58921DE91D200CFA49B /* ko */, - 8D69E58A21DE91D200CFA49B /* en-IE */, - 8D69E58B21DE91D200CFA49B /* fil */, - 8D69E58C21DE91D200CFA49B /* zh-Hant */, - 8D69E58D21DE91D200CFA49B /* es-CO */, - 8D69E58E21DE91D200CFA49B /* gsw */, - 8D69E58F21DE91D200CFA49B /* en-ZA */, - 8D69E59021DE91D200CFA49B /* hu */, - 8D69E59121DE91D200CFA49B /* es-PR */, - 8D69E59221DE91D200CFA49B /* de-AT */, - 8D69E59321DE91D200CFA49B /* en-AU */, - 8D69E59421DE91D200CFA49B /* tr */, - 8D69E59521DE91D200CFA49B /* pl */, - 8D69E59621DE91D200CFA49B /* pt-BR */, - 8D69E59721DE91D200CFA49B /* vi */, - 8D69E59821DE91D200CFA49B /* lv */, - 8D69E59921DE91D200CFA49B /* es-MX */, - 8D69E59A21DE91D200CFA49B /* lt */, - 8D69E59B21DE91D200CFA49B /* ru */, - 8D69E59C21DE91D200CFA49B /* es-DO */, - 8D69E59D21DE91D200CFA49B /* fr-CH */, - 8D69E59E21DE91D200CFA49B /* es-NI */, - 8D69E59F21DE91D200CFA49B /* fr */, - 8D69E5A021DE91D200CFA49B /* fi */, - 8D69E5A121DE91D200CFA49B /* id */, - 8D69E5A221DE91D200CFA49B /* nl */, - 8D69E5A321DE91D200CFA49B /* th */, - 8D69E5A421DE91D200CFA49B /* pt */, - 8D69E5A521DE91D200CFA49B /* de-CH */, - 8D69E5A621DE91D200CFA49B /* bn */, - 8D69E5A721DE91D200CFA49B /* es-EC */, - 8D69E5A821DE91D200CFA49B /* pt-PT */, - 8D69E5A921DE91D200CFA49B /* es-BO */, - 8D69E5AA21DE91D200CFA49B /* ro */, - 8D69E5AB21DE91D200CFA49B /* ln */, - 8D69E5AC21DE91D200CFA49B /* es-UY */, - 8D69E5AD21DE91D200CFA49B /* es-HN */, - 8D69E5AE21DE91D200CFA49B /* hr */, - 8D69E5AF21DE91D200CFA49B /* hi */, - 8D69E5B021DE91D200CFA49B /* ca */, - 8D69E5B121DE91D200CFA49B /* zh */, - 8D69E5B221DE91D200CFA49B /* en-IN */, - ); - name = FirebasePhoneAuthUI.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 8D69E55321DE915A00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../\""; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 8D69E55421DE915A00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../\""; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 8D69E55621DE915A00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebasePhoneAuthUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E55721DE915A00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Sources/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebasePhoneAuthUI; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 8D69E55921DE915A00CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebasePhoneAuthUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/nanopb\"", - "\"$(PODS_CONFIGURATION_BUILD_DIR)/FirebaseAuthUI\"", - "\"$(PODS_CONFIGURATION_BUILD_DIR)/FirebaseCoreInternal\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - "\"Foundation\"", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"OCMock\"", - "-framework", - "\"SafariServices\"", - "-framework", - "\"Security\"", - "-framework", - "\"UIKit\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebasePhoneAuthUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E55A21DE915A00CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebasePhoneAuthUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuth\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAuthInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseUI\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GTMSessionFetcher\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/nanopb\"", - "\"$(PODS_CONFIGURATION_BUILD_DIR)/FirebaseAuthUI\"", - "\"$(PODS_CONFIGURATION_BUILD_DIR)/FirebaseCoreInternal\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreExtension\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/FirebaseAppCheckInterop\"", - "\"${PODS_CONFIGURATION_BUILD_DIR}/RecaptchaInterop\"", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-framework", - "\"Foundation\"", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"OCMock\"", - "-framework", - "\"SafariServices\"", - "-framework", - "\"Security\"", - "-framework", - "\"UIKit\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebasePhoneAuthUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 8D69E53B21DE915A00CFA49B /* Build configuration list for PBXProject "FirebasePhoneAuthUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E55321DE915A00CFA49B /* Debug */, - 8D69E55421DE915A00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E55521DE915A00CFA49B /* Build configuration list for PBXNativeTarget "FirebasePhoneAuthUI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E55621DE915A00CFA49B /* Debug */, - 8D69E55721DE915A00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E55821DE915A00CFA49B /* Build configuration list for PBXNativeTarget "FirebasePhoneAuthUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E55921DE915A00CFA49B /* Debug */, - 8D69E55A21DE915A00CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 8D69E53821DE915A00CFA49B /* Project object */; -} diff --git a/FirebasePhoneAuthUI/FirebasePhoneAuthUI.xcodeproj/xcshareddata/xcschemes/FirebasePhoneAuthUI.xcscheme b/FirebasePhoneAuthUI/FirebasePhoneAuthUI.xcodeproj/xcshareddata/xcschemes/FirebasePhoneAuthUI.xcscheme deleted file mode 100644 index e75675c3d62..00000000000 --- a/FirebasePhoneAuthUI/FirebasePhoneAuthUI.xcodeproj/xcshareddata/xcschemes/FirebasePhoneAuthUI.xcscheme +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebasePhoneAuthUI/FirebasePhoneAuthUITests/FirebasePhoneAuthUITests.m b/FirebasePhoneAuthUI/FirebasePhoneAuthUITests/FirebasePhoneAuthUITests.m deleted file mode 100644 index 52ad866692b..00000000000 --- a/FirebasePhoneAuthUI/FirebasePhoneAuthUITests/FirebasePhoneAuthUITests.m +++ /dev/null @@ -1,112 +0,0 @@ -// -// 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 - -#import "FUIAuthUtils.h" -#import -@import FirebaseAuth; -#import -#import -#import "FUIAuthUtils.h" -#import "FUIPhoneAuth_Internal.h" - -@interface FirebasePhoneAuthUITests : XCTestCase -@property (nonatomic, strong) FUIPhoneAuth *provider; -@end - -@implementation FirebasePhoneAuthUITests - -- (void)setUp { - [super setUp]; - - id authUIClass = OCMClassMock([FUIAuth class]); - OCMStub(ClassMethod([authUIClass authUIWithAuth:OCMOCK_ANY])). - andReturn(authUIClass); - - id authClass = OCMClassMock([FIRAuth class]); - OCMStub(ClassMethod([authClass auth])). - andReturn(authClass); - - FIRAuth *auth = [FIRAuth auth]; - FUIAuth *authUI = [FUIAuth authUIWithAuth:auth]; - self.provider = [[FUIPhoneAuth alloc] initWithAuthUI:authUI]; -} - -- (void)tearDown { - self.provider = nil; - [super tearDown]; -} - -- (void)testProviderValidity { - XCTAssertNotNil(self.provider); - XCTAssertNotNil(self.provider.icon); - XCTAssertNotNil(self.provider.signInLabel); - XCTAssertNotNil(self.provider.buttonBackgroundColor); - XCTAssertNotNil(self.provider.buttonTextColor); - XCTAssertNotNil(self.provider.providerID); - XCTAssertNotNil(self.provider.shortName); - XCTAssertTrue(self.provider.signInLabel.length != 0); - XCTAssertNil(self.provider.accessToken); - XCTAssertNil(self.provider.idToken); -} - -- (void)DISABLED_testSignIn { - XCTAssertNotNil(self.provider); - XCTAssertNil(self.provider.accessToken); - - id mockedProvider = OCMPartialMock(self.provider); - - XCTestExpectation *expectation = [self expectationWithDescription:@"logged in"]; - XCTestExpectation *expectationCallback = [self expectationWithDescription:@"result is called"]; - id mockedCredential = OCMClassMock([FIRAuthCredential class]); - id mockedError = OCMClassMock([NSError class]); - id mockedUser = OCMClassMock([FIRUser class]); - FIRAuthResultCallback resultCallback = ^(FIRUser *_Nullable user, NSError *_Nullable error) { - [expectationCallback fulfill]; - XCTAssertEqual(error, mockedError); - XCTAssertEqual(user, mockedUser); - }; - - id mockedController = OCMClassMock([UIViewController class]); - OCMExpect([mockedController presentViewController:OCMOCK_ANY - animated:OCMOCK_ANY - completion:OCMOCK_ANY]).andDo(^(NSInvocation *invocation) { - [mockedProvider callbackWithCredential:mockedCredential - error:mockedError - result:resultCallback]; - }); - - [mockedProvider signInWithDefaultValue:nil - presentingViewController:mockedController - completion:^(FIRAuthCredential *_Nullable credential, - NSError *_Nullable error, - FIRAuthResultCallback _Nullable result, - NSDictionary *_Nullable userInfo) { - XCTAssertEqual(credential, mockedCredential); - XCTAssertEqual(error, mockedError); - [expectation fulfill]; - - // We can't compare result and resultCallback. Thus verifying with expectation that result - // is called. - result(mockedUser, error); - }]; - [self waitForExpectationsWithTimeout:0.1 handler:nil]; - - OCMVerifyAll(mockedProvider); -} - -@end diff --git a/FirebasePhoneAuthUI/FirebasePhoneAuthUITests/Info.plist b/FirebasePhoneAuthUI/FirebasePhoneAuthUITests/Info.plist deleted file mode 100644 index 6c6c23c43ad..00000000000 --- a/FirebasePhoneAuthUI/FirebasePhoneAuthUITests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/FirebasePhoneAuthUI/Podfile b/FirebasePhoneAuthUI/Podfile deleted file mode 100644 index e0177625aed..00000000000 --- a/FirebasePhoneAuthUI/Podfile +++ /dev/null @@ -1,16 +0,0 @@ -# source 'sso://cpdc-internal/firebase' -source 'https://github.com/CocoaPods/Specs.git' - -platform :ios, '13.0' - -target 'FirebasePhoneAuthUI' do - use_frameworks! - - pod 'FirebaseAuthUI', :path => '../' - - target 'FirebasePhoneAuthUITests' do - inherit! :search_paths - pod 'OCMock' - end - -end diff --git a/FirebasePhoneAuthUI/README.md b/FirebasePhoneAuthUI/README.md deleted file mode 100644 index 7ea29af0b8e..00000000000 --- a/FirebasePhoneAuthUI/README.md +++ /dev/null @@ -1,110 +0,0 @@ -# FirebaseUI for iOS — Phone Auth - -You can use Firebase Phone Authentication to sign in a user by sending an SMS message to the user's phone.The user signs in using a one-time code contained in the SMS message. - -## Table of Contents - -1. [Installation](#installation) -1. [Integration](#using-firebasephoneui-for-authentication) -1. [Customization](#customizing) -1. [Integration cheat sheet](#integration-cheat-sheet) - -## Installation -### Importing FirebaseUI Phone Auth components -Add the following to your `Podfile`: -```ruby - pod 'FirebaseUI/Auth' - pod 'FirebaseUI/Phone' -``` - -### Configuring sign-in provider -To use FirebaseUI to authenticate users you first need to configure each provider you want to use in -their own developer app settings. Please read the *Before you begin* section of the [Firebase -Phone Auth configuration guides](https://firebase.google.com/docs/auth/ios/phone-auth#before_you_begin). - -## Using FirebasePhoneUI for Authentication - -### Integration - -In order to use Phone Auth you should initialize Phone provider and add it to the list of FUIAuth providers. Please notice that you should use only one instance of Phone Auth providers. It can be retrieved form FUIAuth providers list. - -```swift -// Swift -import FirebasePhoneAuthUI - -/* ... */ - -FUIAuth.defaultAuthUI()?.delegate = self -let phoneProvider = FUIPhoneAuth.init(authUI: FUIAuth.defaultAuthUI()!) -FUIAuth.defaultAuthUI()?.providers = [phoneProvider] -``` - -```objective-c -// Objective-C -@import FirebasePhoneAuthUI; - -/* ... */ - -[FUIAuth defaultAuthUI].delegate = self; // delegate should be retained by you! -FUIPhoneAuth *phoneProvider = [[FUIPhoneAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI]]; -[FUIAuth defaultAuthUI].providers = @[phoneProvider]; -``` - -### Sign In - -To start the authentication flow: - -```swift -// Swift -let phoneProvider = FUIAuth.defaultAuthUI()?.providers.first as! FUIPhoneAuth -phoneProvider.signIn(withPresenting: currentlyVisibleController, phoneNumber: nil) -``` - -```objective-c -// Objective-C -FUIPhoneAuth *phoneProvider = [FUIAuth defaultAuthUI].providers.firstObject; -[phoneProvider signInWithPresentingViewController:currentlyVisibleController phoneNumber:nil]; -``` - -## Integration cheat sheet -Here you can find steps things that need to be checked in case of any issues with Firebase Phone Auth integration problems. - -In case need to handle push notifications yourself: - -1. Add `APNS Key` or `APNS cert` to Firebase console project. -
If `APNS cert` is used than check that you uploaded certificate with the same `bundleID` as Firebase iOS app `bundleID`. -1. In the Xcode `Project settings` -> `Capabilities` enable `Push Notifications` -1. In the project `Info.plist` set to `NO` value of `FirebaseAppDelegateProxyEnabled` (add this key if needed) -1. In the `AppDelegate` `didRegisterForRemoteNotificationsWithDeviceToken` call `[FUIAuth.defaultAuthUI.auth setAPNSToken:deviceToken]` -
In this case The type of the token (production or sandbox) will be attempted to be automatically detected. There is other method to set it manually. -1. In the `AppDelegate` `application:didReceiveRemoteNotification:fetchCompletionHandler:` call `[FUIAuth.defaultAuthUI.auth canHandleNotification:userInfo]` -1. In the `AppDelegate` `application:didFinishLaunchingWithOptions:` call `[FIRApp configure]` -1. In the `AppDelegate` `application:openURL:options:` return `[FUIAuth.defaultAuthUI handleOpenURL:url sourceApplication:sourceApplication]` -1. Add `REVERSED_CLIENT_ID` as URL scheme to `Project settings` -1. Add `GoogleService-Info.plist` to your project -1. In you controller call: -```objective-c - [FUIAuth defaultAuthUI].delegate = self; // delegate should be retained by you! - FUIPhoneAuth *phoneProvider = [[FUIPhoneAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI]]; - [FUIAuth defaultAuthUI].providers = \@[phoneProvider]; -``` -11\. To start Phone Auth, please call: -```objective-c - FUIPhoneAuth *phoneProvider = [FUIAuth defaultAuthUI].providers.firstObject; - [phoneProvider signInWithPresentingViewController:self phoneNumber:nil]; -``` -You can skip all errors, FirbaseUI Phone Auth will display all error messages for you. -
You may need only to handle error code `FUIAuthErrorCodeUserCancelledSignIn`. - -If you don't need to handle APNS yourself, than don't do steps 3, 4, 5. - -Please notice that you can use either APNS key OR APNS certificate. -
One APNS Key can be used for all your iOS app from the same Apple Developer account. - -12\. (Optional) To receive the callback response after the user attempt to sign in. - -```swift -func authUI(_ authUI: FUIAuth, didSignInWith authDataResult: AuthDataResult?, error: Error?) { - // Do something with the response -} -``` diff --git a/FirebasePhoneAuthUI/Sources/FUICodeField.h b/FirebasePhoneAuthUI/Sources/FUICodeField.h deleted file mode 100644 index ccc6cf07619..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUICodeField.h +++ /dev/null @@ -1,40 +0,0 @@ -// -// 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 - -NS_ASSUME_NONNULL_BEGIN - -@protocol FUICodeFieldDelegate - -- (void) entryIsCompletedWithCode:(NSString *)code; -- (void) entryIsIncomplete; - -@end - -@interface FUICodeField : UITextField - -@property (nonatomic, retain, readonly) NSMutableString *codeEntry; - -@property (nonatomic, readwrite) IBOutlet id codeDelegate; - -@property (nonatomic, readonly) IBInspectable NSInteger codeLength; - -- (void)clearCodeInput; - -@end - -NS_ASSUME_NONNULL_END diff --git a/FirebasePhoneAuthUI/Sources/FUICodeField.m b/FirebasePhoneAuthUI/Sources/FUICodeField.m deleted file mode 100644 index 458b0745c7c..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUICodeField.m +++ /dev/null @@ -1,163 +0,0 @@ -// -// 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 -#else -#import -#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 diff --git a/FirebasePhoneAuthUI/Sources/FUICollationForCountries.h b/FirebasePhoneAuthUI/Sources/FUICollationForCountries.h deleted file mode 100644 index c2e336cd2d5..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUICollationForCountries.h +++ /dev/null @@ -1,56 +0,0 @@ -// -// 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 - -#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 diff --git a/FirebasePhoneAuthUI/Sources/FUICollationForCountries.m b/FirebasePhoneAuthUI/Sources/FUICollationForCountries.m deleted file mode 100644 index e2762916587..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUICollationForCountries.m +++ /dev/null @@ -1,100 +0,0 @@ -// -// 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 - -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 diff --git a/FirebasePhoneAuthUI/Sources/FUICountryCodes.h b/FirebasePhoneAuthUI/Sources/FUICountryCodes.h deleted file mode 100644 index 4b69dcc2114..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUICountryCodes.h +++ /dev/null @@ -1,87 +0,0 @@ -// -// 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 - -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 - -/** @property defaultCountryCodeInfo - @brief Get the default country code info - The default country code. Formerly this was set via CTCarrier information, but CTCarrier is now - deprecated, so this value must be manually set. Defaults to the country code for the United States. -*/ -@property (nonatomic, copy) FUICountryCodeInfo *defaultCountryCodeInfo; - -/** @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 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 *)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 *)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 diff --git a/FirebasePhoneAuthUI/Sources/FUICountryCodes.m b/FirebasePhoneAuthUI/Sources/FUICountryCodes.m deleted file mode 100644 index 7671696fe3c..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUICountryCodes.m +++ /dev/null @@ -1,295 +0,0 @@ -// -// 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 -#import -#import - -#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]; -} - -- (id)copyWithZone:(NSZone *_Nullable)zone { - FUICountryCodeInfo *newInfo = [[FUICountryCodeInfo alloc] init]; - newInfo.countryName = self.countryName; - newInfo.localizedCountryName = self.localizedCountryName; - newInfo.countryCode = self.countryCode; - newInfo.dialCode = self.dialCode; - newInfo.level = self.level; - return newInfo; -} - -- (BOOL)isEqual:(FUICountryCodeInfo *)object { - if (object == self) { - return YES; - } - if (![object isKindOfClass:[self class]]) { - return NO; - } - return object.countryName == self.countryName && - object.localizedCountryName == self.localizedCountryName && - object.countryCode == self.countryCode && - object.dialCode == self.dialCode && - object.level == self.level; -} - -@end - -@interface FUICountryCodes () -@property (nonatomic, readonly) NSArray *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 { - if (_defaultCountryCodeInfo == nil) { - return [self countryCodeInfoForCode:kFUIDefaultCountryCode] ?: [self countryCodeInfoAtIndex:0]; - } - return _defaultCountryCodeInfo; -} - -- (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 *)countries { - NSMutableArray *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 *)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 *results = - [self.countryCodesArray filteredArrayUsingPredicate: - [NSPredicate predicateWithFormat:kFUIJSONCountryNamePredicate, nameQuery]]; - return [[FUICountryCodes alloc] initWithCountriesArray:results]; -} - -#pragma mark Helper methods - -- (instancetype)initWithCountriesArray:(NSArray *)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 diff --git a/FirebasePhoneAuthUI/Sources/FUICountryTableViewController.h b/FirebasePhoneAuthUI/Sources/FUICountryTableViewController.h deleted file mode 100644 index fb9a254ff7c..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUICountryTableViewController.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// 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 - -NS_ASSUME_NONNULL_BEGIN - -@protocol FUICountryTableViewDelegate - -- (void)didSelectCountry:(FUICountryCodeInfo*)countryCodeInfo; - -@end - -@interface FUICountryTableViewController : UIViewController - - -@property (nonatomic, weak) id 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 diff --git a/FirebasePhoneAuthUI/Sources/FUICountryTableViewController.m b/FirebasePhoneAuthUI/Sources/FUICountryTableViewController.m deleted file mode 100644 index be2a3a015cf..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUICountryTableViewController.m +++ /dev/null @@ -1,216 +0,0 @@ -// -// 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 - -#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 () - -@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 diff --git a/FirebasePhoneAuthUI/Sources/FUIFeatureSwitch.h b/FirebasePhoneAuthUI/Sources/FUIFeatureSwitch.h deleted file mode 100644 index e841e764d64..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUIFeatureSwitch.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// 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 - -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 diff --git a/FirebasePhoneAuthUI/Sources/FUIFeatureSwitch.m b/FirebasePhoneAuthUI/Sources/FUIFeatureSwitch.m deleted file mode 100644 index 29e7dd71562..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUIFeatureSwitch.m +++ /dev/null @@ -1,34 +0,0 @@ -// -// 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 diff --git a/FirebasePhoneAuthUI/Sources/FUIPhoneAuth.m b/FirebasePhoneAuthUI/Sources/FUIPhoneAuth.m deleted file mode 100644 index b9b10590d72..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUIPhoneAuth.m +++ /dev/null @@ -1,238 +0,0 @@ -// -// 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 FirebaseAuth; - -#import "FirebasePhoneAuthUI/Sources/FUIPhoneAuth_Internal.h" - -#import - -#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 *)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 *)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 @"phone"; -} - -/** @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:@"phone"]; - if (!delegate) { - NSError *error = [FUIAuthErrorUtils errorWithCode:FUIAuthErrorCodeCantFindProvider - userInfo:@{ - FUIAuthErrorUserInfoProviderIDKey : @"phone" - }]; - [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 diff --git a/FirebasePhoneAuthUI/Sources/FUIPhoneAuthStrings.h b/FirebasePhoneAuthUI/Sources/FUIPhoneAuthStrings.h deleted file mode 100644 index 41830f63146..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUIPhoneAuthStrings.h +++ /dev/null @@ -1,65 +0,0 @@ -// -// 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 - -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 diff --git a/FirebasePhoneAuthUI/Sources/FUIPhoneAuthStrings.m b/FirebasePhoneAuthUI/Sources/FUIPhoneAuthStrings.m deleted file mode 100644 index d38bfbdd197..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUIPhoneAuthStrings.m +++ /dev/null @@ -1,66 +0,0 @@ -// -// 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 diff --git a/FirebasePhoneAuthUI/Sources/FUIPhoneAuth_Internal.h b/FirebasePhoneAuthUI/Sources/FUIPhoneAuth_Internal.h deleted file mode 100644 index 0f6861a3da6..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUIPhoneAuth_Internal.h +++ /dev/null @@ -1,46 +0,0 @@ -// -// 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 - -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 diff --git a/FirebasePhoneAuthUI/Sources/FUIPhoneEntryViewController.h b/FirebasePhoneAuthUI/Sources/FUIPhoneEntryViewController.h deleted file mode 100644 index 4ecaee5bc63..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUIPhoneEntryViewController.h +++ /dev/null @@ -1,72 +0,0 @@ -// -// 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 - -@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 diff --git a/FirebasePhoneAuthUI/Sources/FUIPhoneEntryViewController.m b/FirebasePhoneAuthUI/Sources/FUIPhoneEntryViewController.m deleted file mode 100755 index 5ef37115bb7..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUIPhoneEntryViewController.m +++ /dev/null @@ -1,376 +0,0 @@ -// -// 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; - -#import - -#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 () -@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]; - FUIPhoneAuth *provider = [authUI providerWithID:@"phone"]; - NSString *defaultCountryCode = provider.defaultCountryCode; - _countryCodes.defaultCountryCodeInfo = - [_countryCodes countryCodeInfoForCode:defaultCountryCode]; - 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:@"phone"]; - [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)bestProviderFromProviderIDs:(NSArray *)providerIDs { - NSArray> *providers = self.authUI.providers; - for (NSString *providerID in providerIDs) { - for (id 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:@"phone"]; - [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 diff --git a/FirebasePhoneAuthUI/Sources/FUIPhoneNumber.h b/FirebasePhoneAuthUI/Sources/FUIPhoneNumber.h deleted file mode 100644 index 3d108c96a4f..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUIPhoneNumber.h +++ /dev/null @@ -1,81 +0,0 @@ -// -// 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 - -@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 diff --git a/FirebasePhoneAuthUI/Sources/FUIPhoneNumber.m b/FirebasePhoneAuthUI/Sources/FUIPhoneNumber.m deleted file mode 100644 index 51c287e62c3..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUIPhoneNumber.m +++ /dev/null @@ -1,123 +0,0 @@ -// -// 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 diff --git a/FirebasePhoneAuthUI/Sources/FUIPhoneVerificationViewController.h b/FirebasePhoneAuthUI/Sources/FUIPhoneVerificationViewController.h deleted file mode 100644 index 0ffbfda1498..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUIPhoneVerificationViewController.h +++ /dev/null @@ -1,65 +0,0 @@ -// -// 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 - -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 diff --git a/FirebasePhoneAuthUI/Sources/FUIPhoneVerificationViewController.m b/FirebasePhoneAuthUI/Sources/FUIPhoneVerificationViewController.m deleted file mode 100644 index f40a7359adf..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUIPhoneVerificationViewController.m +++ /dev/null @@ -1,341 +0,0 @@ -// -// 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; - -#import - -#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 () -@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:@"phone"]; - [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 *)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:@"phone"]; - [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 diff --git a/FirebasePhoneAuthUI/Sources/FUIPrivacyAndTermsOfServiceView+PhoneAuth.h b/FirebasePhoneAuthUI/Sources/FUIPrivacyAndTermsOfServiceView+PhoneAuth.h deleted file mode 100644 index 019648e8baf..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUIPrivacyAndTermsOfServiceView+PhoneAuth.h +++ /dev/null @@ -1,31 +0,0 @@ -// -// 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 - -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 diff --git a/FirebasePhoneAuthUI/Sources/FUIPrivacyAndTermsOfServiceView+PhoneAuth.m b/FirebasePhoneAuthUI/Sources/FUIPrivacyAndTermsOfServiceView+PhoneAuth.m deleted file mode 100644 index d527ec1bad7..00000000000 --- a/FirebasePhoneAuthUI/Sources/FUIPrivacyAndTermsOfServiceView+PhoneAuth.m +++ /dev/null @@ -1,43 +0,0 @@ -// -// 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 - -#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 diff --git a/FirebasePhoneAuthUI/Sources/Info.plist b/FirebasePhoneAuthUI/Sources/Info.plist deleted file mode 100644 index fbe1e6b3141..00000000000 --- a/FirebasePhoneAuthUI/Sources/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/FirebasePhoneAuthUI/Sources/Public/FirebasePhoneAuthUI/FUIPhoneAuth.h b/FirebasePhoneAuthUI/Sources/Public/FirebasePhoneAuthUI/FUIPhoneAuth.h deleted file mode 100644 index 91c8a4b2164..00000000000 --- a/FirebasePhoneAuthUI/Sources/Public/FirebasePhoneAuthUI/FUIPhoneAuth.h +++ /dev/null @@ -1,90 +0,0 @@ -// -// 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 - -NS_ASSUME_NONNULL_BEGIN - -/** @class FUIPhoneAuth - @brief AuthUI components for Phone Sign In. - */ -@interface FUIPhoneAuth : NSObject - -/** @property buttonAlignment - @brief The alignment of the icon and text of the button. - */ -@property(nonatomic, readwrite) FUIButtonAlignment buttonAlignment; - -/** @property defaultCountryCode - Returns the default country code. If unspecified, this will default to the United States country code. - If overwriting the default country code, this value must be set before the phone auth flow is - presented. -*/ -@property (nonatomic, copy, readwrite) NSString *defaultCountryCode; - -/** @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 *)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 *)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 diff --git a/FirebasePhoneAuthUI/Sources/Public/FirebasePhoneAuthUI/FirebasePhoneAuthUI.h b/FirebasePhoneAuthUI/Sources/Public/FirebasePhoneAuthUI/FirebasePhoneAuthUI.h deleted file mode 100644 index 8dc76c0b3c7..00000000000 --- a/FirebasePhoneAuthUI/Sources/Public/FirebasePhoneAuthUI/FirebasePhoneAuthUI.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// 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 - -//! Project version number for FirebasePhoneAuthUI. -FOUNDATION_EXPORT double FirebasePhoneAuthUIVersionNumber; - -//! Project version string for FirebasePhoneAuthUI. -FOUNDATION_EXPORT const unsigned char FirebasePhoneAuthUIVersionString[]; - -#import "FUIPhoneAuth.h" diff --git a/FirebasePhoneAuthUI/Sources/Resources/FUICountryTableViewController.xib b/FirebasePhoneAuthUI/Sources/Resources/FUICountryTableViewController.xib deleted file mode 100644 index 898ee20d763..00000000000 --- a/FirebasePhoneAuthUI/Sources/Resources/FUICountryTableViewController.xib +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebasePhoneAuthUI/Sources/Resources/FUIPhoneEntryViewController.xib b/FirebasePhoneAuthUI/Sources/Resources/FUIPhoneEntryViewController.xib deleted file mode 100644 index 09e19db35ed..00000000000 --- a/FirebasePhoneAuthUI/Sources/Resources/FUIPhoneEntryViewController.xib +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebasePhoneAuthUI/Sources/Resources/FUIPhoneVerificationViewController.xib b/FirebasePhoneAuthUI/Sources/Resources/FUIPhoneVerificationViewController.xib deleted file mode 100644 index 710c3406560..00000000000 --- a/FirebasePhoneAuthUI/Sources/Resources/FUIPhoneVerificationViewController.xib +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FirebasePhoneAuthUI/Sources/Resources/country-codes.json b/FirebasePhoneAuthUI/Sources/Resources/country-codes.json deleted file mode 100644 index 54acf0761b6..00000000000 --- a/FirebasePhoneAuthUI/Sources/Resources/country-codes.json +++ /dev/null @@ -1,3226 +0,0 @@ -[ - { - "e164_cc": "93", - "iso2_cc": "AF", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Afghanistan", - "example": "701234567", - "display_name": "Afghanistan (AF) [+93]", - "full_example_with_plus_sign": "+93701234567", - "display_name_no_e164_cc": "Afghanistan (AF)", - "e164_key": "93-AF-0" - }, - { - "e164_cc": "358", - "iso2_cc": "AX", - "e164_sc": 0, - "geographic": true, - "level": 3, - "name": "Åland Islands", - "example": "412345678", - "display_name": "Åland Islands (AX) [+358]", - "full_example_with_plus_sign": "+358412345678", - "display_name_no_e164_cc": "Åland Islands (AX)", - "e164_key": "358-AX-0" - }, - { - "e164_cc": "355", - "iso2_cc": "AL", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Albania", - "example": "661234567", - "display_name": "Albania (AL) [+355]", - "full_example_with_plus_sign": "+355661234567", - "display_name_no_e164_cc": "Albania (AL)", - "e164_key": "355-AL-0" - }, - { - "e164_cc": "213", - "iso2_cc": "DZ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Algeria", - "example": "551234567", - "display_name": "Algeria (DZ) [+213]", - "full_example_with_plus_sign": "+213551234567", - "display_name_no_e164_cc": "Algeria (DZ)", - "e164_key": "213-DZ-0" - }, - { - "e164_cc": "1", - "iso2_cc": "AS", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "American Samoa", - "example": "6847331234", - "display_name": "American Samoa (AS) [+1]", - "full_example_with_plus_sign": "+16847331234", - "display_name_no_e164_cc": "American Samoa (AS)", - "e164_key": "1-AS-0" - }, - { - "e164_cc": "376", - "iso2_cc": "AD", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Andorra", - "example": "312345", - "display_name": "Andorra (AD) [+376]", - "full_example_with_plus_sign": "+376312345", - "display_name_no_e164_cc": "Andorra (AD)", - "e164_key": "376-AD-0" - }, - { - "e164_cc": "244", - "iso2_cc": "AO", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Angola", - "example": "923123456", - "display_name": "Angola (AO) [+244]", - "full_example_with_plus_sign": "+244923123456", - "display_name_no_e164_cc": "Angola (AO)", - "e164_key": "244-AO-0" - }, - { - "e164_cc": "1", - "iso2_cc": "AI", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Anguilla", - "example": "2642351234", - "display_name": "Anguilla (AI) [+1]", - "full_example_with_plus_sign": "+12642351234", - "display_name_no_e164_cc": "Anguilla (AI)", - "e164_key": "1-AI-0" - }, - { - "e164_cc": "1", - "iso2_cc": "AG", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Antigua and Barbuda", - "example": "2684641234", - "display_name": "Antigua and Barbuda (AG) [+1]", - "full_example_with_plus_sign": "+12684641234", - "display_name_no_e164_cc": "Antigua and Barbuda (AG)", - "e164_key": "1-AG-0" - }, - { - "e164_cc": "54", - "iso2_cc": "AR", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Argentina", - "example": "91123456789", - "display_name": "Argentina (AR) [+54]", - "full_example_with_plus_sign": "+5491123456789", - "display_name_no_e164_cc": "Argentina (AR)", - "e164_key": "54-AR-0" - }, - { - "e164_cc": "374", - "iso2_cc": "AM", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Armenia", - "example": "77123456", - "display_name": "Armenia (AM) [+374]", - "full_example_with_plus_sign": "+37477123456", - "display_name_no_e164_cc": "Armenia (AM)", - "e164_key": "374-AM-0" - }, - { - "e164_cc": "297", - "iso2_cc": "AW", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Aruba", - "example": "5601234", - "display_name": "Aruba (AW) [+297]", - "full_example_with_plus_sign": "+2975601234", - "display_name_no_e164_cc": "Aruba (AW)", - "e164_key": "297-AW-0" - }, - { - "e164_cc": "247", - "iso2_cc": "AC", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Ascension Island", - "example": "", - "display_name": "Ascension Island (AC) [+247]", - "full_example_with_plus_sign": null, - "display_name_no_e164_cc": "Ascension Island (AC)", - "e164_key": "247-AC-0" - }, - { - "e164_cc": "61", - "iso2_cc": "AU", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Australia", - "example": "412345678", - "display_name": "Australia (AU) [+61]", - "full_example_with_plus_sign": "+61412345678", - "display_name_no_e164_cc": "Australia (AU)", - "e164_key": "61-AU-0" - }, - { - "e164_cc": "43", - "iso2_cc": "AT", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Austria", - "example": "644123456", - "display_name": "Austria (AT) [+43]", - "full_example_with_plus_sign": "+43644123456", - "display_name_no_e164_cc": "Austria (AT)", - "e164_key": "43-AT-0" - }, - { - "e164_cc": "994", - "iso2_cc": "AZ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Azerbaijan", - "example": "401234567", - "display_name": "Azerbaijan (AZ) [+994]", - "full_example_with_plus_sign": "+994401234567", - "display_name_no_e164_cc": "Azerbaijan (AZ)", - "e164_key": "994-AZ-0" - }, - { - "e164_cc": "1", - "iso2_cc": "BS", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Bahamas", - "example": "2423591234", - "display_name": "Bahamas (BS) [+1]", - "full_example_with_plus_sign": "+12423591234", - "display_name_no_e164_cc": "Bahamas (BS)", - "e164_key": "1-BS-0" - }, - { - "e164_cc": "973", - "iso2_cc": "BH", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Bahrain", - "example": "36001234", - "display_name": "Bahrain (BH) [+973]", - "full_example_with_plus_sign": "+97336001234", - "display_name_no_e164_cc": "Bahrain (BH)", - "e164_key": "973-BH-0" - }, - { - "e164_cc": "880", - "iso2_cc": "BD", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Bangladesh", - "example": "1812345678", - "display_name": "Bangladesh (BD) [+880]", - "full_example_with_plus_sign": "+8801812345678", - "display_name_no_e164_cc": "Bangladesh (BD)", - "e164_key": "880-BD-0" - }, - { - "e164_cc": "1", - "iso2_cc": "BB", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Barbados", - "example": "2462501234", - "display_name": "Barbados (BB) [+1]", - "full_example_with_plus_sign": "+12462501234", - "display_name_no_e164_cc": "Barbados (BB)", - "e164_key": "1-BB-0" - }, - { - "e164_cc": "375", - "iso2_cc": "BY", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Belarus", - "example": "294911911", - "display_name": "Belarus (BY) [+375]", - "full_example_with_plus_sign": "+375294911911", - "display_name_no_e164_cc": "Belarus (BY)", - "e164_key": "375-BY-0" - }, - { - "e164_cc": "32", - "iso2_cc": "BE", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Belgium", - "example": "470123456", - "display_name": "Belgium (BE) [+32]", - "full_example_with_plus_sign": "+32470123456", - "display_name_no_e164_cc": "Belgium (BE)", - "e164_key": "32-BE-0" - }, - { - "e164_cc": "501", - "iso2_cc": "BZ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Belize", - "example": "6221234", - "display_name": "Belize (BZ) [+501]", - "full_example_with_plus_sign": "+5016221234", - "display_name_no_e164_cc": "Belize (BZ)", - "e164_key": "501-BZ-0" - }, - { - "e164_cc": "229", - "iso2_cc": "BJ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Benin", - "example": "90011234", - "display_name": "Benin (BJ) [+229]", - "full_example_with_plus_sign": "+22990011234", - "display_name_no_e164_cc": "Benin (BJ)", - "e164_key": "229-BJ-0" - }, - { - "e164_cc": "1", - "iso2_cc": "BM", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Bermuda", - "example": "4413701234", - "display_name": "Bermuda (BM) [+1]", - "full_example_with_plus_sign": "+14413701234", - "display_name_no_e164_cc": "Bermuda (BM)", - "e164_key": "1-BM-0" - }, - { - "e164_cc": "975", - "iso2_cc": "BT", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Bhutan", - "example": "17123456", - "display_name": "Bhutan (BT) [+975]", - "full_example_with_plus_sign": "+97517123456", - "display_name_no_e164_cc": "Bhutan (BT)", - "e164_key": "975-BT-0" - }, - { - "e164_cc": "591", - "iso2_cc": "BO", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Bolivia", - "example": "71234567", - "display_name": "Bolivia (BO) [+591]", - "full_example_with_plus_sign": "+59171234567", - "display_name_no_e164_cc": "Bolivia (BO)", - "e164_key": "591-BO-0" - }, - { - "e164_cc": "387", - "iso2_cc": "BA", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Bosnia and Herzegovina", - "example": "61123456", - "display_name": "Bosnia and Herzegovina (BA) [+387]", - "full_example_with_plus_sign": "+38761123456", - "display_name_no_e164_cc": "Bosnia and Herzegovina (BA)", - "e164_key": "387-BA-0" - }, - { - "e164_cc": "267", - "iso2_cc": "BW", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Botswana", - "example": "71123456", - "display_name": "Botswana (BW) [+267]", - "full_example_with_plus_sign": "+26771123456", - "display_name_no_e164_cc": "Botswana (BW)", - "e164_key": "267-BW-0" - }, - { - "e164_cc": "55", - "iso2_cc": "BR", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Brazil", - "example": "1161234567", - "display_name": "Brazil (BR) [+55]", - "full_example_with_plus_sign": "+551161234567", - "display_name_no_e164_cc": "Brazil (BR)", - "e164_key": "55-BR-0" - }, - { - "e164_cc": "246", - "iso2_cc": "IO", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "British Indian Ocean Territory", - "example": "3801234", - "display_name": "British Indian Ocean Territory (IO) [+246]", - "full_example_with_plus_sign": "+2463801234", - "display_name_no_e164_cc": "British Indian Ocean Territory (IO)", - "e164_key": "246-IO-0" - }, - { - "e164_cc": "1", - "iso2_cc": "VG", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "British Virgin Islands", - "example": "2843001234", - "display_name": "British Virgin Islands (VG) [+1]", - "full_example_with_plus_sign": "+12843001234", - "display_name_no_e164_cc": "British Virgin Islands (VG)", - "e164_key": "1-VG-0" - }, - { - "e164_cc": "673", - "iso2_cc": "BN", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Brunei", - "example": "7123456", - "display_name": "Brunei (BN) [+673]", - "full_example_with_plus_sign": "+6737123456", - "display_name_no_e164_cc": "Brunei (BN)", - "e164_key": "673-BN-0" - }, - { - "e164_cc": "359", - "iso2_cc": "BG", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Bulgaria", - "example": "48123456", - "display_name": "Bulgaria (BG) [+359]", - "full_example_with_plus_sign": "+35948123456", - "display_name_no_e164_cc": "Bulgaria (BG)", - "e164_key": "359-BG-0" - }, - { - "e164_cc": "226", - "iso2_cc": "BF", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Burkina Faso", - "example": "70123456", - "display_name": "Burkina Faso (BF) [+226]", - "full_example_with_plus_sign": "+22670123456", - "display_name_no_e164_cc": "Burkina Faso (BF)", - "e164_key": "226-BF-0" - }, - { - "e164_cc": "257", - "iso2_cc": "BI", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Burundi", - "example": "79561234", - "display_name": "Burundi (BI) [+257]", - "full_example_with_plus_sign": "+25779561234", - "display_name_no_e164_cc": "Burundi (BI)", - "e164_key": "257-BI-0" - }, - { - "e164_cc": "855", - "iso2_cc": "KH", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Cambodia", - "example": "91234567", - "display_name": "Cambodia (KH) [+855]", - "full_example_with_plus_sign": "+85591234567", - "display_name_no_e164_cc": "Cambodia (KH)", - "e164_key": "855-KH-0" - }, - { - "e164_cc": "237", - "iso2_cc": "CM", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Cameroon", - "example": "71234567", - "display_name": "Cameroon (CM) [+237]", - "full_example_with_plus_sign": "+23771234567", - "display_name_no_e164_cc": "Cameroon (CM)", - "e164_key": "237-CM-0" - }, - { - "e164_cc": "1", - "iso2_cc": "CA", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Canada", - "example": "2042345678", - "display_name": "Canada (CA) [+1]", - "full_example_with_plus_sign": "+12042345678", - "display_name_no_e164_cc": "Canada (CA)", - "e164_key": "1-CA-0" - }, - { - "e164_cc": "238", - "iso2_cc": "CV", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Cape Verde", - "example": "9911234", - "display_name": "Cape Verde (CV) [+238]", - "full_example_with_plus_sign": "+2389911234", - "display_name_no_e164_cc": "Cape Verde (CV)", - "e164_key": "238-CV-0" - }, - { - "e164_cc": "599", - "iso2_cc": "BQ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Caribbean Netherlands", - "example": "3181234", - "display_name": "Caribbean Netherlands (BQ) [+599]", - "full_example_with_plus_sign": "+5993181234", - "display_name_no_e164_cc": "Caribbean Netherlands (BQ)", - "e164_key": "599-BQ-0" - }, - { - "e164_cc": "1", - "iso2_cc": "KY", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Cayman Islands", - "example": "3453231234", - "display_name": "Cayman Islands (KY) [+1]", - "full_example_with_plus_sign": "+13453231234", - "display_name_no_e164_cc": "Cayman Islands (KY)", - "e164_key": "1-KY-0" - }, - { - "e164_cc": "236", - "iso2_cc": "CF", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Central African Republic", - "example": "70012345", - "display_name": "Central African Republic (CF) [+236]", - "full_example_with_plus_sign": "+23670012345", - "display_name_no_e164_cc": "Central African Republic (CF)", - "e164_key": "236-CF-0" - }, - { - "e164_cc": "235", - "iso2_cc": "TD", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Chad", - "example": "63012345", - "display_name": "Chad (TD) [+235]", - "full_example_with_plus_sign": "+23563012345", - "display_name_no_e164_cc": "Chad (TD)", - "e164_key": "235-TD-0" - }, - { - "e164_cc": "56", - "iso2_cc": "CL", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Chile", - "example": "961234567", - "display_name": "Chile (CL) [+56]", - "full_example_with_plus_sign": "+56961234567", - "display_name_no_e164_cc": "Chile (CL)", - "e164_key": "56-CL-0" - }, - { - "e164_cc": "86", - "iso2_cc": "CN", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "China", - "example": "13123456789", - "display_name": "China (CN) [+86]", - "full_example_with_plus_sign": "+8613123456789", - "display_name_no_e164_cc": "China (CN)", - "e164_key": "86-CN-0" - }, - { - "e164_cc": "61", - "iso2_cc": "CX", - "e164_sc": 0, - "geographic": true, - "level": 3, - "name": "Christmas Island", - "example": "412345678", - "display_name": "Christmas Island (CX) [+61]", - "full_example_with_plus_sign": "+61412345678", - "display_name_no_e164_cc": "Christmas Island (CX)", - "e164_key": "61-CX-0" - }, - { - "e164_cc": "61", - "iso2_cc": "CC", - "e164_sc": 0, - "geographic": true, - "level": 3, - "name": "Cocos [Keeling] Islands", - "example": "412345678", - "display_name": "Cocos [Keeling] Islands (CC) [+61]", - "full_example_with_plus_sign": "+61412345678", - "display_name_no_e164_cc": "Cocos [Keeling] Islands (CC)", - "e164_key": "61-CC-0" - }, - { - "e164_cc": "57", - "iso2_cc": "CO", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Colombia", - "example": "3211234567", - "display_name": "Colombia (CO) [+57]", - "full_example_with_plus_sign": "+573211234567", - "display_name_no_e164_cc": "Colombia (CO)", - "e164_key": "57-CO-0" - }, - { - "e164_cc": "269", - "iso2_cc": "KM", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Comoros", - "example": "3212345", - "display_name": "Comoros (KM) [+269]", - "full_example_with_plus_sign": "+2693212345", - "display_name_no_e164_cc": "Comoros (KM)", - "e164_key": "269-KM-0" - }, - { - "e164_cc": "243", - "iso2_cc": "CD", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Democratic Republic Congo", - "example": "991234567", - "display_name": "Democratic Republic Congo (CD) [+243]", - "full_example_with_plus_sign": "+243991234567", - "display_name_no_e164_cc": "Democratic Republic Congo (CD)", - "e164_key": "243-CD-0" - }, - { - "e164_cc": "242", - "iso2_cc": "CG", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Republic of Congo", - "example": "061234567", - "display_name": "Republic of Congo (CG) [+242]", - "full_example_with_plus_sign": "+242061234567", - "display_name_no_e164_cc": "Republic of Congo (CG)", - "e164_key": "242-CG-0" - }, - { - "e164_cc": "682", - "iso2_cc": "CK", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Cook Islands", - "example": "71234", - "display_name": "Cook Islands (CK) [+682]", - "full_example_with_plus_sign": "+68271234", - "display_name_no_e164_cc": "Cook Islands (CK)", - "e164_key": "682-CK-0" - }, - { - "e164_cc": "506", - "iso2_cc": "CR", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Costa Rica", - "example": "83123456", - "display_name": "Costa Rica (CR) [+506]", - "full_example_with_plus_sign": "+50683123456", - "display_name_no_e164_cc": "Costa Rica (CR)", - "e164_key": "506-CR-0" - }, - { - "e164_cc": "225", - "iso2_cc": "CI", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Côte d'Ivoire", - "example": "01234567", - "display_name": "Côte d'Ivoire (CI) [+225]", - "full_example_with_plus_sign": "+22501234567", - "display_name_no_e164_cc": "Côte d'Ivoire (CI)", - "e164_key": "225-CI-0" - }, - { - "e164_cc": "385", - "iso2_cc": "HR", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Croatia", - "example": "912345678", - "display_name": "Croatia (HR) [+385]", - "full_example_with_plus_sign": "+385912345678", - "display_name_no_e164_cc": "Croatia (HR)", - "e164_key": "385-HR-0" - }, - { - "e164_cc": "53", - "iso2_cc": "CU", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Cuba", - "example": "51234567", - "display_name": "Cuba (CU) [+53]", - "full_example_with_plus_sign": "+5351234567", - "display_name_no_e164_cc": "Cuba (CU)", - "e164_key": "53-CU-0" - }, - { - "e164_cc": "599", - "iso2_cc": "CW", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Curaçao", - "example": "95181234", - "display_name": "Curaçao (CW) [+599]", - "full_example_with_plus_sign": "+59995181234", - "display_name_no_e164_cc": "Curaçao (CW)", - "e164_key": "599-CW-0" - }, - { - "e164_cc": "357", - "iso2_cc": "CY", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Cyprus", - "example": "96123456", - "display_name": "Cyprus (CY) [+357]", - "full_example_with_plus_sign": "+35796123456", - "display_name_no_e164_cc": "Cyprus (CY)", - "e164_key": "357-CY-0" - }, - { - "e164_cc": "420", - "iso2_cc": "CZ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Czech Republic", - "example": "601123456", - "display_name": "Czech Republic (CZ) [+420]", - "full_example_with_plus_sign": "+420601123456", - "display_name_no_e164_cc": "Czech Republic (CZ)", - "e164_key": "420-CZ-0" - }, - { - "e164_cc": "45", - "iso2_cc": "DK", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Denmark", - "example": "20123456", - "display_name": "Denmark (DK) [+45]", - "full_example_with_plus_sign": "+4520123456", - "display_name_no_e164_cc": "Denmark (DK)", - "e164_key": "45-DK-0" - }, - { - "e164_cc": "253", - "iso2_cc": "DJ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Djibouti", - "example": "77831001", - "display_name": "Djibouti (DJ) [+253]", - "full_example_with_plus_sign": "+25377831001", - "display_name_no_e164_cc": "Djibouti (DJ)", - "e164_key": "253-DJ-0" - }, - { - "e164_cc": "1", - "iso2_cc": "DM", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Dominica", - "example": "7672251234", - "display_name": "Dominica (DM) [+1]", - "full_example_with_plus_sign": "+17672251234", - "display_name_no_e164_cc": "Dominica (DM)", - "e164_key": "1-DM-0" - }, - { - "e164_cc": "1", - "iso2_cc": "DO", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Dominican Republic", - "example": "8092345678", - "display_name": "Dominican Republic (DO) [+1]", - "full_example_with_plus_sign": "+18092345678", - "display_name_no_e164_cc": "Dominican Republic (DO)", - "e164_key": "1-DO-0" - }, - { - "e164_cc": "670", - "iso2_cc": "TL", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "East Timor", - "example": "77212345", - "display_name": "East Timor (TL) [+670]", - "full_example_with_plus_sign": "+67077212345", - "display_name_no_e164_cc": "East Timor (TL)", - "e164_key": "670-TL-0" - }, - { - "e164_cc": "593", - "iso2_cc": "EC", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Ecuador", - "example": "99123456", - "display_name": "Ecuador (EC) [+593]", - "full_example_with_plus_sign": "+59399123456", - "display_name_no_e164_cc": "Ecuador (EC)", - "e164_key": "593-EC-0" - }, - { - "e164_cc": "20", - "iso2_cc": "EG", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Egypt", - "example": "1001234567", - "display_name": "Egypt (EG) [+20]", - "full_example_with_plus_sign": "+201001234567", - "display_name_no_e164_cc": "Egypt (EG)", - "e164_key": "20-EG-0" - }, - { - "e164_cc": "503", - "iso2_cc": "SV", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "El Salvador", - "example": "70123456", - "display_name": "El Salvador (SV) [+503]", - "full_example_with_plus_sign": "+50370123456", - "display_name_no_e164_cc": "El Salvador (SV)", - "e164_key": "503-SV-0" - }, - { - "e164_cc": "240", - "iso2_cc": "GQ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Equatorial Guinea", - "example": "222123456", - "display_name": "Equatorial Guinea (GQ) [+240]", - "full_example_with_plus_sign": "+240222123456", - "display_name_no_e164_cc": "Equatorial Guinea (GQ)", - "e164_key": "240-GQ-0" - }, - { - "e164_cc": "291", - "iso2_cc": "ER", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Eritrea", - "example": "7123456", - "display_name": "Eritrea (ER) [+291]", - "full_example_with_plus_sign": "+2917123456", - "display_name_no_e164_cc": "Eritrea (ER)", - "e164_key": "291-ER-0" - }, - { - "e164_cc": "372", - "iso2_cc": "EE", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Estonia", - "example": "51234567", - "display_name": "Estonia (EE) [+372]", - "full_example_with_plus_sign": "+37251234567", - "display_name_no_e164_cc": "Estonia (EE)", - "e164_key": "372-EE-0" - }, - { - "e164_cc": "251", - "iso2_cc": "ET", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Ethiopia", - "example": "911234567", - "display_name": "Ethiopia (ET) [+251]", - "full_example_with_plus_sign": "+251911234567", - "display_name_no_e164_cc": "Ethiopia (ET)", - "e164_key": "251-ET-0" - }, - { - "e164_cc": "500", - "iso2_cc": "FK", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Falkland Islands [Islas Malvinas]", - "example": "51234", - "display_name": "Falkland Islands [Islas Malvinas] (FK) [+500]", - "full_example_with_plus_sign": "+50051234", - "display_name_no_e164_cc": "Falkland Islands [Islas Malvinas] (FK)", - "e164_key": "500-FK-0" - }, - { - "e164_cc": "298", - "iso2_cc": "FO", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Faroe Islands", - "example": "211234", - "display_name": "Faroe Islands (FO) [+298]", - "full_example_with_plus_sign": "+298211234", - "display_name_no_e164_cc": "Faroe Islands (FO)", - "e164_key": "298-FO-0" - }, - { - "e164_cc": "679", - "iso2_cc": "FJ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Fiji", - "example": "7012345", - "display_name": "Fiji (FJ) [+679]", - "full_example_with_plus_sign": "+6797012345", - "display_name_no_e164_cc": "Fiji (FJ)", - "e164_key": "679-FJ-0" - }, - { - "e164_cc": "358", - "iso2_cc": "FI", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Finland", - "example": "412345678", - "display_name": "Finland (FI) [+358]", - "full_example_with_plus_sign": "+358412345678", - "display_name_no_e164_cc": "Finland (FI)", - "e164_key": "358-FI-0" - }, - { - "e164_cc": "33", - "iso2_cc": "FR", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "France", - "example": "612345678", - "display_name": "France (FR) [+33]", - "full_example_with_plus_sign": "+33612345678", - "display_name_no_e164_cc": "France (FR)", - "e164_key": "33-FR-0" - }, - { - "e164_cc": "594", - "iso2_cc": "GF", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "French Guiana", - "example": "694201234", - "display_name": "French Guiana (GF) [+594]", - "full_example_with_plus_sign": "+594694201234", - "display_name_no_e164_cc": "French Guiana (GF)", - "e164_key": "594-GF-0" - }, - { - "e164_cc": "689", - "iso2_cc": "PF", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "French Polynesia", - "example": "212345", - "display_name": "French Polynesia (PF) [+689]", - "full_example_with_plus_sign": "+689212345", - "display_name_no_e164_cc": "French Polynesia (PF)", - "e164_key": "689-PF-0" - }, - { - "e164_cc": "241", - "iso2_cc": "GA", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Gabon", - "example": "06031234", - "display_name": "Gabon (GA) [+241]", - "full_example_with_plus_sign": "+24106031234", - "display_name_no_e164_cc": "Gabon (GA)", - "e164_key": "241-GA-0" - }, - { - "e164_cc": "220", - "iso2_cc": "GM", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Gambia", - "example": "3012345", - "display_name": "Gambia (GM) [+220]", - "full_example_with_plus_sign": "+2203012345", - "display_name_no_e164_cc": "Gambia (GM)", - "e164_key": "220-GM-0" - }, - { - "e164_cc": "995", - "iso2_cc": "GE", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Georgia", - "example": "555123456", - "display_name": "Georgia (GE) [+995]", - "full_example_with_plus_sign": "+995555123456", - "display_name_no_e164_cc": "Georgia (GE)", - "e164_key": "995-GE-0" - }, - { - "e164_cc": "49", - "iso2_cc": "DE", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Germany", - "example": "15123456789", - "display_name": "Germany (DE) [+49]", - "full_example_with_plus_sign": "+4915123456789", - "display_name_no_e164_cc": "Germany (DE)", - "e164_key": "49-DE-0" - }, - { - "e164_cc": "233", - "iso2_cc": "GH", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Ghana", - "example": "231234567", - "display_name": "Ghana (GH) [+233]", - "full_example_with_plus_sign": "+233231234567", - "display_name_no_e164_cc": "Ghana (GH)", - "e164_key": "233-GH-0" - }, - { - "e164_cc": "350", - "iso2_cc": "GI", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Gibraltar", - "example": "57123456", - "display_name": "Gibraltar (GI) [+350]", - "full_example_with_plus_sign": "+35057123456", - "display_name_no_e164_cc": "Gibraltar (GI)", - "e164_key": "350-GI-0" - }, - { - "e164_cc": "30", - "iso2_cc": "GR", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Greece", - "example": "6912345678", - "display_name": "Greece (GR) [+30]", - "full_example_with_plus_sign": "+306912345678", - "display_name_no_e164_cc": "Greece (GR)", - "e164_key": "30-GR-0" - }, - { - "e164_cc": "299", - "iso2_cc": "GL", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Greenland", - "example": "221234", - "display_name": "Greenland (GL) [+299]", - "full_example_with_plus_sign": "+299221234", - "display_name_no_e164_cc": "Greenland (GL)", - "e164_key": "299-GL-0" - }, - { - "e164_cc": "1", - "iso2_cc": "GD", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Grenada", - "example": "4734031234", - "display_name": "Grenada (GD) [+1]", - "full_example_with_plus_sign": "+14734031234", - "display_name_no_e164_cc": "Grenada (GD)", - "e164_key": "1-GD-0" - }, - { - "e164_cc": "590", - "iso2_cc": "GP", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Guadeloupe", - "example": "690301234", - "display_name": "Guadeloupe (GP) [+590]", - "full_example_with_plus_sign": "+590690301234", - "display_name_no_e164_cc": "Guadeloupe (GP)", - "e164_key": "590-GP-0" - }, - { - "e164_cc": "1", - "iso2_cc": "GU", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Guam", - "example": "6713001234", - "display_name": "Guam (GU) [+1]", - "full_example_with_plus_sign": "+16713001234", - "display_name_no_e164_cc": "Guam (GU)", - "e164_key": "1-GU-0" - }, - { - "e164_cc": "502", - "iso2_cc": "GT", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Guatemala", - "example": "51234567", - "display_name": "Guatemala (GT) [+502]", - "full_example_with_plus_sign": "+50251234567", - "display_name_no_e164_cc": "Guatemala (GT)", - "e164_key": "502-GT-0" - }, - { - "e164_cc": "44", - "iso2_cc": "GG", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Guernsey", - "example": "7781123456", - "display_name": "Guernsey (GG) [+44]", - "full_example_with_plus_sign": "+447781123456", - "display_name_no_e164_cc": "Guernsey (GG)", - "e164_key": "44-GG-0" - }, - { - "e164_cc": "224", - "iso2_cc": "GN", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Guinea Conakry", - "example": "60201234", - "display_name": "Guinea Conakry (GN) [+224]", - "full_example_with_plus_sign": "+22460201234", - "display_name_no_e164_cc": "Guinea Conakry (GN)", - "e164_key": "224-GN-0" - }, - { - "e164_cc": "245", - "iso2_cc": "GW", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Guinea-Bissau", - "example": "5012345", - "display_name": "Guinea-Bissau (GW) [+245]", - "full_example_with_plus_sign": "+2455012345", - "display_name_no_e164_cc": "Guinea-Bissau (GW)", - "e164_key": "245-GW-0" - }, - { - "e164_cc": "592", - "iso2_cc": "GY", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Guyana", - "example": "6091234", - "display_name": "Guyana (GY) [+592]", - "full_example_with_plus_sign": "+5926091234", - "display_name_no_e164_cc": "Guyana (GY)", - "e164_key": "592-GY-0" - }, - { - "e164_cc": "509", - "iso2_cc": "HT", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Haiti", - "example": "34101234", - "display_name": "Haiti (HT) [+509]", - "full_example_with_plus_sign": "+50934101234", - "display_name_no_e164_cc": "Haiti (HT)", - "e164_key": "509-HT-0" - }, - { - "e164_cc": "672", - "iso2_cc": "HM", - "e164_sc": 0, - "geographic": true, - "level": 3, - "name": "Heard Island and McDonald Islands", - "example": "", - "display_name": "Heard Island and McDonald Islands (HM) [+672]", - "full_example_with_plus_sign": null, - "display_name_no_e164_cc": "Heard Island and McDonald Islands (HM)", - "e164_key": "672-HM-0" - }, - { - "e164_cc": "504", - "iso2_cc": "HN", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Honduras", - "example": "91234567", - "display_name": "Honduras (HN) [+504]", - "full_example_with_plus_sign": "+50491234567", - "display_name_no_e164_cc": "Honduras (HN)", - "e164_key": "504-HN-0" - }, - { - "e164_cc": "852", - "iso2_cc": "HK", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Hong Kong", - "example": "51234567", - "display_name": "Hong Kong (HK) [+852]", - "full_example_with_plus_sign": "+85251234567", - "display_name_no_e164_cc": "Hong Kong (HK)", - "e164_key": "852-HK-0" - }, - { - "e164_cc": "36", - "iso2_cc": "HU", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Hungary", - "example": "201234567", - "display_name": "Hungary (HU) [+36]", - "full_example_with_plus_sign": "+36201234567", - "display_name_no_e164_cc": "Hungary (HU)", - "e164_key": "36-HU-0" - }, - { - "e164_cc": "354", - "iso2_cc": "IS", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Iceland", - "example": "6101234", - "display_name": "Iceland (IS) [+354]", - "full_example_with_plus_sign": "+3546101234", - "display_name_no_e164_cc": "Iceland (IS)", - "e164_key": "354-IS-0" - }, - { - "e164_cc": "91", - "iso2_cc": "IN", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "India", - "example": "9123456789", - "display_name": "India (IN) [+91]", - "full_example_with_plus_sign": "+919123456789", - "display_name_no_e164_cc": "India (IN)", - "e164_key": "91-IN-0" - }, - { - "e164_cc": "62", - "iso2_cc": "ID", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Indonesia", - "example": "812345678", - "display_name": "Indonesia (ID) [+62]", - "full_example_with_plus_sign": "+62812345678", - "display_name_no_e164_cc": "Indonesia (ID)", - "e164_key": "62-ID-0" - }, - { - "e164_cc": "98", - "iso2_cc": "IR", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Iran", - "example": "9123456789", - "display_name": "Iran (IR) [+98]", - "full_example_with_plus_sign": "+989123456789", - "display_name_no_e164_cc": "Iran (IR)", - "e164_key": "98-IR-0" - }, - { - "e164_cc": "964", - "iso2_cc": "IQ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Iraq", - "example": "7912345678", - "display_name": "Iraq (IQ) [+964]", - "full_example_with_plus_sign": "+9647912345678", - "display_name_no_e164_cc": "Iraq (IQ)", - "e164_key": "964-IQ-0" - }, - { - "e164_cc": "353", - "iso2_cc": "IE", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Ireland", - "example": "850123456", - "display_name": "Ireland (IE) [+353]", - "full_example_with_plus_sign": "+353850123456", - "display_name_no_e164_cc": "Ireland (IE)", - "e164_key": "353-IE-0" - }, - { - "e164_cc": "44", - "iso2_cc": "IM", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Isle of Man", - "example": "7924123456", - "display_name": "Isle of Man (IM) [+44]", - "full_example_with_plus_sign": "+447924123456", - "display_name_no_e164_cc": "Isle of Man (IM)", - "e164_key": "44-IM-0" - }, - { - "e164_cc": "972", - "iso2_cc": "IL", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Israel", - "example": "501234567", - "display_name": "Israel (IL) [+972]", - "full_example_with_plus_sign": "+972501234567", - "display_name_no_e164_cc": "Israel (IL)", - "e164_key": "972-IL-0" - }, - { - "e164_cc": "39", - "iso2_cc": "IT", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Italy", - "example": "3123456789", - "display_name": "Italy (IT) [+39]", - "full_example_with_plus_sign": "+393123456789", - "display_name_no_e164_cc": "Italy (IT)", - "e164_key": "39-IT-0" - }, - { - "e164_cc": "1", - "iso2_cc": "JM", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Jamaica", - "example": "8762101234", - "display_name": "Jamaica (JM) [+1]", - "full_example_with_plus_sign": "+18762101234", - "display_name_no_e164_cc": "Jamaica (JM)", - "e164_key": "1-JM-0" - }, - { - "e164_cc": "81", - "iso2_cc": "JP", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Japan", - "example": "7012345678", - "display_name": "Japan (JP) [+81]", - "full_example_with_plus_sign": "+817012345678", - "display_name_no_e164_cc": "Japan (JP)", - "e164_key": "81-JP-0" - }, - { - "e164_cc": "44", - "iso2_cc": "JE", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Jersey", - "example": "7797123456", - "display_name": "Jersey (JE) [+44]", - "full_example_with_plus_sign": "+447797123456", - "display_name_no_e164_cc": "Jersey (JE)", - "e164_key": "44-JE-0" - }, - { - "e164_cc": "962", - "iso2_cc": "JO", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Jordan", - "example": "790123456", - "display_name": "Jordan (JO) [+962]", - "full_example_with_plus_sign": "+962790123456", - "display_name_no_e164_cc": "Jordan (JO)", - "e164_key": "962-JO-0" - }, - { - "e164_cc": "7", - "iso2_cc": "KZ", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Kazakhstan", - "example": "7710009998", - "display_name": "Kazakhstan (KZ) [+7]", - "full_example_with_plus_sign": "+77710009998", - "display_name_no_e164_cc": "Kazakhstan (KZ)", - "e164_key": "7-KZ-0" - }, - { - "e164_cc": "254", - "iso2_cc": "KE", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Kenya", - "example": "712123456", - "display_name": "Kenya (KE) [+254]", - "full_example_with_plus_sign": "+254712123456", - "display_name_no_e164_cc": "Kenya (KE)", - "e164_key": "254-KE-0" - }, - { - "e164_cc": "686", - "iso2_cc": "KI", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Kiribati", - "example": "61234", - "display_name": "Kiribati (KI) [+686]", - "full_example_with_plus_sign": "+68661234", - "display_name_no_e164_cc": "Kiribati (KI)", - "e164_key": "686-KI-0" - }, - { - "e164_cc": "383", - "iso2_cc": "XK", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Kosovo", - "example": "", - "display_name": "Kosovo (XK) [+383]", - "full_example_with_plus_sign": null, - "display_name_no_e164_cc": "Kosovo (XK)", - "e164_key": "383-XK-0" - }, - { - "e164_cc": "381", - "iso2_cc": "XK", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Kosovo", - "example": "", - "display_name": "Kosovo (XK) [+381]", - "full_example_with_plus_sign": null, - "display_name_no_e164_cc": "Kosovo (XK)", - "e164_key": "381-XK-0" - }, - { - "e164_cc": "386", - "iso2_cc": "XK", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Kosovo", - "example": "", - "display_name": "Kosovo (XK) [+386]", - "full_example_with_plus_sign": null, - "display_name_no_e164_cc": "Kosovo (XK)", - "e164_key": "386-XK-0" - }, - { - "e164_cc": "965", - "iso2_cc": "KW", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Kuwait", - "example": "50012345", - "display_name": "Kuwait (KW) [+965]", - "full_example_with_plus_sign": "+96550012345", - "display_name_no_e164_cc": "Kuwait (KW)", - "e164_key": "965-KW-0" - }, - { - "e164_cc": "996", - "iso2_cc": "KG", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Kyrgyzstan", - "example": "700123456", - "display_name": "Kyrgyzstan (KG) [+996]", - "full_example_with_plus_sign": "+996700123456", - "display_name_no_e164_cc": "Kyrgyzstan (KG)", - "e164_key": "996-KG-0" - }, - { - "e164_cc": "856", - "iso2_cc": "LA", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Laos", - "example": "2023123456", - "display_name": "Laos (LA) [+856]", - "full_example_with_plus_sign": "+8562023123456", - "display_name_no_e164_cc": "Laos (LA)", - "e164_key": "856-LA-0" - }, - { - "e164_cc": "371", - "iso2_cc": "LV", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Latvia", - "example": "21234567", - "display_name": "Latvia (LV) [+371]", - "full_example_with_plus_sign": "+37121234567", - "display_name_no_e164_cc": "Latvia (LV)", - "e164_key": "371-LV-0" - }, - { - "e164_cc": "961", - "iso2_cc": "LB", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Lebanon", - "example": "71123456", - "display_name": "Lebanon (LB) [+961]", - "full_example_with_plus_sign": "+96171123456", - "display_name_no_e164_cc": "Lebanon (LB)", - "e164_key": "961-LB-0" - }, - { - "e164_cc": "266", - "iso2_cc": "LS", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Lesotho", - "example": "50123456", - "display_name": "Lesotho (LS) [+266]", - "full_example_with_plus_sign": "+26650123456", - "display_name_no_e164_cc": "Lesotho (LS)", - "e164_key": "266-LS-0" - }, - { - "e164_cc": "231", - "iso2_cc": "LR", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Liberia", - "example": "4612345", - "display_name": "Liberia (LR) [+231]", - "full_example_with_plus_sign": "+2314612345", - "display_name_no_e164_cc": "Liberia (LR)", - "e164_key": "231-LR-0" - }, - { - "e164_cc": "218", - "iso2_cc": "LY", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Libya", - "example": "912345678", - "display_name": "Libya (LY) [+218]", - "full_example_with_plus_sign": "+218912345678", - "display_name_no_e164_cc": "Libya (LY)", - "e164_key": "218-LY-0" - }, - { - "e164_cc": "423", - "iso2_cc": "LI", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Liechtenstein", - "example": "661234567", - "display_name": "Liechtenstein (LI) [+423]", - "full_example_with_plus_sign": "+423661234567", - "display_name_no_e164_cc": "Liechtenstein (LI)", - "e164_key": "423-LI-0" - }, - { - "e164_cc": "370", - "iso2_cc": "LT", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Lithuania", - "example": "61234567", - "display_name": "Lithuania (LT) [+370]", - "full_example_with_plus_sign": "+37061234567", - "display_name_no_e164_cc": "Lithuania (LT)", - "e164_key": "370-LT-0" - }, - { - "e164_cc": "352", - "iso2_cc": "LU", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Luxembourg", - "example": "628123456", - "display_name": "Luxembourg (LU) [+352]", - "full_example_with_plus_sign": "+352628123456", - "display_name_no_e164_cc": "Luxembourg (LU)", - "e164_key": "352-LU-0" - }, - { - "e164_cc": "853", - "iso2_cc": "MO", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Macau", - "example": "66123456", - "display_name": "Macau (MO) [+853]", - "full_example_with_plus_sign": "+85366123456", - "display_name_no_e164_cc": "Macau (MO)", - "e164_key": "853-MO-0" - }, - { - "e164_cc": "389", - "iso2_cc": "MK", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Macedonia", - "example": "72345678", - "display_name": "Macedonia (MK) [+389]", - "full_example_with_plus_sign": "+38972345678", - "display_name_no_e164_cc": "Macedonia (MK)", - "e164_key": "389-MK-0" - }, - { - "e164_cc": "261", - "iso2_cc": "MG", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Madagascar", - "example": "301234567", - "display_name": "Madagascar (MG) [+261]", - "full_example_with_plus_sign": "+261301234567", - "display_name_no_e164_cc": "Madagascar (MG)", - "e164_key": "261-MG-0" - }, - { - "e164_cc": "265", - "iso2_cc": "MW", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Malawi", - "example": "991234567", - "display_name": "Malawi (MW) [+265]", - "full_example_with_plus_sign": "+265991234567", - "display_name_no_e164_cc": "Malawi (MW)", - "e164_key": "265-MW-0" - }, - { - "e164_cc": "60", - "iso2_cc": "MY", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Malaysia", - "example": "123456789", - "display_name": "Malaysia (MY) [+60]", - "full_example_with_plus_sign": "+60123456789", - "display_name_no_e164_cc": "Malaysia (MY)", - "e164_key": "60-MY-0" - }, - { - "e164_cc": "960", - "iso2_cc": "MV", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Maldives", - "example": "7712345", - "display_name": "Maldives (MV) [+960]", - "full_example_with_plus_sign": "+9607712345", - "display_name_no_e164_cc": "Maldives (MV)", - "e164_key": "960-MV-0" - }, - { - "e164_cc": "223", - "iso2_cc": "ML", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Mali", - "example": "65012345", - "display_name": "Mali (ML) [+223]", - "full_example_with_plus_sign": "+22365012345", - "display_name_no_e164_cc": "Mali (ML)", - "e164_key": "223-ML-0" - }, - { - "e164_cc": "356", - "iso2_cc": "MT", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Malta", - "example": "96961234", - "display_name": "Malta (MT) [+356]", - "full_example_with_plus_sign": "+35696961234", - "display_name_no_e164_cc": "Malta (MT)", - "e164_key": "356-MT-0" - }, - { - "e164_cc": "692", - "iso2_cc": "MH", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Marshall Islands", - "example": "2351234", - "display_name": "Marshall Islands (MH) [+692]", - "full_example_with_plus_sign": "+6922351234", - "display_name_no_e164_cc": "Marshall Islands (MH)", - "e164_key": "692-MH-0" - }, - { - "e164_cc": "596", - "iso2_cc": "MQ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Martinique", - "example": "696201234", - "display_name": "Martinique (MQ) [+596]", - "full_example_with_plus_sign": "+596696201234", - "display_name_no_e164_cc": "Martinique (MQ)", - "e164_key": "596-MQ-0" - }, - { - "e164_cc": "222", - "iso2_cc": "MR", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Mauritania", - "example": "22123456", - "display_name": "Mauritania (MR) [+222]", - "full_example_with_plus_sign": "+22222123456", - "display_name_no_e164_cc": "Mauritania (MR)", - "e164_key": "222-MR-0" - }, - { - "e164_cc": "230", - "iso2_cc": "MU", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Mauritius", - "example": "2512345", - "display_name": "Mauritius (MU) [+230]", - "full_example_with_plus_sign": "+2302512345", - "display_name_no_e164_cc": "Mauritius (MU)", - "e164_key": "230-MU-0" - }, - { - "e164_cc": "262", - "iso2_cc": "YT", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Mayotte", - "example": "639123456", - "display_name": "Mayotte (YT) [+262]", - "full_example_with_plus_sign": "+262639123456", - "display_name_no_e164_cc": "Mayotte (YT)", - "e164_key": "262-YT-0" - }, - { - "e164_cc": "52", - "iso2_cc": "MX", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Mexico", - "example": "12221234567", - "display_name": "Mexico (MX) [+52]", - "full_example_with_plus_sign": "+5212221234567", - "display_name_no_e164_cc": "Mexico (MX)", - "e164_key": "52-MX-0" - }, - { - "e164_cc": "691", - "iso2_cc": "FM", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Micronesia", - "example": "3501234", - "display_name": "Micronesia (FM) [+691]", - "full_example_with_plus_sign": "+6913501234", - "display_name_no_e164_cc": "Micronesia (FM)", - "e164_key": "691-FM-0" - }, - { - "e164_cc": "373", - "iso2_cc": "MD", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Moldova", - "example": "65012345", - "display_name": "Moldova (MD) [+373]", - "full_example_with_plus_sign": "+37365012345", - "display_name_no_e164_cc": "Moldova (MD)", - "e164_key": "373-MD-0" - }, - { - "e164_cc": "377", - "iso2_cc": "MC", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Monaco", - "example": "612345678", - "display_name": "Monaco (MC) [+377]", - "full_example_with_plus_sign": "+377612345678", - "display_name_no_e164_cc": "Monaco (MC)", - "e164_key": "377-MC-0" - }, - { - "e164_cc": "976", - "iso2_cc": "MN", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Mongolia", - "example": "88123456", - "display_name": "Mongolia (MN) [+976]", - "full_example_with_plus_sign": "+97688123456", - "display_name_no_e164_cc": "Mongolia (MN)", - "e164_key": "976-MN-0" - }, - { - "e164_cc": "382", - "iso2_cc": "ME", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Montenegro", - "example": "67622901", - "display_name": "Montenegro (ME) [+382]", - "full_example_with_plus_sign": "+38267622901", - "display_name_no_e164_cc": "Montenegro (ME)", - "e164_key": "382-ME-0" - }, - { - "e164_cc": "1", - "iso2_cc": "MS", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Montserrat", - "example": "6644923456", - "display_name": "Montserrat (MS) [+1]", - "full_example_with_plus_sign": "+16644923456", - "display_name_no_e164_cc": "Montserrat (MS)", - "e164_key": "1-MS-0" - }, - { - "e164_cc": "212", - "iso2_cc": "MA", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Morocco", - "example": "650123456", - "display_name": "Morocco (MA) [+212]", - "full_example_with_plus_sign": "+212650123456", - "display_name_no_e164_cc": "Morocco (MA)", - "e164_key": "212-MA-0" - }, - { - "e164_cc": "258", - "iso2_cc": "MZ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Mozambique", - "example": "821234567", - "display_name": "Mozambique (MZ) [+258]", - "full_example_with_plus_sign": "+258821234567", - "display_name_no_e164_cc": "Mozambique (MZ)", - "e164_key": "258-MZ-0" - }, - { - "e164_cc": "95", - "iso2_cc": "MM", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Myanmar [Burma]", - "example": "92123456", - "display_name": "Myanmar [Burma] (MM) [+95]", - "full_example_with_plus_sign": "+9592123456", - "display_name_no_e164_cc": "Myanmar [Burma] (MM)", - "e164_key": "95-MM-0" - }, - { - "e164_cc": "264", - "iso2_cc": "NA", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Namibia", - "example": "811234567", - "display_name": "Namibia (NA) [+264]", - "full_example_with_plus_sign": "+264811234567", - "display_name_no_e164_cc": "Namibia (NA)", - "e164_key": "264-NA-0" - }, - { - "e164_cc": "674", - "iso2_cc": "NR", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Nauru", - "example": "5551234", - "display_name": "Nauru (NR) [+674]", - "full_example_with_plus_sign": "+6745551234", - "display_name_no_e164_cc": "Nauru (NR)", - "e164_key": "674-NR-0" - }, - { - "e164_cc": "977", - "iso2_cc": "NP", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Nepal", - "example": "9841234567", - "display_name": "Nepal (NP) [+977]", - "full_example_with_plus_sign": "+9779841234567", - "display_name_no_e164_cc": "Nepal (NP)", - "e164_key": "977-NP-0" - }, - { - "e164_cc": "31", - "iso2_cc": "NL", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Netherlands", - "example": "612345678", - "display_name": "Netherlands (NL) [+31]", - "full_example_with_plus_sign": "+31612345678", - "display_name_no_e164_cc": "Netherlands (NL)", - "e164_key": "31-NL-0" - }, - { - "e164_cc": "687", - "iso2_cc": "NC", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "New Caledonia", - "example": "751234", - "display_name": "New Caledonia (NC) [+687]", - "full_example_with_plus_sign": "+687751234", - "display_name_no_e164_cc": "New Caledonia (NC)", - "e164_key": "687-NC-0" - }, - { - "e164_cc": "64", - "iso2_cc": "NZ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "New Zealand", - "example": "211234567", - "display_name": "New Zealand (NZ) [+64]", - "full_example_with_plus_sign": "+64211234567", - "display_name_no_e164_cc": "New Zealand (NZ)", - "e164_key": "64-NZ-0" - }, - { - "e164_cc": "505", - "iso2_cc": "NI", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Nicaragua", - "example": "81234567", - "display_name": "Nicaragua (NI) [+505]", - "full_example_with_plus_sign": "+50581234567", - "display_name_no_e164_cc": "Nicaragua (NI)", - "e164_key": "505-NI-0" - }, - { - "e164_cc": "227", - "iso2_cc": "NE", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Niger", - "example": "93123456", - "display_name": "Niger (NE) [+227]", - "full_example_with_plus_sign": "+22793123456", - "display_name_no_e164_cc": "Niger (NE)", - "e164_key": "227-NE-0" - }, - { - "e164_cc": "234", - "iso2_cc": "NG", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Nigeria", - "example": "8021234567", - "display_name": "Nigeria (NG) [+234]", - "full_example_with_plus_sign": "+2348021234567", - "display_name_no_e164_cc": "Nigeria (NG)", - "e164_key": "234-NG-0" - }, - { - "e164_cc": "683", - "iso2_cc": "NU", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Niue", - "example": "1234", - "display_name": "Niue (NU) [+683]", - "full_example_with_plus_sign": "+6831234", - "display_name_no_e164_cc": "Niue (NU)", - "e164_key": "683-NU-0" - }, - { - "e164_cc": "672", - "iso2_cc": "NF", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Norfolk Island", - "example": "381234", - "display_name": "Norfolk Island (NF) [+672]", - "full_example_with_plus_sign": "+672381234", - "display_name_no_e164_cc": "Norfolk Island (NF)", - "e164_key": "672-NF-0" - }, - { - "e164_cc": "850", - "iso2_cc": "KP", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "North Korea", - "example": "1921234567", - "display_name": "North Korea (KP) [+850]", - "full_example_with_plus_sign": "+8501921234567", - "display_name_no_e164_cc": "North Korea (KP)", - "e164_key": "850-KP-0" - }, - { - "e164_cc": "1", - "iso2_cc": "MP", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Northern Mariana Islands", - "example": "6702345678", - "display_name": "Northern Mariana Islands (MP) [+1]", - "full_example_with_plus_sign": "+16702345678", - "display_name_no_e164_cc": "Northern Mariana Islands (MP)", - "e164_key": "1-MP-0" - }, - { - "e164_cc": "47", - "iso2_cc": "NO", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Norway", - "example": "41234567", - "display_name": "Norway (NO) [+47]", - "full_example_with_plus_sign": "+4741234567", - "display_name_no_e164_cc": "Norway (NO)", - "e164_key": "47-NO-0" - }, - { - "e164_cc": "968", - "iso2_cc": "OM", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Oman", - "example": "92123456", - "display_name": "Oman (OM) [+968]", - "full_example_with_plus_sign": "+96892123456", - "display_name_no_e164_cc": "Oman (OM)", - "e164_key": "968-OM-0" - }, - { - "e164_cc": "92", - "iso2_cc": "PK", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Pakistan", - "example": "3012345678", - "display_name": "Pakistan (PK) [+92]", - "full_example_with_plus_sign": "+923012345678", - "display_name_no_e164_cc": "Pakistan (PK)", - "e164_key": "92-PK-0" - }, - { - "e164_cc": "680", - "iso2_cc": "PW", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Palau", - "example": "6201234", - "display_name": "Palau (PW) [+680]", - "full_example_with_plus_sign": "+6806201234", - "display_name_no_e164_cc": "Palau (PW)", - "e164_key": "680-PW-0" - }, - { - "e164_cc": "970", - "iso2_cc": "PS", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Palestinian Territories", - "example": "599123456", - "display_name": "Palestinian Territories (PS) [+970]", - "full_example_with_plus_sign": "+970599123456", - "display_name_no_e164_cc": "Palestinian Territories (PS)", - "e164_key": "970-PS-0" - }, - { - "e164_cc": "507", - "iso2_cc": "PA", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Panama", - "example": "60012345", - "display_name": "Panama (PA) [+507]", - "full_example_with_plus_sign": "+50760012345", - "display_name_no_e164_cc": "Panama (PA)", - "e164_key": "507-PA-0" - }, - { - "e164_cc": "675", - "iso2_cc": "PG", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Papua New Guinea", - "example": "6812345", - "display_name": "Papua New Guinea (PG) [+675]", - "full_example_with_plus_sign": "+6756812345", - "display_name_no_e164_cc": "Papua New Guinea (PG)", - "e164_key": "675-PG-0" - }, - { - "e164_cc": "595", - "iso2_cc": "PY", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Paraguay", - "example": "961456789", - "display_name": "Paraguay (PY) [+595]", - "full_example_with_plus_sign": "+595961456789", - "display_name_no_e164_cc": "Paraguay (PY)", - "e164_key": "595-PY-0" - }, - { - "e164_cc": "51", - "iso2_cc": "PE", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Peru", - "example": "912345678", - "display_name": "Peru (PE) [+51]", - "full_example_with_plus_sign": "+51912345678", - "display_name_no_e164_cc": "Peru (PE)", - "e164_key": "51-PE-0" - }, - { - "e164_cc": "63", - "iso2_cc": "PH", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Philippines", - "example": "9051234567", - "display_name": "Philippines (PH) [+63]", - "full_example_with_plus_sign": "+639051234567", - "display_name_no_e164_cc": "Philippines (PH)", - "e164_key": "63-PH-0" - }, - { - "e164_cc": "48", - "iso2_cc": "PL", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Poland", - "example": "512345678", - "display_name": "Poland (PL) [+48]", - "full_example_with_plus_sign": "+48512345678", - "display_name_no_e164_cc": "Poland (PL)", - "e164_key": "48-PL-0" - }, - { - "e164_cc": "351", - "iso2_cc": "PT", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Portugal", - "example": "912345678", - "display_name": "Portugal (PT) [+351]", - "full_example_with_plus_sign": "+351912345678", - "display_name_no_e164_cc": "Portugal (PT)", - "e164_key": "351-PT-0" - }, - { - "e164_cc": "1", - "iso2_cc": "PR", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Puerto Rico", - "example": "7872345678", - "display_name": "Puerto Rico (PR) [+1]", - "full_example_with_plus_sign": "+17872345678", - "display_name_no_e164_cc": "Puerto Rico (PR)", - "e164_key": "1-PR-0" - }, - { - "e164_cc": "974", - "iso2_cc": "QA", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Qatar", - "example": "33123456", - "display_name": "Qatar (QA) [+974]", - "full_example_with_plus_sign": "+97433123456", - "display_name_no_e164_cc": "Qatar (QA)", - "e164_key": "974-QA-0" - }, - { - "e164_cc": "262", - "iso2_cc": "RE", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Réunion", - "example": "692123456", - "display_name": "Réunion (RE) [+262]", - "full_example_with_plus_sign": "+262692123456", - "display_name_no_e164_cc": "Réunion (RE)", - "e164_key": "262-RE-0" - }, - { - "e164_cc": "40", - "iso2_cc": "RO", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Romania", - "example": "712345678", - "display_name": "Romania (RO) [+40]", - "full_example_with_plus_sign": "+40712345678", - "display_name_no_e164_cc": "Romania (RO)", - "e164_key": "40-RO-0" - }, - { - "e164_cc": "7", - "iso2_cc": "RU", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Russia", - "example": "9123456789", - "display_name": "Russia (RU) [+7]", - "full_example_with_plus_sign": "+79123456789", - "display_name_no_e164_cc": "Russia (RU)", - "e164_key": "7-RU-0" - }, - { - "e164_cc": "250", - "iso2_cc": "RW", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Rwanda", - "example": "720123456", - "display_name": "Rwanda (RW) [+250]", - "full_example_with_plus_sign": "+250720123456", - "display_name_no_e164_cc": "Rwanda (RW)", - "e164_key": "250-RW-0" - }, - { - "e164_cc": "590", - "iso2_cc": "BL", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Saint Barthélemy", - "example": "690221234", - "display_name": "Saint Barthélemy (BL) [+590]", - "full_example_with_plus_sign": "+590690221234", - "display_name_no_e164_cc": "Saint Barthélemy (BL)", - "e164_key": "590-BL-0" - }, - { - "e164_cc": "290", - "iso2_cc": "SH", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Saint Helena", - "example": "", - "display_name": "Saint Helena (SH) [+290]", - "full_example_with_plus_sign": null, - "display_name_no_e164_cc": "Saint Helena (SH)", - "e164_key": "290-SH-0" - }, - { - "e164_cc": "1", - "iso2_cc": "KN", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "St. Kitts", - "example": "8695561234", - "display_name": "St. Kitts (KN) [+1]", - "full_example_with_plus_sign": "+18695561234", - "display_name_no_e164_cc": "St. Kitts (KN)", - "e164_key": "1-KN-0" - }, - { - "e164_cc": "1", - "iso2_cc": "LC", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "St. Lucia", - "example": "7582845678", - "display_name": "St. Lucia (LC) [+1]", - "full_example_with_plus_sign": "+17582845678", - "display_name_no_e164_cc": "St. Lucia (LC)", - "e164_key": "1-LC-0" - }, - { - "e164_cc": "590", - "iso2_cc": "MF", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Saint Martin", - "example": "690221234", - "display_name": "Saint Martin (MF) [+590]", - "full_example_with_plus_sign": "+590690221234", - "display_name_no_e164_cc": "Saint Martin (MF)", - "e164_key": "590-MF-0" - }, - { - "e164_cc": "508", - "iso2_cc": "PM", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Saint Pierre and Miquelon", - "example": "551234", - "display_name": "Saint Pierre and Miquelon (PM) [+508]", - "full_example_with_plus_sign": "+508551234", - "display_name_no_e164_cc": "Saint Pierre and Miquelon (PM)", - "e164_key": "508-PM-0" - }, - { - "e164_cc": "1", - "iso2_cc": "VC", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "St. Vincent", - "example": "7844301234", - "display_name": "St. Vincent (VC) [+1]", - "full_example_with_plus_sign": "+17844301234", - "display_name_no_e164_cc": "St. Vincent (VC)", - "e164_key": "1-VC-0" - }, - { - "e164_cc": "685", - "iso2_cc": "WS", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Samoa", - "example": "601234", - "display_name": "Samoa (WS) [+685]", - "full_example_with_plus_sign": "+685601234", - "display_name_no_e164_cc": "Samoa (WS)", - "e164_key": "685-WS-0" - }, - { - "e164_cc": "378", - "iso2_cc": "SM", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "San Marino", - "example": "66661212", - "display_name": "San Marino (SM) [+378]", - "full_example_with_plus_sign": "+37866661212", - "display_name_no_e164_cc": "San Marino (SM)", - "e164_key": "378-SM-0" - }, - { - "e164_cc": "239", - "iso2_cc": "ST", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "São Tomé and Príncipe", - "example": "9812345", - "display_name": "São Tomé and Príncipe (ST) [+239]", - "full_example_with_plus_sign": "+2399812345", - "display_name_no_e164_cc": "São Tomé and Príncipe (ST)", - "e164_key": "239-ST-0" - }, - { - "e164_cc": "966", - "iso2_cc": "SA", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Saudi Arabia", - "example": "512345678", - "display_name": "Saudi Arabia (SA) [+966]", - "full_example_with_plus_sign": "+966512345678", - "display_name_no_e164_cc": "Saudi Arabia (SA)", - "e164_key": "966-SA-0" - }, - { - "e164_cc": "221", - "iso2_cc": "SN", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Senegal", - "example": "701012345", - "display_name": "Senegal (SN) [+221]", - "full_example_with_plus_sign": "+221701012345", - "display_name_no_e164_cc": "Senegal (SN)", - "e164_key": "221-SN-0" - }, - { - "e164_cc": "381", - "iso2_cc": "RS", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Serbia", - "example": "601234567", - "display_name": "Serbia (RS) [+381]", - "full_example_with_plus_sign": "+381601234567", - "display_name_no_e164_cc": "Serbia (RS)", - "e164_key": "381-RS-0" - }, - { - "e164_cc": "248", - "iso2_cc": "SC", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Seychelles", - "example": "2510123", - "display_name": "Seychelles (SC) [+248]", - "full_example_with_plus_sign": "+2482510123", - "display_name_no_e164_cc": "Seychelles (SC)", - "e164_key": "248-SC-0" - }, - { - "e164_cc": "232", - "iso2_cc": "SL", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Sierra Leone", - "example": "25123456", - "display_name": "Sierra Leone (SL) [+232]", - "full_example_with_plus_sign": "+23225123456", - "display_name_no_e164_cc": "Sierra Leone (SL)", - "e164_key": "232-SL-0" - }, - { - "e164_cc": "65", - "iso2_cc": "SG", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Singapore", - "example": "81234567", - "display_name": "Singapore (SG) [+65]", - "full_example_with_plus_sign": "+6581234567", - "display_name_no_e164_cc": "Singapore (SG)", - "e164_key": "65-SG-0" - }, - { - "e164_cc": "1", - "iso2_cc": "SX", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Sint Maarten", - "example": "7215205678", - "display_name": "Sint Maarten (SX) [+1]", - "full_example_with_plus_sign": "+17215205678", - "display_name_no_e164_cc": "Sint Maarten (SX)", - "e164_key": "1-SX-0" - }, - { - "e164_cc": "421", - "iso2_cc": "SK", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Slovakia", - "example": "912123456", - "display_name": "Slovakia (SK) [+421]", - "full_example_with_plus_sign": "+421912123456", - "display_name_no_e164_cc": "Slovakia (SK)", - "e164_key": "421-SK-0" - }, - { - "e164_cc": "386", - "iso2_cc": "SI", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Slovenia", - "example": "31234567", - "display_name": "Slovenia (SI) [+386]", - "full_example_with_plus_sign": "+38631234567", - "display_name_no_e164_cc": "Slovenia (SI)", - "e164_key": "386-SI-0" - }, - { - "e164_cc": "677", - "iso2_cc": "SB", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Solomon Islands", - "example": "7421234", - "display_name": "Solomon Islands (SB) [+677]", - "full_example_with_plus_sign": "+6777421234", - "display_name_no_e164_cc": "Solomon Islands (SB)", - "e164_key": "677-SB-0" - }, - { - "e164_cc": "252", - "iso2_cc": "SO", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Somalia", - "example": "90792024", - "display_name": "Somalia (SO) [+252]", - "full_example_with_plus_sign": "+25290792024", - "display_name_no_e164_cc": "Somalia (SO)", - "e164_key": "252-SO-0" - }, - { - "e164_cc": "27", - "iso2_cc": "ZA", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "South Africa", - "example": "711234567", - "display_name": "South Africa (ZA) [+27]", - "full_example_with_plus_sign": "+27711234567", - "display_name_no_e164_cc": "South Africa (ZA)", - "e164_key": "27-ZA-0" - }, - { - "e164_cc": "500", - "iso2_cc": "GS", - "e164_sc": 0, - "geographic": true, - "level": 3, - "name": "South Georgia and the South Sandwich Islands", - "example": "", - "display_name": "South Georgia and the South Sandwich Islands (GS) [+500]", - "full_example_with_plus_sign": null, - "display_name_no_e164_cc": "South Georgia and the South Sandwich Islands (GS)", - "e164_key": "500-GS-0" - }, - { - "e164_cc": "82", - "iso2_cc": "KR", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "South Korea", - "example": "1023456789", - "display_name": "South Korea (KR) [+82]", - "full_example_with_plus_sign": "+821023456789", - "display_name_no_e164_cc": "South Korea (KR)", - "e164_key": "82-KR-0" - }, - { - "e164_cc": "211", - "iso2_cc": "SS", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "South Sudan", - "example": "977123456", - "display_name": "South Sudan (SS) [+211]", - "full_example_with_plus_sign": "+211977123456", - "display_name_no_e164_cc": "South Sudan (SS)", - "e164_key": "211-SS-0" - }, - { - "e164_cc": "34", - "iso2_cc": "ES", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Spain", - "example": "612345678", - "display_name": "Spain (ES) [+34]", - "full_example_with_plus_sign": "+34612345678", - "display_name_no_e164_cc": "Spain (ES)", - "e164_key": "34-ES-0" - }, - { - "e164_cc": "94", - "iso2_cc": "LK", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Sri Lanka", - "example": "712345678", - "display_name": "Sri Lanka (LK) [+94]", - "full_example_with_plus_sign": "+94712345678", - "display_name_no_e164_cc": "Sri Lanka (LK)", - "e164_key": "94-LK-0" - }, - { - "e164_cc": "249", - "iso2_cc": "SD", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Sudan", - "example": "911231234", - "display_name": "Sudan (SD) [+249]", - "full_example_with_plus_sign": "+249911231234", - "display_name_no_e164_cc": "Sudan (SD)", - "e164_key": "249-SD-0" - }, - { - "e164_cc": "597", - "iso2_cc": "SR", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Suriname", - "example": "7412345", - "display_name": "Suriname (SR) [+597]", - "full_example_with_plus_sign": "+5977412345", - "display_name_no_e164_cc": "Suriname (SR)", - "e164_key": "597-SR-0" - }, - { - "e164_cc": "47", - "iso2_cc": "SJ", - "e164_sc": 0, - "geographic": true, - "level": 3, - "name": "Svalbard and Jan Mayen", - "example": "41234567", - "display_name": "Svalbard and Jan Mayen (SJ) [+47]", - "full_example_with_plus_sign": "+4741234567", - "display_name_no_e164_cc": "Svalbard and Jan Mayen (SJ)", - "e164_key": "47-SJ-0" - }, - { - "e164_cc": "268", - "iso2_cc": "SZ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Swaziland", - "example": "76123456", - "display_name": "Swaziland (SZ) [+268]", - "full_example_with_plus_sign": "+26876123456", - "display_name_no_e164_cc": "Swaziland (SZ)", - "e164_key": "268-SZ-0" - }, - { - "e164_cc": "46", - "iso2_cc": "SE", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Sweden", - "example": "701234567", - "display_name": "Sweden (SE) [+46]", - "full_example_with_plus_sign": "+46701234567", - "display_name_no_e164_cc": "Sweden (SE)", - "e164_key": "46-SE-0" - }, - { - "e164_cc": "41", - "iso2_cc": "CH", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Switzerland", - "example": "741234567", - "display_name": "Switzerland (CH) [+41]", - "full_example_with_plus_sign": "+41741234567", - "display_name_no_e164_cc": "Switzerland (CH)", - "e164_key": "41-CH-0" - }, - { - "e164_cc": "963", - "iso2_cc": "SY", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Syria", - "example": "944567890", - "display_name": "Syria (SY) [+963]", - "full_example_with_plus_sign": "+963944567890", - "display_name_no_e164_cc": "Syria (SY)", - "e164_key": "963-SY-0" - }, - { - "e164_cc": "886", - "iso2_cc": "TW", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Taiwan", - "example": "912345678", - "display_name": "Taiwan (TW) [+886]", - "full_example_with_plus_sign": "+886912345678", - "display_name_no_e164_cc": "Taiwan (TW)", - "e164_key": "886-TW-0" - }, - { - "e164_cc": "992", - "iso2_cc": "TJ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Tajikistan", - "example": "917123456", - "display_name": "Tajikistan (TJ) [+992]", - "full_example_with_plus_sign": "+992917123456", - "display_name_no_e164_cc": "Tajikistan (TJ)", - "e164_key": "992-TJ-0" - }, - { - "e164_cc": "255", - "iso2_cc": "TZ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Tanzania", - "example": "612345678", - "display_name": "Tanzania (TZ) [+255]", - "full_example_with_plus_sign": "+255612345678", - "display_name_no_e164_cc": "Tanzania (TZ)", - "e164_key": "255-TZ-0" - }, - { - "e164_cc": "66", - "iso2_cc": "TH", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Thailand", - "example": "812345678", - "display_name": "Thailand (TH) [+66]", - "full_example_with_plus_sign": "+66812345678", - "display_name_no_e164_cc": "Thailand (TH)", - "e164_key": "66-TH-0" - }, - { - "e164_cc": "228", - "iso2_cc": "TG", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Togo", - "example": "90112345", - "display_name": "Togo (TG) [+228]", - "full_example_with_plus_sign": "+22890112345", - "display_name_no_e164_cc": "Togo (TG)", - "e164_key": "228-TG-0" - }, - { - "e164_cc": "690", - "iso2_cc": "TK", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Tokelau", - "example": "5190", - "display_name": "Tokelau (TK) [+690]", - "full_example_with_plus_sign": "+6905190", - "display_name_no_e164_cc": "Tokelau (TK)", - "e164_key": "690-TK-0" - }, - { - "e164_cc": "676", - "iso2_cc": "TO", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Tonga", - "example": "7715123", - "display_name": "Tonga (TO) [+676]", - "full_example_with_plus_sign": "+6767715123", - "display_name_no_e164_cc": "Tonga (TO)", - "e164_key": "676-TO-0" - }, - { - "e164_cc": "1", - "iso2_cc": "TT", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Trinidad/Tobago", - "example": "8682911234", - "display_name": "Trinidad/Tobago (TT) [+1]", - "full_example_with_plus_sign": "+18682911234", - "display_name_no_e164_cc": "Trinidad/Tobago (TT)", - "e164_key": "1-TT-0" - }, - { - "e164_cc": "216", - "iso2_cc": "TN", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Tunisia", - "example": "20123456", - "display_name": "Tunisia (TN) [+216]", - "full_example_with_plus_sign": "+21620123456", - "display_name_no_e164_cc": "Tunisia (TN)", - "e164_key": "216-TN-0" - }, - { - "e164_cc": "90", - "iso2_cc": "TR", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Turkey", - "example": "5012345678", - "display_name": "Turkey (TR) [+90]", - "full_example_with_plus_sign": "+905012345678", - "display_name_no_e164_cc": "Turkey (TR)", - "e164_key": "90-TR-0" - }, - { - "e164_cc": "993", - "iso2_cc": "TM", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Turkmenistan", - "example": "66123456", - "display_name": "Turkmenistan (TM) [+993]", - "full_example_with_plus_sign": "+99366123456", - "display_name_no_e164_cc": "Turkmenistan (TM)", - "e164_key": "993-TM-0" - }, - { - "e164_cc": "1", - "iso2_cc": "TC", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "Turks and Caicos Islands", - "example": "6492311234", - "display_name": "Turks and Caicos Islands (TC) [+1]", - "full_example_with_plus_sign": "+16492311234", - "display_name_no_e164_cc": "Turks and Caicos Islands (TC)", - "e164_key": "1-TC-0" - }, - { - "e164_cc": "688", - "iso2_cc": "TV", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Tuvalu", - "example": "901234", - "display_name": "Tuvalu (TV) [+688]", - "full_example_with_plus_sign": "+688901234", - "display_name_no_e164_cc": "Tuvalu (TV)", - "e164_key": "688-TV-0" - }, - { - "e164_cc": "1", - "iso2_cc": "VI", - "e164_sc": 0, - "geographic": true, - "level": 2, - "name": "U.S. Virgin Islands", - "example": "3406421234", - "display_name": "U.S. Virgin Islands (VI) [+1]", - "full_example_with_plus_sign": "+13406421234", - "display_name_no_e164_cc": "U.S. Virgin Islands (VI)", - "e164_key": "1-VI-0" - }, - { - "e164_cc": "256", - "iso2_cc": "UG", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Uganda", - "example": "712345678", - "display_name": "Uganda (UG) [+256]", - "full_example_with_plus_sign": "+256712345678", - "display_name_no_e164_cc": "Uganda (UG)", - "e164_key": "256-UG-0" - }, - { - "e164_cc": "380", - "iso2_cc": "UA", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Ukraine", - "example": "391234567", - "display_name": "Ukraine (UA) [+380]", - "full_example_with_plus_sign": "+380391234567", - "display_name_no_e164_cc": "Ukraine (UA)", - "e164_key": "380-UA-0" - }, - { - "e164_cc": "971", - "iso2_cc": "AE", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "United Arab Emirates", - "example": "501234567", - "display_name": "United Arab Emirates (AE) [+971]", - "full_example_with_plus_sign": "+971501234567", - "display_name_no_e164_cc": "United Arab Emirates (AE)", - "e164_key": "971-AE-0" - }, - { - "e164_cc": "44", - "iso2_cc": "GB", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "United Kingdom", - "example": "7400123456", - "display_name": "United Kingdom (GB) [+44]", - "full_example_with_plus_sign": "+447400123456", - "display_name_no_e164_cc": "United Kingdom (GB)", - "e164_key": "44-GB-0" - }, - { - "e164_cc": "1", - "iso2_cc": "US", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "United States", - "example": "2012345678", - "display_name": "United States (US) [+1]", - "full_example_with_plus_sign": "+12012345678", - "display_name_no_e164_cc": "United States (US)", - "e164_key": "1-US-0" - }, - { - "e164_cc": "598", - "iso2_cc": "UY", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Uruguay", - "example": "94231234", - "display_name": "Uruguay (UY) [+598]", - "full_example_with_plus_sign": "+59894231234", - "display_name_no_e164_cc": "Uruguay (UY)", - "e164_key": "598-UY-0" - }, - { - "e164_cc": "998", - "iso2_cc": "UZ", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Uzbekistan", - "example": "912345678", - "display_name": "Uzbekistan (UZ) [+998]", - "full_example_with_plus_sign": "+998912345678", - "display_name_no_e164_cc": "Uzbekistan (UZ)", - "e164_key": "998-UZ-0" - }, - { - "e164_cc": "678", - "iso2_cc": "VU", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Vanuatu", - "example": "5912345", - "display_name": "Vanuatu (VU) [+678]", - "full_example_with_plus_sign": "+6785912345", - "display_name_no_e164_cc": "Vanuatu (VU)", - "e164_key": "678-VU-0" - }, - { - "e164_cc": "379", - "iso2_cc": "VA", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Vatican City", - "example": "", - "display_name": "Vatican City (VA) [+379]", - "full_example_with_plus_sign": null, - "display_name_no_e164_cc": "Vatican City (VA)", - "e164_key": "379-VA-0" - }, - { - "e164_cc": "58", - "iso2_cc": "VE", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Venezuela", - "example": "4121234567", - "display_name": "Venezuela (VE) [+58]", - "full_example_with_plus_sign": "+584121234567", - "display_name_no_e164_cc": "Venezuela (VE)", - "e164_key": "58-VE-0" - }, - { - "e164_cc": "84", - "iso2_cc": "VN", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Vietnam", - "example": "912345678", - "display_name": "Vietnam (VN) [+84]", - "full_example_with_plus_sign": "+84912345678", - "display_name_no_e164_cc": "Vietnam (VN)", - "e164_key": "84-VN-0" - }, - { - "e164_cc": "681", - "iso2_cc": "WF", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Wallis and Futuna", - "example": "501234", - "display_name": "Wallis and Futuna (WF) [+681]", - "full_example_with_plus_sign": "+681501234", - "display_name_no_e164_cc": "Wallis and Futuna (WF)", - "e164_key": "681-WF-0" - }, - { - "e164_cc": "212", - "iso2_cc": "EH", - "e164_sc": 0, - "geographic": true, - "level": 3, - "name": "Western Sahara", - "example": "", - "display_name": "Western Sahara (EH) [+212]", - "full_example_with_plus_sign": null, - "display_name_no_e164_cc": "Western Sahara (EH)", - "e164_key": "212-EH-0" - }, - { - "e164_cc": "967", - "iso2_cc": "YE", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Yemen", - "example": "712345678", - "display_name": "Yemen (YE) [+967]", - "full_example_with_plus_sign": "+967712345678", - "display_name_no_e164_cc": "Yemen (YE)", - "e164_key": "967-YE-0" - }, - { - "e164_cc": "260", - "iso2_cc": "ZM", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Zambia", - "example": "955123456", - "display_name": "Zambia (ZM) [+260]", - "full_example_with_plus_sign": "+260955123456", - "display_name_no_e164_cc": "Zambia (ZM)", - "e164_key": "260-ZM-0" - }, - { - "e164_cc": "263", - "iso2_cc": "ZW", - "e164_sc": 0, - "geographic": true, - "level": 1, - "name": "Zimbabwe", - "example": "711234567", - "display_name": "Zimbabwe (ZW) [+263]", - "full_example_with_plus_sign": "+263711234567", - "display_name_no_e164_cc": "Zimbabwe (ZW)", - "e164_key": "263-ZW-0" - } -] diff --git a/FirebasePhoneAuthUI/Sources/Resources/ic_phone.png b/FirebasePhoneAuthUI/Sources/Resources/ic_phone.png deleted file mode 100755 index 77f9de5e3cc..00000000000 Binary files a/FirebasePhoneAuthUI/Sources/Resources/ic_phone.png and /dev/null differ diff --git a/FirebasePhoneAuthUI/Sources/Resources/ic_phone@2x.png b/FirebasePhoneAuthUI/Sources/Resources/ic_phone@2x.png deleted file mode 100755 index ef45e933a99..00000000000 Binary files a/FirebasePhoneAuthUI/Sources/Resources/ic_phone@2x.png and /dev/null differ diff --git a/FirebasePhoneAuthUI/Sources/Resources/ic_phone@3x.png b/FirebasePhoneAuthUI/Sources/Resources/ic_phone@3x.png deleted file mode 100755 index 90ead2e4551..00000000000 Binary files a/FirebasePhoneAuthUI/Sources/Resources/ic_phone@3x.png and /dev/null differ diff --git a/FirebasePhoneAuthUI/Sources/Strings/ar.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/ar.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index c271a07b0de..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/ar.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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" = "يشير النقر على %@ إلى موافقتك على %@ و%@. قد يتمّ إرسال رسالة قصيرة وقد تُفرَض رسوم الرسائل والبيانات."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/bg.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/bg.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index f6f1036fc8e..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/bg.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/bn.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/bn.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 8d254d98449..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/bn.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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" = "%@ বোতামে ট্যাপ করার অর্থ, আপনি আমাদের %@ এবং %@-এর সাথে সম্মত। একটি এসএমএস পাঠানো হতে পারে। মেসেজ এবং ডেটার উপরে প্রযোজ্য চার্জ লাগতে পারে।"; diff --git a/FirebasePhoneAuthUI/Sources/Strings/ca.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/ca.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index aafa77809ea..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/ca.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/cs.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/cs.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 881e0da5bf9..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/cs.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/da.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/da.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 0fb7bc2ba5b..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/da.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/de-AT.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/de-AT.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 68e9524fa6f..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/de-AT.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/de-CH.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/de-CH.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 68e9524fa6f..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/de-CH.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/de.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/de.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 68e9524fa6f..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/de.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/el.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/el.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 9de01d621ce..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/el.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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. Ενδέχεται να ισχύουν χρεώσεις μηνυμάτων και δεδομένων."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/en-AU.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/en-AU.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 262d1489fdd..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/en-AU.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/en-CA.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/en-CA.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 262d1489fdd..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/en-CA.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/en-GB.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/en-GB.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 262d1489fdd..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/en-GB.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/en-IE.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/en-IE.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 262d1489fdd..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/en-IE.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/en-IN.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/en-IN.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 262d1489fdd..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/en-IN.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/en-SG.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/en-SG.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 262d1489fdd..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/en-SG.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/en-ZA.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/en-ZA.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 262d1489fdd..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/en-ZA.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/en.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/en.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index e5fa4c72402..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/en.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-419.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-419.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-419.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-AR.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-AR.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-AR.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-BO.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-BO.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-BO.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-CL.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-CL.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-CL.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-CO.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-CO.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-CO.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-CR.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-CR.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-CR.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-DO.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-DO.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-DO.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-EC.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-EC.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-EC.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-GT.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-GT.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-GT.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-HN.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-HN.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-HN.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-MX.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-MX.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-MX.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-NI.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-NI.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-NI.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-PA.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-PA.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-PA.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-PE.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-PE.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-PE.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-PR.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-PR.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-PR.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-PY.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-PY.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-PY.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-SV.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-SV.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-SV.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-US.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-US.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-US.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-UY.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-UY.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-UY.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es-VE.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es-VE.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b56b5bba..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es-VE.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/es.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/es.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ae8130d53f7..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/es.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/fa.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/fa.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 3369a24eccd..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/fa.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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" = "با ضربه‌زدن روی %@، موافقتتان را با %@ و %@ ما اعلام می‌کنید. ممکن است پیامکی ارسال شود. ممکن است هزینه داده و پیام اعمال شود."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/fi.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/fi.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 80f36350c49..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/fi.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/fil.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/fil.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ba03397e4ec..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/fil.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/fr-CH.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/fr-CH.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 98711798da2..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/fr-CH.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/fr.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/fr.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 98711798da2..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/fr.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/gsw.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/gsw.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 68e9524fa6f..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/gsw.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/gu.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/gu.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index e931b23dcd0..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/gu.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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 મોકલવામાં આવી શકે છે. સંદેશ અને ડેટા શુલ્ક લાગુ થઈ શકે છે."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/he.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/he.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 901e2a2126b..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/he.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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. ייתכנו חיובים בגין שליחת הודעות ושימוש בנתונים."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/hi.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/hi.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index b522c09c12a..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/hi.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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" = "%@ पर टैप करके, आप यह बताते हैं कि आप हमारे %@ और %@ को स्वीकार करते हैं. एक मैसेज (एसएमएस) भेजा जा सकता है. मैसेज और डेटा दरें लागू हो सकती हैं."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/hr.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/hr.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index bc7598f6bc6..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/hr.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/hu.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/hu.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index d665154cbb9..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/hu.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/id.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/id.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 606f0450840..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/id.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/it.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/it.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 3ad0e7c84c4..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/it.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/ja.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/ja.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index d6c64fa9d2a..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/ja.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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 が送信されます。データ通信料がかかることがあります。"; diff --git a/FirebasePhoneAuthUI/Sources/Strings/kn.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/kn.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 476aa8a8ff0..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/kn.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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" = "“%@” ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡುವ ಮೂಲಕ, ನೀವು ನಮ್ಮ %@ ಮತ್ತು %@ ಸ್ವೀಕರಿಸುತ್ತೀರಿ ಎಂದು ನೀವು ಸೂಚಿಸುತ್ತಿರುವಿರಿ. ಎಸ್‌ಎಂಎಸ್‌ ಅನ್ನು ಕಳುಹಿಸಬಹುದಾಗಿದೆ. ಸಂದೇಶ ಮತ್ತು ಡೇಟಾ ದರಗಳು ಅನ್ವಯಿಸಬಹುದು."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/ko.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/ko.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 9d024cf08fd..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/ko.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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가 발송될 수 있으며, 메시지 및 데이터 요금이 부과될 수 있습니다."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/ln.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/ln.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 98711798da2..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/ln.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/lt.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/lt.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 78c14c9ea1e..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/lt.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/lv.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/lv.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 17fb6e0f466..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/lv.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/mr.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/mr.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index c7a636be262..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/mr.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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" = "%@ वर टॅप करून, तुम्ही सूचित करता की, तुम्ही आमचे %@ आणि %@ स्वीकारता. एसएमएस पाठवला जाऊ शकतो. मेसेज आणि डेटा दर लागू केले जाऊ शकतात."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/ms.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/ms.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index ca3b63051e3..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/ms.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/nb.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/nb.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index afb2f0d3c3f..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/nb.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/nl.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/nl.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index a9d3e312cdc..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/nl.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/nn-NO.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/nn-NO.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index afb2f0d3c3f..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/nn-NO.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/pl.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/pl.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index dd97eaf526a..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/pl.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/pt-BR.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/pt-BR.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 2de85389ae9..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/pt-BR.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/pt-PT.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/pt-PT.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index cc21cae473a..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/pt-PT.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/pt.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/pt.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 2de85389ae9..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/pt.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/ro.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/ro.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index db7aff3d3ea..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/ro.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/ru.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/ru.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 3627134730e..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/ru.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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. За сообщение и обмен данными может взиматься плата."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/sk.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/sk.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index a4592f32276..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/sk.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* The text of the button used to sign-in with Phone. */ -"SignInWithPhone" = "Prihlásiť sa telefónom"; - -/* The title of view controller where user enters phone number. */ -"EnterPhoneTitle" = "Zadajte telefónne číslo"; - -/* The title of button on navigation controller which navigates to previous screen. */ -"Back" = "Späť"; - -/* The title of button on navigation controller which navigates to the next screen. */ -"Next" = "Ďalej"; - -/* The title of button which user taps on phone verification screen. */ -"Verify" = "Overiť"; - -/* Alert message displayed when user submits empty verification code. */ -"EmptyVerificationCode" = "Overovací kód nesmie byť prázdny"; - -/* Alert message displayed when user submits empty phone number. */ -"EmptyPhoneNumber" = "Telefónne číslo nesmie byť prázdne"; - -/* 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" = "Telefónne číslo"; - -/* Label next to the left of country selector control. */ -"Country" = "Krajina"; - -/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */ -"EnterCodeDescription" = "Zadajte %@-ciferný kód, ktorý sme odoslali na číslo"; - -/* The title of button with resend verification code functionality. */ -"ResendCode" = "Znova odoslať kód"; - -/* Text of the resend timer label shown on verification phone number screen. */ -"ResendCodeTimer" = "Znova odoslať kód o %@"; - -/* The title of view controller where user verifies phone number. . */ -"VerifyPhoneTitle" = "Overenie telefónneho čí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é telefónne číslo"; - -/* The body message of alert shown when user entered invalid phone number format. */ -"IncorrectPhoneMessage" = "Zadajte platné telefónne číslo"; - -/* The body message of alert shown when user tapped resend verification code button. */ -"ResendCodeResult" = "Kód bol odoslaný na číslo %@"; - -/* The title of alert shown when user entered invalid verification code. */ -"IncorrectCodeTitle" = "Nesprávny overovací kód"; - -/* The body message of alert shown when user entered invalid verification code. */ -"IncorrectCodeMessage" = "Nesprávny kód. Skúste to znova."; - -/* The body message of alert shown when internal server error appeared. */ -"InternalErrorMessage" = "Vyskytol sa problém. Skúste to znova."; - -/* The body message of alert shown when the user has tried to send too many SMS messages. */ -"TooManyCodesSent" = "Toto telefónne číslo bolo použité príliš veľakrát"; - -/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */ -"MessageQuotaExceeded" = "Vyskytol sa problém s overením vášho telefónneho čísla"; - -/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */ -"MessageExpired" = "Tento kód už nie je platný"; - -/* 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čidlo %@ vyjadrujete súhlas s dokumentmi %@ a %@. Môže byť odoslaná SMS a môžu sa účtovať poplatky za správy a dáta."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/sl.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/sl.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 6c9493cf196..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/sl.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* The text of the button used to sign-in with Phone. */ -"SignInWithPhone" = "Prijava s telefonom"; - -/* The title of view controller where user enters phone number. */ -"EnterPhoneTitle" = "Vnesite telefonsko številko"; - -/* The title of button on navigation controller which navigates to previous screen. */ -"Back" = "Nazaj"; - -/* The title of button on navigation controller which navigates to the next screen. */ -"Next" = "Naprej"; - -/* The title of button which user taps on phone verification screen. */ -"Verify" = "Preveri"; - -/* Alert message displayed when user submits empty verification code. */ -"EmptyVerificationCode" = "Koda za preverjanje ne sme biti prazna"; - -/* Alert message displayed when user submits empty phone number. */ -"EmptyPhoneNumber" = "Telefonska številka ne sme biti prazna"; - -/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/ -"PhoneNumber" = "Številka"; - -/* Placeholder shown for phone number input field. */ -"EnterYourPhoneNumber" = "Telefonska številka"; - -/* Label next to the left of country selector control. */ -"Country" = "Država"; - -/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */ -"EnterCodeDescription" = "Vnesite %@-mestno kodo, ki smo jo poslali na številko"; - -/* The title of button with resend verification code functionality. */ -"ResendCode" = "Ponovno pošlji kodo"; - -/* Text of the resend timer label shown on verification phone number screen. */ -"ResendCodeTimer" = "Ponovno pošlji kodo čez %@"; - -/* The title of view controller where user verifies phone number. . */ -"VerifyPhoneTitle" = "Preverjanje telefonske številke"; - -/* The title of button displayed when user closes alert message. */ -"Done" = "Končano"; - -/* The title of alert shown when user entered invalid phone number format. */ -"IncorrectPhoneTitle" = "Neveljavna telefonska številka"; - -/* The body message of alert shown when user entered invalid phone number format. */ -"IncorrectPhoneMessage" = "Vnesite veljavno telefonsko številko"; - -/* The body message of alert shown when user tapped resend verification code button. */ -"ResendCodeResult" = "Koda je bila poslana na številko %@"; - -/* The title of alert shown when user entered invalid verification code. */ -"IncorrectCodeTitle" = "Nepravilna koda za preverjanje"; - -/* The body message of alert shown when user entered invalid verification code. */ -"IncorrectCodeMessage" = "Napačna koda. Poskusite znova."; - -/* The body message of alert shown when internal server error appeared. */ -"InternalErrorMessage" = "Prišlo je do napake. Poskusite znova."; - -/* The body message of alert shown when the user has tried to send too many SMS messages. */ -"TooManyCodesSent" = "Ta telefonska številka je bila uporabljena prevečkrat"; - -/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */ -"MessageQuotaExceeded" = "Pri preverjanju telefonske številke je prišlo do težave"; - -/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */ -"MessageExpired" = "Ta koda ni več veljavna"; - -/* 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" = "Če se dotaknete možnosti »%@«, potrjujete, da se strinjate z dokumentoma %@ in %@. Morda bo poslano sporočilo SMS. Pošiljanje sporočila in prenos podatkov boste morda morali plačati."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/sr-Latn.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/sr-Latn.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 8ac74161747..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/sr-Latn.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* The text of the button used to sign-in with Phone. */ -"SignInWithPhone" = "Prijavi me pomoću telefona"; - -/* The title of view controller where user enters phone number. */ -"EnterPhoneTitle" = "Unesite broj telefona"; - -/* The title of button on navigation controller which navigates to previous screen. */ -"Back" = "Nazad"; - -/* The title of button on navigation controller which navigates to the next screen. */ -"Next" = "Sledeće"; - -/* The title of button which user taps on phone verification screen. */ -"Verify" = "Potvrdi"; - -/* Alert message displayed when user submits empty verification code. */ -"EmptyVerificationCode" = "Verifikacioni kôd mora da se unese"; - -/* Alert message displayed when user submits empty phone number. */ -"EmptyPhoneNumber" = "Broj telefona mora da se unese"; - -/* 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" = "Broj telefona"; - -/* 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 %@-cifreni kôd koji smo poslali na"; - -/* 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" = "Ponovo pošalji kôd za %@"; - -/* The title of view controller where user verifies phone number. . */ -"VerifyPhoneTitle" = "Verifikujte broj telefona"; - -/* 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 broj telefona"; - -/* The body message of alert shown when user entered invalid phone number format. */ -"IncorrectPhoneMessage" = "Unesite važeći broj telefona"; - -/* The body message of alert shown when user tapped resend verification code button. */ -"ResendCodeResult" = "Kôd je poslat na broj %@"; - -/* The title of alert shown when user entered invalid verification code. */ -"IncorrectCodeTitle" = "Verifikacioni kôd je netačan"; - -/* The body message of alert shown when user entered invalid verification code. */ -"IncorrectCodeMessage" = "Pogrešan kôd. Probajte ponovo."; - -/* The body message of alert shown when internal server error appeared. */ -"InternalErrorMessage" = "Nešto nije u redu. Probajte ponovo."; - -/* The body message of alert shown when the user has tried to send too many SMS messages. */ -"TooManyCodesSent" = "Ovaj broj telefona je upotrebljen 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 pri verifikaciji broja telefona"; - -/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */ -"MessageExpired" = "Taj kôd više ne važ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" = "Ako dodirnete %@, potvrđujete da prihvatate dokumente %@ i %@. Možda ćete poslati SMS. Mogu da vam budu naplaćeni troškovi slanja poruke i prenosa podataka."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/sr.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/sr.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 5a04452e9e2..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/sr.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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. Могу да вам буду наплаћени трошкови слања поруке и преноса података."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/sv.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/sv.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 2c11ef30f36..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/sv.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* The text of the button used to sign-in with Phone. */ -"SignInWithPhone" = "Logga in med telefon"; - -/* The title of view controller where user enters phone number. */ -"EnterPhoneTitle" = "Ange telefonnummer"; - -/* The title of button on navigation controller which navigates to previous screen. */ -"Back" = "Föregående"; - -/* The title of button on navigation controller which navigates to the next screen. */ -"Next" = "Nästa"; - -/* The title of button which user taps on phone verification screen. */ -"Verify" = "Verifiera"; - -/* Alert message displayed when user submits empty verification code. */ -"EmptyVerificationCode" = "Du måste ange en verifieringskod"; - -/* Alert message displayed when user submits empty phone number. */ -"EmptyPhoneNumber" = "Du måste ange telefonnummer"; - -/* 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" = "Ange den %@-siffriga koden vi skickade till"; - -/* The title of button with resend verification code functionality. */ -"ResendCode" = "Skicka om kod"; - -/* Text of the resend timer label shown on verification phone number screen. */ -"ResendCodeTimer" = "Skicka kod igen om %@"; - -/* The title of view controller where user verifies phone number. . */ -"VerifyPhoneTitle" = "Verifiera telefonnummer"; - -/* The title of button displayed when user closes alert message. */ -"Done" = "Klart"; - -/* The title of alert shown when user entered invalid phone number format. */ -"IncorrectPhoneTitle" = "Ogiltigt telefonnummer"; - -/* The body message of alert shown when user entered invalid phone number format. */ -"IncorrectPhoneMessage" = "Ange ett giltigt telefonnummer"; - -/* The body message of alert shown when user tapped resend verification code button. */ -"ResendCodeResult" = "Koden har skickats till %@"; - -/* The title of alert shown when user entered invalid verification code. */ -"IncorrectCodeTitle" = "Ogiltig verifieringskod"; - -/* The body message of alert shown when user entered invalid verification code. */ -"IncorrectCodeMessage" = "Fel kod. Försök igen."; - -/* The body message of alert shown when internal server error appeared. */ -"InternalErrorMessage" = "Ett fel uppstod. Försök igen."; - -/* The body message of alert shown when the user has tried to send too many SMS messages. */ -"TooManyCodesSent" = "Det här telefonnumret har använts för många gånger"; - -/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */ -"MessageQuotaExceeded" = "Det gick inte att verifiera telefonnumret"; - -/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */ -"MessageExpired" = "Koden är inte längre giltig"; - -/* 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" = "Genom att trycka på %@ godkänner du våra %@ och vår %@. Ett sms kan skickas. Meddelande- och dataavgifter kan tillkomma."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/ta.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/ta.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index b91027b6a10..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/ta.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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 மற்றும் தரவுக் கட்டணங்கள் விதிக்கப்படலாம்."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/th.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/th.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 8137df070a2..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/th.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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 ให้คุณ และอาจมีค่าบริการรับส่งข้อความและค่าบริการอินเทอร์เน็ต"; diff --git a/FirebasePhoneAuthUI/Sources/Strings/tr.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/tr.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 19ba941fe82..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/tr.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* The text of the button used to sign-in with Phone. */ -"SignInWithPhone" = "Telefonla oturum aç"; - -/* The title of view controller where user enters phone number. */ -"EnterPhoneTitle" = "Telefonu girin"; - -/* The title of button on navigation controller which navigates to previous screen. */ -"Back" = "Geri"; - -/* The title of button on navigation controller which navigates to the next screen. */ -"Next" = "İleri"; - -/* The title of button which user taps on phone verification screen. */ -"Verify" = "Doğrula"; - -/* Alert message displayed when user submits empty verification code. */ -"EmptyVerificationCode" = "Doğrulama kodu boş bırakılamaz"; - -/* Alert message displayed when user submits empty phone number. */ -"EmptyPhoneNumber" = "Telefon numarası boş bırakılamaz"; - -/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/ -"PhoneNumber" = "Sayı"; - -/* Placeholder shown for phone number input field. */ -"EnterYourPhoneNumber" = "Telefon numarası"; - -/* Label next to the left of country selector control. */ -"Country" = "Ülke"; - -/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */ -"EnterCodeDescription" = "Şu telefon numarasına yolladığımız %@ haneli kodu girin:"; - -/* The title of button with resend verification code functionality. */ -"ResendCode" = "Kodu yeniden gönder"; - -/* Text of the resend timer label shown on verification phone number screen. */ -"ResendCodeTimer" = "%@ içinde kodu yeniden gönder"; - -/* The title of view controller where user verifies phone number. . */ -"VerifyPhoneTitle" = "Telefon numarasını doğrulayın"; - -/* The title of button displayed when user closes alert message. */ -"Done" = "Bitti"; - -/* The title of alert shown when user entered invalid phone number format. */ -"IncorrectPhoneTitle" = "Geçersiz telefon numarası"; - -/* The body message of alert shown when user entered invalid phone number format. */ -"IncorrectPhoneMessage" = "Geçerli bir telefon numarası girin"; - -/* The body message of alert shown when user tapped resend verification code button. */ -"ResendCodeResult" = "Kod, %@ numaralı telefona gönderildi"; - -/* The title of alert shown when user entered invalid verification code. */ -"IncorrectCodeTitle" = "Yanlış doğrulama kodu"; - -/* The body message of alert shown when user entered invalid verification code. */ -"IncorrectCodeMessage" = "Yanlış kod. Tekrar deneyin."; - -/* The body message of alert shown when internal server error appeared. */ -"InternalErrorMessage" = "Bir hata oluştu. Lütfen tekrar deneyin."; - -/* The body message of alert shown when the user has tried to send too many SMS messages. */ -"TooManyCodesSent" = "Bu telefon numarası çok fazla kez kullanıldı"; - -/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */ -"MessageQuotaExceeded" = "Telefon numaranız doğrulanırken bir sorun oluştu"; - -/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */ -"MessageExpired" = "Bu kod artık geçerli değil"; - -/* 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" = "%@ öğesine dokunarak %@ ve %@ hükümlerimizi kabul ettiğinizi bildirirsiniz. SMS gönderilebilir. Mesaj ve veri ücretleri geçerli uygulanabilir."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/uk.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/uk.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 20804aaff4f..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/uk.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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 і використання трафіку може стягуватися плата."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/ur.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/ur.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 23cad2dcd4a..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/ur.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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 بھیجا جا سکتا ہے۔ پیغام اور ڈیٹا کی شرحیں لاگو ہو سکتی ہیں۔"; diff --git a/FirebasePhoneAuthUI/Sources/Strings/vi.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/vi.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 68fa7e2b24e..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/vi.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* The text of the button used to sign-in with Phone. */ -"SignInWithPhone" = "Đăng nhập bằng điện thoại"; - -/* The title of view controller where user enters phone number. */ -"EnterPhoneTitle" = "Nhập số điện thoại"; - -/* The title of button on navigation controller which navigates to previous screen. */ -"Back" = "Quay lại"; - -/* The title of button on navigation controller which navigates to the next screen. */ -"Next" = "Tiếp"; - -/* The title of button which user taps on phone verification screen. */ -"Verify" = "Xác minh"; - -/* Alert message displayed when user submits empty verification code. */ -"EmptyVerificationCode" = "Không được để trống mã xác minh"; - -/* Alert message displayed when user submits empty phone number. */ -"EmptyPhoneNumber" = "Không được để trống số điện thoại"; - -/* Label next to the left of phone number entry field. User shorter version of 'phone number' translation.*/ -"PhoneNumber" = "Số"; - -/* Placeholder shown for phone number input field. */ -"EnterYourPhoneNumber" = "Số điện thoại"; - -/* Label next to the left of country selector control. */ -"Country" = "Quốc gia"; - -/* Text of the label shown on the verification screen describing that verification code was sent to phone number. */ -"EnterCodeDescription" = "Nhập mã %@ chữ số mà chúng tôi gửi cho bạn"; - -/* The title of button with resend verification code functionality. */ -"ResendCode" = "Gửi lại mã"; - -/* Text of the resend timer label shown on verification phone number screen. */ -"ResendCodeTimer" = "Gửi lại mã bằng %@"; - -/* The title of view controller where user verifies phone number. . */ -"VerifyPhoneTitle" = "Xác minh số điện thoại"; - -/* The title of button displayed when user closes alert message. */ -"Done" = "Xong"; - -/* The title of alert shown when user entered invalid phone number format. */ -"IncorrectPhoneTitle" = "Số điện thoại không hợp lệ"; - -/* The body message of alert shown when user entered invalid phone number format. */ -"IncorrectPhoneMessage" = "Nhập số điện thoại hợp lệ"; - -/* The body message of alert shown when user tapped resend verification code button. */ -"ResendCodeResult" = "Mã được gửi tới %@"; - -/* The title of alert shown when user entered invalid verification code. */ -"IncorrectCodeTitle" = "Mã xác minh không chính xác"; - -/* The body message of alert shown when user entered invalid verification code. */ -"IncorrectCodeMessage" = "Mã không chính xác. Hãy thử lại."; - -/* The body message of alert shown when internal server error appeared. */ -"InternalErrorMessage" = "Đã xảy ra sự cố. Vui lòng thử lại."; - -/* The body message of alert shown when the user has tried to send too many SMS messages. */ -"TooManyCodesSent" = "Số điện thoại này đã được sử dụng quá nhiều lần"; - -/* The body message of alert shown when Firebase project has tried to send too many SMS messages for its price tier. */ -"MessageQuotaExceeded" = "Đã xảy ra sự cố khi xác minh số điện thoại của bạn"; - -/* The body message of alert shown when the SMS confirmation code has expired, so the user should send a new one. */ -"MessageExpired" = "Mã này không còn hợp lệ"; - -/* 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" = "Bằng cách nhấn vào %@, bạn cho biết rằng bạn chấp nhận %@ và %@ của chúng tôi. Bạn có thể nhận được một tin nhắn SMS. Cước tin nhắn và dữ liệu có thể áp dụng."; diff --git a/FirebasePhoneAuthUI/Sources/Strings/zh-Hans.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/zh-Hans.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 18bc04593fc..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/zh-Hans.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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" = "点按“%@”即表示您接受我们的%@和%@。系统会向您发送一条短信。这可能会产生短信费用和上网流量费。"; diff --git a/FirebasePhoneAuthUI/Sources/Strings/zh-Hant-TW.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/zh-Hant-TW.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 9db15498d36..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/zh-Hant-TW.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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" = "選擇輕觸 [%@] 即表示您接受我們的《%@》和《%@》。系統將會傳送簡訊給您,不過您可能需要支付簡訊和數據傳輸費用。"; diff --git a/FirebasePhoneAuthUI/Sources/Strings/zh-Hant.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/zh-Hant.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 9db15498d36..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/zh-Hant.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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" = "選擇輕觸 [%@] 即表示您接受我們的《%@》和《%@》。系統將會傳送簡訊給您,不過您可能需要支付簡訊和數據傳輸費用。"; diff --git a/FirebasePhoneAuthUI/Sources/Strings/zh.lproj/FirebasePhoneAuthUI.strings b/FirebasePhoneAuthUI/Sources/Strings/zh.lproj/FirebasePhoneAuthUI.strings deleted file mode 100644 index 18bc04593fc..00000000000 --- a/FirebasePhoneAuthUI/Sources/Strings/zh.lproj/FirebasePhoneAuthUI.strings +++ /dev/null @@ -1,74 +0,0 @@ -/* 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" = "点按“%@”即表示您接受我们的%@和%@。系统会向您发送一条短信。这可能会产生短信费用和上网流量费。"; diff --git a/FirebaseUI.h b/FirebaseUI.h index 20df8aedb3a..ff689da43e6 100644 --- a/FirebaseUI.h +++ b/FirebaseUI.h @@ -24,11 +24,4 @@ FOUNDATION_EXPORT const unsigned char FirebaseUIVersionString[]; #import #import -#import -#import -#import -#import -#import -#import -#import #import diff --git a/FirebaseUI.podspec b/FirebaseUI.podspec index cc53251045a..c99b149b098 100644 --- a/FirebaseUI.podspec +++ b/FirebaseUI.podspec @@ -30,32 +30,4 @@ Pod::Spec.new do |s| storage.dependency 'FirebaseStorageUI', '~> 15.0' end - s.subspec 'Auth' do |auth| - auth.dependency 'FirebaseAuthUI', '~> 15.0' - end - - s.subspec 'Anonymous' do |anonymous| - anonymous.dependency 'FirebaseAnonymousAuthUI', '~> 15.0' - end - - s.subspec 'Email' do |email| - email.dependency 'FirebaseEmailAuthUI', '~> 15.0' - end - - s.subspec 'Facebook' do |facebook| - facebook.dependency 'FirebaseFacebookAuthUI', '~> 15.0' - end - - s.subspec 'Google' do |google| - google.dependency 'FirebaseGoogleAuthUI', '~> 15.0' - end - - s.subspec 'OAuth' do |oauth| - oauth.dependency 'FirebaseOAuthUI', '~> 15.0' - end - - s.subspec 'Phone' do |phone| - phone.dependency 'FirebasePhoneAuthUI', '~> 15.0' - end - end diff --git a/Package.swift b/Package.swift index d91de108fa5..fbe4c3c147c 100644 --- a/Package.swift +++ b/Package.swift @@ -22,42 +22,14 @@ let package = Package( defaultLocalization: "en", platforms: [.iOS(.v17)], products: [ - .library( - name: "FirebaseAnonymousAuthUI", - targets: ["FirebaseAnonymousAuthUI"] - ), .library( name: "FirebaseDatabaseUI", targets: ["FirebaseDatabaseUI"] ), - .library( - name: "FirebaseAuthUI", - targets: ["FirebaseAuthUI"] - ), - .library( - name: "FirebaseEmailAuthUI", - targets: ["FirebaseEmailAuthUI"] - ), - .library( - name: "FirebaseFacebookAuthUI", - targets: ["FirebaseFacebookAuthUI"] - ), .library( name: "FirebaseFirestoreUI", targets: ["FirebaseFirestoreUI"] ), - .library( - name: "FirebaseGoogleAuthUI", - targets: ["FirebaseGoogleAuthUI"] - ), - .library( - name: "FirebaseOAuthUI", - targets: ["FirebaseOAuthUI"] - ), - .library( - name: "FirebasePhoneAuthUI", - targets: ["FirebasePhoneAuthUI"] - ), .library( name: "FirebaseStorageUI", targets: ["FirebaseStorageUI"] @@ -114,20 +86,6 @@ let package = Package( ), ], targets: [ - .target( - name: "FirebaseAnonymousAuthUI", - dependencies: ["FirebaseAuthUI"], - path: "FirebaseAnonymousAuthUI/Sources", - exclude: ["Info.plist"], - resources: [ - .process("Resources"), - .process("Strings"), - ], - publicHeadersPath: "Public", - cSettings: [ - .headerSearchPath("../../"), - ] - ), .target( name: "FirebaseDatabaseUI", dependencies: [ @@ -141,54 +99,6 @@ let package = Package( .headerSearchPath("../../"), ] ), - .target( - name: "FirebaseAuthUI", - dependencies: [ - .product(name: "FirebaseAuth", package: "firebase-ios-sdk"), - .product(name: "GULUserDefaults", package: "GoogleUtilities"), - ], - path: "FirebaseAuthUI/Sources", - exclude: ["Info.plist"], - resources: [ - .process("Resources"), - .process("Strings"), - ], - publicHeadersPath: "Public", - cSettings: [ - .headerSearchPath("../../"), - ] - ), - .target( - name: "FirebaseEmailAuthUI", - dependencies: ["FirebaseAuthUI"], - path: "FirebaseEmailAuthUI/Sources", - exclude: ["Info.plist"], - resources: [ - .process("Resources"), - ], - publicHeadersPath: "Public", - cSettings: [ - .headerSearchPath("../../"), - ] - ), - .target( - name: "FirebaseFacebookAuthUI", - dependencies: [ - "FirebaseAuthUI", - .product(name: "FacebookLogin", package: "facebook-ios-sdk"), - .product(name: "FacebookCore", package: "facebook-ios-sdk"), - ], - path: "FirebaseFacebookAuthUI/Sources", - exclude: ["Info.plist"], - resources: [ - .process("Resources"), - .process("Strings"), - ], - publicHeadersPath: "Public", - cSettings: [ - .headerSearchPath("../../"), - ] - ), .target( name: "FirebaseFirestoreUI", dependencies: [ @@ -202,54 +112,6 @@ let package = Package( .headerSearchPath("../../"), ] ), - .target( - name: "FirebaseGoogleAuthUI", - dependencies: [ - "FirebaseAuthUI", - .product(name: "GoogleSignIn", package: "GoogleSignIn-iOS"), - ], - path: "FirebaseGoogleAuthUI/Sources", - exclude: ["Info.plist"], - resources: [ - .process("Resources"), - .process("Strings"), - ], - publicHeadersPath: "Public", - cSettings: [ - .headerSearchPath("../../"), - ] - ), - .target( - name: "FirebaseOAuthUI", - dependencies: [ - "FirebaseAuthUI", - ], - path: "FirebaseOAuthUI/Sources", - exclude: ["Info.plist"], - resources: [ - .process("Resources"), - ], - publicHeadersPath: "Public", - cSettings: [ - .headerSearchPath("../../"), - ] - ), - .target( - name: "FirebasePhoneAuthUI", - dependencies: [ - "FirebaseAuthUI", - ], - path: "FirebasePhoneAuthUI/Sources", - exclude: ["Info.plist"], - resources: [ - .process("Resources"), - .process("Strings"), - ], - publicHeadersPath: "Public", - cSettings: [ - .headerSearchPath("../../"), - ] - ), .target( name: "FirebaseStorageUI", dependencies: [ diff --git a/README.md b/README.md index 54776d67659..e116a9b6844 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # FirebaseUI for iOS — UI Bindings for Firebase -![Anonymous Auth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/anonymousauth.yml/badge.svg) ![Auth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/auth.yml/badge.svg) ![Database](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/database.yml/badge.svg) ![Email Auth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/emailauth.yml/badge.svg) ![Facebook Auth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/facebookauth.yml/badge.svg) ![Firestore](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/firestore.yml/badge.svg) ![Google Auth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/googleauth.yml/badge.svg) ![OAuth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/oauth.yml/badge.svg) ![Phone Auth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/phoneauth.yml/badge.svg) ![Storage](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/storage.yml/badge.svg) ![Samples](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/sample.yml/badge.svg) +![Database](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/database.yml/badge.svg) ![Firestore](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/firestore.yml/badge.svg) ![Storage](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/storage.yml/badge.svg) ![SwiftUI Auth](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/swiftui-auth.yml/badge.svg) ![Samples](https://github.com/firebase/FirebaseUI-iOS/actions/workflows/sample.yml/badge.svg) FirebaseUI is an open-source library for iOS that allows you to quickly connect common UI elements to the [Firebase](https://firebase.google.com?utm_source=FirebaseUI-iOS) database for data storage, allowing views to be updated in realtime as they change, and providing simple interfaces for common tasks like displaying lists or collections of items. -Additionally, FirebaseUI simplifies Firebase authentication by providing easy to use auth methods that integrate with common identity providers like Facebook, Twitter, and Google as well as allowing developers to use a built in headful UI for ease of development. +Additionally, FirebaseUI provides modern SwiftUI authentication components that simplify Firebase authentication by integrating with common identity providers like Facebook, Twitter, Google, and Apple. FirebaseUI clients are also available for [Android](https://github.com/firebase/FirebaseUI-Android) and [web](https://github.com/firebase/firebaseui-web). @@ -12,14 +12,26 @@ FirebaseUI clients are also available for [Android](https://github.com/firebase/ ## Installing FirebaseUI for iOS -FirebaseUI supports iOS 10.0+ and Xcode 11+. We recommend using [CocoaPods](https://cocoapods.org/pods/FirebaseUI), add -the following to your `Podfile`: +FirebaseUI supports iOS 17.0+ and Xcode 15+. -```ruby -pod 'FirebaseUI', '~> 8.0' # Pull in all Firebase UI features -``` +### Swift Package Manager (Recommended) + +For SwiftUI authentication and modern features, use Swift Package Manager: + +1. In Xcode, go to File > Add Package Dependencies +2. Enter the repository URL: `https://github.com/firebase/FirebaseUI-iOS` +3. Select the modules you need: + - `FirebaseAuthSwiftUI` - Core SwiftUI authentication + - `FirebaseGoogleSwiftUI` - Google Sign-In + - `FirebaseFacebookSwiftUI` - Facebook Login + - `FirebasePhoneAuthSwiftUI` - Phone Authentication + - `FirebaseAppleSwiftUI` - Sign in with Apple + - `FirebaseTwitterSwiftUI` - Twitter Login + - `FirebaseOAuthSwiftUI` - Generic OAuth providers + +### CocoaPods -If you don't want to use all of FirebaseUI, there are multiple subspecs which can selectively install subsets of the full feature set: +For UIKit data binding features (Database, Firestore, Storage), use [CocoaPods](https://cocoapods.org/pods/FirebaseUI): ```ruby # Only pull in Firestore features @@ -30,97 +42,71 @@ pod 'FirebaseUI/Database' # Only pull in Storage features pod 'FirebaseUI/Storage' - -# Only pull in Auth features -pod 'FirebaseUI/Auth' - -# Only pull in Facebook login features -pod 'FirebaseUI/Facebook' - -# Only pull in Google login features -pod 'FirebaseUI/Google' - -# Only pull in Phone Auth login features -pod 'FirebaseUI/Phone' ``` -If you're including FirebaseUI in a Swift project, make sure you also have: +If you're including FirebaseUI in a project, make sure you also have: ```ruby platform :ios, '13.0' use_frameworks! ``` -Otherwise, you can include the FirebaseUI Xcode project from this repo in -your project. You also need to -[add the Firebase framework](https://firebase.google.com/docs/ios/setup) -to your project. - ## Documentation -The READMEs for components of FirebaseUI can be found in their respective -project folders. +The READMEs for components of FirebaseUI can be found in their respective project folders. -- [Auth](FirebaseAuthUI/README.md) -- [PhoneAuth](FirebasePhoneAuthUI/README.md) +### SwiftUI Components +- [SwiftUI Authentication](FirebaseSwiftUI/README.md) + +### UIKit Data Binding Components - [Database](FirebaseDatabaseUI/README.md) - [Firestore](FirebaseFirestoreUI/README.md) - [Storage](FirebaseStorageUI/README.md) ## Local Setup -If you'd like to contribute to FirebaseUI for iOS, you'll need to run the -following commands to get your environment set up: +If you'd like to contribute to FirebaseUI for iOS, you'll need to run the following commands to get your environment set up: ```bash $ git clone https://github.com/firebase/FirebaseUI-iOS.git $ cd FirebaseUI-iOS -$ cd Auth # or PhoneAuth, Database, etc -$ pod install -``` - -Alternatively you can use `pod try FirebaseUI` to install the Objective-C or Swift sample projects. - -## Sample Project Configuration -You'll have to configure your Xcode project in order to run the samples. +# For SwiftUI components (uses Swift Package Manager) +$ cd samples/swiftui/FirebaseSwiftUISample +$ open FirebaseSwiftUISample.xcodeproj -1. Your Xcode project should contain a `GoogleService-Info.plist`, downloaded from [Firebase console](https://console.firebase.google.com) when you add your app to a Firebase project.
-Copy the `GoogleService-Info.plist` into the sample project folder (`samples/obj-c/GoogleService-Info.plist` or `samples/swift/GoogleService-Info.plist`). - -1. Update URL Types.
-Go to `Project Settings -> Info tab -> Url Types` and update values for: - + `REVERSED_CLIENT_ID` (get value from `GoogleService-Info.plist`) - + `fb{your-app-id}` (put Facebook App Id) - -1. Update `Info.plist` with Facebook configuration values - + `FacebookAppID -> {your-app-id}` (put Facebook App Id) - -1. Enable Keychain Sharing.
-Facebook SDK requires keychain sharing.
-This can be done here: `Project Settings -> Capabilities -> KeyChain Sharing -> ON` +# For UIKit data binding components (uses CocoaPods) +$ cd FirebaseDatabaseUI # or FirebaseFirestoreUI, FirebaseStorageUI +$ pod install +``` -1. Don't forget to configure your Firebase App Database using [Firebase console](https://console.firebase.google.com).
-Database should contain appropriate read/write permissions and folders (`objc_demo-chat` and `swift_demo-chat` respectively) +## Sample Projects -1. In Order to use `Phone Auth` provider you should [Configure Push Notifications](#configure-apple-push-notifications) +FirebaseUI includes several sample projects demonstrating different features: -#### Configure Apple Push Notifications +### SwiftUI Authentication Sample -##### Enable silent push notifications in Xcode +Located in `samples/swiftui/FirebaseSwiftUISample/`, this sample demonstrates the modern SwiftUI authentication components. - * `Push Notification` - Under `Capabilities` tab in your app target choose `Push Notifications` and put the switch to the `On` position. - * `Background Mode` - Under `Capabilities` tab in your app target choose `Background Modes` put the switch to the `On` position. In the list of available modes select `Background fetch` and `Remote notifications` (If available). +**Configuration:** +1. Download `GoogleService-Info.plist` from [Firebase Console](https://console.firebase.google.com) +2. Copy it to the sample project folder +3. Update URL Types (for OAuth providers) in `Project Settings -> Info tab -> Url Types`: + - `REVERSED_CLIENT_ID` (from `GoogleService-Info.plist`) - Required for Google Sign-In + - `fb{your-app-id}` - Required for Facebook Login +4. For Facebook Login, update `Info.plist` with `FacebookAppID` and enable Keychain Sharing -##### Upload APNS Certificate to Firebase +### UIKit Database & Storage Samples -1. Create your `Provisioning APNS SSL Certificates` by following the steps on the following link. -https://firebase.google.com/docs/cloud-messaging/ios/certs +Located in `samples/objc/` and `samples/swift/`, these samples demonstrate FirebaseUI's data binding capabilities for Realtime Database and Storage. -1. Upload your `APNS Certificate` to Firebase: - + Inside your project in the Firebase console, select the gear icon, select `Project Settings`, and then select the `Cloud Messaging` tab. - + Select the `Upload Certificate` button for your development certificate, your production certificate, or both. At least one is required. - + For each certificate, select the `.p12 file`, and provide the password, if any. Make sure the `bundle ID` for this certificate matches the `bundle ID` of your app. Select `Save`. +**Configuration:** +1. Download `GoogleService-Info.plist` from [Firebase Console](https://console.firebase.google.com) +2. Copy it to `samples/objc/GoogleService-Info.plist` or `samples/swift/GoogleService-Info.plist` +3. Run `pod install` in the sample directory +4. Configure your Firebase Database and Storage in the Firebase Console +5. For the Chat sample, enable anonymous authentication in Firebase Console +6. For the Storage sample, configure appropriate [Storage Security Rules](https://firebase.google.com/docs/storage/security/start#sample-rules) ## Contributing to FirebaseUI diff --git a/UITests/FirebaseUISample.xcodeproj/project.pbxproj b/UITests/FirebaseUISample.xcodeproj/project.pbxproj deleted file mode 100644 index 78129e0cdb5..00000000000 --- a/UITests/FirebaseUISample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1127 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 384216B4B7F229763F82AB3A /* Pods_FirebaseUISample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D41B820459F0A00A8AD1596 /* Pods_FirebaseUISample.framework */; }; - 3BB48A4F055BE5C69B6BFF97 /* Pods_FirebaseUISampleUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D281C0AD34285FC512A5C7BF /* Pods_FirebaseUISampleUITests.framework */; }; - 8D69E6B621DEC97E00CFA49B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E6B421DEC97E00CFA49B /* Main.storyboard */; }; - 8D69E6B821DEC97F00CFA49B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E6B721DEC97F00CFA49B /* Assets.xcassets */; }; - 8D69E6BB21DEC97F00CFA49B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E6B921DEC97F00CFA49B /* LaunchScreen.storyboard */; }; - 8D69E6BE21DEC98000CFA49B /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E6BD21DEC98000CFA49B /* main.m */; }; - 8D69E6C821DEC98000CFA49B /* FirebaseUISampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E6C721DEC98000CFA49B /* FirebaseUISampleTests.m */; }; - 8D69E6D321DEC98000CFA49B /* FirebaseUISampleUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E6D221DEC98000CFA49B /* FirebaseUISampleUITests.m */; }; - 8D69E6E421DECA6800CFA49B /* FUIViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E6E121DECA6800CFA49B /* FUIViewController.m */; }; - 8D69E6E521DECA6800CFA49B /* FUIAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D69E6E221DECA6800CFA49B /* FUIAppDelegate.m */; }; - 8D69E73E21DECA7000CFA49B /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E6E721DECA7000CFA49B /* Localizable.strings */; }; - 8D69E73F21DECA7000CFA49B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E6F621DECA7000CFA49B /* LaunchScreen.storyboard */; }; - 8D69E74021DECA7000CFA49B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8D69E71721DECA7000CFA49B /* Main.storyboard */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 8D69E6C421DEC98000CFA49B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8D69E6A321DEC97E00CFA49B /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8D69E6AA21DEC97E00CFA49B; - remoteInfo = FirebaseUISample; - }; - 8D69E6CF21DEC98000CFA49B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8D69E6A321DEC97E00CFA49B /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8D69E6AA21DEC97E00CFA49B; - remoteInfo = FirebaseUISample; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 0956B704CE67A275CA6CAF73 /* Pods-FirebaseUISample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FirebaseUISample.debug.xcconfig"; path = "Target Support Files/Pods-FirebaseUISample/Pods-FirebaseUISample.debug.xcconfig"; sourceTree = ""; }; - 2D41B820459F0A00A8AD1596 /* Pods_FirebaseUISample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_FirebaseUISample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31B8690B9EA722A89DF1BFBF /* Pods-FirebaseUISampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FirebaseUISampleUITests.debug.xcconfig"; path = "Target Support Files/Pods-FirebaseUISampleUITests/Pods-FirebaseUISampleUITests.debug.xcconfig"; sourceTree = ""; }; - 693E42C838C4CC5869E33629 /* Pods-FirebaseUISampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FirebaseUISampleUITests.release.xcconfig"; path = "Target Support Files/Pods-FirebaseUISampleUITests/Pods-FirebaseUISampleUITests.release.xcconfig"; sourceTree = ""; }; - 8D69E6AB21DEC97E00CFA49B /* FirebaseUISample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FirebaseUISample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E6B521DEC97E00CFA49B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 8D69E6B721DEC97F00CFA49B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 8D69E6BA21DEC97F00CFA49B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 8D69E6BC21DEC97F00CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E6BD21DEC98000CFA49B /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 8D69E6C321DEC98000CFA49B /* FirebaseUISampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FirebaseUISampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E6C721DEC98000CFA49B /* FirebaseUISampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirebaseUISampleTests.m; sourceTree = ""; }; - 8D69E6C921DEC98000CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E6CE21DEC98000CFA49B /* FirebaseUISampleUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FirebaseUISampleUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D69E6D221DEC98000CFA49B /* FirebaseUISampleUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirebaseUISampleUITests.m; sourceTree = ""; }; - 8D69E6D421DEC98000CFA49B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8D69E6E021DECA6800CFA49B /* FUIAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIAppDelegate.h; sourceTree = ""; }; - 8D69E6E121DECA6800CFA49B /* FUIViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIViewController.m; sourceTree = ""; }; - 8D69E6E221DECA6800CFA49B /* FUIAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FUIAppDelegate.m; sourceTree = ""; }; - 8D69E6E321DECA6800CFA49B /* FUIViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FUIViewController.h; sourceTree = ""; }; - 8D69E6E821DECA7000CFA49B /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E6E921DECA7000CFA49B /* ur */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ur; path = ur.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E6EA21DECA7000CFA49B /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E6EB21DECA7000CFA49B /* es-SV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-SV"; path = "es-SV.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E6EC21DECA7000CFA49B /* zh-Hant-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant-TW"; path = "zh-Hant-TW.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E6ED21DECA7000CFA49B /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E6EE21DECA7000CFA49B /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E6EF21DECA7000CFA49B /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E6F021DECA7000CFA49B /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E6F121DECA7000CFA49B /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = fa.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E6F221DECA7000CFA49B /* mr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = mr; path = mr.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E6F321DECA7000CFA49B /* es-GT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-GT"; path = "es-GT.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E6F421DECA7000CFA49B /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E6F521DECA7000CFA49B /* en-CA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-CA"; path = "en-CA.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E6F621DECA7000CFA49B /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; - 8D69E6F721DECA7000CFA49B /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E6F821DECA7000CFA49B /* es-PY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PY"; path = "es-PY.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E6F921DECA7000CFA49B /* gu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gu; path = gu.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E6FA21DECA7000CFA49B /* kn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = kn; path = kn.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E6FB21DECA7000CFA49B /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E6FC21DECA7000CFA49B /* es-US */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-US"; path = "es-US.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E6FD21DECA7000CFA49B /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E6FE21DECA7000CFA49B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E6FF21DECA7000CFA49B /* es-VE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-VE"; path = "es-VE.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E70021DECA7000CFA49B /* es-CL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CL"; path = "es-CL.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E70121DECA7000CFA49B /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E70221DECA7000CFA49B /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E70321DECA7000CFA49B /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E70421DECA7000CFA49B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E70521DECA7000CFA49B /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E70621DECA7000CFA49B /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E70721DECA7000CFA49B /* sr-Latn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sr-Latn"; path = "sr-Latn.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E70821DECA7000CFA49B /* nn-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nn-NO"; path = "nn-NO.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E70921DECA7000CFA49B /* es-PA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PA"; path = "es-PA.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E70A21DECA7000CFA49B /* en-SG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-SG"; path = "en-SG.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E70B21DECA7000CFA49B /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E70C21DECA7000CFA49B /* ms */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ms; path = ms.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E70D21DECA7000CFA49B /* es-CR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CR"; path = "es-CR.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E70E21DECA7000CFA49B /* ta */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ta; path = ta.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E70F21DECA7000CFA49B /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E71021DECA7000CFA49B /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E71121DECA7000CFA49B /* es-AR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-AR"; path = "es-AR.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E71221DECA7000CFA49B /* es-PE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PE"; path = "es-PE.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E71321DECA7000CFA49B /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E71421DECA7000CFA49B /* en-IE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-IE"; path = "en-IE.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E71521DECA7000CFA49B /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = fil.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E71621DECA7000CFA49B /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E71721DECA7000CFA49B /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; - 8D69E71821DECA7000CFA49B /* es-CO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-CO"; path = "es-CO.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E71921DECA7000CFA49B /* gsw */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = gsw; path = gsw.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E71A21DECA7000CFA49B /* en-ZA */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-ZA"; path = "en-ZA.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E71B21DECA7000CFA49B /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E71C21DECA7000CFA49B /* es-PR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-PR"; path = "es-PR.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E71D21DECA7000CFA49B /* de-AT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "de-AT"; path = "de-AT.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E71E21DECA7000CFA49B /* en-AU */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-AU"; path = "en-AU.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E71F21DECA7000CFA49B /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E72021DECA7000CFA49B /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E72121DECA7000CFA49B /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E72221DECA7000CFA49B /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E72321DECA7000CFA49B /* lv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lv; path = lv.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E72421DECA7000CFA49B /* es-MX */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-MX"; path = "es-MX.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E72521DECA7000CFA49B /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E72621DECA7000CFA49B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E72721DECA7000CFA49B /* es-DO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-DO"; path = "es-DO.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E72821DECA7000CFA49B /* fr-CH */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "fr-CH"; path = "fr-CH.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E72921DECA7000CFA49B /* es-NI */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-NI"; path = "es-NI.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E72A21DECA7000CFA49B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E72B21DECA7000CFA49B /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E72C21DECA7000CFA49B /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E72D21DECA7000CFA49B /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E72E21DECA7000CFA49B /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E72F21DECA7000CFA49B /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E73021DECA7000CFA49B /* de-CH */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "de-CH"; path = "de-CH.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E73121DECA7000CFA49B /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E73221DECA7000CFA49B /* es-EC */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-EC"; path = "es-EC.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E73321DECA7000CFA49B /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E73421DECA7000CFA49B /* es-BO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-BO"; path = "es-BO.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E73521DECA7000CFA49B /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E73621DECA7000CFA49B /* ln */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ln; path = ln.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E73721DECA7000CFA49B /* es-UY */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-UY"; path = "es-UY.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E73821DECA7000CFA49B /* es-HN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-HN"; path = "es-HN.lproj/Localizable.strings"; sourceTree = ""; }; - 8D69E73921DECA7000CFA49B /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E73A21DECA7000CFA49B /* hi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hi; path = hi.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E73B21DECA7000CFA49B /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E73C21DECA7000CFA49B /* zh */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh; path = zh.lproj/Localizable.strings; sourceTree = ""; }; - 8D69E73D21DECA7000CFA49B /* en-IN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-IN"; path = "en-IN.lproj/Localizable.strings"; sourceTree = ""; }; - D281C0AD34285FC512A5C7BF /* Pods_FirebaseUISampleUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_FirebaseUISampleUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FD82E556B9F3A8847E367537 /* Pods-FirebaseUISample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FirebaseUISample.release.xcconfig"; path = "Target Support Files/Pods-FirebaseUISample/Pods-FirebaseUISample.release.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8D69E6A821DEC97E00CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 384216B4B7F229763F82AB3A /* Pods_FirebaseUISample.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E6C021DEC98000CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E6CB21DEC98000CFA49B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 3BB48A4F055BE5C69B6BFF97 /* Pods_FirebaseUISampleUITests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 74988A7C0F0D66CC81B546F1 /* Pods */ = { - isa = PBXGroup; - children = ( - 0956B704CE67A275CA6CAF73 /* Pods-FirebaseUISample.debug.xcconfig */, - FD82E556B9F3A8847E367537 /* Pods-FirebaseUISample.release.xcconfig */, - 31B8690B9EA722A89DF1BFBF /* Pods-FirebaseUISampleUITests.debug.xcconfig */, - 693E42C838C4CC5869E33629 /* Pods-FirebaseUISampleUITests.release.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; - 8D69E6A221DEC97E00CFA49B = { - isa = PBXGroup; - children = ( - 8D69E6AD21DEC97E00CFA49B /* FirebaseUISample */, - 8D69E6C621DEC98000CFA49B /* FirebaseUISampleTests */, - 8D69E6D121DEC98000CFA49B /* FirebaseUISampleUITests */, - 8D69E6AC21DEC97E00CFA49B /* Products */, - 74988A7C0F0D66CC81B546F1 /* Pods */, - BE3E2EB05043AA9C4D5AE8D7 /* Frameworks */, - ); - sourceTree = ""; - }; - 8D69E6AC21DEC97E00CFA49B /* Products */ = { - isa = PBXGroup; - children = ( - 8D69E6AB21DEC97E00CFA49B /* FirebaseUISample.app */, - 8D69E6C321DEC98000CFA49B /* FirebaseUISampleTests.xctest */, - 8D69E6CE21DEC98000CFA49B /* FirebaseUISampleUITests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 8D69E6AD21DEC97E00CFA49B /* FirebaseUISample */ = { - isa = PBXGroup; - children = ( - 8D69E6E021DECA6800CFA49B /* FUIAppDelegate.h */, - 8D69E6E221DECA6800CFA49B /* FUIAppDelegate.m */, - 8D69E6E321DECA6800CFA49B /* FUIViewController.h */, - 8D69E6E121DECA6800CFA49B /* FUIViewController.m */, - 8D69E6B421DEC97E00CFA49B /* Main.storyboard */, - 8D69E6B721DEC97F00CFA49B /* Assets.xcassets */, - 8D69E6B921DEC97F00CFA49B /* LaunchScreen.storyboard */, - 8D69E6BC21DEC97F00CFA49B /* Info.plist */, - 8D69E6BD21DEC98000CFA49B /* main.m */, - 8D69E6E621DECA7000CFA49B /* Resources */, - ); - path = FirebaseUISample; - sourceTree = ""; - }; - 8D69E6C621DEC98000CFA49B /* FirebaseUISampleTests */ = { - isa = PBXGroup; - children = ( - 8D69E6C721DEC98000CFA49B /* FirebaseUISampleTests.m */, - 8D69E6C921DEC98000CFA49B /* Info.plist */, - ); - path = FirebaseUISampleTests; - sourceTree = ""; - }; - 8D69E6D121DEC98000CFA49B /* FirebaseUISampleUITests */ = { - isa = PBXGroup; - children = ( - 8D69E6D221DEC98000CFA49B /* FirebaseUISampleUITests.m */, - 8D69E6D421DEC98000CFA49B /* Info.plist */, - ); - path = FirebaseUISampleUITests; - sourceTree = ""; - }; - 8D69E6E621DECA7000CFA49B /* Resources */ = { - isa = PBXGroup; - children = ( - 8D69E6E721DECA7000CFA49B /* Localizable.strings */, - 8D69E6F621DECA7000CFA49B /* LaunchScreen.storyboard */, - 8D69E71721DECA7000CFA49B /* Main.storyboard */, - ); - path = Resources; - sourceTree = ""; - }; - BE3E2EB05043AA9C4D5AE8D7 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 2D41B820459F0A00A8AD1596 /* Pods_FirebaseUISample.framework */, - D281C0AD34285FC512A5C7BF /* Pods_FirebaseUISampleUITests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 8D69E6AA21DEC97E00CFA49B /* FirebaseUISample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E6D721DEC98000CFA49B /* Build configuration list for PBXNativeTarget "FirebaseUISample" */; - buildPhases = ( - 0DF63DA2354EB44F5A2D2D61 /* [CP] Check Pods Manifest.lock */, - 8D69E6A721DEC97E00CFA49B /* Sources */, - 8D69E6A821DEC97E00CFA49B /* Frameworks */, - 8D69E6A921DEC97E00CFA49B /* Resources */, - 9770CA281FA9338EAAD7A794 /* [CP] Embed Pods Frameworks */, - 51DE22925CB8340B0AD8760A /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FirebaseUISample; - productName = FirebaseUISample; - productReference = 8D69E6AB21DEC97E00CFA49B /* FirebaseUISample.app */; - productType = "com.apple.product-type.application"; - }; - 8D69E6C221DEC98000CFA49B /* FirebaseUISampleTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E6DA21DEC98000CFA49B /* Build configuration list for PBXNativeTarget "FirebaseUISampleTests" */; - buildPhases = ( - 8D69E6BF21DEC98000CFA49B /* Sources */, - 8D69E6C021DEC98000CFA49B /* Frameworks */, - 8D69E6C121DEC98000CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 8D69E6C521DEC98000CFA49B /* PBXTargetDependency */, - ); - name = FirebaseUISampleTests; - productName = FirebaseUISampleTests; - productReference = 8D69E6C321DEC98000CFA49B /* FirebaseUISampleTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 8D69E6CD21DEC98000CFA49B /* FirebaseUISampleUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D69E6DD21DEC98000CFA49B /* Build configuration list for PBXNativeTarget "FirebaseUISampleUITests" */; - buildPhases = ( - EEBB22A4A2D9891F4E4EADCD /* [CP] Check Pods Manifest.lock */, - 8D69E6CA21DEC98000CFA49B /* Sources */, - 8D69E6CB21DEC98000CFA49B /* Frameworks */, - 8D69E6CC21DEC98000CFA49B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 8D69E6D021DEC98000CFA49B /* PBXTargetDependency */, - ); - name = FirebaseUISampleUITests; - productName = FirebaseUISampleUITests; - productReference = 8D69E6CE21DEC98000CFA49B /* FirebaseUISampleUITests.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 8D69E6A321DEC97E00CFA49B /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1010; - ORGANIZATIONNAME = Firebase; - TargetAttributes = { - 8D69E6AA21DEC97E00CFA49B = { - CreatedOnToolsVersion = 10.1; - }; - 8D69E6C221DEC98000CFA49B = { - CreatedOnToolsVersion = 10.1; - TestTargetID = 8D69E6AA21DEC97E00CFA49B; - }; - 8D69E6CD21DEC98000CFA49B = { - CreatedOnToolsVersion = 10.1; - TestTargetID = 8D69E6AA21DEC97E00CFA49B; - }; - }; - }; - buildConfigurationList = 8D69E6A621DEC97E00CFA49B /* Build configuration list for PBXProject "FirebaseUISample" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - de, - ur, - he, - "es-SV", - "zh-Hant-TW", - ar, - el, - "zh-Hans", - ja, - fa, - mr, - "es-GT", - "en-CA", - uk, - "es-PY", - gu, - kn, - nb, - "es-US", - "en-GB", - es, - "es-VE", - "es-CL", - sl, - da, - "es-419", - it, - bg, - sk, - "sr-Latn", - "nn-NO", - "es-PA", - "en-SG", - sr, - ms, - "es-CR", - ta, - sv, - cs, - "es-AR", - "es-PE", - ko, - "en-IE", - fil, - "zh-Hant", - "es-CO", - gsw, - "en-ZA", - hu, - "es-PR", - "de-AT", - "en-AU", - tr, - pl, - "pt-BR", - vi, - lv, - "es-MX", - lt, - ru, - "es-DO", - "fr-CH", - "es-NI", - fr, - fi, - id, - nl, - th, - pt, - "de-CH", - bn, - "es-EC", - "pt-PT", - "es-BO", - ro, - ln, - "es-UY", - "es-HN", - hr, - hi, - ca, - zh, - "en-IN", - ); - mainGroup = 8D69E6A221DEC97E00CFA49B; - productRefGroup = 8D69E6AC21DEC97E00CFA49B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8D69E6AA21DEC97E00CFA49B /* FirebaseUISample */, - 8D69E6C221DEC98000CFA49B /* FirebaseUISampleTests */, - 8D69E6CD21DEC98000CFA49B /* FirebaseUISampleUITests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8D69E6A921DEC97E00CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E6BB21DEC97F00CFA49B /* LaunchScreen.storyboard in Resources */, - 8D69E73E21DECA7000CFA49B /* Localizable.strings in Resources */, - 8D69E6B821DEC97F00CFA49B /* Assets.xcassets in Resources */, - 8D69E74021DECA7000CFA49B /* Main.storyboard in Resources */, - 8D69E73F21DECA7000CFA49B /* LaunchScreen.storyboard in Resources */, - 8D69E6B621DEC97E00CFA49B /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E6C121DEC98000CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E6CC21DEC98000CFA49B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 0DF63DA2354EB44F5A2D2D61 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-FirebaseUISample-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 51DE22925CB8340B0AD8760A /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-FirebaseUISample/Pods-FirebaseUISample-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-FirebaseUISample/Pods-FirebaseUISample-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FirebaseUISample/Pods-FirebaseUISample-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9770CA281FA9338EAAD7A794 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-FirebaseUISample/Pods-FirebaseUISample-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-FirebaseUISample/Pods-FirebaseUISample-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FirebaseUISample/Pods-FirebaseUISample-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - EEBB22A4A2D9891F4E4EADCD /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-FirebaseUISampleUITests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8D69E6A721DEC97E00CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E6BE21DEC98000CFA49B /* main.m in Sources */, - 8D69E6E521DECA6800CFA49B /* FUIAppDelegate.m in Sources */, - 8D69E6E421DECA6800CFA49B /* FUIViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E6BF21DEC98000CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E6C821DEC98000CFA49B /* FirebaseUISampleTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8D69E6CA21DEC98000CFA49B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D69E6D321DEC98000CFA49B /* FirebaseUISampleUITests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 8D69E6C521DEC98000CFA49B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8D69E6AA21DEC97E00CFA49B /* FirebaseUISample */; - targetProxy = 8D69E6C421DEC98000CFA49B /* PBXContainerItemProxy */; - }; - 8D69E6D021DEC98000CFA49B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8D69E6AA21DEC97E00CFA49B /* FirebaseUISample */; - targetProxy = 8D69E6CF21DEC98000CFA49B /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 8D69E6B421DEC97E00CFA49B /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 8D69E6B521DEC97E00CFA49B /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 8D69E6B921DEC97F00CFA49B /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 8D69E6BA21DEC97F00CFA49B /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; - 8D69E6E721DECA7000CFA49B /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - 8D69E6E821DECA7000CFA49B /* de */, - 8D69E6E921DECA7000CFA49B /* ur */, - 8D69E6EA21DECA7000CFA49B /* he */, - 8D69E6EB21DECA7000CFA49B /* es-SV */, - 8D69E6EC21DECA7000CFA49B /* zh-Hant-TW */, - 8D69E6ED21DECA7000CFA49B /* ar */, - 8D69E6EE21DECA7000CFA49B /* el */, - 8D69E6EF21DECA7000CFA49B /* zh-Hans */, - 8D69E6F021DECA7000CFA49B /* ja */, - 8D69E6F121DECA7000CFA49B /* fa */, - 8D69E6F221DECA7000CFA49B /* mr */, - 8D69E6F321DECA7000CFA49B /* es-GT */, - 8D69E6F421DECA7000CFA49B /* en */, - 8D69E6F521DECA7000CFA49B /* en-CA */, - 8D69E6F721DECA7000CFA49B /* uk */, - 8D69E6F821DECA7000CFA49B /* es-PY */, - 8D69E6F921DECA7000CFA49B /* gu */, - 8D69E6FA21DECA7000CFA49B /* kn */, - 8D69E6FB21DECA7000CFA49B /* nb */, - 8D69E6FC21DECA7000CFA49B /* es-US */, - 8D69E6FD21DECA7000CFA49B /* en-GB */, - 8D69E6FE21DECA7000CFA49B /* es */, - 8D69E6FF21DECA7000CFA49B /* es-VE */, - 8D69E70021DECA7000CFA49B /* es-CL */, - 8D69E70121DECA7000CFA49B /* sl */, - 8D69E70221DECA7000CFA49B /* da */, - 8D69E70321DECA7000CFA49B /* es-419 */, - 8D69E70421DECA7000CFA49B /* it */, - 8D69E70521DECA7000CFA49B /* bg */, - 8D69E70621DECA7000CFA49B /* sk */, - 8D69E70721DECA7000CFA49B /* sr-Latn */, - 8D69E70821DECA7000CFA49B /* nn-NO */, - 8D69E70921DECA7000CFA49B /* es-PA */, - 8D69E70A21DECA7000CFA49B /* en-SG */, - 8D69E70B21DECA7000CFA49B /* sr */, - 8D69E70C21DECA7000CFA49B /* ms */, - 8D69E70D21DECA7000CFA49B /* es-CR */, - 8D69E70E21DECA7000CFA49B /* ta */, - 8D69E70F21DECA7000CFA49B /* sv */, - 8D69E71021DECA7000CFA49B /* cs */, - 8D69E71121DECA7000CFA49B /* es-AR */, - 8D69E71221DECA7000CFA49B /* es-PE */, - 8D69E71321DECA7000CFA49B /* ko */, - 8D69E71421DECA7000CFA49B /* en-IE */, - 8D69E71521DECA7000CFA49B /* fil */, - 8D69E71621DECA7000CFA49B /* zh-Hant */, - 8D69E71821DECA7000CFA49B /* es-CO */, - 8D69E71921DECA7000CFA49B /* gsw */, - 8D69E71A21DECA7000CFA49B /* en-ZA */, - 8D69E71B21DECA7000CFA49B /* hu */, - 8D69E71C21DECA7000CFA49B /* es-PR */, - 8D69E71D21DECA7000CFA49B /* de-AT */, - 8D69E71E21DECA7000CFA49B /* en-AU */, - 8D69E71F21DECA7000CFA49B /* tr */, - 8D69E72021DECA7000CFA49B /* pl */, - 8D69E72121DECA7000CFA49B /* pt-BR */, - 8D69E72221DECA7000CFA49B /* vi */, - 8D69E72321DECA7000CFA49B /* lv */, - 8D69E72421DECA7000CFA49B /* es-MX */, - 8D69E72521DECA7000CFA49B /* lt */, - 8D69E72621DECA7000CFA49B /* ru */, - 8D69E72721DECA7000CFA49B /* es-DO */, - 8D69E72821DECA7000CFA49B /* fr-CH */, - 8D69E72921DECA7000CFA49B /* es-NI */, - 8D69E72A21DECA7000CFA49B /* fr */, - 8D69E72B21DECA7000CFA49B /* fi */, - 8D69E72C21DECA7000CFA49B /* id */, - 8D69E72D21DECA7000CFA49B /* nl */, - 8D69E72E21DECA7000CFA49B /* th */, - 8D69E72F21DECA7000CFA49B /* pt */, - 8D69E73021DECA7000CFA49B /* de-CH */, - 8D69E73121DECA7000CFA49B /* bn */, - 8D69E73221DECA7000CFA49B /* es-EC */, - 8D69E73321DECA7000CFA49B /* pt-PT */, - 8D69E73421DECA7000CFA49B /* es-BO */, - 8D69E73521DECA7000CFA49B /* ro */, - 8D69E73621DECA7000CFA49B /* ln */, - 8D69E73721DECA7000CFA49B /* es-UY */, - 8D69E73821DECA7000CFA49B /* es-HN */, - 8D69E73921DECA7000CFA49B /* hr */, - 8D69E73A21DECA7000CFA49B /* hi */, - 8D69E73B21DECA7000CFA49B /* ca */, - 8D69E73C21DECA7000CFA49B /* zh */, - 8D69E73D21DECA7000CFA49B /* en-IN */, - ); - name = Localizable.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 8D69E6D521DEC98000CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Debug; - }; - 8D69E6D621DEC98000CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.1; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 8D69E6D821DEC98000CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0956B704CE67A275CA6CAF73 /* Pods-FirebaseUISample.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseUISample/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseUISample; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8D69E6D921DEC98000CFA49B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FD82E556B9F3A8847E367537 /* Pods-FirebaseUISample.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseUISample/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseUISample; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 8D69E6DB21DEC98000CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseUISampleTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseUISampleTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FirebaseUISample.app/FirebaseUISample"; - }; - name = Debug; - }; - 8D69E6DC21DEC98000CFA49B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseUISampleTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseUISampleTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FirebaseUISample.app/FirebaseUISample"; - }; - name = Release; - }; - 8D69E6DE21DEC98000CFA49B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 31B8690B9EA722A89DF1BFBF /* Pods-FirebaseUISampleUITests.debug.xcconfig */; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseUISampleUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "$(PODS_CONFIGURATION_BUILD_DIR)/FirebaseUISample.app/Frameworks", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-l\"c++\"", - "-l\"icucore\"", - "-framework", - "\"AVFoundation\"", - "-framework", - "\"Accounts\"", - "-framework", - "\"CFNetwork\"", - "-framework", - "\"CoreData\"", - "-framework", - "\"CoreGraphics\"", - "-framework", - "\"CoreMedia\"", - "-framework", - "\"CoreText\"", - "-framework", - "\"FBSDKCoreKit\"", - "-framework", - "\"FBSDKLoginKit\"", - "-framework", - "\"FirebaseAuth\"", - "-framework", - "\"FirebaseCore\"", - "-framework", - "\"FirebaseDatabase\"", - "-framework", - "\"FirebaseFirestore\"", - "-framework", - "\"FirebaseStorage\"", - "-framework", - "\"FirebaseUI\"", - "-framework", - "\"Foundation\"", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleToolboxForMac\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"LocalAuthentication\"", - "-framework", - "\"MobileCoreServices\"", - "-framework", - "\"OCMock\"", - "-framework", - "\"Protobuf\"", - "-framework", - "\"QuartzCore\"", - "-framework", - "\"SDWebImage\"", - "-framework", - "\"SafariServices\"", - "-framework", - "\"Security\"", - "-framework", - "\"Social\"", - "-framework", - "\"SystemConfiguration\"", - "-framework", - "\"UIKit\"", - "-framework", - "\"grpc\"", - "-framework", - "\"grpcpp\"", - "-framework", - "\"leveldb\"", - "-framework", - "\"nanopb\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseUISampleUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = FirebaseUISample; - }; - name = Debug; - }; - 8D69E6DF21DEC98000CFA49B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 693E42C838C4CC5869E33629 /* Pods-FirebaseUISampleUITests.release.xcconfig */; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - INFOPLIST_FILE = FirebaseUISampleUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - "$(PODS_CONFIGURATION_BUILD_DIR)/FirebaseUISample.app/Frameworks", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-l\"c++\"", - "-l\"icucore\"", - "-framework", - "\"AVFoundation\"", - "-framework", - "\"Accounts\"", - "-framework", - "\"CFNetwork\"", - "-framework", - "\"CoreData\"", - "-framework", - "\"CoreGraphics\"", - "-framework", - "\"CoreMedia\"", - "-framework", - "\"CoreText\"", - "-framework", - "\"FBSDKCoreKit\"", - "-framework", - "\"FBSDKLoginKit\"", - "-framework", - "\"FirebaseAuth\"", - "-framework", - "\"FirebaseCore\"", - "-framework", - "\"FirebaseDatabase\"", - "-framework", - "\"FirebaseFirestore\"", - "-framework", - "\"FirebaseStorage\"", - "-framework", - "\"FirebaseUI\"", - "-framework", - "\"Foundation\"", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleToolboxForMac\"", - "-framework", - "\"GoogleUtilities\"", - "-framework", - "\"LocalAuthentication\"", - "-framework", - "\"MobileCoreServices\"", - "-framework", - "\"OCMock\"", - "-framework", - "\"Protobuf\"", - "-framework", - "\"QuartzCore\"", - "-framework", - "\"SDWebImage\"", - "-framework", - "\"SafariServices\"", - "-framework", - "\"Security\"", - "-framework", - "\"Social\"", - "-framework", - "\"SystemConfiguration\"", - "-framework", - "\"UIKit\"", - "-framework", - "\"grpc\"", - "-framework", - "\"grpcpp\"", - "-framework", - "\"leveldb\"", - "-framework", - "\"nanopb\"", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.firebase.FirebaseUISampleUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = FirebaseUISample; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 8D69E6A621DEC97E00CFA49B /* Build configuration list for PBXProject "FirebaseUISample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E6D521DEC98000CFA49B /* Debug */, - 8D69E6D621DEC98000CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E6D721DEC98000CFA49B /* Build configuration list for PBXNativeTarget "FirebaseUISample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E6D821DEC98000CFA49B /* Debug */, - 8D69E6D921DEC98000CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E6DA21DEC98000CFA49B /* Build configuration list for PBXNativeTarget "FirebaseUISampleTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E6DB21DEC98000CFA49B /* Debug */, - 8D69E6DC21DEC98000CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D69E6DD21DEC98000CFA49B /* Build configuration list for PBXNativeTarget "FirebaseUISampleUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D69E6DE21DEC98000CFA49B /* Debug */, - 8D69E6DF21DEC98000CFA49B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 8D69E6A321DEC97E00CFA49B /* Project object */; -} diff --git a/UITests/FirebaseUISample.xcodeproj/xcshareddata/xcschemes/FirebaseUISample.xcscheme b/UITests/FirebaseUISample.xcodeproj/xcshareddata/xcschemes/FirebaseUISample.xcscheme deleted file mode 100644 index 56464193a70..00000000000 --- a/UITests/FirebaseUISample.xcodeproj/xcshareddata/xcschemes/FirebaseUISample.xcscheme +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/UITests/FirebaseUISample/Assets.xcassets/AppIcon.appiconset/Contents.json b/UITests/FirebaseUISample/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d8db8d65fd7..00000000000 --- a/UITests/FirebaseUISample/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "3x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "83.5x83.5", - "scale" : "2x" - }, - { - "idiom" : "ios-marketing", - "size" : "1024x1024", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/UITests/FirebaseUISample/Base.lproj/LaunchScreen.storyboard b/UITests/FirebaseUISample/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index bfa36129419..00000000000 --- a/UITests/FirebaseUISample/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/UITests/FirebaseUISample/Base.lproj/Main.storyboard b/UITests/FirebaseUISample/Base.lproj/Main.storyboard deleted file mode 100644 index 942f0bc452d..00000000000 --- a/UITests/FirebaseUISample/Base.lproj/Main.storyboard +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/UITests/FirebaseUISample/FUIAppDelegate.h b/UITests/FirebaseUISample/FUIAppDelegate.h deleted file mode 100644 index f30bd05a543..00000000000 --- a/UITests/FirebaseUISample/FUIAppDelegate.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// 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 - -@interface FUIAppDelegate : UIResponder - -@property (strong, nonatomic) UIWindow *window; - - -@end - diff --git a/UITests/FirebaseUISample/FUIAppDelegate.m b/UITests/FirebaseUISample/FUIAppDelegate.m deleted file mode 100644 index a18d0085eba..00000000000 --- a/UITests/FirebaseUISample/FUIAppDelegate.m +++ /dev/null @@ -1,33 +0,0 @@ -// -// 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 "FUIAppDelegate.h" - -#import -@import FirebaseCore; - -@implementation FUIAppDelegate - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - FIROptions *options = [[FIROptions alloc] initWithGoogleAppID:@"0:000000000000:ios:0000000000000000" - GCMSenderID:@"testGCMSenderIDValue"]; - [FIRApp configureWithOptions:options]; - - return YES; -} - - -@end diff --git a/UITests/FirebaseUISample/FUIViewController.h b/UITests/FirebaseUISample/FUIViewController.h deleted file mode 100644 index 5906641d30c..00000000000 --- a/UITests/FirebaseUISample/FUIViewController.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// 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 - -@interface FUIViewController : UITableViewController - -@end diff --git a/UITests/FirebaseUISample/FUIViewController.m b/UITests/FirebaseUISample/FUIViewController.m deleted file mode 100644 index 58a7aea91a4..00000000000 --- a/UITests/FirebaseUISample/FUIViewController.m +++ /dev/null @@ -1,612 +0,0 @@ -// -// 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 "FUIViewController.h" - -#import - -#import - -typedef NS_ENUM(NSUInteger, UISections) { - kSectionsSignedInAs = 0, - kSectionsSimulationBehavior, - kSectionsProviders, - kSectionsAccountManager -}; - -typedef NS_ENUM(NSUInteger, FIRSimulationChoise) { - kSimulationNoMocks = 0, - kSimulationExistingUser, - kSimulationNewUser, - kSimulationEmailRecovery, - kSimulationUnknown, -}; - -typedef NS_ENUM(NSUInteger, FIRProviders) { - kIDPEmail = 0, - kIDPGoogle, - kIDPFacebook, - kIDPTwitter, - kIDPPhone -}; - -@interface FUIViewController () -@property (weak, nonatomic) IBOutlet UIBarButtonItem *btnAuthorization; -@property (weak, nonatomic) IBOutlet UILabel *labelUserEmail; -@property (nonatomic, assign) FIRSimulationChoise selectedSimulationChoise; - -@property (nonatomic) id authMock; -@property (nonatomic) id authUIMock; -@property (nonatomic) FIRAuthStateDidChangeListenerHandle authStateDidChangeHandle; - -@end - -@implementation FUIViewController { - NSMutableArray> *_authProviders; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - _authProviders = [NSMutableArray new]; - - [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:kSimulationNoMocks - inSection:kSectionsSimulationBehavior] - animated:NO - scrollPosition:UITableViewScrollPositionNone]; - - [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:kIDPEmail - inSection:kSectionsProviders] - animated:NO - scrollPosition:UITableViewScrollPositionNone]; - -} - -- (IBAction)onAuthorization:(id)sender { - [self prepareAuthUIMocks]; - [self mockPhoneAuthServerRequests]; - - [self prepareStubs]; - - NSString *firstProviderID = _authProviders.firstObject.providerID; - BOOL shouldSkipPhoneAuthPicker = _authProviders.count == 1 && - ([firstProviderID isEqualToString:FIRPhoneAuthProviderID] || - [firstProviderID isEqualToString:@ -@"password"]); - if (!shouldSkipPhoneAuthPicker) { - UIViewController *controller = [self.authUIMock authViewController]; - [self presentViewController:controller animated:YES completion:nil]; - } else if ([firstProviderID isEqualToString:FIRPhoneAuthProviderID]) { - FUIPhoneAuth *provider = _authProviders.firstObject; - [provider signInWithPresentingViewController:self phoneNumber:nil]; - } else if ([firstProviderID isEqualToString:@ -@"password"]) { - FUIEmailAuth *provider = _authProviders.firstObject; - [provider signInWithPresentingViewController:self email:nil]; - } - -} - -- (void)setAuthUIMock:(id)authUIMock { - _authUIMock = authUIMock; - [self configureFirAuthUIProviders]; -} - -#pragma mark - FUIAuthSignInUIDelegate - -- (UIViewController *)presentingSignInController { - return self; -} - -#pragma mark - UITableViewControllerDelegate methods - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - if (indexPath.section != kSectionsProviders) { - _selectedSimulationChoise = indexPath.row; - [self deselectAllCellsExcept:indexPath]; - } - - if (indexPath.section == kSectionsAccountManager) { - switch (indexPath.row) { - case 0: - [self prepareForAccountManagerWithPasswordWithoutLinkedAccount]; - break; - case 1: - [self prepareForAccountManagerWithPasswordWithLinkedAccountWithEmail]; - break; - case 2: - [self prepareForAccountManagerWithPasswordWithLinkedAccountWithoutEmail]; - break; - case 3: - [self prepareForAccountManagerWithoutPasswordWithLinkedAccountWithoutEmail]; - break; - case 4: - [self prepareForAccountManagerWithoutPasswordWithLinkedAccountWithEmail]; - break; - - default: - break; - } - - [self mockServerOperations]; - - [tableView deselectRowAtIndexPath:indexPath animated:NO]; - [self showAccountManager]; - } -} - -- (void)deselectAllCellsExcept:(NSIndexPath *)indexPath { - - NSInteger count = [self tableView:self.tableView numberOfRowsInSection:indexPath.section]; - for (NSInteger index = 0; index < count; index++) { - if (index != indexPath.row) { - [self.tableView deselectRowAtIndexPath:[NSIndexPath indexPathForRow:index - inSection:indexPath.section] - animated:YES]; - } - } -} - -#pragma mark - FUIAuthDelegate methods - -- (void)authUI:(FUIAuth *)authUI - didSignInWithAuthDataResult:(nullable FIRAuthDataResult *)authDataResult - error:(nullable NSError *)error { - if (error) { - if (error.code == FUIAuthErrorCodeUserCancelledSignIn) { - [self showAlert:@"User cancelled sign-in"]; - } else { - NSError *detailedError = error.userInfo[NSUnderlyingErrorKey]; - if (!detailedError) { - detailedError = error; - } - [self showAlert:detailedError.localizedDescription]; - } - } else { - _labelUserEmail.text = authDataResult.user.email; - [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:kSectionsSignedInAs] - withRowAnimation:UITableViewRowAnimationNone]; - } -} - -- (void)showAlert:(NSString *)message { - UIAlertController *alert = - [UIAlertController alertControllerWithTitle:@"Error" - message:message - preferredStyle:UIAlertControllerStyleAlert]; - UIAlertAction* closeButton = - [UIAlertAction actionWithTitle:@"Close" - style:UIAlertActionStyleDefault - handler:nil]; - [alert addAction:closeButton]; - [self presentViewController:alert animated:YES completion:nil]; - -} - -#pragma mark - helper methods - -- (void)prepareStubs { - [self populateListOfIDPs]; -// OCMStub([self.authUIMock isSignInWithEmailHidden]).andReturn(![self isEmailEnabled]); - - switch (_selectedSimulationChoise) { - case kSimulationNoMocks: - case kSimulationUnknown: - break; - case kSimulationExistingUser: - [self prepareStubsForSimulationExistingUser]; - break; - case kSimulationNewUser: - [self prepareStubsForSimulationNewUser]; - break; - case kSimulationEmailRecovery: - [self prepareStubsForEmailRecovery]; - break; - - default: - break; - } -} - -- (void)prepareAuthUIMocks { - [self.authMock stopMocking]; - self.authMock = OCMPartialMock([FIRAuth auth]); - - id mockedAuth = OCMClassMock([FIRAuth class]); - OCMStub(ClassMethod([mockedAuth auth])).andReturn(self.authMock); - - [self.authUIMock stopMocking]; - self.authUIMock = OCMPartialMock([self configureFirAuthUI]); - id mockedAuthUI = OCMClassMock([FUIAuth class]); - OCMStub(ClassMethod([mockedAuthUI defaultAuthUI])).andReturn(self.authUIMock); -} - -- (void)prepareStubsForSimulationExistingUser { - OCMStub([self.authMock fetchProvidersForEmail:OCMOCK_ANY completion:OCMOCK_ANY]). - andDo(^(NSInvocation *invocation) { - FIRProviderQueryCallback mockedCallback; - [invocation getArgument:&mockedCallback atIndex:3]; - mockedCallback(@[@"password"], nil); - }); - - - [self mockSignInWithCredential]; -} - -- (void)prepareStubsForSimulationNewUser { - OCMStub([self.authMock fetchProvidersForEmail:OCMOCK_ANY completion:OCMOCK_ANY]). - andDo(^(NSInvocation *invocation) { - FIRProviderQueryCallback mockedResponse; - [invocation getArgument:&mockedResponse atIndex:3]; - mockedResponse(nil, nil); - }); - - - OCMStub([self.authMock createUserWithEmail:OCMOCK_ANY - password:OCMOCK_ANY - completion:OCMOCK_ANY]). - andDo(^(NSInvocation *invocation) { - FIRAuthDataResultCallback mockedCallback; - [invocation getArgument:&mockedCallback atIndex:4]; - - NSString *responseEmail; - [invocation getArgument:&responseEmail atIndex:2]; - - id mockDataResult = OCMClassMock([FIRAuthDataResult class]); - id mockUser = OCMClassMock([FIRUser class]); - OCMStub([mockUser email]).andReturn(responseEmail); - OCMStub([mockDataResult user]).andReturn(mockUser); - [self mockUpdateUserRequest:mockUser]; - - mockedCallback(mockDataResult, nil); - }); - -} - -- (void)prepareStubsForEmailRecovery { - OCMStub([self.authMock fetchProvidersForEmail:OCMOCK_ANY completion:OCMOCK_ANY]). - andDo(^(NSInvocation *invocation) { - FIRProviderQueryCallback mockedCallback; - [invocation getArgument:&mockedCallback atIndex:3]; - mockedCallback(@[@"password"], nil); - }); - - OCMStub([self.authMock sendPasswordResetWithEmail:OCMOCK_ANY completion:OCMOCK_ANY]). - andDo(^(NSInvocation *invocation) { - FIRSendPasswordResetCallback mockedCallback; - [invocation getArgument:&mockedCallback atIndex:3]; - mockedCallback(nil); - }); - -} - -- (void)populateListOfIDPs { - NSArray *selectedRows = [self.tableView indexPathsForSelectedRows]; - [_authProviders removeAllObjects]; - - for (NSIndexPath *indexPath in selectedRows) { - if (indexPath.section == kSectionsProviders) { - switch (indexPath.row) { - case kIDPEmail: - [_authProviders addObject:[[FUIEmailAuth alloc] init]]; - break; - case kIDPGoogle: - [_authProviders addObject:[[FUIGoogleAuth alloc] init]]; - break; - case kIDPFacebook: - [_authProviders addObject:[[FUIFacebookAuth alloc] init]]; - break; - case kIDPTwitter: - { - UIColor *buttonColor = [UIColor colorWithRed:71.0f/255.0f - green:154.0f/255.0f - blue:234.0f/255.0f - alpha:1.0f]; - NSString *iconPath = - [[NSBundle mainBundle] pathForResource:@"twtrsymbol" ofType:@"png"]; - if (!iconPath) { - NSLog(@"Warning: Unable to find twitter icon."); - } - [_authProviders addObject:[[FUIOAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI] - providerID:@"twitter.com" - buttonLabelText:@"Sign in with Twitter" - shortName:@"Twitter" - buttonColor:buttonColor - iconImage:nil - scopes:@[@"user.readwrite"] - customParameters:@{@"prompt" : @"consent"} - loginHintKey:nil]]; - } - break; - case kIDPPhone: - [_authProviders addObject:[[FUIPhoneAuth alloc] initWithAuthUI:self.authUIMock]]; - break; - - default: - break; - } - } - } -} - -- (BOOL)isEmailEnabled { - NSArray *selectedRows = [self.tableView indexPathsForSelectedRows]; - return [selectedRows containsObject:[NSIndexPath - indexPathForRow:kIDPEmail - inSection:kSectionsProviders]]; -} - -- (FUIAuth *)configureFirAuthUI { - FUIAuth *authUI = [FUIAuth defaultAuthUI]; - authUI.delegate = self; - return authUI; -} - -- (void)configureFirAuthUIProviders { - [self populateListOfIDPs]; - OCMStub([self.authUIMock providers]).andReturn(_authProviders); -} - -- (void)showAccountManager { - UIViewController *controller = - [[FUIAccountSettingsViewController alloc] initWithAuthUI:self.authUIMock]; - [self.navigationController pushViewController:controller animated:YES]; -} - -- (void)prepareForAccountManagerWithPasswordWithoutLinkedAccount { - id mockUser = [self mockUserWhichHasEmail:YES]; - - // Add EmailPassword provider - id emailPasswordProviderMock = [self createPasswordProvider]; - - // Stub providerData - NSArray *providers = [NSArray arrayWithObject:emailPasswordProviderMock]; - OCMStub([mockUser providerData]).andReturn(providers); - -} - -- (void)prepareForAccountManagerWithPasswordWithLinkedAccountWithEmail { - id mockUser = [self mockUserWhichHasEmail:YES]; - - //Add EmailPassword provider - id emailPasswordProviderMock = [self createPasswordProvider]; - - //Add third party provider with email - id linkedProviderMock = [self createThirdPartyProvider:@ -@"google.com" hasEmail:YES]; - - // Stub providerData - NSArray *providers = - [NSArray arrayWithObjects:emailPasswordProviderMock, linkedProviderMock, nil]; - OCMStub([mockUser providerData]).andReturn(providers); -} - -- (void)prepareForAccountManagerWithPasswordWithLinkedAccountWithoutEmail { - id mockUser = [self mockUserWhichHasEmail:YES]; - - //Add third party provider without email - id linkedProviderMock = [self createThirdPartyProvider:@ -@"google.com" hasEmail:NO]; - - //Add EmailPassword provider - id emailPasswordProviderMock = [self createPasswordProvider]; - - // Stub providerData - NSArray *providers = - [NSArray arrayWithObjects:emailPasswordProviderMock, linkedProviderMock, nil]; - OCMStub([mockUser providerData]).andReturn(providers); -} - -- (void)prepareForAccountManagerWithoutPasswordWithLinkedAccountWithoutEmail { - id mockUser = [self mockUserWhichHasEmail:NO]; - - //Add third party provider without email - id linkedProviderMock = [self createThirdPartyProvider:@ -@"google.com" hasEmail:NO]; - - // Stub providerData - NSArray *providers = [NSArray arrayWithObject:linkedProviderMock]; - OCMStub([mockUser providerData]).andReturn(providers); -} - -- (void)prepareForAccountManagerWithoutPasswordWithLinkedAccountWithEmail { - id mockUser = [self mockUserWhichHasEmail:YES]; - - //Add third party provider with email - id linkedProviderMock = [self createThirdPartyProvider:@ -@"google.com" hasEmail:YES]; - - // Stub providerData - NSArray *providers = [NSArray arrayWithObject:linkedProviderMock]; - OCMStub([mockUser providerData]).andReturn(providers); -} - -#pragma mark - stubbing methods - -- (id)createPasswordProvider { - id emailPasswordProviderMock = OCMProtocolMock(@protocol(FIRUserInfo)); - OCMStub([emailPasswordProviderMock providerID]).andReturn(@ -@"password"); - OCMStub([emailPasswordProviderMock email]).andReturn(@"password@email.com"); - OCMStub([emailPasswordProviderMock displayName]).andReturn(@"password displayName"); - - return emailPasswordProviderMock; -} - -- (id)createThirdPartyProvider:(NSString *)providerId hasEmail:(BOOL)hasEmail { - id linkedProviderMock = OCMProtocolMock(@protocol(FIRUserInfo)); - OCMStub([linkedProviderMock providerID]).andReturn(providerId); - OCMStub([linkedProviderMock displayName]).andReturn(@"linked displayName"); - if (hasEmail) { - OCMStub([linkedProviderMock email]).andReturn(@"linked@email.com"); - } - return linkedProviderMock; -} - -- (id)mockUserWhichHasEmail:(BOOL)hasEmail { - id mockUser = OCMClassMock([FIRUser class]); - OCMStub([self.authMock currentUser]).andReturn(mockUser); - - // Mock User display values - if (hasEmail) { - OCMStub([mockUser email]).andReturn(@"email@email.com"); - } - OCMStub([mockUser displayName]).andReturn(@"user displayName"); - - return mockUser; -} - -- (void)mockUpdateUserRequest:(id)mockUser { - id mockRequest = OCMClassMock([FIRUserProfileChangeRequest class]); - OCMStub([mockUser profileChangeRequest]).andReturn(mockRequest); - OCMStub([mockRequest commitChangesWithCompletion:OCMOCK_ANY]).andDo(^(NSInvocation *invocation) { - FIRUserProfileChangeCallback mockedCallBack; - [invocation getArgument:&mockedCallBack atIndex:2]; - mockedCallBack(nil); - }); -} - -- (void)mockSignInWithCredential { - OCMStub([self.authMock signInAndRetrieveDataWithCredential:OCMOCK_ANY completion:OCMOCK_ANY]). - andDo(^(NSInvocation *invocation) { - FIRAuthDataResultCallback mockedResponse; - [invocation getArgument:&mockedResponse atIndex:3]; - id mockDataResult = OCMClassMock([FIRAuthDataResult class]); - mockedResponse(mockDataResult, nil); - }); -} -- (void)mockUpdatePasswordRequest:(id)mockUser { - OCMStub([mockUser updatePassword:OCMOCK_ANY completion:OCMOCK_ANY]). - andDo(^(NSInvocation *invocation) { - FIRUserProfileChangeCallback mockedCallBack; - [invocation getArgument:&mockedCallBack atIndex:3]; - mockedCallBack(nil); - }); -} - -- (void)mockSignOut { - OCMStub([self.authUIMock signOutWithError:[OCMArg setTo:nil]]); -} - -- (void)mockDeleteUserRequest:(id)mockUser { - OCMStub([mockUser deleteWithCompletion:OCMOCK_ANY]). - andDo(^(NSInvocation *invocation) { - FIRUserProfileChangeCallback mockedCallBack; - [invocation getArgument:&mockedCallBack atIndex:2]; - mockedCallBack(nil); - }); -} - -- (void)mockUpdateEmail:(id)mockUser { - OCMStub([mockUser updateEmail:OCMOCK_ANY completion:OCMOCK_ANY]). - andDo(^(NSInvocation *invocation) { - FIRUserProfileChangeCallback mockedCallBack; - [invocation getArgument:&mockedCallBack atIndex:3]; - mockedCallBack(nil); - }); -} - -- (void)mockSignInWithProvider:(NSString *)providerId user:(id)mockUser { - id mockProviderUI = OCMProtocolMock(@protocol(FUIAuthProvider)); - NSArray *providers = [NSArray arrayWithObject:mockProviderUI]; - OCMStub([self.authUIMock providers]).andReturn(providers); - - OCMStub([mockProviderUI signOut]); - OCMStub([mockProviderUI providerID]).andReturn(providerId); - - OCMStub([mockUser reauthenticateAndRetrieveDataWithCredential:OCMOCK_ANY completion:OCMOCK_ANY]). - andDo(^(NSInvocation *invocation) { - FIRUserProfileChangeCallback mockedCallBack; - [invocation getArgument:&mockedCallBack atIndex:3]; - - mockedCallBack(nil); - }); - - OCMStub([mockProviderUI signInWithDefaultValue:OCMOCK_ANY - presentingViewController:OCMOCK_ANY - completion:OCMOCK_ANY]). - andDo(^(NSInvocation *invocation) { - FUIAuthProviderSignInCompletionBlock mockedResponse; - [invocation getArgument:&mockedResponse atIndex:4]; - - id mockCredential = OCMClassMock([FIRAuthCredential class]); - mockedResponse(mockCredential, nil, nil, nil); - }); -} - -- (void)mockUnlinkOperation:(id)mockUser { - OCMStub([mockUser unlinkFromProvider:OCMOCK_ANY completion:OCMOCK_ANY]). - andDo(^(NSInvocation *invocation) { - FIRAuthResultCallback mockedCallBack; - [invocation getArgument:&mockedCallBack atIndex:3]; - - mockedCallBack(mockUser, nil); - }); -} - -- (void)mockServerOperations { - id mockUser = [self.authMock currentUser]; - - // Mock update name request - [self mockUpdateUserRequest:mockUser]; - - // Mock udpate email operation - [self mockUpdateEmail:mockUser]; - - // mock re-authentication with credential - [self mockSignInWithCredential]; - - // mock update password - [self mockUpdatePasswordRequest:mockUser]; - - // mock sign out - [self mockSignOut]; - - // mock delete user - [self mockDeleteUserRequest:mockUser]; - - // mock re-authentication with 3P provider - [self mockSignInWithProvider:@ -@"google.com" user:mockUser]; - - // mock unlinking 3P provider - [self mockUnlinkOperation:mockUser]; -} - -#pragma mark - Phone Auth mocks - -- (void)mockPhoneAuthServerRequests { - id mockedProvider = OCMClassMock([FIRPhoneAuthProvider class]); - OCMStub(ClassMethod([mockedProvider provider])).andReturn(mockedProvider); - OCMStub(ClassMethod([mockedProvider providerWithAuth:OCMOCK_ANY])).andReturn(mockedProvider); - - OCMStub([mockedProvider verifyPhoneNumber:OCMOCK_ANY - UIDelegate:OCMOCK_ANY - completion:OCMOCK_ANY]). - andDo(^(NSInvocation *invocation) { - FIRVerificationResultCallback mockedCallback; - [invocation getArgument:&mockedCallback atIndex:4]; - mockedCallback(@"verificationID", nil); - }); - - id mockedCredential = OCMClassMock([FIRPhoneAuthCredential class]); - OCMStub([mockedProvider credentialWithVerificationID:OCMOCK_ANY verificationCode:OCMOCK_ANY]). - andReturn(mockedCredential); - - [self mockSignInWithCredential]; -} - -@end diff --git a/UITests/FirebaseUISample/Info.plist b/UITests/FirebaseUISample/Info.plist deleted file mode 100644 index e5d82108923..00000000000 --- a/UITests/FirebaseUISample/Info.plist +++ /dev/null @@ -1,45 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en_US - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/UITests/FirebaseUISample/Resources/LaunchScreen.storyboard b/UITests/FirebaseUISample/Resources/LaunchScreen.storyboard deleted file mode 100644 index fdf3f97d1b6..00000000000 --- a/UITests/FirebaseUISample/Resources/LaunchScreen.storyboard +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/UITests/FirebaseUISample/Resources/Main.storyboard b/UITests/FirebaseUISample/Resources/Main.storyboard deleted file mode 100644 index d07f75cab6b..00000000000 --- a/UITests/FirebaseUISample/Resources/Main.storyboard +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/UITests/FirebaseUISample/Resources/ar.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/ar.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/bg.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/bg.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/bn.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/bn.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/ca.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/ca.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/cs.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/cs.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/da.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/da.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/de-AT.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/de-AT.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/de-CH.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/de-CH.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/de.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/de.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/el.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/el.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/en-AU.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/en-AU.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/en-CA.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/en-CA.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/en-GB.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/en-GB.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/en-IE.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/en-IE.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/en-IN.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/en-IN.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/en-SG.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/en-SG.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/en-ZA.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/en-ZA.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/en.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/en.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-419.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-419.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-AR.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-AR.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-BO.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-BO.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-CL.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-CL.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-CO.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-CO.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-CR.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-CR.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-DO.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-DO.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-EC.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-EC.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-GT.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-GT.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-HN.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-HN.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-MX.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-MX.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-NI.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-NI.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-PA.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-PA.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-PE.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-PE.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-PR.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-PR.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-PY.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-PY.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-SV.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-SV.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-US.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-US.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-UY.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-UY.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es-VE.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es-VE.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/es.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/es.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/fa.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/fa.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/fi.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/fi.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/fil.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/fil.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/fr-CH.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/fr-CH.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/fr.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/fr.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/gsw.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/gsw.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/gu.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/gu.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/he.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/he.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/hi.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/hi.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/hr.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/hr.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/hu.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/hu.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/id.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/id.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/it.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/it.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/ja.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/ja.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/kn.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/kn.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/ko.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/ko.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/ln.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/ln.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/lt.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/lt.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/lv.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/lv.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/mr.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/mr.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/ms.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/ms.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/nb.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/nb.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/nl.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/nl.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/nn-NO.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/nn-NO.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/pl.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/pl.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/pt-BR.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/pt-BR.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/pt-PT.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/pt-PT.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/pt.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/pt.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/ro.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/ro.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/ru.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/ru.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/sk.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/sk.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/sl.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/sl.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/sr-Latn.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/sr-Latn.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/sr.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/sr.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/sv.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/sv.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/ta.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/ta.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/th.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/th.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/tr.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/tr.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/uk.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/uk.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/ur.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/ur.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/vi.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/vi.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/zh-Hans.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/zh-Hans.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/zh-Hant-TW.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/zh-Hant-TW.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/zh-Hant.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/zh-Hant.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/Resources/zh.lproj/Localizable.strings b/UITests/FirebaseUISample/Resources/zh.lproj/Localizable.strings deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/UITests/FirebaseUISample/main.m b/UITests/FirebaseUISample/main.m deleted file mode 100644 index 5ca11561a6e..00000000000 --- a/UITests/FirebaseUISample/main.m +++ /dev/null @@ -1,24 +0,0 @@ -// -// 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 -#import "FUIAppDelegate.h" - -int main(int argc, char * argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([FUIAppDelegate class])); - } -} diff --git a/UITests/FirebaseUISampleTests/FirebaseUISampleTests.m b/UITests/FirebaseUISampleTests/FirebaseUISampleTests.m deleted file mode 100644 index 908019ec354..00000000000 --- a/UITests/FirebaseUISampleTests/FirebaseUISampleTests.m +++ /dev/null @@ -1,37 +0,0 @@ -// -// FirebaseUISampleTests.m -// FirebaseUISampleTests -// -// Created by Morgan Chen on 1/3/19. -// Copyright © 2019 Firebase. All rights reserved. -// - -#import - -@interface FirebaseUISampleTests : XCTestCase - -@end - -@implementation FirebaseUISampleTests - -- (void)setUp { - // Put setup code here. This method is called before the invocation of each test method in the class. -} - -- (void)tearDown { - // Put teardown code here. This method is called after the invocation of each test method in the class. -} - -- (void)testExample { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. -} - -- (void)testPerformanceExample { - // This is an example of a performance test case. - [self measureBlock:^{ - // Put the code you want to measure the time of here. - }]; -} - -@end diff --git a/UITests/FirebaseUISampleTests/Info.plist b/UITests/FirebaseUISampleTests/Info.plist deleted file mode 100644 index 6c40a6cd0c4..00000000000 --- a/UITests/FirebaseUISampleTests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/UITests/FirebaseUISampleUITests/FirebaseUISampleUITests.m b/UITests/FirebaseUISampleUITests/FirebaseUISampleUITests.m deleted file mode 100644 index 997b18aae8f..00000000000 --- a/UITests/FirebaseUISampleUITests/FirebaseUISampleUITests.m +++ /dev/null @@ -1,218 +0,0 @@ -// -// 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 - -@implementation XCUIElement (ForceTap) -- (void) forceTap { - if (self.hittable) { - [self tap]; - } else { - XCUICoordinate *coordinate = [self coordinateWithNormalizedOffset:CGVectorMake(0.0, 0.0)]; - [coordinate tap]; - } -} -@end - -@interface FirebaseUISampleUITests : XCTestCase -@property (nonatomic, strong) XCUIApplication *app; -@end - -@implementation FirebaseUISampleUITests - -- (void)setUp { - [super setUp]; - self.continueAfterFailure = NO; - self.app = [[XCUIApplication alloc] init]; - - // force US locale on travis - self.app.launchArguments = @[ - @"-inUITest", - @"-AppleLanguages", @"(en)", - @"-AppleLocale", @"en_US", - ]; - - [self.app launch]; -} - -- (void)tearDown { - [self.app terminate]; - [super tearDown]; -} - -- (void)testSuccessSignIn { - XCUIElementQuery *tablesQuery = self.app.tables; - [tablesQuery.cells.staticTexts[@"Simulate Existing User"] tap]; - [self.app.toolbars.buttons[@"Sign In"] tap]; - [tablesQuery.cells[@"EmailCellAccessibilityID"].textFields[@"Enter your email"] tap]; - [[tablesQuery.cells[@"EmailCellAccessibilityID"] childrenMatchingType:XCUIElementTypeTextField].element typeText:@"test@test.com"]; - [self.app.navigationBars[@"Enter your email"].buttons[@"NextButtonAccessibilityID"] tap]; - [tablesQuery.secureTextFields[@"Enter your password"] tap]; - [[[tablesQuery.cells containingType:XCUIElementTypeStaticText identifier:@"Password"] childrenMatchingType:XCUIElementTypeSecureTextField].element typeText:@"test"]; - [self.app.navigationBars[@"Sign in"].buttons[@"Sign in"] tap]; - [self.app.toolbars.buttons[@"Sign In"] isHittable]; -} - -- (void)testSuccessSignUp { - XCUIElementQuery *tablesQuery = self.app.tables; - [tablesQuery.staticTexts[@"Simulate New User"] tap]; - [self.app.toolbars.buttons[@"Sign In"] tap]; - - [tablesQuery.cells[@"EmailCellAccessibilityID"].textFields[@"Enter your email"] tap]; - [[tablesQuery.cells[@"EmailCellAccessibilityID"] childrenMatchingType:XCUIElementTypeTextField].element typeText:@"test2@test2.com"]; - [self.app.navigationBars[@"Enter your email"].buttons[@"NextButtonAccessibilityID"] tap]; - [tablesQuery.cells[@"NameSignUpCellAccessibilityID"].textFields[@"First & last name"] tap]; - [[tablesQuery.cells[@"NameSignUpCellAccessibilityID"] childrenMatchingType:XCUIElementTypeTextField].element typeText:@"test2"]; - - [tablesQuery.cells[@"PasswordSignUpCellAccessibilityID"].secureTextFields[@"Choose password"] tap]; - [[tablesQuery.secureTextFields containingType:XCUIElementTypeButton identifier:@"ic visibility"].element typeText:@"test"]; - [tablesQuery.buttons[@"ic visibility"] tap]; - [tablesQuery.buttons[@"ic visibility off"] tap]; - [self.app.navigationBars[@"Create account"].buttons[@"SaveButtonAccessibilityID"] tap]; - [self.app.toolbars.buttons[@"Sign In"] isHittable]; -} - -- (void)testSeveralIDPs { - XCUIElementQuery *tablesQuery = self.app.tables; - [tablesQuery.cells.staticTexts[@"Google"] tap]; - [tablesQuery.cells.staticTexts[@"Simulate Existing User"] tap]; - [self.app.toolbars.buttons[@"Sign In"] tap]; - [self.app.buttons[@"Sign in with email"] tap]; - [tablesQuery.cells[@"EmailCellAccessibilityID"].textFields[@"Enter your email"] tap]; - [[tablesQuery.cells[@"EmailCellAccessibilityID"] childrenMatchingType:XCUIElementTypeTextField].element typeText:@"test@test.com"]; - - XCUIElement *signInWithEmailNavigationBar = self.app.navigationBars[@"Enter your email"]; - [signInWithEmailNavigationBar.buttons[@"Next"] tap]; - [[[[self.app.navigationBars[@"Sign in"] childrenMatchingType:XCUIElementTypeButton] matchingIdentifier:@"Back"] elementBoundByIndex:0] tap]; - [[[[signInWithEmailNavigationBar childrenMatchingType:XCUIElementTypeButton] matchingIdentifier:@"Back"] elementBoundByIndex:0] tap]; - [self.app.navigationBars[@"Welcome"].buttons[@"Cancel"] tap]; - [self.app.alerts[@"Error"].buttons[@"Close"] tap]; - - [self.app.toolbars.buttons[@"Sign In"] isHittable]; -} - -- (void)testEmailRecovery { - XCUIElementQuery *tablesQuery = self.app.tables; - [tablesQuery.cells.staticTexts[@"Simulate Email Recovery"] tap]; - [self.app.toolbars.buttons[@"Sign In"] tap]; - - XCUIElement *enterYourEmailTextField = tablesQuery.cells[@"EmailCellAccessibilityID"].textFields[@"Enter your email"]; - [enterYourEmailTextField tap]; - [enterYourEmailTextField tap]; - [[tablesQuery.cells[@"EmailCellAccessibilityID"] childrenMatchingType:XCUIElementTypeTextField].element typeText:@"test@test.com"]; - - XCUIElement *signInWithEmailNavigationBar = self.app.navigationBars[@"Enter your email"]; - [signInWithEmailNavigationBar.buttons[@"NextButtonAccessibilityID"] tap]; - [tablesQuery.secureTextFields[@"Enter your password"] tap]; - [tablesQuery.buttons[@"Trouble signing in?"] tap]; - - XCUIElement *recoverPasswordNavigationBar = self.app.navigationBars[@"Recover password"]; - [recoverPasswordNavigationBar.buttons[@"Send"] tap]; - XCUIElement *okButton = self.app.alerts.buttons[@"OK"]; - [okButton tap]; - [[[[recoverPasswordNavigationBar childrenMatchingType:XCUIElementTypeButton] matchingIdentifier:@"Back"] elementBoundByIndex:0] tap]; - [[[[self.app.navigationBars[@"Sign in"] childrenMatchingType:XCUIElementTypeButton] matchingIdentifier:@"Back"] elementBoundByIndex:0] tap]; - [signInWithEmailNavigationBar.buttons[@"Cancel"] tap]; - [self.app.alerts[@"Error"].buttons[@"Close"] tap]; - - [self.app.toolbars.buttons[@"Sign In"] isHittable]; -} - -- (void)testPhoneAuthCountryPicker { - XCUIElementQuery *tablesQuery = self.app.tables; - - [tablesQuery.cells.staticTexts[@"Phone"] tap]; - [self.app.toolbars.buttons[@"Sign In"] tap]; - [self.app.buttons[@"Sign in with phone"] tap]; - - [tablesQuery.staticTexts[@"Country"] tap]; - - [self.app.tables.cells.staticTexts[@"\U0001F1E6\U0001F1F8 American Samoa"] tap]; - - [tablesQuery.staticTexts[@"Country"] tap]; - [self.app.tables.searchFields[@"Search"] tap]; - [self.app.searchFields[@"Search"] typeText:@"united"]; - - [self.app.tables.cells.staticTexts[@"\U0001F1FA\U0001F1F8 United States"] forceTap]; - - [self.app.navigationBars[@"Enter phone number"].buttons[@"Back"] tap]; - [self.app.navigationBars[@"Welcome"].buttons[@"Cancel"] tap]; - [self.app.alerts[@"Error"].buttons[@"Close"] tap]; - - [self.app.toolbars.buttons[@"Sign In"] isHittable]; -} - -- (void)testPhoneAuthFlow { - XCUIElementQuery *tablesQuery = self.app.tables; - - [tablesQuery.cells.staticTexts[@"Phone"] tap]; - [self.app.toolbars.buttons[@"Sign In"] tap]; - [self.app.buttons[@"Sign in with phone"] tap]; - - [tablesQuery.cells[@"PhoneNumberCellAccessibilityID"].textFields[@"Phone number"] tap]; - [[tablesQuery.cells[@"PhoneNumberCellAccessibilityID"] - childrenMatchingType:XCUIElementTypeTextField].element typeText:@"123456789"]; - [self.app.navigationBars[@"Enter phone number"].buttons[@"Verify"] tap]; - - [self.app.keyboards.keys[@"1"] tap]; - [self.app.keyboards.keys[@"2"] tap]; - [self.app.keyboards.keys[@"3"] tap]; - [self.app.keyboards.keys[@"4"] tap]; - [self.app.keyboards.keys[@"5"] tap]; - - XCUIElement *nextbuttonaccessibilityidButton = - self.app.navigationBars[@"Verify phone number"].buttons[@"NextButtonAccessibilityID"]; - [nextbuttonaccessibilityidButton tap]; - [self.app.keyboards.keys[@"6"] tap]; - [nextbuttonaccessibilityidButton tap]; - - [self.app.toolbars.buttons[@"Sign In"] isHittable]; -} - -- (void)testDirectPhoneAuthSignIn { - XCUIElementQuery *tablesQuery = self.app.tables; - [tablesQuery.cells.staticTexts[@"Phone"] tap]; - [tablesQuery.cells.staticTexts[@"Email"] tap]; - - XCUIElement *signInButton = self.app.toolbars.buttons[@"Sign In"]; - [signInButton tap]; - - XCUIElement *textField = [tablesQuery.cells[@"PhoneNumberCellAccessibilityID"] - childrenMatchingType:XCUIElementTypeTextField].element; - [textField typeText:@"1"]; - - XCUIElement *enterPhoneNumberNavigationBar = self.app.navigationBars[@"Enter phone number"]; - XCUIElement *nextbuttonaccessibilityidButton = - enterPhoneNumberNavigationBar.buttons[@"NextButtonAccessibilityID"]; - [nextbuttonaccessibilityidButton tap]; - [self.app.buttons[@"+11"] tap]; - [enterPhoneNumberNavigationBar.buttons[@"Cancel"] tap]; - [self.app.alerts[@"Error"].buttons[@"Close"] tap]; - [signInButton tap]; - [textField typeText:@"2"]; - [nextbuttonaccessibilityidButton tap]; - [self.app.keyboards.keys[@"1"] tap]; - [self.app.keyboards.keys[@"2"] tap]; - [self.app.keyboards.keys[@"3"] tap]; - [self.app.keyboards.keys[@"4"] tap]; - [self.app.keyboards.keys[@"5"] tap]; - [self.app.keyboards.keys[@"6"] tap]; - [self.app.navigationBars[@"Verify phone number"].buttons[@"NextButtonAccessibilityID"] tap]; - - [self.app.toolbars.buttons[@"Sign In"] isHittable]; -} - -@end diff --git a/UITests/FirebaseUISampleUITests/Info.plist b/UITests/FirebaseUISampleUITests/Info.plist deleted file mode 100644 index 50707ab35c4..00000000000 --- a/UITests/FirebaseUISampleUITests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en_US - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/UITests/Podfile b/UITests/Podfile deleted file mode 100644 index aa945080360..00000000000 --- a/UITests/Podfile +++ /dev/null @@ -1,16 +0,0 @@ -source 'sso://cpdc-internal/firebase' -source 'https://github.com/CocoaPods/Specs.git' - -platform :ios, '13.0' - -target 'FirebaseUISample' do - use_frameworks! - platform :ios, '13.0' - - pod 'OCMock' - pod 'FirebaseUI', :path => '../' - - target 'FirebaseUISampleUITests' do - inherit! :search_paths - end -end diff --git a/local_test.sh b/local_test.sh index a3699ab1ba5..3f77347abd1 100755 --- a/local_test.sh +++ b/local_test.sh @@ -4,9 +4,7 @@ set -euxo pipefail EXIT_STATUS=0 -schemes=( "FirebaseAnonymousAuthUI" "FirebaseAuthUI" "FirebaseDatabaseUI" \ - "FirebaseEmailAuthUI" "FirebaseFacebookAuthUI" "FirebaseFirestoreUI" \ - "FirebaseGoogleAuthUI" "FirebaseOAuthUI" "FirebasePhoneAuthUI" "FirebaseStorageUI" ) +schemes=( "FirebaseDatabaseUI" "FirebaseFirestoreUI" "FirebaseStorageUI" ) bundle exec pod repo update; @@ -18,7 +16,7 @@ do -workspace "${schemes[i]}.xcworkspace" \ -scheme "${schemes[i]}" \ -sdk iphonesimulator \ - -destination 'platform=iOS Simulator,OS=latest,name=iPhone 11 Pro' \ + -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16 Pro' \ clean build test \ ONLY_ACTIVE_ARCH=YES \ | xcpretty) || EXIT_STATUS=$?; diff --git a/release.sh b/release.sh index 1effe72cfc3..37345676578 100755 --- a/release.sh +++ b/release.sh @@ -3,28 +3,12 @@ set -euxo pipefail pod spec lint FirebaseDatabaseUI.podspec && \ - pod spec lint --allow-warnings FirebaseAuthUI.podspec && \ pod spec lint FirebaseStorageUI.podspec && \ pod spec lint FirebaseFirestoreUI.podspec pod trunk push FirebaseDatabaseUI.podspec && \ - pod trunk push --allow-warnings FirebaseAuthUI.podspec && \ pod trunk push FirebaseStorageUI.podspec && \ pod trunk push FirebaseFirestoreUI.podspec -pod spec lint FirebaseAnonymousAuthUI.podspec && \ - pod spec lint --allow-warnings FirebaseEmailAuthUI.podspec && \ - pod spec lint FirebaseFacebookAuthUI.podspec && \ - pod spec lint FirebaseGoogleAuthUI.podspec && \ - pod spec lint FirebaseOAuthUI.podspec && \ - pod spec lint --allow-warnings FirebasePhoneAuthUI.podspec - -pod trunk push FirebaseAnonymousAuthUI.podspec && \ - pod trunk push --allow-warnings FirebaseEmailAuthUI.podspec && \ - pod trunk push FirebaseFacebookAuthUI.podspec && \ - pod trunk push FirebaseGoogleAuthUI.podspec && \ - pod trunk push FirebaseOAuthUI.podspec && \ - pod trunk push --allow-warnings FirebasePhoneAuthUI.podspec - pod spec lint FirebaseUI.podspec && \ pod trunk push FirebaseUI.podspec diff --git a/samples/demo.gif b/samples/demo.gif deleted file mode 100644 index 199528be463..00000000000 Binary files a/samples/demo.gif and /dev/null differ diff --git a/samples/objc/FirebaseUI-demo-objc/FUIAppDelegate.m b/samples/objc/FirebaseUI-demo-objc/FUIAppDelegate.m index 4532cdd22f5..87242c309f9 100644 --- a/samples/objc/FirebaseUI-demo-objc/FUIAppDelegate.m +++ b/samples/objc/FirebaseUI-demo-objc/FUIAppDelegate.m @@ -17,58 +17,13 @@ #import "FUIAppDelegate.h" @import FirebaseCore; -@import FirebaseAuthUI; -@import FirebaseDynamicLinks; -@import FBSDKCoreKit; -#import @implementation FUIAppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [FIRApp configure]; - [GTMSessionFetcher setLoggingEnabled:YES]; - [[FBSDKApplicationDelegate sharedInstance] application:application - didFinishLaunchingWithOptions:launchOptions]; return YES; } -- (BOOL)application:(UIApplication *)app - openURL:(NSURL *)url - options:(NSDictionary *)options { - NSString *sourceApplication = options[UIApplicationOpenURLOptionsSourceApplicationKey]; - [[FBSDKApplicationDelegate sharedInstance] application:app - openURL:url - options:options]; - return [self handleOpenUrl:url sourceApplication:sourceApplication]; -} - -- (BOOL)application:(UIApplication *)application -continueUserActivity:(nonnull NSUserActivity *)userActivity - restorationHandler: -#if defined(__IPHONE_12_0) && (__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_12_0) - (nonnull void (^)(NSArray> *_Nullable))restorationHandler { -#else - (nonnull void (^)(NSArray *_Nullable))restorationHandler { -#endif // __IPHONE_12_0 - BOOL handled = [[FIRDynamicLinks dynamicLinks] - handleUniversalLink:userActivity.webpageURL - completion:^(FIRDynamicLink * _Nullable dynamicLink, - NSError * _Nullable error) { - if (error) { - NSLog(@"%@", error.description); - } else { - [self handleOpenUrl:dynamicLink.url sourceApplication:nil]; - } - }]; - return handled; - } - -- (BOOL)handleOpenUrl:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication { - if ([FUIAuth.defaultAuthUI handleOpenURL:url sourceApplication:sourceApplication]) { - return YES; - } - return NO; -} - @end diff --git a/samples/objc/FirebaseUI-demo-objc/FUISamplesViewController.m b/samples/objc/FirebaseUI-demo-objc/FUISamplesViewController.m index b15083e1cd8..5b2ac4b5b15 100644 --- a/samples/objc/FirebaseUI-demo-objc/FUISamplesViewController.m +++ b/samples/objc/FirebaseUI-demo-objc/FUISamplesViewController.m @@ -20,7 +20,6 @@ #import "FUISamplesViewController.h" -#import "FUIAuthViewController.h" #import "FUIChatViewController.h" #import "FUISample.h" @@ -45,16 +44,9 @@ - (void)populateSamples { UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:NULL]; NSArray *samples = @[ - [FUISample sampleWithTitle:@"Auth" - sampleDescription:@"Demonstrates the FirebaseAuthUI flow with customization options" - controller:^UIViewController *{ - UIViewController *controller = - [storyboard instantiateViewControllerWithIdentifier:@"FUIAuthViewController"]; - return controller; - }], [FUISample sampleWithTitle:@"Chat" - sampleDescription:@"Demonstrates using a FUICollectionViewDataSource to load data from " - "Firebase Database into a UICollectionView for a basic chat app." + sampleDescription:@"Demonstrates using a FUITableViewDataSource to load data from " + "Firebase Database into a UITableView for a basic chat app." controller:^UIViewController *{ UIViewController *controller = [storyboard instantiateViewControllerWithIdentifier:@"ViewController"]; diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUIAuthViewController.h b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUIAuthViewController.h deleted file mode 100644 index d133f4201e3..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUIAuthViewController.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// AuthViewController.h -// -// 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 - -@interface FUIAuthViewController : UITableViewController - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUIAuthViewController.m b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUIAuthViewController.m deleted file mode 100644 index 9a09875df14..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUIAuthViewController.m +++ /dev/null @@ -1,469 +0,0 @@ -// -// AuthViewController.m -// -// 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 FirebaseAuth; -@import FirebaseOAuthUI; -@import FirebaseEmailAuthUI; -@import FirebaseAnonymousAuthUI; -@import FirebaseGoogleAuthUI; -@import FirebaseFacebookAuthUI; -@import FirebasePhoneAuthUI; - -#import "FUIAuthViewController.h" -#import "FUIAppDelegate.h" -#import "FUICustomAuthDelegate.h" - -#import "FUICustomAuthPickerViewController.h" - -NS_ENUM(NSUInteger, UISections) { - kSectionsSettings = 0, - kSectionsProviders, - kSectionsAnonymousSignIn, - kSectionsName, - kSectionsEmail, - kSectionsPhoneNumber, - kSectionsUID, - kSectionsAccessToken, - kSectionsIDToken -}; - -NS_ENUM(NSUInteger, FIRProviders) { - kIDPEmail = 0, - kIDPGoogle, - kIDPFacebook, - kIDPTwitter, - kIDPPhone, - kIDPAnonymous, - kIDPMicrosoft, - kIDPGitHub, - kIDPYahoo, - kIDPApple, -}; - -static NSString *const kFirebaseTermsOfService = @"https://firebase.google.com/terms/"; -static NSString *const kFirebasePrivacyPolicy = @"https://firebase.google.com/support/privacy/"; - -@interface FUIAuthViewController () -@property (weak, nonatomic) IBOutlet UITableViewCell *cellSignIn; -@property (weak, nonatomic) IBOutlet UITableViewCell *cellName; -@property (weak, nonatomic) IBOutlet UITableViewCell *cellEmail; -@property (weak, nonatomic) IBOutlet UISwitch *emailSwitch; -@property (weak, nonatomic) IBOutlet UILabel *emailLabel; -@property (weak, nonatomic) IBOutlet UISwitch *facebookSwitch; -@property (weak, nonatomic) IBOutlet UITableViewCell *cellUID; -@property (weak, nonatomic) IBOutlet UITableViewCell *anonymousSignIn; -@property (weak, nonatomic) IBOutlet UIBarButtonItem *buttonAuthorization; -@property (weak, nonatomic) IBOutlet UITableViewCell *cellAccessToken; -@property (weak, nonatomic) IBOutlet UITableViewCell *cellIdToken; -@property (weak, nonatomic) IBOutlet UITableViewCell *cellPhoneNumber; -@property (weak, nonatomic) IBOutlet UISwitch *customScopeSwitch; - -@property (nonatomic) FIRAuth *auth; -@property (nonatomic) FUIAuth *authUI; -// retain customAuthUIDelegate so it can be used when needed -@property (nonatomic) id customAuthUIDelegate; -@property (nonatomic, assign) BOOL isCustomAuthDelegateSelected; - -@property (nonatomic) FIRAuthStateDidChangeListenerHandle authStateDidChangeHandle; - -@end - -@implementation FUIAuthViewController { - NSInteger _activityCount; -} - -#pragma mark - UIViewController methods - -- (void)viewDidLoad { - [super viewDidLoad]; - - self.tableView.rowHeight = UITableViewAutomaticDimension; - self.tableView.estimatedRowHeight = 240; - - self.customAuthUIDelegate = [[FUICustomAuthDelegate alloc] init]; - - self.auth = [FIRAuth auth]; - self.authUI = [FUIAuth defaultAuthUI]; - - self.authUI.TOSURL = [NSURL URLWithString:kFirebaseTermsOfService]; - self.authUI.privacyPolicyURL = [NSURL URLWithString:kFirebasePrivacyPolicy]; - - //set AuthUI Delegate - [self onAuthUIDelegateChanged:nil]; - - //select all Identety providers - [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:kIDPEmail - inSection:kSectionsProviders] - animated:NO - scrollPosition:UITableViewScrollPositionNone]; - [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:kIDPGoogle - inSection:kSectionsProviders] - animated:NO - scrollPosition:UITableViewScrollPositionNone]; - [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:kIDPFacebook - inSection:kSectionsProviders] - animated:NO - scrollPosition:UITableViewScrollPositionNone]; - [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:kIDPTwitter - inSection:kSectionsProviders] - animated:NO - scrollPosition:UITableViewScrollPositionNone]; - [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:kIDPPhone - inSection:kSectionsProviders] - animated:NO - scrollPosition:UITableViewScrollPositionNone]; - [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:kIDPAnonymous - inSection:kSectionsProviders] - animated:NO - scrollPosition:UITableViewScrollPositionNone]; - [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:kIDPMicrosoft - inSection:kSectionsProviders] - animated:NO - scrollPosition:UITableViewScrollPositionNone]; - [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:kIDPGitHub - inSection:kSectionsProviders] - animated:NO - scrollPosition:UITableViewScrollPositionNone]; - [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:kIDPYahoo - inSection:kSectionsProviders] - animated:NO - scrollPosition:UITableViewScrollPositionNone]; - [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:kIDPApple - inSection:kSectionsProviders] - animated:NO - scrollPosition:UITableViewScrollPositionNone]; -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - __weak FUIAuthViewController *weakSelf = self; - self.authStateDidChangeHandle = - [self.auth addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, FIRUser *_Nullable user) { - [weakSelf updateUI:auth withUser:user]; - }]; - - self.navigationController.toolbarHidden = NO; -} - --(void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; - [self.auth removeAuthStateDidChangeListener:self.authStateDidChangeHandle]; - - self.navigationController.toolbarHidden = YES; -} - -#pragma mark - UITableViewController methods - -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { - return UITableViewAutomaticDimension; -} - -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - if (indexPath.section == kSectionsAnonymousSignIn && indexPath.row == 0) { - FIRUser *currentUser = self.authUI.auth.currentUser; - if (currentUser.isAnonymous) { - // If the user is anonymous, delete the user to avoid dangling anonymous users. - if (currentUser.isAnonymous) { - [currentUser deleteWithCompletion:^(NSError * _Nullable error) { - if (error) { - [self showAlertWithTitlte:@"Error" message:error.localizedDescription]; - return; - } - [self showAlertWithTitlte:@"" message:@"Anonymous user deleted"]; - }]; - } - [tableView deselectRowAtIndexPath:indexPath animated:NO]; - return; - } - [self signOut]; - [FUIAuth.defaultAuthUI.auth signInAnonymouslyWithCompletion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - if (error) { - NSError *detailedError = error.userInfo[NSUnderlyingErrorKey]; - if (!detailedError) { - detailedError = error; - } - NSLog(@"ERROR: %@", detailedError.localizedDescription); - } - }]; - [tableView deselectRowAtIndexPath:indexPath animated:NO]; - } -} - -#pragma mark - UI methods - -- (void)updateUI:(FIRAuth * _Nonnull) auth withUser:(FIRUser *_Nullable) user { - if (user) { - self.cellSignIn.textLabel.text = @"Signed-in"; - self.cellName.textLabel.text = user.displayName; - self.cellEmail.textLabel.text = user.email; - self.cellPhoneNumber.textLabel.text = user.phoneNumber; - self.cellUID.textLabel.text = user.uid; - - // If the user is anonymous, delete the user to avoid dangling anonymous users. - if (auth.currentUser.isAnonymous) { - [_anonymousSignIn.textLabel setText:@"Delete Anonymous User"]; - } - else { - [_anonymousSignIn.textLabel setText:@"Sign In Anonymously"]; - self.buttonAuthorization.title = @"Sign Out"; - } - } else { - [_anonymousSignIn.textLabel setText:@"Sign In Anonymously"]; - self.cellSignIn.textLabel.text = @"Not signed-in"; - self.cellName.textLabel.text = @""; - self.cellEmail.textLabel.text = @""; - self.cellPhoneNumber.textLabel.text = @""; - self.cellUID.textLabel.text = @""; - - self.buttonAuthorization.title = @"Sign In"; - } - - self.cellAccessToken.textLabel.text = [self getAllAccessTokens]; - self.cellIdToken.textLabel.text = [self getAllIdTokens]; - - NSArray *selectedRows = [self.tableView indexPathsForSelectedRows]; - [self.tableView reloadData]; - for (NSIndexPath *path in selectedRows) { - [self.tableView selectRowAtIndexPath:path - animated:NO - scrollPosition:UITableViewScrollPositionNone]; - } -} -- (IBAction)onAuthUIDelegateChanged:(UISwitch *)sender { - _isCustomAuthDelegateSelected = sender ? sender.isOn : NO; - if (_isCustomAuthDelegateSelected) { - self.authUI.delegate = self.customAuthUIDelegate; - } else { - self.authUI.delegate = self; - } -} - -- (IBAction)onAuthorization:(id)sender { - if (!_auth.currentUser || _auth.currentUser.isAnonymous) { - FUIAuth.defaultAuthUI.autoUpgradeAnonymousUsers = YES; - _authUI.providers = [self getListOfIDPs]; - - NSString *providerID = self.authUI.providers.firstObject.providerID; - BOOL isPhoneAuth = [providerID isEqualToString:FIRPhoneAuthProviderID]; - BOOL isEmailAuth = [providerID isEqualToString: -@"password"]; - BOOL shouldSkipAuthPicker = self.authUI.providers.count == 1 && (isPhoneAuth || isEmailAuth); - if (shouldSkipAuthPicker) { - if (isPhoneAuth) { - FUIPhoneAuth *provider = self.authUI.providers.firstObject; - [provider signInWithPresentingViewController:self phoneNumber:nil]; - } else if (isEmailAuth) { - FUIEmailAuth *provider = self.authUI.providers.firstObject; - [provider signInWithPresentingViewController:self email:nil]; - } - } else { - UINavigationController *controller = [self.authUI authViewController]; - if (_isCustomAuthDelegateSelected) { - controller.navigationBar.hidden = YES; - } - [self presentViewController:controller animated:YES completion:nil]; - } - } else { - [self signOut]; - } -} - -- (IBAction)onEmailSwitchValueChanged:(UISwitch *)sender { - if (sender.isOn) { - self.emailLabel.text = @"Password"; - } else { - self.emailLabel.text = @"Link"; - } -} - -#pragma mark - FUIAuthDelegate methods - -// this method is called only when FUIAuthViewController is delgate of AuthUI -- (void)authUI:(FUIAuth *)authUI - didSignInWithAuthDataResult:(nullable FIRAuthDataResult *)authDataResult - URL:(nullable NSURL *)url - error:(nullable NSError *)error { - if (error) { - if (error.code == FUIAuthErrorCodeUserCancelledSignIn) { - [self showAlertWithTitlte:@"Error" message:error.localizedDescription]; - return; - } - if (error.code == FUIAuthErrorCodeMergeConflict) { - FIRAuthCredential *credential = error.userInfo[FUIAuthCredentialKey]; - [[FUIAuth defaultAuthUI].auth - signInWithCredential:credential - completion:^(FIRAuthDataResult *_Nullable authResult, - NSError *_Nullable error) { - if (error) { - [self showAlertWithTitlte:@"Sign-In error" message:error.description]; - NSLog(@"%@",error.description); - return; - } - NSString *anonymousUserID = authUI.auth.currentUser.uid; - NSString *messsage = [NSString stringWithFormat:@"A merge conflict occurred. The old user" - " ID was: %@. You are now signed in with the following credential type: %@", - anonymousUserID, [credential.provider uppercaseString]]; - [self showAlertWithTitlte:@"Merge Conflict" message:messsage]; - NSLog(@"%@", messsage); - }]; - return; - } - NSError *detailedError = error.userInfo[NSUnderlyingErrorKey]; - if (!detailedError) { - detailedError = error; - } - NSLog(@"ERROR: %@", detailedError.localizedDescription); - } -} - -#pragma mark - Helper Methods - -- (NSString *)getAllAccessTokens { - NSMutableString *result = [NSMutableString new]; - for (id provider in _authUI.providers) { - [result appendFormat:@"%@: %@\n", provider.shortName, provider.accessToken]; - } - - return result; -} - -- (NSString *)getAllIdTokens { - NSMutableString *result = [NSMutableString new]; - for (id provider in _authUI.providers) { - [result appendFormat:@"%@: %@\n", provider.shortName, provider.idToken]; - } - - return result; -} - -- (void)signOut { - NSError *error; - [self.authUI signOutWithError:&error]; - if (error) { - [self showAlertWithTitlte:@"Error" message:error.localizedDescription]; - } -} - -- (void)showAlertWithTitlte:(NSString *)title message:(NSString *)message { - UIAlertController *alert = [UIAlertController alertControllerWithTitle:title - message:message - preferredStyle:UIAlertControllerStyleAlert]; - UIAlertAction* closeButton = [UIAlertAction - actionWithTitle:@"Close" - style:UIAlertActionStyleDefault - handler:nil]; - [alert addAction:closeButton]; - [self presentViewController:alert animated:YES completion:nil]; - -} - -- (NSArray *)getListOfIDPs { - return [[self class] getListOfIDPs:[self.tableView indexPathsForSelectedRows] - useCustomScopes:_customScopeSwitch.isOn - useEmailLink:_emailSwitch.isOn - useFacebookLimitedLogin:_facebookSwitch.isOn]; -} - -+ (NSArray *)getListOfIDPs:(NSArray *)selectedRows - useCustomScopes:(BOOL)useCustomScopes - useEmailLink:(BOOL)useEmaiLink - useFacebookLimitedLogin:(BOOL)useLimitedLogin { - NSMutableArray *providers = [NSMutableArray new]; - - for (NSIndexPath *indexPath in selectedRows) { - if (indexPath.section == kSectionsProviders) { - id provider; - switch (indexPath.row) { - case kIDPEmail: - if (useEmaiLink) { - // ActionCodeSettings for email link sign-in. - FIRActionCodeSettings *actionCodeSettings = [[FIRActionCodeSettings alloc] init]; - actionCodeSettings.URL = [NSURL URLWithString:@"https://fb-sa-1211.appspot.com"]; - actionCodeSettings.handleCodeInApp = YES; - [actionCodeSettings setAndroidPackageName:@"com.firebase.uidemo" - installIfNotAvailable:NO - minimumVersion:@"12"]; - - provider = [[FUIEmailAuth alloc] initAuthAuthUI:[FUIAuth defaultAuthUI] - signInMethod:FIREmailLinkAuthSignInMethod - forceSameDevice:NO - allowNewEmailAccounts:YES - requireDisplayName:YES - actionCodeSetting:actionCodeSettings]; - } else { - provider = [[FUIEmailAuth alloc] initAuthAuthUI:[FUIAuth defaultAuthUI] - signInMethod:FIREmailPasswordAuthSignInMethod - forceSameDevice:NO - allowNewEmailAccounts:YES - requireDisplayName:NO - actionCodeSetting:[[FIRActionCodeSettings alloc] init]]; - } - break; - case kIDPGoogle: - provider = useCustomScopes ? [[FUIGoogleAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI] - scopes:@[kGoogleUserInfoEmailScope, - kGoogleUserInfoProfileScope, - kGoogleGamesScope, - kGooglePlusMeScope]] - : [[FUIGoogleAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI]]; - break; - case kIDPFacebook: - provider = useCustomScopes ? [[FUIFacebookAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI] - permissions:@[@"email", - @"user_friends", - @"ads_read"]] - :[[FUIFacebookAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI]]; - ((FUIFacebookAuth *)provider).useLimitedLogin = useLimitedLogin; - break; - case kIDPTwitter: - provider = [FUIOAuth twitterAuthProvider]; - break; - case kIDPPhone: - provider = [[FUIPhoneAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI]]; - break; - case kIDPAnonymous: - provider = [[FUIAnonymousAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI]]; - break; - case kIDPMicrosoft: - provider = [FUIOAuth microsoftAuthProvider]; - break; - case kIDPGitHub: - provider = [FUIOAuth githubAuthProvider]; - break; - case kIDPYahoo: - provider = [FUIOAuth yahooAuthProvider]; - break; - case kIDPApple: - provider = [FUIOAuth appleAuthProvider]; - break; - default: - break; - } - if (provider) { - [providers addObject:provider]; - } - - } - } - - return providers; -} - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthDelegate.h b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthDelegate.h deleted file mode 100644 index f7298dfd695..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthDelegate.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// AuthViewController.m -// -// 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; - -@interface FUICustomAuthDelegate : NSObject - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthDelegate.m b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthDelegate.m deleted file mode 100644 index 606fbe6eb93..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthDelegate.m +++ /dev/null @@ -1,100 +0,0 @@ -// -// AuthViewController.m -// -// 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 "FUICustomAuthDelegate.h" -#import "FUICustomAuthPickerViewController.h" -#import "FUICustomEmailEntryViewController.h" -#import "FUICustomPasswordSignInViewController.h" -#import "FUICustomPasswordSignUpViewController.h" -#import "FUICustomPasswordRecoveryViewController.h" -#import "FUICustomPasswordVerificationViewController.h" - -@implementation FUICustomAuthDelegate - -- (void)authUI:(FUIAuth *)authUI - didSignInWithAuthDataResult:(nullable FIRAuthDataResult *)authDataResult - error:(nullable NSError *)error { - if (error) { - if (error.code == FUIAuthErrorCodeUserCancelledSignIn) { - NSLog(@"User cancelled sign-in"); - } else { - NSError *detailedError = error.userInfo[NSUnderlyingErrorKey]; - if (!detailedError) { - detailedError = error; - } - NSLog(@"Login error: %@", detailedError.localizedDescription); - } - } -} - -- (FUIAuthPickerViewController *)authPickerViewControllerForAuthUI:(FUIAuth *)authUI { - return [[FUICustomAuthPickerViewController alloc] - initWithNibName:@"FUICustomAuthPickerViewController" - bundle:[NSBundle mainBundle] - authUI:authUI]; -} - -- (FUIEmailEntryViewController *)emailEntryViewControllerForAuthUI:(FUIAuth *)authUI { - return [[FUICustomEmailEntryViewController alloc] - initWithNibName:@"FUICustomEmailEntryViewController" - bundle:[NSBundle mainBundle] - authUI:authUI]; -} - -- (FUIPasswordSignInViewController *)passwordSignInViewControllerForAuthUI:(FUIAuth *)authUI - email:(NSString *)email { - return [[FUICustomPasswordSignInViewController alloc] - initWithNibName:@"FUICustomPasswordSignInViewController" - bundle:[NSBundle mainBundle] - authUI:authUI - email:email]; -} - -- (FUIPasswordSignUpViewController *)passwordSignUpViewControllerForAuthUI:(FUIAuth *)authUI - email:(NSString *)email { - return [[FUICustomPasswordSignUpViewController alloc] - initWithNibName:@"FUICustomPasswordSignUpViewController" - bundle:[NSBundle mainBundle] - authUI:authUI - email:email - requireDisplayName:YES]; -} - -- (FUIPasswordRecoveryViewController *) - passwordRecoveryViewControllerForAuthUI:(FUIAuth *)authUI - email:(NSString *)email { - return [[FUICustomPasswordRecoveryViewController alloc] - initWithNibName:@"FUICustomPasswordRecoveryViewController" - bundle:[NSBundle mainBundle] - authUI:authUI - email:email]; -} - -- (FUIPasswordVerificationViewController *) - passwordVerificationViewControllerForAuthUI:(FUIAuth *)authUI - email:(NSString *)email - newCredential:(FIRAuthCredential *)newCredential { - return [[FUICustomPasswordVerificationViewController alloc] - initWithNibName:@"FUICustomPasswordVerificationViewController" - bundle:[NSBundle mainBundle] - authUI:authUI - email:email - newCredential:newCredential]; -} - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthPickerViewController.h b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthPickerViewController.h deleted file mode 100644 index 8fd1fd9823a..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthPickerViewController.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// AuthViewController.m -// -// 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; - -@interface FUICustomAuthPickerViewController : FUIAuthPickerViewController - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthPickerViewController.m b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthPickerViewController.m deleted file mode 100644 index 8910eddc6fc..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthPickerViewController.m +++ /dev/null @@ -1,35 +0,0 @@ -// -// AuthViewController.m -// -// 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 "FUICustomAuthPickerViewController.h" - -@implementation FUICustomAuthPickerViewController - -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil authUI:(FUIAuth *)authUI { - - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil authUI:authUI]; - if (self) { - // Custom initialization - } - return self; -} -- (IBAction)onClose:(id)sender { - [self cancelAuthorization]; -} - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthPickerViewController.xib b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthPickerViewController.xib deleted file mode 100644 index 836c215b842..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomAuthPickerViewController.xib +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomEmailEntryViewController.h b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomEmailEntryViewController.h deleted file mode 100644 index 31a529e2484..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomEmailEntryViewController.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// AuthViewController.m -// -// 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 FirebaseEmailAuthUI; - -@interface FUICustomEmailEntryViewController : FUIEmailEntryViewController - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomEmailEntryViewController.m b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomEmailEntryViewController.m deleted file mode 100644 index eba6d59ffec..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomEmailEntryViewController.m +++ /dev/null @@ -1,70 +0,0 @@ -// -// AuthViewController.m -// -// 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 "FUICustomEmailEntryViewController.h" - -@interface FUICustomEmailEntryViewController () -@property (weak, nonatomic) IBOutlet UITextField *emailTextField; -@property (weak, nonatomic) IBOutlet UIBarButtonItem *nextButton; -@end - -@implementation FUICustomEmailEntryViewController - -- (void)viewDidLoad { - [super viewDidLoad]; - - //override action of default 'Next' button to use custom layout elements - self.navigationItem.rightBarButtonItem.target = self; - self.navigationItem.rightBarButtonItem.action = @selector(onNextButton:); -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - //update state of all UI elements (e g disable 'Next' buttons) - [self updateEmailValue:_emailTextField]; -} - -- (IBAction)onBack:(id)sender { - [self onBack]; -} -- (IBAction)onNextButton:(id)sender { - [self onNext:_emailTextField.text]; -} -- (IBAction)onCancel:(id)sender { - [self cancelAuthorization]; -} -- (IBAction)updateEmailValue:(UITextField *)sender { - BOOL enableActionButton = sender.text.length > 0; - self.nextButton.enabled = enableActionButton; - - [self didChangeEmail:sender.text]; -} - -- (IBAction)onViewSelected:(id)sender { - [_emailTextField resignFirstResponder]; -} - -#pragma mark - UITextFieldDelegate methods -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - [self onNext:textField.text]; - - return NO; -} - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomEmailEntryViewController.xib b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomEmailEntryViewController.xib deleted file mode 100644 index 5d79643cd52..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomEmailEntryViewController.xib +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordRecoveryViewController.h b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordRecoveryViewController.h deleted file mode 100644 index 327ce90e039..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordRecoveryViewController.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// AuthViewController.m -// -// 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 FirebaseEmailAuthUI; - -@interface FUICustomPasswordRecoveryViewController : FUIPasswordRecoveryViewController - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordRecoveryViewController.m b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordRecoveryViewController.m deleted file mode 100644 index ea05d68d84e..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordRecoveryViewController.m +++ /dev/null @@ -1,82 +0,0 @@ -// -// AuthViewController.m -// -// 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 "FUICustomPasswordRecoveryViewController.h" - -@interface FUICustomPasswordRecoveryViewController () -@property (weak, nonatomic) IBOutlet UITextField *emailTextField; -@property (weak, nonatomic) IBOutlet UIBarButtonItem *recoverButton; - -@end - -@implementation FUICustomPasswordRecoveryViewController - -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email { - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil authUI:authUI email:email]; - - if (self) { - _emailTextField.text = email; - } - return self; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - //override action of default 'Next' button to use custom layout elements - self.navigationItem.rightBarButtonItem.target = self; - self.navigationItem.rightBarButtonItem.action = @selector(onRecoverButton:); -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - //update state of all UI elements (e g disable 'Next' buttons) - [self updateEmailValue:_emailTextField]; -} - -- (IBAction)onBackButton:(id)sender { - [self onBack]; -} -- (IBAction)onRecoverButton:(id)sender { - [self recoverEmail:_emailTextField.text]; -} -- (IBAction)onCancel:(id)sender { - [self cancelAuthorization]; -} -- (IBAction)updateEmailValue:(UITextField *)sender { - BOOL enableActionButton = sender.text.length > 0; - self.recoverButton.enabled = enableActionButton; - - [self didChangeEmail:sender.text]; -} - -- (IBAction)onViewSelected:(id)sender { - [_emailTextField resignFirstResponder]; -} - -#pragma mark - UITextFieldDelegate methods -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - [self recoverEmail:textField.text]; - - return NO; -} -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordRecoveryViewController.xib b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordRecoveryViewController.xib deleted file mode 100644 index d4fae5920a6..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordRecoveryViewController.xib +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignInViewController.h b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignInViewController.h deleted file mode 100644 index b5a1c571670..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignInViewController.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// AuthViewController.m -// -// 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 FirebaseEmailAuthUI; - -@interface FUICustomPasswordSignInViewController : FUIPasswordSignInViewController - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignInViewController.m b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignInViewController.m deleted file mode 100644 index 077ea241ea5..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignInViewController.m +++ /dev/null @@ -1,97 +0,0 @@ -// -// AuthViewController.m -// -// 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 "FUICustomPasswordSignInViewController.h" - -@interface FUICustomPasswordSignInViewController () -@property (weak, nonatomic) IBOutlet UITextField *emailTextField; -@property (weak, nonatomic) IBOutlet UITextField *passwordTextField; -@property (weak, nonatomic) IBOutlet UIBarButtonItem *nextButton; - -@end - -@implementation FUICustomPasswordSignInViewController - -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email { - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil authUI:authUI email:email]; - - if (self) { - _emailTextField.text = email; - } - return self; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - //override action of default 'Next' button to use custom layout elements - self.navigationItem.rightBarButtonItem.target = self; - self.navigationItem.rightBarButtonItem.action = @selector(onNextPressed:); -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - //update state of all UI elements (e g disable 'Next' buttons) - [self updateTextFieldValue:nil]; -} - -- (IBAction)onForgotPasswordPressed:(id)sender { - [self forgotPasswordForEmail:_emailTextField.text]; -} - -- (IBAction)onNextPressed:(id)sender { - [self signInWithDefaultValue:_emailTextField.text andPassword:_passwordTextField.text]; -} - -- (IBAction)onCancelPressed:(id)sender { - [self cancelAuthorization]; -} - -- (IBAction)onBackPressed:(id)sender { - [self onBack]; -} - -- (IBAction)onViewSelected:(id)sender { - [_emailTextField resignFirstResponder]; - [_passwordTextField resignFirstResponder]; -} - -#pragma mark - UITextFieldDelegate methods -- (IBAction)updateTextFieldValue:(id)sender { - BOOL enableActionButton = _emailTextField.text.length > 0 && _passwordTextField.text.length; - self.nextButton.enabled = enableActionButton; - - [self didChangeEmail:_emailTextField.text andPassword:_passwordTextField.text]; - -} - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - if (textField == _emailTextField) { - [_passwordTextField becomeFirstResponder]; - } else if (textField == _passwordTextField) { - [self onNextPressed:nil]; - } - - return NO; -} - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignInViewController.xib b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignInViewController.xib deleted file mode 100644 index 0739fe2bfc2..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignInViewController.xib +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignUpViewController.h b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignUpViewController.h deleted file mode 100644 index 06179fc3530..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignUpViewController.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// AuthViewController.m -// -// 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 FirebaseEmailAuthUI; - -@interface FUICustomPasswordSignUpViewController : FUIPasswordSignUpViewController - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignUpViewController.m b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignUpViewController.m deleted file mode 100644 index 7d9ac4ea395..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignUpViewController.m +++ /dev/null @@ -1,103 +0,0 @@ -// -// AuthViewController.m -// -// 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 "FUICustomPasswordSignUpViewController.h" - -@interface FUICustomPasswordSignUpViewController () -@property (weak, nonatomic) IBOutlet UITextField *emailTextField; -@property (weak, nonatomic) IBOutlet UITextField *passwordTextField; -@property (weak, nonatomic) IBOutlet UITextField *usernameTextField; -@property (weak, nonatomic) IBOutlet UIBarButtonItem *nextButton; - -@end - -@implementation FUICustomPasswordSignUpViewController - -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email { - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil authUI:authUI email:email requireDisplayName:YES]; - - if (self) { - _emailTextField.text = email; - } - return self; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - //override action of default 'Next' button to use custom layout elements - self.navigationItem.rightBarButtonItem.target = self; - self.navigationItem.rightBarButtonItem.action = @selector(onNextPressed:); -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - //update state of all UI elements (e g disable 'Next' buttons) - [self updateTextFieldValue:nil]; -} - - -- (IBAction)onNextPressed:(id)sender { - [self signUpWithEmail:_emailTextField.text - andPassword:_passwordTextField.text - andUsername:_usernameTextField.text]; -} - -- (IBAction)onCancelPressed:(id)sender { - [self cancelAuthorization]; -} - -- (IBAction)onBackPressed:(id)sender { - [self onBack]; -} - -- (IBAction)onViewSelected:(id)sender { - [_emailTextField resignFirstResponder]; - [_passwordTextField resignFirstResponder]; - [_usernameTextField resignFirstResponder]; -} - -#pragma mark - UITextFieldDelegate methods - -- (IBAction)updateTextFieldValue:(id)sender { - BOOL enableActionButton = _emailTextField.text.length > 0 && _passwordTextField.text.length && _usernameTextField.text.length; - self.nextButton.enabled = enableActionButton; - - [self didChangeEmail:_emailTextField.text - orPassword:_passwordTextField.text - orUserName:_usernameTextField.text]; -} - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - if (textField == _emailTextField) { - [_usernameTextField becomeFirstResponder]; - } else if (textField == _usernameTextField) { - [_passwordTextField becomeFirstResponder]; - } else if (textField == _passwordTextField) { - [self onNextPressed:nil]; - } - - return NO; -} - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignUpViewController.xib b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignUpViewController.xib deleted file mode 100644 index e9f471930af..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordSignUpViewController.xib +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordVerificationViewController.h b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordVerificationViewController.h deleted file mode 100644 index f442af63ee5..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordVerificationViewController.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// AuthViewController.m -// -// 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 - -@interface FUICustomPasswordVerificationViewController : FUIPasswordVerificationViewController - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordVerificationViewController.m b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordVerificationViewController.m deleted file mode 100644 index 115b4fe061b..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordVerificationViewController.m +++ /dev/null @@ -1,104 +0,0 @@ -// -// AuthViewController.m -// -// 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 "FUICustomPasswordVerificationViewController.h" - -@interface FUICustomPasswordVerificationViewController () -{ - NSString *userEmail; -} -@property (weak, nonatomic) IBOutlet UILabel *infoLabel; -@property (weak, nonatomic) IBOutlet UITextField *passwordTextField; -@property (weak, nonatomic) IBOutlet UIBarButtonItem *nextButton; - -@end - -@implementation FUICustomPasswordVerificationViewController - -- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil - bundle:(nullable NSBundle *)nibBundleOrNil - authUI:(FUIAuth *)authUI - email:(NSString *_Nullable)email - newCredential:(nonnull FIRAuthCredential *)newCredential{ - self = [super initWithNibName:nibNameOrNil - bundle:nibBundleOrNil - authUI:authUI - email:email - newCredential:newCredential]; - - if (self) { - userEmail = [email copy]; - _infoLabel.text = [NSString stringWithFormat:@"You’ve already used %@. " - "Enter your password for that account to sign in.", email]; - } - return self; -} - -- (void)viewDidLoad { - [super viewDidLoad]; - - //override action of default 'Next' button to use custom layout elements - self.navigationItem.rightBarButtonItem.target = self; - self.navigationItem.rightBarButtonItem.action = @selector(onNextPressed:); -} - -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - - //update state of all UI elements (e g disable 'Next' buttons) - [self updateTextFieldValue:nil]; -} - -- (IBAction)onForgotPasswordPressed:(id)sender { - [self forgotPassword]; -} - -- (IBAction)onNextPressed:(id)sender { - [self verifyPassword:_passwordTextField.text]; -} - -- (IBAction)onCancelPressed:(id)sender { - [self cancelAuthorization]; -} - -- (IBAction)onBackPressed:(id)sender { - [self onBack]; -} - -- (IBAction)onViewSelected:(id)sender { - [_passwordTextField resignFirstResponder]; -} - -#pragma mark - UITextFieldDelegate methods - -- (IBAction)updateTextFieldValue:(id)sender { - BOOL enableActionButton = _passwordTextField.text.length; - self.nextButton.enabled = enableActionButton; - - [self didChangePassword:_passwordTextField.text]; -} - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - if (textField == _passwordTextField) { - [self onNextPressed:nil]; - } - - return NO; -} - -@end diff --git a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordVerificationViewController.xib b/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordVerificationViewController.xib deleted file mode 100644 index e145bd131b0..00000000000 --- a/samples/objc/FirebaseUI-demo-objc/Samples/Auth/FUICustomPasswordVerificationViewController.xib +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/objc/Podfile b/samples/objc/Podfile index 2e3686d4352..79324520711 100644 --- a/samples/objc/Podfile +++ b/samples/objc/Podfile @@ -4,16 +4,9 @@ target 'FirebaseUI-demo-objc' do use_frameworks! pod 'FirebaseUI', :path => '../../' - pod 'FirebaseAuthUI', :path => '../../' pod 'FirebaseDatabaseUI', :path => '../../' pod 'FirebaseFirestoreUI', :path => '../../' - pod 'FirebaseOAuthUI', :path => '../../' - pod 'FirebasePhoneAuthUI', :path => '../../' - pod 'FirebaseAnonymousAuthUI', :path => '../../' - pod 'FirebaseEmailAuthUI', :path => '../../' - pod 'FirebaseFacebookAuthUI', :path => '../../' - pod 'FirebaseGoogleAuthUI', :path => '../../' pod 'FirebaseStorageUI', :path => '../../' - - pod 'Firebase/DynamicLinks' + + pod 'Firebase/Auth' # For anonymous auth in Chat sample end diff --git a/samples/objc/README.md b/samples/objc/README.md index 7a6292fd7bd..650a029c316 100644 --- a/samples/objc/README.md +++ b/samples/objc/README.md @@ -1,47 +1,38 @@ -FirebaseUI Chat Demo in Objective C +FirebaseUI Demo in Objective-C =================================== -This is a super simple FirebaseUI Chat demo in Objective C. It shows: +This is a simple FirebaseUI demo in Objective-C showcasing Database and Storage features. It demonstrates: 1. The ease of integrating with FirebaseUI 1. Using a `UITableView` outside of a `UITableViewController` 1. Using custom XIBs in FirebaseUI to achieve a custom look and feel 1. Using a model object to get strongly typed objects from Firebase 1. Using a custom `FUITableViewDataSource` to add deletion - 1. Using `FirebaseLoginViewController` to add authentication -In order to install and run: +## Installation + ``` bash git clone https://github.com/firebase/FirebaseUI-iOS.git cd FirebaseUI-iOS/samples/objc pod install open FirebaseUI-demo-objc.xcworkspace ``` -Once you've opened the workspace, go into `Supporting Files/Info.plist` and either fill in the social provider information currently commented out, or delete extra providers you're not interested in. For providers you choose to keep, enable them in your Firebase Dashboard according to the [user authentication docs](https://www.firebase.com/docs/ios/guide/user-auth.html). In `ViewController.m` make sure to only enable providers that you've configured properly. - -### Project configuration -Please follow steps described [here](https://github.com/firebase/FirebaseUI-iOS#mandatory-sample-project-configuration) in order to run the sample project. +## Project Configuration -### Chat Sample +1. Download `GoogleService-Info.plist` from [Firebase Console](https://console.firebase.google.com) +2. Copy it to `samples/objc/` directory +3. Configure your Firebase Database and Storage in the Firebase Console -This sample uses [anonymous authentication](https://firebase.google.com/docs/auth/ios/anonymous-auth), -so make sure anonymous auth is enabled in Firebase console. +## Samples -### Auth Sample +### Chat Sample -This sample uses [email/password](https://firebase.google.com/docs/auth/ios/password-auth), -[Google](https://firebase.google.com/docs/auth/ios/google-signin), -[Facebook](https://firebase.google.com/docs/auth/ios/facebook-login), -[Twitter](https://firebase.google.com/docs/auth/ios/twitter-login) -and [Phone](https://firebase.google.com/docs/auth/ios/phone-auth) -auth so make sure those are enabled in Firebase console. +This sample demonstrates real-time database functionality using `FUITableViewDataSource` to bind a Firebase query to a `UITableView`. The chat messages are stored in the Firebase Realtime Database and updated in real-time. -The auth example requires a little more setup (adding url schemes, etc) -since it depends on the various keys and tokens for the different auth -services your app will support. Take a look at the [Auth README](../../FirebaseAuthUI/README.md) -for more information. +Note: This sample uses [anonymous authentication](https://firebase.google.com/docs/auth/ios/anonymous-auth), so make sure anonymous auth is enabled in Firebase Console. ### Storage Sample -This sample does not use a logged-in user, so make to set up the [Storage Security Rules](https://firebase.google.com/docs/storage/security/start#sample-rules) -for your bucket to allow that. \ No newline at end of file +This sample demonstrates Firebase Storage integration, showing how to upload and display images stored in Firebase Storage. + +Note: Make sure to set up the [Storage Security Rules](https://firebase.google.com/docs/storage/security/start#sample-rules) for your bucket. \ No newline at end of file diff --git a/samples/swift/FirebaseUI-demo-swift/FUIAppDelegate.swift b/samples/swift/FirebaseUI-demo-swift/FUIAppDelegate.swift index a818e86596d..c254ad0d6d0 100644 --- a/samples/swift/FirebaseUI-demo-swift/FUIAppDelegate.swift +++ b/samples/swift/FirebaseUI-demo-swift/FUIAppDelegate.swift @@ -15,11 +15,7 @@ // import UIKit -import FBSDKCoreKit import FirebaseCore -import FirebaseAuth -import FirebaseAuthUI -import GTMSessionFetcher @main class AppDelegate: UIResponder, UIApplicationDelegate { @@ -30,41 +26,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { // Successfully running this sample requires an app in Firebase and an // accompanying valid GoogleService-Info.plist file. FirebaseApp.configure() - GTMSessionFetcher.setLoggingEnabled(true) - ApplicationDelegate.shared.application( - application, - didFinishLaunchingWithOptions: launchOptions - ) return true } - - @available(iOS 9.0, *) - func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any]) -> Bool { - ApplicationDelegate.shared.application( - app, - open: url, - sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, - annotation: options[UIApplication.OpenURLOptionsKey.annotation] - ) - let sourceApplication = options[UIApplication.OpenURLOptionsKey.sourceApplication] as! String? - return self.handleOpenUrl(url, sourceApplication: sourceApplication) - } - - @available(iOS 8.0, *) - func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { - return self.handleOpenUrl(url, sourceApplication: sourceApplication) - } - - - func handleOpenUrl(_ url: URL, sourceApplication: String?) -> Bool { - // [START handle_open_url] - if FUIAuth.defaultAuthUI()?.handleOpen(url, sourceApplication: sourceApplication) ?? false { - return true - } - // other URL handling goes here. - return false - // [END handle_open_url] - } } diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUIAuthViewController.swift b/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUIAuthViewController.swift deleted file mode 100644 index 6c580a3bf02..00000000000 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUIAuthViewController.swift +++ /dev/null @@ -1,344 +0,0 @@ -// -// 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 -import FirebaseAuth -import FirebaseEmailAuthUI -import FirebaseFacebookAuthUI -import FirebaseAnonymousAuthUI -import FirebasePhoneAuthUI -import FirebaseOAuthUI -import FirebaseGoogleAuthUI - -let kFirebaseTermsOfService = URL(string: "https://firebase.google.com/terms/")! -let kFirebasePrivacyPolicy = URL(string: "https://firebase.google.com/support/privacy/")! - -enum UISections: Int, RawRepresentable { - case Settings = 0 - case Providers - case AnonymousSignIn - case Name - case Email - case UID - case Phone - case AccessToken - case IDToken -} - -enum Providers: Int, RawRepresentable { - case Email = 0 - case Google - case Facebook - case Twitter - case Apple - case Phone -} - - - -/// A view controller displaying a basic sign-in flow using FUIAuth. -class FUIAuthViewController: UITableViewController { - // Before running this sample, make sure you've correctly configured - // the appropriate authentication methods in Firebase console. For more - // info, see the Auth README at ../../FirebaseAuthUI/README.md - // and https://firebase.google.com/docs/auth/ - - fileprivate var authStateDidChangeHandle: AuthStateDidChangeListenerHandle? - - fileprivate(set) var auth: Auth? = Auth.auth() - fileprivate(set) var authUI: FUIAuth? = FUIAuth.defaultAuthUI() - fileprivate(set) var customAuthUIDelegate: FUIAuthDelegate = FUICustomAuthDelegate() - - @IBOutlet weak var cellSignedIn: UITableViewCell! - @IBOutlet weak var cellName: UITableViewCell! - @IBOutlet weak var cellEmail: UITableViewCell! - @IBOutlet weak var cellUid: UITableViewCell! - @IBOutlet weak var cellPhone: UITableViewCell! - @IBOutlet weak var cellAccessToken: UITableViewCell! - @IBOutlet weak var cellIdToken: UITableViewCell! - @IBOutlet weak var cellAnonymousSignIn: UITableViewCell! - - @IBOutlet weak var authorizationButton: UIBarButtonItem! - @IBOutlet weak var customAuthorizationSwitch: UISwitch! - @IBOutlet weak var customScopesSwitch: UISwitch! - @IBOutlet weak var facebookSwitch: UISwitch! - - - override func viewDidLoad() { - super.viewDidLoad() - - self.authUI?.tosurl = kFirebaseTermsOfService - self.authUI?.privacyPolicyURL = kFirebasePrivacyPolicy - - self.tableView.selectRow(at: IndexPath(row: Providers.Email.rawValue, section: UISections.Providers.rawValue), - animated: false, - scrollPosition: .none) - self.tableView.selectRow(at: IndexPath(row: Providers.Google.rawValue, section: UISections.Providers.rawValue), - animated: false, - scrollPosition: .none) - self.tableView.selectRow(at: IndexPath(row: Providers.Facebook.rawValue, section: UISections.Providers.rawValue), - animated: false, - scrollPosition: .none) - self.tableView.selectRow(at: IndexPath(row: Providers.Twitter.rawValue, section: UISections.Providers.rawValue), - animated: false, - scrollPosition: .none) - self.tableView.selectRow(at: IndexPath(row: Providers.Apple.rawValue, section: UISections.Providers.rawValue), - animated: false, - scrollPosition: .none) - self.tableView.selectRow(at: IndexPath(row: Providers.Phone.rawValue, section: UISections.Providers.rawValue), - animated: false, - scrollPosition: .none) - - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - self.tableView.rowHeight = UITableView.automaticDimension; - self.tableView.estimatedRowHeight = 240; - - self.authStateDidChangeHandle = - self.auth?.addStateDidChangeListener(self.updateUI(auth:user:)) - - self.navigationController?.isToolbarHidden = false; - } - - override func viewWillDisappear(_ animated: Bool) { - super.viewWillDisappear(animated) - if let handle = self.authStateDidChangeHandle { - self.auth?.removeStateDidChangeListener(handle) - } - - self.navigationController?.isToolbarHidden = true; - } - - override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { - return UITableView.automaticDimension - } - - override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - if (indexPath.section == UISections.AnonymousSignIn.rawValue && indexPath.row == 0) { - if (auth?.currentUser?.isAnonymous ?? false) { - tableView.deselectRow(at: indexPath, animated: false) - return; - } - do { - try self.authUI?.signOut() - } catch let error { - self.ifNoError(error) {} - } - - auth?.signInAnonymously() { authReuslt, error in - self.ifNoError(error) { - self.showAlert(title: "Signed In Anonymously") - } - } - tableView.deselectRow(at: indexPath, animated: false) - } - } - - fileprivate func showAlert(title: String, message: String? = "") { - if #available(iOS 8.0, *) { - let alertController = - UIAlertController(title: title, message: message, preferredStyle: .alert) - alertController.addAction(UIAlertAction(title: "OK", - style: .default, - handler: { (UIAlertAction) in - alertController.dismiss(animated: true, completion: nil) - })) - self.present(alertController, animated: true, completion: nil) - } else { - UIAlertView(title: title, - message: message ?? "", - delegate: nil, - cancelButtonTitle: nil, - otherButtonTitles: "OK").show() - } - } - - private func ifNoError(_ error: Error?, execute: () -> Void) { - guard error == nil else { - showAlert(title: "Error", message: error!.localizedDescription) - return - } - execute() - } - - @IBAction func onAuthorize(_ sender: AnyObject) { - if (self.auth?.currentUser) != nil { - if (auth?.currentUser?.isAnonymous != false) { - auth?.currentUser?.delete() { error in - self.ifNoError(error) { - self.showAlert(title: "", message:"The user was properly deleted.") - } - } - } else { - do { - try self.authUI?.signOut() - } catch let error { - self.ifNoError(error) { - self.showAlert(title: "Error", message:"The user was properly signed out.") - } - } - } - } else { - self.authUI?.delegate = self.customAuthorizationSwitch.isOn ? self.customAuthUIDelegate : nil; - - // If you haven't set up your authentications correctly these buttons - // will still appear in the UI, but they'll crash the app when tapped. - self.authUI?.providers = self.getListOfIDPs() - - let providerID = self.authUI?.providers.first?.providerID; - let isPhoneAuth = providerID == PhoneAuthProviderID; - let isEmailAuth = providerID == EmailAuthProviderID; - let shouldSkipAuthPicker = self.authUI?.providers.count == 1 && (isPhoneAuth || isEmailAuth); - if (shouldSkipAuthPicker) { - if (isPhoneAuth) { - let provider = self.authUI?.providers.first as! FUIPhoneAuth; - provider.signIn(withPresenting: self, phoneNumber: nil); - } else if (isEmailAuth) { - let provider = self.authUI?.providers.first as! FUIEmailAuth; - provider.signIn(withPresenting: self, email: nil); - } - } else { - let controller = self.authUI!.authViewController() - controller.navigationBar.isHidden = self.customAuthorizationSwitch.isOn - self.present(controller, animated: true, completion: nil) - } - } - } - - // Boilerplate - func updateUI(auth: Auth, user: User?) { - if let user = self.auth?.currentUser { - self.cellSignedIn.textLabel?.text = "Signed in" - self.cellName.textLabel?.text = user.displayName ?? "(null)" - self.cellEmail.textLabel?.text = user.email ?? "(null)" - self.cellUid.textLabel?.text = user.uid - self.cellPhone.textLabel?.text = user.phoneNumber - - if (auth.currentUser?.isAnonymous != false) { - self.authorizationButton.title = "Delete Anonymous User"; - } else { - self.authorizationButton.title = "Sign Out"; - } - } else { - self.cellSignedIn.textLabel?.text = "Not signed in" - self.cellName.textLabel?.text = "null" - self.cellEmail.textLabel?.text = "null" - self.cellUid.textLabel?.text = "null" - self.cellPhone.textLabel?.text = "null" - - self.authorizationButton.title = "Sign In"; - } - - self.cellAccessToken.textLabel?.text = getAllAccessTokens() - self.cellIdToken.textLabel?.text = getAllIdTokens() - - let selectedRows = self.tableView.indexPathsForSelectedRows - self.tableView.reloadData() - if let rows = selectedRows { - for path in rows { - self.tableView.selectRow(at: path, animated: false, scrollPosition: .none) - } - } - } - - func getAllAccessTokens() -> String { - var result = "" - for provider in self.authUI!.providers { - result += (provider.shortName + ": " + (provider.accessToken ?? "null") + "\n") - } - - return result - } - - func getAllIdTokens() -> String { - var result = "" - for provider in self.authUI!.providers { - result += (provider.shortName + ": " + (provider.idToken! ?? "null") + "\n") - } - - return result - } - - func getListOfIDPs() -> [FUIAuthProvider] { - var providers = [FUIAuthProvider]() - if let selectedRows = self.tableView.indexPathsForSelectedRows { - for indexPath in selectedRows { - if indexPath.section == UISections.Providers.rawValue { - let provider:FUIAuthProvider? - - switch indexPath.row { - case Providers.Email.rawValue: - provider = FUIEmailAuth() - case Providers.Google.rawValue: - provider = self.customScopesSwitch.isOn ? FUIGoogleAuth(authUI: self.authUI!, - scopes: [kGoogleGamesScope, - kGooglePlusMeScope, - kGoogleUserInfoEmailScope, - kGoogleUserInfoProfileScope]) - : FUIGoogleAuth(authUI: self.authUI!) - case Providers.Twitter.rawValue: - let buttonColor = - UIColor(red: 71.0/255.0, green: 154.0/255.0, blue: 234.0/255.0, alpha: 1.0) - guard let iconPath = Bundle.main.path(forResource: "twtrsymbol", ofType: "png") else { - NSLog("Warning: Unable to find Twitter icon") - continue - } - provider = FUIOAuth(authUI: self.authUI!, - providerID: "twitter.com", - buttonLabelText: "Sign in with Twitter", - shortName: "Twitter", - buttonColor: buttonColor, - iconImage: UIImage(contentsOfFile: iconPath)!, - scopes: ["user.readwrite"], - customParameters: ["prompt" : "consent"], - loginHintKey: nil) - case Providers.Facebook.rawValue: - provider = self.customScopesSwitch.isOn ? FUIFacebookAuth(authUI: self.authUI!, - permissions: ["email", - "user_friends", - "ads_read"]) - : FUIFacebookAuth(authUI: self.authUI!) - let facebookProvider = provider as! FUIFacebookAuth - facebookProvider.useLimitedLogin = self.facebookSwitch.isOn - case Providers.Apple.rawValue: - if #available(iOS 13.0, *) { - provider = FUIOAuth.appleAuthProvider() - } else { - provider = nil - } - case Providers.Phone.rawValue: - let phoneAuth = FUIPhoneAuth(authUI: self.authUI!) - phoneAuth.defaultCountryCode = "JP" - provider = phoneAuth - default: provider = nil - } - - guard provider != nil else { - continue - } - - providers.append(provider!) - } - } - } - - return providers - } - -} diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomAuthPickerViewController.swift b/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomAuthPickerViewController.swift deleted file mode 100644 index 76bb0f1d65b..00000000000 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomAuthPickerViewController.swift +++ /dev/null @@ -1,26 +0,0 @@ -// -// 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 -import FirebaseAuthUI - -class FUICustomAuthPickerViewController: FUIAuthPickerViewController { - - @IBAction func onClose(_ sender: AnyObject) { - self.cancelAuthorization() - } - -} diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomAuthPickerViewController.xib b/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomAuthPickerViewController.xib deleted file mode 100644 index 331a8ad8049..00000000000 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomAuthPickerViewController.xib +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomAuthUIDelegate.swift b/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomAuthUIDelegate.swift deleted file mode 100644 index a7cda803e70..00000000000 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomAuthUIDelegate.swift +++ /dev/null @@ -1,77 +0,0 @@ -// -// 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 -import FirebaseAuth -import FirebaseEmailAuthUI - -class FUICustomAuthDelegate: NSObject, @preconcurrency FUIAuthDelegate { - - @objc func authUI(_ authUI: FUIAuth, didSignInWith authDataResult: AuthDataResult?, error: Error?) { - switch error { - case .some(let error as NSError) where UInt(error.code) == FUIAuthErrorCode.userCancelledSignIn.rawValue: - print("User cancelled sign-in") - case .some(let error as NSError) where error.userInfo[NSUnderlyingErrorKey] != nil: - print("Login error: \(error.userInfo[NSUnderlyingErrorKey]!)") - case .some(let error): - print("Login error: \(error.localizedDescription)") - case .none: - return - } - } - - @MainActor func authPickerViewController(forAuthUI authUI: FUIAuth) -> FUIAuthPickerViewController { - return FUICustomAuthPickerViewController(nibName: "FUICustomAuthPickerViewController", - bundle: Bundle.main, - authUI: authUI) - } - - @MainActor func emailEntryViewController(forAuthUI authUI: FUIAuth) -> FUIEmailEntryViewController { - return FUICustomEmailEntryViewController(nibName: "FUICustomEmailEntryViewController", - bundle: Bundle.main, - authUI: authUI) - } - - @MainActor func passwordRecoveryViewController(forAuthUI authUI: FUIAuth, email: String?) -> FUIPasswordRecoveryViewController { - return FUICustomPasswordRecoveryViewController(nibName: "FUICustomPasswordRecoveryViewController", - bundle: Bundle.main, - authUI: authUI, - email: email) - } - - @MainActor func passwordSignInViewController(forAuthUI authUI: FUIAuth, email: String?) -> FUIPasswordSignInViewController { - return FUICustomPasswordSignInViewController(nibName: "FUICustomPasswordSignInViewController", - bundle: Bundle.main, - authUI: authUI, - email: email) - } - - @MainActor func passwordSignUpViewController(forAuthUI authUI: FUIAuth, email: String) -> FUIPasswordSignUpViewController { - return FUICustomPasswordSignUpViewController(nibName: "FUICustomPasswordSignUpViewController", - bundle: Bundle.main, - authUI: authUI, - email: email, - requireDisplayName: true) - } - - @MainActor func passwordVerificationViewController(forAuthUI authUI: FUIAuth, email: String?, newCredential: AuthCredential) -> FUIPasswordVerificationViewController { - return FUICustomPasswordVerificationViewController(nibName: "FUICustomPasswordVerificationViewController", - bundle: Bundle.main, - authUI: authUI, - email: email, - newCredential: newCredential) - } -} diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomEmailEntryViewController.swift b/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomEmailEntryViewController.swift deleted file mode 100644 index 35a0a44c6af..00000000000 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomEmailEntryViewController.swift +++ /dev/null @@ -1,72 +0,0 @@ -// -// 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 -import FirebaseEmailAuthUI - -class FUICustomEmailEntryViewController: FUIEmailEntryViewController, UITextFieldDelegate { - @IBOutlet weak var emailTextField: UITextField! - @IBOutlet weak var nextButton: UIBarButtonItem! - - override func viewDidLoad() { - super.viewDidLoad() - - //override action of default 'Next' button to use custom layout elements' - self.navigationItem.rightBarButtonItem?.target = self - self.navigationItem.rightBarButtonItem?.action = #selector(onNextButton(_:)) - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - //update state of all UI elements (e g disable 'Next' buttons) - self.updateEmailValue(emailTextField) - } - - @IBAction func onBack(_ sender: AnyObject) { - self.onBack() - } - @IBAction func onNextButton(_ sender: AnyObject) { - if let email = emailTextField.text { - self.onNext(email) - } - } - @IBAction func onCancel(_ sender: AnyObject) { - self.cancelAuthorization() - } - - @IBAction func onViewSelected(_ sender: AnyObject) { - emailTextField.resignFirstResponder() - } - - @IBAction func updateEmailValue(_ sender: UITextField) { - if emailTextField == sender, let email = emailTextField.text { - nextButton.isEnabled = !email.isEmpty - self.didChangeEmail(email) - } - } - -// MARK: - UITextFieldDelegate methods - - func textFieldShouldReturn(_ textField: UITextField) -> Bool { - if textField == emailTextField, let email = textField.text { - self.onNext(email) - } - - return false - } - -} diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomEmailEntryViewController.xib b/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomEmailEntryViewController.xib deleted file mode 100644 index fc3eefe2079..00000000000 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomEmailEntryViewController.xib +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordRecoveryViewController.swift b/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordRecoveryViewController.swift deleted file mode 100644 index ac0c0285e0e..00000000000 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordRecoveryViewController.swift +++ /dev/null @@ -1,82 +0,0 @@ -// -// 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 -import FirebaseEmailAuthUI - -class FUICustomPasswordRecoveryViewController: FUIPasswordRecoveryViewController, UITextFieldDelegate { - @IBOutlet weak var emailTextField: UITextField! - @IBOutlet weak var recoverButton: UIBarButtonItem! - - override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?, authUI: FUIAuth, email: String?) { - super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil, authUI: authUI, email: email) - - emailTextField.text = email - } - - required init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - } - - override func viewDidLoad() { - super.viewDidLoad() - - //override action of default 'Next' button to use custom layout elements' - self.navigationItem.rightBarButtonItem?.target = self - self.navigationItem.rightBarButtonItem?.action = #selector(onRecover(_:)) - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - //update state of all UI elements (e g disable 'Next' buttons) - self.updateEmailValue(emailTextField) - } - - @IBAction func onBack(_ sender: AnyObject) { - self.onBack() - } - - @IBAction func onRecover(_ sender: AnyObject) { - if let email = emailTextField.text { - self.recoverEmail(email) - } - } - @IBAction func onCancel(_ sender: AnyObject) { - self.cancelAuthorization() - } - - @IBAction func updateEmailValue(_ sender: UITextField) { - if emailTextField == sender, let email = emailTextField.text { - recoverButton.isEnabled = !email.isEmpty - self.didChangeEmail(email) - } - } - - @IBAction func onViewSelected(_ sender: AnyObject) { - emailTextField.resignFirstResponder() - } - - // MARK: - UITextFieldDelegate methods - - func textFieldShouldReturn(_ textField: UITextField) -> Bool { - if textField == emailTextField, let email = textField.text { - self.recoverEmail(email) - } - - return false - } -} diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordRecoveryViewController.xib b/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordRecoveryViewController.xib deleted file mode 100644 index 4d4bfaf80ef..00000000000 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordRecoveryViewController.xib +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordSignInViewController.swift b/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordSignInViewController.swift deleted file mode 100644 index c92ffb9492b..00000000000 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordSignInViewController.swift +++ /dev/null @@ -1,93 +0,0 @@ -// -// 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 -import FirebaseEmailAuthUI - -class FUICustomPasswordSignInViewController: FUIPasswordSignInViewController { - @IBOutlet weak var emailTextField: UITextField! - @IBOutlet weak var passwordTextField: UITextField! - @IBOutlet weak var nextButton: UIBarButtonItem! - - override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?, authUI: FUIAuth, email: String?) { - super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil, authUI: authUI, email: email) - - emailTextField.text = email - } - - required init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - } - - override func viewDidLoad() { - super.viewDidLoad() - - //override action of default 'Next' button to use custom layout elements' - self.navigationItem.rightBarButtonItem?.target = self - self.navigationItem.rightBarButtonItem?.action = #selector(onNext(_:)) - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - //update state of all UI elements (e g disable 'Next' buttons) - self.updateTextFieldValue(nil) - } - - @IBAction func onForgotPassword(_ sender: AnyObject) { - if let email = emailTextField.text { - self.forgotPassword(forEmail: email) - } - } - - @IBAction func onNext(_ sender: AnyObject?) { - if let email = emailTextField.text, let password = passwordTextField.text { - self.signIn(withDefaultValue: email, andPassword: password) - } - } - - @IBAction func onCancel(_ sender: AnyObject) { - self.cancelAuthorization() - } - - @IBAction func onBack(_ sender: AnyObject) { - self.onBack() - } - - @IBAction func onViewSelected(_ sender: AnyObject) { - emailTextField.resignFirstResponder() - passwordTextField.resignFirstResponder() - } - - @IBAction func updateTextFieldValue(_ sender: AnyObject?) { - if let email = emailTextField.text, let password = passwordTextField.text { - nextButton.isEnabled = !email.isEmpty && !password.isEmpty - self.didChangeEmail(email, andPassword: password) - } - } - - // MARK: - UITextFieldDelegate methods - - func textFieldShouldReturn(_ textField: UITextField) -> Bool { - if textField == emailTextField { - passwordTextField.becomeFirstResponder() - } else if textField == passwordTextField { - self.onNext(nil) - } - - return false - } -} diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordSignInViewController.xib b/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordSignInViewController.xib deleted file mode 100644 index 15bb98044dd..00000000000 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordSignInViewController.xib +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordSignUpViewController.swift b/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordSignUpViewController.swift deleted file mode 100644 index cf8487342d4..00000000000 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordSignUpViewController.swift +++ /dev/null @@ -1,101 +0,0 @@ -// -// 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 -import FirebaseEmailAuthUI - -class FUICustomPasswordSignUpViewController: FUIPasswordSignUpViewController, UITextFieldDelegate { - - @IBOutlet weak var emailTextField: UITextField! - @IBOutlet weak var usernameTextField: UITextField! - @IBOutlet weak var passwordTextField: UITextField! - @IBOutlet weak var nextButton: UIBarButtonItem! - - override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?, authUI: FUIAuth, email: String?, requireDisplayName: Bool) { - super.init(nibName: nibNameOrNil, - bundle: nibBundleOrNil, - authUI: authUI, - email: email, - requireDisplayName: requireDisplayName) - - emailTextField.text = email - } - - required init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - } - - override func viewDidLoad() { - super.viewDidLoad() - - //override action of default 'Next' button to use custom layout elements' - self.navigationItem.rightBarButtonItem?.target = self - self.navigationItem.rightBarButtonItem?.action = #selector(onNext(_:)) - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - //update state of all UI elements (e g disable 'Next' buttons) - self.updateTextFieldValue(nil) - } - - @IBAction func onNext(_ sender: AnyObject?) { - if let email = emailTextField.text, - let password = passwordTextField.text, - let username = usernameTextField.text { - self.signUp(withEmail: email, andPassword: password, andUsername: username) - } - } - - @IBAction func onCancel(_ sender: AnyObject) { - self.cancelAuthorization() - } - - @IBAction func onBack(_ sender: AnyObject) { - self.onBack() - } - @IBAction func onViewSelected(_ sender: AnyObject) { - emailTextField.resignFirstResponder() - passwordTextField.resignFirstResponder() - usernameTextField.resignFirstResponder() - } - - // MARK: - UITextFieldDelegate methods - - @IBAction func updateTextFieldValue(_ sender: AnyObject?) { - if let email = emailTextField.text, - let password = passwordTextField.text, - let username = usernameTextField.text { - - nextButton.isEnabled = !email.isEmpty && !password.isEmpty && !username.isEmpty - self.didChangeEmail(email, orPassword: password, orUserName: username) - } - } - - func textFieldShouldReturn(_ textField: UITextField) -> Bool { - if textField == emailTextField { - usernameTextField.becomeFirstResponder() - } else if textField == usernameTextField { - passwordTextField.becomeFirstResponder() - } else if textField == passwordTextField { - self.onNext(nil) - } - - return false - } - -} diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordSignUpViewController.xib b/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordSignUpViewController.xib deleted file mode 100644 index 91eb1e08c1d..00000000000 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordSignUpViewController.xib +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordVerificationViewController.swift b/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordVerificationViewController.swift deleted file mode 100644 index ec4555fd6b7..00000000000 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordVerificationViewController.swift +++ /dev/null @@ -1,93 +0,0 @@ -// -// 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 -import FirebaseAuth -import FirebaseEmailAuthUI - -class FUICustomPasswordVerificationViewController: FUIPasswordVerificationViewController, UITextFieldDelegate { - fileprivate(set) var userEmail: String - - @IBOutlet weak var infoLabel: UILabel! - @IBOutlet weak var passwordTextField: UITextField! - @IBOutlet weak var nextButton: UIBarButtonItem! - - override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?, authUI: FUIAuth, email: String?, newCredential: AuthCredential) { - userEmail = email ?? "" - super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil, authUI: authUI, email: email, newCredential: newCredential) - - infoLabel.text = "You’ve already used \(userEmail). Enter your password for that account to sign in." - } - - required init?(coder aDecoder: NSCoder) { - userEmail = "" - super.init(coder: aDecoder) - } - - override func viewDidLoad() { - super.viewDidLoad() - - //override action of default 'Next' button to use custom layout elements' - self.navigationItem.rightBarButtonItem?.target = self - self.navigationItem.rightBarButtonItem?.action = #selector(onNext(_:)) - } - - override func viewWillAppear(_ animated: Bool) { - super.viewWillAppear(animated) - - //update state of all UI elements (e g disable 'Next' buttons) - self.updateTextFieldValue(nil) - } - - @IBAction func onForgotPassword(_ sender: AnyObject) { - self.forgotPassword() - } - - @IBAction func onNext(_ sender: AnyObject?) { - if let password = passwordTextField.text { - self.verifyPassword(password) - } - } - - @IBAction func onCancel(_ sender: AnyObject) { - self.cancelAuthorization() - } - - @IBAction func onBack(_ sender: AnyObject) { - self.onBack() - } - - @IBAction func onViewSelected(_ sender: AnyObject) { - passwordTextField.resignFirstResponder() - } - - // MARK: - UITextFieldDelegate methods - - @IBAction func updateTextFieldValue(_ sender: AnyObject?) { - if let password = passwordTextField.text { - nextButton.isEnabled = !password.isEmpty - self.didChangePassword(password) - } - } - - func textFieldShouldReturn(_ textField: UITextField) -> Bool { - if textField == passwordTextField { - self.onNext(nil) - } - - return false - } -} diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordVerificationViewController.xib b/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordVerificationViewController.xib deleted file mode 100644 index 57d54488de0..00000000000 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Auth/FUICustomPasswordVerificationViewController.xib +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/swift/FirebaseUI-demo-swift/Samples/Sample.swift b/samples/swift/FirebaseUI-demo-swift/Samples/Sample.swift index 11072adacba..c920004d096 100644 --- a/samples/swift/FirebaseUI-demo-swift/Samples/Sample.swift +++ b/samples/swift/FirebaseUI-demo-swift/Samples/Sample.swift @@ -23,9 +23,8 @@ enum Sample: Int, RawRepresentable { // When adding new samples, add a new value here and fill // out the switch statements below as necessary. - case auth = 0 - case chat = 1 - case storage = 2 + case chat = 0 + case storage = 1 static var total: Int { var count = 0 @@ -42,11 +41,6 @@ enum Sample: Int, RawRepresentable { title: "Chat", subtitle: "Demonstrates using a FUICollectionViewDataSource to load data from Firebase Database into a UICollectionView for a basic chat app." ) - case .auth: - return ( - title: "Auth", - subtitle: "Demonstrates the FirebaseAuthUI flow with customization options." - ) case .storage: return ( title: "Storage", @@ -59,8 +53,6 @@ enum Sample: Int, RawRepresentable { switch self { case .chat: return UIStoryboard.instantiateViewController("Main", identifier: "ChatViewController") - case .auth: - return UIStoryboard.instantiateViewController("Main", identifier: "FUIAuthViewController") case .storage: return UIStoryboard.instantiateViewController("Main", identifier: "StorageViewController") } diff --git a/samples/swift/Podfile b/samples/swift/Podfile index 1e9e99f0a2d..d08714b8373 100644 --- a/samples/swift/Podfile +++ b/samples/swift/Podfile @@ -16,16 +16,11 @@ target 'FirebaseUI-demo-swift' do # pod 'FirebaseFirestoreInternal', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'main' pod 'FirebaseUI', :path => '../../' - pod 'FirebaseAuthUI', :path => '../../' pod 'FirebaseDatabaseUI', :path => '../../' pod 'FirebaseFirestoreUI', :path => '../../' - pod 'FirebaseOAuthUI', :path => '../../' - pod 'FirebasePhoneAuthUI', :path => '../../' - pod 'FirebaseAnonymousAuthUI', :path => '../../' - pod 'FirebaseEmailAuthUI', :path => '../../' - pod 'FirebaseFacebookAuthUI', :path => '../../' - pod 'FirebaseGoogleAuthUI', :path => '../../' pod 'FirebaseStorageUI', :path => '../../' + + pod 'Firebase/Auth' # For anonymous auth in Chat sample target 'FirebaseUI-demo-swiftTests' do inherit! :search_paths diff --git a/samples/swift/README.md b/samples/swift/README.md index 1fea1fc28aa..e417b460b77 100644 --- a/samples/swift/README.md +++ b/samples/swift/README.md @@ -1,39 +1,33 @@ -FirebaseUI Chat Demo in Swift +FirebaseUI Demo in Swift ============================= -This directory contains a collection of swift code samples. +This directory contains Swift code samples demonstrating FirebaseUI Database and Storage features. + +## Installation -In order to install and run: ``` bash git clone https://github.com/firebase/FirebaseUI-iOS.git cd FirebaseUI-iOS/samples/swift pod install open FirebaseUI-demo-swift.xcworkspace ``` -Once you've opened the workspace, go into `Supporting Files/Info.plist` and either fill in the social provider information currently commented out, or delete extra providers you're not interested in. For providers you choose to keep, enable them in your Firebase Dashboard according to the [user authentication docs](https://www.firebase.com/docs/ios/guide/user-auth.html). In `ViewController.m` make sure to only enable providers that you've configured properly. - -### Project configuration -Please follow steps described [here](https://github.com/firebase/FirebaseUI-iOS#mandatory-sample-project-configuration) in order to run the sample project. +## Project Configuration -### Chat Sample +1. Download `GoogleService-Info.plist` from [Firebase Console](https://console.firebase.google.com) +2. Copy it to `samples/swift/` directory +3. Configure your Firebase Database and Storage in the Firebase Console -This sample uses [anonymous authentication](https://firebase.google.com/docs/auth/ios/anonymous-auth), -so make sure anonymous auth is enabled in Firebase console. +## Samples -### Auth Sample +### Chat Sample -This sample uses [email/password](https://firebase.google.com/docs/auth/ios/password-auth), -[Google](https://firebase.google.com/docs/auth/ios/google-signin), -and [Facebook](https://firebase.google.com/docs/auth/ios/facebook-login) -auth, so make sure those are enabled in Firebase console. +This sample demonstrates real-time database functionality using `FUICollectionViewDataSource` to bind a Firebase query to a `UICollectionView`. The chat messages are stored in the Firebase Realtime Database and updated in real-time. -The auth example requires a little more setup (adding url schemes, etc) -since it depends on the various keys and tokens for the different auth -services your app will support. Take a look at the [Auth README](../../FirebaseAuthUI/README.md) -for more information. +Note: This sample uses [anonymous authentication](https://firebase.google.com/docs/auth/ios/anonymous-auth), so make sure anonymous auth is enabled in Firebase Console. ### Storage Sample -This sample does not use a logged-in user, so make to set up the [Storage Security Rules](https://firebase.google.com/docs/storage/security/start#sample-rules) -for your bucket to allow that. +This sample demonstrates Firebase Storage integration, showing how to upload and display images stored in Firebase Storage. + +Note: Make sure to set up the [Storage Security Rules](https://firebase.google.com/docs/storage/security/start#sample-rules) for your bucket. diff --git a/staging.sh b/staging.sh index cd42c5a3624..dce0f049add 100755 --- a/staging.sh +++ b/staging.sh @@ -3,16 +3,8 @@ set -euxo pipefail pod repo push --use-json spec-staging FirebaseDatabaseUI.podspec && \ - pod repo push --use-json --allow-warnings spec-staging FirebaseAuthUI.podspec && \ pod repo push --use-json spec-staging FirebaseStorageUI.podspec && \ pod repo push --use-json spec-staging FirebaseFirestoreUI.podspec -pod repo push --use-json spec-staging FirebaseAnonymousAuthUI.podspec && \ - pod repo push --use-json --allow-warnings spec-staging FirebaseEmailAuthUI.podspec && \ - pod repo push --use-json spec-staging FirebaseFacebookAuthUI.podspec && \ - pod repo push --use-json spec-staging FirebaseGoogleAuthUI.podspec && \ - pod repo push --use-json spec-staging FirebaseOAuthUI.podspec && \ - pod repo push --use-json --allow-warnings spec-staging FirebasePhoneAuthUI.podspec - pod spec lint FirebaseUI.podspec && \ pod repo push --use-json spec-staging FirebaseUI.podspec