diff --git a/.github/workflows/tests.yml b/.github/workflows/ci.yml similarity index 100% rename from .github/workflows/tests.yml rename to .github/workflows/ci.yml diff --git a/.github/workflows/deploy_demo.yml b/.github/workflows/deploy_demo.yml deleted file mode 100644 index 9de33649..00000000 --- a/.github/workflows/deploy_demo.yml +++ /dev/null @@ -1,49 +0,0 @@ -# Simple workflow for deploying static content to GitHub Pages -name: Deploy static content to Pages - -on: - # Runs on pushes targeting the default branch - push: - branches: ["main"] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. -concurrency: - group: "pages" - cancel-in-progress: false - -jobs: - # Single deploy job since we're just deploying - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - uses: subosito/flutter-action@v2 - - name: Install deps - run: flutter pub get - working-directory: ./example - - name: build - run: flutter build web --base-href "/phone_form_field/" - working-directory: ./example - - name: Setup Pages - uses: actions/configure-pages@v4 - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - with: - path: ./example/build/web - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 2aad77e9..5bce2af0 100644 --- a/.gitignore +++ b/.gitignore @@ -27,8 +27,4 @@ .dart_tool/ .packages build/ -example/build -**/generated_plugin_registrant.dart -**/generated_plugin_registrant.cc -**/generated_plugin_registrant.h -**/generated_plugin_registrant.cmake +example/build \ No newline at end of file diff --git a/.pubignore b/.pubignore new file mode 100644 index 00000000..d01dc04c --- /dev/null +++ b/.pubignore @@ -0,0 +1,36 @@ +docs/ +example/build +example/windows +example/web +example/android +example/ios +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ +demo_image.png + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. +/pubspec.lock +**/doc/api/ +.dart_tool/ +.packages +build/ diff --git a/CHANGELOG.md b/CHANGELOG.md index aa938b90..3524e354 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,21 +1,3 @@ -## [9.0.0] - -- Big Internal refactor in the hope of making contribution easier -- Various fixes for country selection UX -- Various fixes for input cursor issues -- Improve accessibility touches surfaces -- Improve accessibility labels -- Some visual tweaks -- Added some missing countries -- [Breaking] : no validation done by default -- [Breaking] : provided validators now require a context parameter -- [Breaking] : `LocalizedCountryRegistry` removed. If you were using it to localize a country name, you should use `PhoneFieldLocalization.of(context).countryName(isoCode)`. -- [Deprecated] : `isCountryChipPersistent` in favor of `isCountryButtonPersistent`. -- [Deprecated] : `shouldFormat`, it is now always ON by default -- [Deprecated] : `defaultCountry`, you should now use either `initialValue` or provide a controller with an initial value. -- [Deprecated] : `CountrySelectorNavigator.searchDelegate()` changed into `CountrySelectorNavigator.PageNavigator()`. - - ## [8.1.1] - Upgraded phone_numbers_parser lib to 8.1.0 - Added norwegian language (PR #203) thanks @sidlatau diff --git a/README.md b/README.md index 58860224..9ea08993 100644 --- a/README.md +++ b/README.md @@ -5,42 +5,52 @@ Flutter phone input integrated with flutter internationalization ## Features - Totally cross platform, this is a dart only package / dependencies -- Internationalization: many languages supported -- Semantics +- Internationalization - Phone formatting localized by region - Phone number validation (built-in validators included for main use cases) -- Support auto fill and copy paste -- Form field +- Support autofill and copy paste +- Extends Flutter's FormField - Uses dart phone_numbers_parser for parsing + ## Demo Demo available at https://cedvdb.github.io/phone_form_field/ + ## Usage ```dart + +// works without any param PhoneFormField(); -/// params +// all params PhoneFormField( - initialValue: PhoneNumber.parse('+33'), // or use the controller - validator: PhoneValidator.compose( - [PhoneValidator.required(), PhoneValidator.validMobile()]), - countrySelectorNavigator: const CountrySelectorNavigator.page(), - onChanged: (phoneNumber) => print('changed into $phoneNumber'), - enabled: true, - countryButtonPadding: null, - isCountrySelectionEnabled: true, - isCountryButtonPersistent: true, - showDialCode: true, - showIsoCodeInInput: true, - showFlagInInput: true, - flagSize: 16 - // + all parameters of TextField - // + all parameters of FormField - // ... -); + key: Key('phone-field') + controller: null, // controller & initialValue value + initialValue: null, // can't be supplied simultaneously + shouldFormat: true // default + defaultCountry: IsoCode.US, // default + decoration: InputDecoration( + labelText: 'Phone', // default to null + border: OutlineInputBorder() // default to UnderlineInputBorder(), + // ... + ), + validator: PhoneValidator.validMobile(), // default PhoneValidator.valid() + isCountryChipPersistent: false, // default + isCountrySelectionEnabled: true, // default + countrySelectorNavigator: CountrySelectorNavigator.bottomSheet(), + showFlagInInput: true, // default + flagSize: 16, // default + autofillHints: [AutofillHints.telephoneNumber], // default to null + enabled: true, // default + autofocus: false, // default + onSaved: (PhoneNumber p) => print('saved $p'), // default null + onChanged: (PhoneNumber p) => print('saved $p'), // default null + // ... + other textfield params +) + ``` ## Validation @@ -58,6 +68,7 @@ PhoneFormField( ### Validators details * Each validator has an optional `errorText` property to override built-in translated text +* Most of them have an optional `allowEmpty` (default is true) preventing to flag an empty field as valid. Consider using a composed validator with a first `PhoneValidator.required` when a different text is needed for empty field. ### Composing validators @@ -92,8 +103,8 @@ Here are the list of the parameters available for all built-in country selector ### Built-in country selector -* **CountrySelectorNavigator.page** - Open a page to select the country. +* **CountrySelectorNavigator.searchDelegate** + Open a dialog to select the country. No extra parameters * **CountrySelectorNavigator.dialog** @@ -123,11 +134,11 @@ Here are the list of the parameters available for all built-in country selector ### Custom Country Selector Navigator You can use your own country selector by creating a class that implements `CountrySelectorNavigator` -It has one required method `show` expected to return the selected country: +It has one required method `navigate` expected to return the selected country: ```dart class CustomCountrySelectorNavigator implements CountrySelectorNavigator { - Future show(BuildContext context) { + Future navigate(BuildContext context) { // ask user for a country and return related `Country` class } } @@ -142,12 +153,6 @@ PhoneFormField( ## Internationalization -### Dynamic localization - -This package uses the `flutter_country_selector` package under the hood, which exports a method for dynamic localization `CountrySelectorLocalization.of(context).countryName(isoCode)`. - -### Setup - Include the delegate ```dart @@ -170,26 +175,26 @@ This package uses the `flutter_country_selector` package under the hood, which e That's it. -### Supported languages - - - ar - - de - - el - - en - - es - - fa - - fr - - hi - - it - - ku - - nb - - nl - - pt - - ru - - sv - - tr - - uk - - uz - - zh + A bunch of languages are built-in: + + - 'ar', + - 'de', + - 'en', + - 'el' + - 'es', + - 'fr', + - 'hin', + - 'it', + - 'nb', + - 'nl', + - 'pt', + - 'ru', + - 'uz', + - 'uk', + - 'tr', + - 'zh', + - 'sv', + -If one of the language you target is not supported you can submit a pull request in flutter_country_selector and phone_form_field repositories. + If one of the language you target is not supported you can submit a + pull request with the translated file in src/l10n diff --git a/build.sh b/build.sh new file mode 100644 index 00000000..27451c48 --- /dev/null +++ b/build.sh @@ -0,0 +1 @@ +rm docs -rf && cd example && flutter build web --release && cd .. && mkdir docs && mv example/build/web/* docs \ No newline at end of file diff --git a/demo_image.png b/demo_image.png new file mode 100644 index 00000000..3ce97c4d Binary files /dev/null and b/demo_image.png differ diff --git a/example/.github/workflows/ci.yml b/example/.github/workflows/ci.yml new file mode 100644 index 00000000..2fd394ce --- /dev/null +++ b/example/.github/workflows/ci.yml @@ -0,0 +1,23 @@ +name: default + +on: + pull_request: + branches: + - 'dev' + - 'main' + +jobs: + flutter_test: + name: runs analyze and tests + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-java@v1 + with: + java-version: '12.x' + - uses: subosito/flutter-action@v1 + with: + channel: 'stable' # or: 'beta', 'dev' or 'master' + - run: flutter pub get + - run: flutter analyze + - run: flutter test diff --git a/example/.gitignore b/example/.gitignore index 29a3a501..a1345d01 100644 --- a/example/.gitignore +++ b/example/.gitignore @@ -8,7 +8,6 @@ .buildlog/ .history .svn/ -migrate_working_dir/ # IntelliJ related *.iml @@ -27,10 +26,13 @@ migrate_working_dir/ .dart_tool/ .flutter-plugins .flutter-plugins-dependencies +.packages .pub-cache/ .pub/ /build/ +# Web related + # Symbolication related app.*.symbols diff --git a/example/.metadata b/example/.metadata index b5c370f3..0a999ee9 100644 --- a/example/.metadata +++ b/example/.metadata @@ -4,42 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "41456452f29d64e8deb623a3c927524bcf9f111b" - channel: "stable" + revision: db747aa1331bd95bc9b3874c842261ca2d302cd5 + channel: stable project_type: app - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - base_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - - platform: android - create_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - base_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - - platform: ios - create_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - base_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - - platform: linux - create_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - base_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - - platform: macos - create_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - base_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - - platform: web - create_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - base_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - - platform: windows - create_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - base_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - - # User provided section - - # List of Local paths (relative to this file) that should be - # ignored by the migrate tool. - # - # Files that are not part of the templates will be ignored by default. - unmanaged_files: - - 'lib/main.dart' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/example/.pubignore b/example/.pubignore new file mode 100644 index 00000000..b349b8a0 --- /dev/null +++ b/example/.pubignore @@ -0,0 +1,76 @@ +docs/ + +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +build/ + +# Android related +**/android/**/gradle-wrapper.jar +**/android/.gradle +**/android/captures/ +**/android/gradlew +**/android/gradlew.bat +**/android/local.properties +**/android/**/GeneratedPluginRegistrant.java + +# iOS/XCode related +**/ios/**/*.mode1v3 +**/ios/**/*.mode2v3 +**/ios/**/*.moved-aside +**/ios/**/*.pbxuser +**/ios/**/*.perspectivev3 +**/ios/**/*sync/ +**/ios/**/.sconsign.dblite +**/ios/**/.tags* +**/ios/**/.vagrant/ +**/ios/**/DerivedData/ +**/ios/**/Icon? +**/ios/**/Pods/ +**/ios/**/.symlinks/ +**/ios/**/profile +**/ios/**/xcuserdata +**/ios/.generated/ +**/ios/Flutter/App.framework +**/ios/Flutter/Flutter.framework +**/ios/Flutter/Flutter.podspec +**/ios/Flutter/Generated.xcconfig +**/ios/Flutter/app.flx +**/ios/Flutter/app.zip +**/ios/Flutter/flutter_assets/ +**/ios/Flutter/flutter_export_environment.sh +**/ios/ServiceDefinitions.json +**/ios/Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!**/ios/**/default.mode1v3 +!**/ios/**/default.mode2v3 +!**/ios/**/default.pbxuser +!**/ios/**/default.perspectivev3 diff --git a/example/README.md b/example/README.md index 2b3fce4c..a1356260 100644 --- a/example/README.md +++ b/example/README.md @@ -8,9 +8,9 @@ This project is a starting point for a Flutter application. A few resources to get you started if this is your first Flutter project: -- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) +- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) -For help getting started with Flutter development, view the -[online documentation](https://docs.flutter.dev/), which offers tutorials, +For help getting started with Flutter, view our +[online documentation](https://flutter.dev/docs), which offers tutorials, samples, guidance on mobile development, and a full API reference. diff --git a/example/analysis_options.yaml b/example/analysis_options.yaml index 0d290213..61b6c4de 100644 --- a/example/analysis_options.yaml +++ b/example/analysis_options.yaml @@ -13,7 +13,8 @@ linter: # The lint rules applied to this project can be customized in the # section below to disable rules from the `package:flutter_lints/flutter.yaml` # included above or to enable additional rules. A list of all available lints - # and their documentation is published at https://dart.dev/lints. + # and their documentation is published at + # https://dart-lang.github.io/linter/lints/index.html. # # Instead of disabling a lint rule for the entire project in the # section below, it can also be suppressed for a single line of code diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 118ee1d9..5fe3c929 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -1,9 +1,3 @@ -plugins { - id "com.android.application" - id "kotlin-android" - id "dev.flutter.flutter-gradle-plugin" -} - def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -12,6 +6,11 @@ if (localPropertiesFile.exists()) { } } +def flutterRoot = localProperties.getProperty('flutter.sdk') +if (flutterRoot == null) { + throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") +} + def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -22,10 +21,12 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" + android { - namespace "com.example.example" compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -43,8 +44,6 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.example.example" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. minSdkVersion flutter.minSdkVersion targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() @@ -64,4 +63,6 @@ flutter { source '../..' } -dependencies {} +dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} diff --git a/example/android/app/src/debug/AndroidManifest.xml b/example/android/app/src/debug/AndroidManifest.xml index 399f6981..c208884f 100644 --- a/example/android/app/src/debug/AndroidManifest.xml +++ b/example/android/app/src/debug/AndroidManifest.xml @@ -1,6 +1,6 @@ - - diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml index 19b862ec..3f41384d 100644 --- a/example/android/app/src/main/AndroidManifest.xml +++ b/example/android/app/src/main/AndroidManifest.xml @@ -1,5 +1,6 @@ - - + diff --git a/example/android/app/src/main/res/values-night/styles.xml b/example/android/app/src/main/res/values-night/styles.xml index 06952be7..3db14bb5 100644 --- a/example/android/app/src/main/res/values-night/styles.xml +++ b/example/android/app/src/main/res/values-night/styles.xml @@ -3,7 +3,7 @@ diff --git a/example/android/build.gradle b/example/android/build.gradle index e83fb5da..4256f917 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -1,11 +1,12 @@ buildscript { - ext.kotlin_version = '1.7.10' + ext.kotlin_version = '1.6.10' repositories { google() mavenCentral() } dependencies { + classpath 'com.android.tools.build:gradle:4.1.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } @@ -25,6 +26,6 @@ subprojects { project.evaluationDependsOn(':app') } -tasks.register("clean", Delete) { +task clean(type: Delete) { delete rootProject.buildDir } diff --git a/example/android/gradle.properties b/example/android/gradle.properties index 598d13fe..94adc3a3 100644 --- a/example/android/gradle.properties +++ b/example/android/gradle.properties @@ -1,3 +1,3 @@ -org.gradle.jvmargs=-Xmx4G +org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index 3c472b99..bc6a58af 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Fri Jun 23 08:50:38 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip diff --git a/example/android/settings.gradle b/example/android/settings.gradle index 7cd71285..44e62bcf 100644 --- a/example/android/settings.gradle +++ b/example/android/settings.gradle @@ -1,29 +1,11 @@ -pluginManagement { - def flutterSdkPath = { - def properties = new Properties() - file("local.properties").withInputStream { properties.load(it) } - def flutterSdkPath = properties.getProperty("flutter.sdk") - assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - return flutterSdkPath - } - settings.ext.flutterSdkPath = flutterSdkPath() +include ':app' - includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") +def localPropertiesFile = new File(rootProject.projectDir, "local.properties") +def properties = new Properties() - repositories { - google() - mavenCentral() - gradlePluginPortal() - } +assert localPropertiesFile.exists() +localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } - plugins { - id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false - } -} - -plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "7.3.0" apply false -} - -include ":app" +def flutterSdkPath = properties.getProperty("flutter.sdk") +assert flutterSdkPath != null, "flutter.sdk not set in local.properties" +apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/example/ios/Flutter/AppFrameworkInfo.plist b/example/ios/Flutter/AppFrameworkInfo.plist index 7c569640..9625e105 100644 --- a/example/ios/Flutter/AppFrameworkInfo.plist +++ b/example/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 12.0 + 11.0 diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index 69cdaed8..fe3d67b2 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -13,19 +13,8 @@ 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 97C146E61CF9000F007C117D /* Project object */; - proxyType = 1; - remoteGlobalIDString = 97C146ED1CF9000F007C117D; - remoteInfo = Runner; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXCopyFilesBuildPhase section */ 9705A1C41CF9048500538489 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; @@ -53,8 +42,6 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -79,21 +66,12 @@ name = Flutter; sourceTree = ""; }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; 97C146E51CF9000F007C117D = { isa = PBXGroup; children = ( 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, - 331C8082294A63A400263BE5 /* RunnerTests */, ); sourceTree = ""; }; @@ -101,7 +79,6 @@ isa = PBXGroup; children = ( 97C146EE1CF9000F007C117D /* Runner.app */, - 331C8081294A63A400263BE5 /* RunnerTests.xctest */, ); name = Products; sourceTree = ""; @@ -124,24 +101,6 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 331C8080294A63A400263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - 331C807D294A63A400263BE5 /* Sources */, - 331C807E294A63A400263BE5 /* Frameworks */, - 331C807F294A63A400263BE5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 331C8086294A63A400263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; 97C146ED1CF9000F007C117D /* Runner */ = { isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; @@ -168,14 +127,9 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - BuildIndependentTargetsInParallel = YES; - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1300; ORGANIZATIONNAME = ""; TargetAttributes = { - 331C8080294A63A400263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 97C146ED1CF9000F007C117D; - }; 97C146ED1CF9000F007C117D = { CreatedOnToolsVersion = 7.3.1; LastSwiftMigration = 1100; @@ -196,19 +150,11 @@ projectRoot = ""; targets = ( 97C146ED1CF9000F007C117D /* Runner */, - 331C8080294A63A400263BE5 /* RunnerTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 331C807F294A63A400263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; 97C146EC1CF9000F007C117D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -230,7 +176,6 @@ files = ( ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); name = "Thin Binary"; outputPaths = ( @@ -257,14 +202,6 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 331C807D294A63A400263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 97C146EA1CF9000F007C117D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -276,14 +213,6 @@ }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 97C146ED1CF9000F007C117D /* Runner */; - targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin PBXVariantGroup section */ 97C146FA1CF9000F007C117D /* Main.storyboard */ = { isa = PBXVariantGroup; @@ -345,7 +274,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -375,56 +304,6 @@ }; name = Profile; }; - 331C8088294A63A400263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AE0B7B92F70575B8D7E0D07E /* Pods-RunnerTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Debug; - }; - 331C8089294A63A400263BE5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 89B67EB44CE7B6631473024E /* Pods-RunnerTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Release; - }; - 331C808A294A63A400263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 640959BDD8F10B91D80A66BE /* Pods-RunnerTests.profile.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Profile; - }; 97C147031CF9000F007C117D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -472,7 +351,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -521,7 +400,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -578,16 +457,6 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C8088294A63A400263BE5 /* Debug */, - 331C8089294A63A400263BE5 /* Release */, - 331C808A294A63A400263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 87131a09..c87d15a3 100644 --- a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ - - - - UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + UIViewControllerBasedStatusBarAppearance + CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/example/ios/RunnerTests/RunnerTests.swift b/example/ios/RunnerTests/RunnerTests.swift deleted file mode 100644 index 86a7c3b1..00000000 --- a/example/ios/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import Flutter -import UIKit -import XCTest - -class RunnerTests: XCTestCase { - - func testExample() { - // If you add code to the Runner application, consider adding tests here. - // See https://developer.apple.com/documentation/xctest for more information about using XCTest. - } - -} diff --git a/example/lib/main.dart b/example/lib/main.dart index 9bab2010..2f0b915b 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:phone_form_field/phone_form_field.dart'; void main() { @@ -10,33 +11,35 @@ void main() { // For a simpler example see the README class PhoneFieldView extends StatelessWidget { + final Key inputKey; final PhoneController controller; - final FocusNode focusNode; final CountrySelectorNavigator selectorNavigator; final bool withLabel; final bool outlineBorder; - final bool isCountryButtonPersistant; + final bool shouldFormat; + final bool isCountryChipPersistent; final bool mobileOnly; final bool useRtl; const PhoneFieldView({ Key? key, + required this.inputKey, required this.controller, - required this.focusNode, required this.selectorNavigator, required this.withLabel, required this.outlineBorder, - required this.isCountryButtonPersistant, + required this.shouldFormat, + required this.isCountryChipPersistent, required this.mobileOnly, required this.useRtl, }) : super(key: key); - PhoneNumberInputValidator? _getValidator(BuildContext context) { + PhoneNumberInputValidator? _getValidator() { List validators = []; if (mobileOnly) { - validators.add(PhoneValidator.validMobile(context)); + validators.add(PhoneValidator.validMobile()); } else { - validators.add(PhoneValidator.valid(context)); + validators.add(PhoneValidator.valid()); } return validators.isNotEmpty ? PhoneValidator.compose(validators) : null; } @@ -47,12 +50,13 @@ class PhoneFieldView extends StatelessWidget { child: Directionality( textDirection: useRtl ? TextDirection.rtl : TextDirection.ltr, child: PhoneFormField( - focusNode: focusNode, + key: inputKey, controller: controller, - isCountryButtonPersistent: isCountryButtonPersistant, + shouldFormat: shouldFormat && !useRtl, autofocus: false, autofillHints: const [AutofillHints.telephoneNumber], countrySelectorNavigator: selectorNavigator, + defaultCountry: IsoCode.US, decoration: InputDecoration( label: withLabel ? const Text('Phone') : null, border: outlineBorder @@ -63,13 +67,14 @@ class PhoneFieldView extends StatelessWidget { enabled: true, showIsoCodeInInput: false, showFlagInInput: true, - validator: _getValidator(context), + validator: _getValidator(), autovalidateMode: AutovalidateMode.onUserInteraction, cursorColor: Theme.of(context).colorScheme.primary, // ignore: avoid_print onSaved: (p) => print('saved $p'), // ignore: avoid_print onChanged: (p) => print('changed $p'), + isCountryChipPersistent: isCountryChipPersistent, ), ), ); @@ -82,7 +87,10 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( - localizationsDelegates: PhoneFieldLocalization.delegates, + localizationsDelegates: const [ + ...GlobalMaterialLocalizations.delegates, + PhoneFieldLocalization.delegate + ], supportedLocales: const [ Locale('en', ''), Locale('fr', ''), @@ -98,7 +106,7 @@ class MyApp extends StatelessWidget { ], title: 'Phone field demo', theme: ThemeData( - brightness: Brightness.dark, + brightness: Brightness.light, primarySwatch: Colors.blue, ), home: const PhoneFormFieldScreen(), @@ -115,21 +123,21 @@ class PhoneFormFieldScreen extends StatefulWidget { class PhoneFormFieldScreenState extends State { late PhoneController controller; - final FocusNode focusNode = FocusNode(); - bool outlineBorder = true; bool mobileOnly = true; - bool isCountryButtonPersistent = true; + bool shouldFormat = true; + bool isCountryChipPersistent = false; bool withLabel = true; bool useRtl = false; CountrySelectorNavigator selectorNavigator = - const CountrySelectorNavigator.page(); + const CountrySelectorNavigator.searchDelegate(); final formKey = GlobalKey(); + final phoneKey = GlobalKey>(); @override initState() { super.initState(); - controller = PhoneController(); + controller = PhoneController(null); controller.addListener(() => setState(() {})); } @@ -142,6 +150,7 @@ class PhoneFormFieldScreenState extends State { @override Widget build(BuildContext context) { return Scaffold( + // drawer: AppDrawer(), appBar: AppBar( title: const Text('Phone_form_field'), ), @@ -165,9 +174,9 @@ class PhoneFormFieldScreenState extends State { title: const Text('Label'), ), SwitchListTile( - value: isCountryButtonPersistent, + value: isCountryChipPersistent, onChanged: (v) => - setState(() => isCountryButtonPersistent = v), + setState(() => isCountryChipPersistent = v), title: const Text('Persistent country chip'), ), SwitchListTile( @@ -175,6 +184,11 @@ class PhoneFormFieldScreenState extends State { onChanged: (v) => setState(() => mobileOnly = v), title: const Text('Mobile phone number only'), ), + SwitchListTile( + value: shouldFormat, + onChanged: (v) => setState(() => shouldFormat = v), + title: const Text('Should format'), + ), SwitchListTile( value: useRtl, onChanged: (v) { @@ -197,8 +211,7 @@ class PhoneFormFieldScreenState extends State { }, items: const [ DropdownMenuItem( - value: CountrySelectorNavigator.bottomSheet( - favorites: [IsoCode.GU, IsoCode.GY]), + value: CountrySelectorNavigator.bottomSheet(), child: Text('Bottom sheet'), ), DropdownMenuItem( @@ -208,17 +221,19 @@ class PhoneFormFieldScreenState extends State { ), DropdownMenuItem( value: - CountrySelectorNavigator.modalBottomSheet(), + CountrySelectorNavigator.modalBottomSheet( + favorites: [IsoCode.US, IsoCode.BE], + ), child: Text('Modal sheet'), ), DropdownMenuItem( - value: CountrySelectorNavigator.dialog( - width: 720, - ), + value: + CountrySelectorNavigator.dialog(width: 720), child: Text('Dialog'), ), DropdownMenuItem( - value: CountrySelectorNavigator.page(), + value: + CountrySelectorNavigator.searchDelegate(), child: Text('Page'), ), ], @@ -229,45 +244,42 @@ class PhoneFormFieldScreenState extends State { const SizedBox(height: 40), Form( key: formKey, - child: Column( - children: [ - PhoneFieldView( - controller: controller, - focusNode: focusNode, - selectorNavigator: selectorNavigator, - withLabel: withLabel, - outlineBorder: outlineBorder, - isCountryButtonPersistant: - isCountryButtonPersistent, - mobileOnly: mobileOnly, - useRtl: useRtl, - ), - ], + child: PhoneFieldView( + inputKey: phoneKey, + controller: controller, + selectorNavigator: selectorNavigator, + withLabel: withLabel, + outlineBorder: outlineBorder, + isCountryChipPersistent: isCountryChipPersistent, + mobileOnly: mobileOnly, + shouldFormat: shouldFormat, + useRtl: useRtl, ), ), const SizedBox(height: 12), Text(controller.value.toString()), Text('is valid mobile number ' - '${controller.value.isValid(type: PhoneNumberType.mobile)}'), + '${controller.value?.isValid(type: PhoneNumberType.mobile) ?? 'false'}'), Text( - 'is valid fixed line number ${controller.value.isValid(type: PhoneNumberType.fixedLine)}'), + 'is valid fixed line number ${controller.value?.isValid(type: PhoneNumberType.fixedLine) ?? 'false'}'), const SizedBox(height: 12), ElevatedButton( - onPressed: () => formKey.currentState?.reset(), + onPressed: controller.value == null + ? null + : () => controller.reset(), child: const Text('reset'), ), const SizedBox(height: 12), ElevatedButton( - onPressed: () { - controller.selectNationalNumber(); - focusNode.requestFocus(); - }, + onPressed: () => controller.selectNationalNumber(), child: const Text('Select national number'), ), const SizedBox(height: 12), ElevatedButton( - onPressed: () => controller.value = - PhoneNumber.parse('+33 699 999 999'), + onPressed: () => controller.value = PhoneNumber.parse( + '699999999', + destinationCountry: IsoCode.FR, + ), child: const Text('Set +33 699 999 999'), ), ], diff --git a/example/linux/.gitignore b/example/linux/.gitignore deleted file mode 100644 index d3896c98..00000000 --- a/example/linux/.gitignore +++ /dev/null @@ -1 +0,0 @@ -flutter/ephemeral diff --git a/example/linux/CMakeLists.txt b/example/linux/CMakeLists.txt deleted file mode 100644 index 9cb0d1dd..00000000 --- a/example/linux/CMakeLists.txt +++ /dev/null @@ -1,145 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.10) -project(runner LANGUAGES CXX) - -# The name of the executable created for the application. Change this to change -# the on-disk name of your application. -set(BINARY_NAME "example") -# The unique GTK application identifier for this application. See: -# https://wiki.gnome.org/HowDoI/ChooseApplicationID -set(APPLICATION_ID "com.example.example") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(SET CMP0063 NEW) - -# Load bundled libraries from the lib/ directory relative to the binary. -set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") - -# Root filesystem for cross-building. -if(FLUTTER_TARGET_PLATFORM_SYSROOT) - set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) - set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) - set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) - set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) - set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) - set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -endif() - -# Define build configuration options. -if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Debug" CACHE - STRING "Flutter build mode" FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Profile" "Release") -endif() - -# Compilation settings that should be applied to most targets. -# -# Be cautious about adding new options here, as plugins use this function by -# default. In most cases, you should add new options to specific targets instead -# of modifying this function. -function(APPLY_STANDARD_SETTINGS TARGET) - target_compile_features(${TARGET} PUBLIC cxx_std_14) - target_compile_options(${TARGET} PRIVATE -Wall -Werror) - target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") - target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") -endfunction() - -# Flutter library and tool build rules. -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# System-level dependencies. -find_package(PkgConfig REQUIRED) -pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) - -add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") - -# Define the application target. To change its name, change BINARY_NAME above, -# not the value here, or `flutter run` will no longer work. -# -# Any new source files that you add to the application should be added here. -add_executable(${BINARY_NAME} - "main.cc" - "my_application.cc" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" -) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. -apply_standard_settings(${BINARY_NAME}) - -# Add dependency libraries. Add any application-specific dependencies here. -target_link_libraries(${BINARY_NAME} PRIVATE flutter) -target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) - -# Run the Flutter tool portions of the build. This must not be removed. -add_dependencies(${BINARY_NAME} flutter_assemble) - -# Only the install-generated bundle's copy of the executable will launch -# correctly, since the resources must in the right relative locations. To avoid -# people trying to run the unbundled copy, put it in a subdirectory instead of -# the default top-level location. -set_target_properties(${BINARY_NAME} - PROPERTIES - RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" -) - - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - - -# === Installation === -# By default, "installing" just makes a relocatable bundle in the build -# directory. -set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -# Start with a clean build bundle directory every time. -install(CODE " - file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") - " COMPONENT Runtime) - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") - -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) - install(FILES "${bundled_library}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endforeach(bundled_library) - -# Copy the native assets provided by the build.dart from all packages. -set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/") -install(DIRECTORY "${NATIVE_ASSETS_DIR}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -# Fully re-copy the assets directory on each build to avoid having stale files -# from a previous install. -set(FLUTTER_ASSET_DIR_NAME "flutter_assets") -install(CODE " - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") - " COMPONENT Runtime) -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) - -# Install the AOT library on non-Debug builds only. -if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") - install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() diff --git a/example/linux/flutter/CMakeLists.txt b/example/linux/flutter/CMakeLists.txt deleted file mode 100644 index d5bd0164..00000000 --- a/example/linux/flutter/CMakeLists.txt +++ /dev/null @@ -1,88 +0,0 @@ -# This file controls Flutter-level build steps. It should not be edited. -cmake_minimum_required(VERSION 3.10) - -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") - -# Configuration provided via flutter tool. -include(${EPHEMERAL_DIR}/generated_config.cmake) - -# TODO: Move the rest of this into files in ephemeral. See -# https://github.com/flutter/flutter/issues/57146. - -# Serves the same purpose as list(TRANSFORM ... PREPEND ...), -# which isn't available in 3.10. -function(list_prepend LIST_NAME PREFIX) - set(NEW_LIST "") - foreach(element ${${LIST_NAME}}) - list(APPEND NEW_LIST "${PREFIX}${element}") - endforeach(element) - set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) -endfunction() - -# === Flutter Library === -# System-level dependencies. -find_package(PkgConfig REQUIRED) -pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) -pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) -pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) - -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") - -# Published to parent scope for install step. -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) -set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "fl_basic_message_channel.h" - "fl_binary_codec.h" - "fl_binary_messenger.h" - "fl_dart_project.h" - "fl_engine.h" - "fl_json_message_codec.h" - "fl_json_method_codec.h" - "fl_message_codec.h" - "fl_method_call.h" - "fl_method_channel.h" - "fl_method_codec.h" - "fl_method_response.h" - "fl_plugin_registrar.h" - "fl_plugin_registry.h" - "fl_standard_message_codec.h" - "fl_standard_method_codec.h" - "fl_string_codec.h" - "fl_value.h" - "fl_view.h" - "flutter_linux.h" -) -list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") -target_link_libraries(flutter INTERFACE - PkgConfig::GTK - PkgConfig::GLIB - PkgConfig::GIO -) -add_dependencies(flutter flutter_assemble) - -# === Flutter tool backend === -# _phony_ is a non-existent file to force this command to run every time, -# since currently there's no way to get a full input/output list from the -# flutter tool. -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CMAKE_CURRENT_BINARY_DIR}/_phony_ - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" - ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} -) diff --git a/example/linux/flutter/generated_plugins.cmake b/example/linux/flutter/generated_plugins.cmake deleted file mode 100644 index 2e1de87a..00000000 --- a/example/linux/flutter/generated_plugins.cmake +++ /dev/null @@ -1,23 +0,0 @@ -# -# Generated file, do not edit. -# - -list(APPEND FLUTTER_PLUGIN_LIST -) - -list(APPEND FLUTTER_FFI_PLUGIN_LIST -) - -set(PLUGIN_BUNDLED_LIBRARIES) - -foreach(plugin ${FLUTTER_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) - list(APPEND PLUGIN_BUNDLED_LIBRARIES $) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) -endforeach(plugin) - -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) -endforeach(ffi_plugin) diff --git a/example/linux/main.cc b/example/linux/main.cc deleted file mode 100644 index e7c5c543..00000000 --- a/example/linux/main.cc +++ /dev/null @@ -1,6 +0,0 @@ -#include "my_application.h" - -int main(int argc, char** argv) { - g_autoptr(MyApplication) app = my_application_new(); - return g_application_run(G_APPLICATION(app), argc, argv); -} diff --git a/example/linux/my_application.cc b/example/linux/my_application.cc deleted file mode 100644 index 0ba8f430..00000000 --- a/example/linux/my_application.cc +++ /dev/null @@ -1,104 +0,0 @@ -#include "my_application.h" - -#include -#ifdef GDK_WINDOWING_X11 -#include -#endif - -#include "flutter/generated_plugin_registrant.h" - -struct _MyApplication { - GtkApplication parent_instance; - char** dart_entrypoint_arguments; -}; - -G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) - -// Implements GApplication::activate. -static void my_application_activate(GApplication* application) { - MyApplication* self = MY_APPLICATION(application); - GtkWindow* window = - GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); - - // Use a header bar when running in GNOME as this is the common style used - // by applications and is the setup most users will be using (e.g. Ubuntu - // desktop). - // If running on X and not using GNOME then just use a traditional title bar - // in case the window manager does more exotic layout, e.g. tiling. - // If running on Wayland assume the header bar will work (may need changing - // if future cases occur). - gboolean use_header_bar = TRUE; -#ifdef GDK_WINDOWING_X11 - GdkScreen* screen = gtk_window_get_screen(window); - if (GDK_IS_X11_SCREEN(screen)) { - const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); - if (g_strcmp0(wm_name, "GNOME Shell") != 0) { - use_header_bar = FALSE; - } - } -#endif - if (use_header_bar) { - GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); - gtk_widget_show(GTK_WIDGET(header_bar)); - gtk_header_bar_set_title(header_bar, "example"); - gtk_header_bar_set_show_close_button(header_bar, TRUE); - gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); - } else { - gtk_window_set_title(window, "example"); - } - - gtk_window_set_default_size(window, 1280, 720); - gtk_widget_show(GTK_WIDGET(window)); - - g_autoptr(FlDartProject) project = fl_dart_project_new(); - fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); - - FlView* view = fl_view_new(project); - gtk_widget_show(GTK_WIDGET(view)); - gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); - - fl_register_plugins(FL_PLUGIN_REGISTRY(view)); - - gtk_widget_grab_focus(GTK_WIDGET(view)); -} - -// Implements GApplication::local_command_line. -static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { - MyApplication* self = MY_APPLICATION(application); - // Strip out the first argument as it is the binary name. - self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); - - g_autoptr(GError) error = nullptr; - if (!g_application_register(application, nullptr, &error)) { - g_warning("Failed to register: %s", error->message); - *exit_status = 1; - return TRUE; - } - - g_application_activate(application); - *exit_status = 0; - - return TRUE; -} - -// Implements GObject::dispose. -static void my_application_dispose(GObject* object) { - MyApplication* self = MY_APPLICATION(object); - g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); - G_OBJECT_CLASS(my_application_parent_class)->dispose(object); -} - -static void my_application_class_init(MyApplicationClass* klass) { - G_APPLICATION_CLASS(klass)->activate = my_application_activate; - G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; - G_OBJECT_CLASS(klass)->dispose = my_application_dispose; -} - -static void my_application_init(MyApplication* self) {} - -MyApplication* my_application_new() { - return MY_APPLICATION(g_object_new(my_application_get_type(), - "application-id", APPLICATION_ID, - "flags", G_APPLICATION_NON_UNIQUE, - nullptr)); -} diff --git a/example/linux/my_application.h b/example/linux/my_application.h deleted file mode 100644 index 72271d5e..00000000 --- a/example/linux/my_application.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef FLUTTER_MY_APPLICATION_H_ -#define FLUTTER_MY_APPLICATION_H_ - -#include - -G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, - GtkApplication) - -/** - * my_application_new: - * - * Creates a new Flutter-based application. - * - * Returns: a new #MyApplication. - */ -MyApplication* my_application_new(); - -#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/example/macos/.gitignore b/example/macos/.gitignore deleted file mode 100644 index 746adbb6..00000000 --- a/example/macos/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# Flutter-related -**/Flutter/ephemeral/ -**/Pods/ - -# Xcode-related -**/dgph -**/xcuserdata/ diff --git a/example/macos/Flutter/Flutter-Debug.xcconfig b/example/macos/Flutter/Flutter-Debug.xcconfig deleted file mode 100644 index c2efd0b6..00000000 --- a/example/macos/Flutter/Flutter-Debug.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/example/macos/Flutter/Flutter-Release.xcconfig b/example/macos/Flutter/Flutter-Release.xcconfig deleted file mode 100644 index c2efd0b6..00000000 --- a/example/macos/Flutter/Flutter-Release.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/example/macos/Flutter/GeneratedPluginRegistrant.swift b/example/macos/Flutter/GeneratedPluginRegistrant.swift deleted file mode 100644 index cccf817a..00000000 --- a/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ /dev/null @@ -1,10 +0,0 @@ -// -// Generated file. Do not edit. -// - -import FlutterMacOS -import Foundation - - -func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { -} diff --git a/example/macos/Flutter/ephemeral/Flutter-Generated.xcconfig b/example/macos/Flutter/ephemeral/Flutter-Generated.xcconfig deleted file mode 100644 index d4135f11..00000000 --- a/example/macos/Flutter/ephemeral/Flutter-Generated.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -// This is a generated file; do not edit or check into version control. -FLUTTER_ROOT=C:\dev\flutter -FLUTTER_APPLICATION_PATH=C:\Users\cedva\Documents\Dev\countries\phone_form_field\example -COCOAPODS_PARALLEL_CODE_SIGN=true -FLUTTER_BUILD_DIR=build -FLUTTER_BUILD_NAME=1.0.0 -FLUTTER_BUILD_NUMBER=1 -DART_OBFUSCATION=false -TRACK_WIDGET_CREATION=true -TREE_SHAKE_ICONS=false -PACKAGE_CONFIG=.dart_tool/package_config.json diff --git a/example/macos/Flutter/ephemeral/flutter_export_environment.sh b/example/macos/Flutter/ephemeral/flutter_export_environment.sh deleted file mode 100644 index faefe6b3..00000000 --- a/example/macos/Flutter/ephemeral/flutter_export_environment.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# This is a generated file; do not edit or check into version control. -export "FLUTTER_ROOT=C:\dev\flutter" -export "FLUTTER_APPLICATION_PATH=C:\Users\cedva\Documents\Dev\countries\phone_form_field\example" -export "COCOAPODS_PARALLEL_CODE_SIGN=true" -export "FLUTTER_BUILD_DIR=build" -export "FLUTTER_BUILD_NAME=1.0.0" -export "FLUTTER_BUILD_NUMBER=1" -export "DART_OBFUSCATION=false" -export "TRACK_WIDGET_CREATION=true" -export "TREE_SHAKE_ICONS=false" -export "PACKAGE_CONFIG=.dart_tool/package_config.json" diff --git a/example/macos/Runner.xcodeproj/project.pbxproj b/example/macos/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 27e0f506..00000000 --- a/example/macos/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,695 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXAggregateTarget section */ - 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; - buildPhases = ( - 33CC111E2044C6BF0003C045 /* ShellScript */, - ); - dependencies = ( - ); - name = "Flutter Assemble"; - productName = FLX; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC10EC2044A3C60003C045; - remoteInfo = Runner; - }; - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC111A2044C6BA0003C045; - remoteInfo = FLX; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 33CC110E2044A8840003C045 /* Bundle Framework */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Bundle Framework"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "example.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; - 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; - 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; - 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; - 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; - 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 331C80D2294CF70F00263BE5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10EA2044A3C60003C045 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 331C80D6294CF71000263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C80D7294CF71000263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; - 33BA886A226E78AF003329D5 /* Configs */ = { - isa = PBXGroup; - children = ( - 33E5194F232828860026EE4D /* AppInfo.xcconfig */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, - ); - path = Configs; - sourceTree = ""; - }; - 33CC10E42044A3C60003C045 = { - isa = PBXGroup; - children = ( - 33FAB671232836740065AC1E /* Runner */, - 33CEB47122A05771004F2AC0 /* Flutter */, - 331C80D6294CF71000263BE5 /* RunnerTests */, - 33CC10EE2044A3C60003C045 /* Products */, - D73912EC22F37F3D000D13A0 /* Frameworks */, - ); - sourceTree = ""; - }; - 33CC10EE2044A3C60003C045 /* Products */ = { - isa = PBXGroup; - children = ( - 33CC10ED2044A3C60003C045 /* example.app */, - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 33CC11242044D66E0003C045 /* Resources */ = { - isa = PBXGroup; - children = ( - 33CC10F22044A3C60003C045 /* Assets.xcassets */, - 33CC10F42044A3C60003C045 /* MainMenu.xib */, - 33CC10F72044A3C60003C045 /* Info.plist */, - ); - name = Resources; - path = ..; - sourceTree = ""; - }; - 33CEB47122A05771004F2AC0 /* Flutter */ = { - isa = PBXGroup; - children = ( - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, - ); - path = Flutter; - sourceTree = ""; - }; - 33FAB671232836740065AC1E /* Runner */ = { - isa = PBXGroup; - children = ( - 33CC10F02044A3C60003C045 /* AppDelegate.swift */, - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, - 33E51913231747F40026EE4D /* DebugProfile.entitlements */, - 33E51914231749380026EE4D /* Release.entitlements */, - 33CC11242044D66E0003C045 /* Resources */, - 33BA886A226E78AF003329D5 /* Configs */, - ); - path = Runner; - sourceTree = ""; - }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 331C80D4294CF70F00263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - 331C80D1294CF70F00263BE5 /* Sources */, - 331C80D2294CF70F00263BE5 /* Frameworks */, - 331C80D3294CF70F00263BE5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 331C80DA294CF71000263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 33CC10EC2044A3C60003C045 /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 33CC10E92044A3C60003C045 /* Sources */, - 33CC10EA2044A3C60003C045 /* Frameworks */, - 33CC10EB2044A3C60003C045 /* Resources */, - 33CC110E2044A8840003C045 /* Bundle Framework */, - 3399D490228B24CF009A79C7 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - 33CC11202044C79F0003C045 /* PBXTargetDependency */, - ); - name = Runner; - productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* example.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 33CC10E52044A3C60003C045 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1430; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 331C80D4294CF70F00263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 33CC10EC2044A3C60003C045; - }; - 33CC10EC2044A3C60003C045 = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - 33CC111A2044C6BA0003C045 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 33CC10E42044A3C60003C045; - productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 33CC10EC2044A3C60003C045 /* Runner */, - 331C80D4294CF70F00263BE5 /* RunnerTests */, - 33CC111A2044C6BA0003C045 /* Flutter Assemble */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 331C80D3294CF70F00263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10EB2044A3C60003C045 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; - }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, - ); - inputPaths = ( - Flutter/ephemeral/tripwire, - ); - outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 331C80D1294CF70F00263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10E92044A3C60003C045 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC10EC2044A3C60003C045 /* Runner */; - targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; - }; - 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; - targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 33CC10F52044A3C60003C045 /* Base */, - ); - name = MainMenu.xib; - path = Runner; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 331C80DB294CF71000263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example"; - }; - name = Debug; - }; - 331C80DC294CF71000263BE5 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example"; - }; - name = Release; - }; - 331C80DD294CF71000263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example"; - }; - name = Profile; - }; - 338D0CE9231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - 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_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = 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_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - 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_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Profile; - }; - 338D0CEA231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Profile; - }; - 338D0CEB231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Profile; - }; - 33CC10F92044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - 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_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = 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_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - 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_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 33CC10FA2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - 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_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = 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_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - 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_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Release; - }; - 33CC10FC2044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 33CC10FD2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 33CC111C2044C6BA0003C045 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 33CC111D2044C6BA0003C045 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C80DB294CF71000263BE5 /* Debug */, - 331C80DC294CF71000263BE5 /* Release */, - 331C80DD294CF71000263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10F92044A3C60003C045 /* Debug */, - 33CC10FA2044A3C60003C045 /* Release */, - 338D0CE9231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10FC2044A3C60003C045 /* Debug */, - 33CC10FD2044A3C60003C045 /* Release */, - 338D0CEA231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC111C2044C6BA0003C045 /* Debug */, - 33CC111D2044C6BA0003C045 /* Release */, - 338D0CEB231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 33CC10E52044A3C60003C045 /* Project object */; -} diff --git a/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 397f3d33..00000000 --- a/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/example/macos/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 1d526a16..00000000 --- a/example/macos/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/example/macos/Runner/AppDelegate.swift b/example/macos/Runner/AppDelegate.swift deleted file mode 100644 index d53ef643..00000000 --- a/example/macos/Runner/AppDelegate.swift +++ /dev/null @@ -1,9 +0,0 @@ -import Cocoa -import FlutterMacOS - -@NSApplicationMain -class AppDelegate: FlutterAppDelegate { - override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { - return true - } -} diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index a2ec33f1..00000000 --- a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "images" : [ - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_16.png", - "scale" : "1x" - }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_64.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_128.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_1024.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png deleted file mode 100644 index 82b6f9d9..00000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png deleted file mode 100644 index 13b35eba..00000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png deleted file mode 100644 index 0a3f5fa4..00000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png deleted file mode 100644 index bdb57226..00000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png deleted file mode 100644 index f083318e..00000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png deleted file mode 100644 index 326c0e72..00000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index 2f1632cf..00000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png and /dev/null differ diff --git a/example/macos/Runner/Base.lproj/MainMenu.xib b/example/macos/Runner/Base.lproj/MainMenu.xib deleted file mode 100644 index 80e867a4..00000000 --- a/example/macos/Runner/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/macos/Runner/Configs/AppInfo.xcconfig b/example/macos/Runner/Configs/AppInfo.xcconfig deleted file mode 100644 index 92fb3cd5..00000000 --- a/example/macos/Runner/Configs/AppInfo.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -// Application-level settings for the Runner target. -// -// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the -// future. If not, the values below would default to using the project name when this becomes a -// 'flutter create' template. - -// The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = example - -// The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = com.example.example - -// The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2024 com.example. All rights reserved. diff --git a/example/macos/Runner/Configs/Debug.xcconfig b/example/macos/Runner/Configs/Debug.xcconfig deleted file mode 100644 index 36b0fd94..00000000 --- a/example/macos/Runner/Configs/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Debug.xcconfig" -#include "Warnings.xcconfig" diff --git a/example/macos/Runner/Configs/Release.xcconfig b/example/macos/Runner/Configs/Release.xcconfig deleted file mode 100644 index dff4f495..00000000 --- a/example/macos/Runner/Configs/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Release.xcconfig" -#include "Warnings.xcconfig" diff --git a/example/macos/Runner/Configs/Warnings.xcconfig b/example/macos/Runner/Configs/Warnings.xcconfig deleted file mode 100644 index 42bcbf47..00000000 --- a/example/macos/Runner/Configs/Warnings.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings -GCC_WARN_UNDECLARED_SELECTOR = YES -CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES -CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE -CLANG_WARN__DUPLICATE_METHOD_MATCH = YES -CLANG_WARN_PRAGMA_PACK = YES -CLANG_WARN_STRICT_PROTOTYPES = YES -CLANG_WARN_COMMA = YES -GCC_WARN_STRICT_SELECTOR_MATCH = YES -CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES -CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES -GCC_WARN_SHADOW = YES -CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/example/macos/Runner/DebugProfile.entitlements b/example/macos/Runner/DebugProfile.entitlements deleted file mode 100644 index dddb8a30..00000000 --- a/example/macos/Runner/DebugProfile.entitlements +++ /dev/null @@ -1,12 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.network.server - - - diff --git a/example/macos/Runner/Info.plist b/example/macos/Runner/Info.plist deleted file mode 100644 index 4789daa6..00000000 --- a/example/macos/Runner/Info.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSHumanReadableCopyright - $(PRODUCT_COPYRIGHT) - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/example/macos/Runner/MainFlutterWindow.swift b/example/macos/Runner/MainFlutterWindow.swift deleted file mode 100644 index 3cc05eb2..00000000 --- a/example/macos/Runner/MainFlutterWindow.swift +++ /dev/null @@ -1,15 +0,0 @@ -import Cocoa -import FlutterMacOS - -class MainFlutterWindow: NSWindow { - override func awakeFromNib() { - let flutterViewController = FlutterViewController() - let windowFrame = self.frame - self.contentViewController = flutterViewController - self.setFrame(windowFrame, display: true) - - RegisterGeneratedPlugins(registry: flutterViewController) - - super.awakeFromNib() - } -} diff --git a/example/macos/Runner/Release.entitlements b/example/macos/Runner/Release.entitlements deleted file mode 100644 index 852fa1a4..00000000 --- a/example/macos/Runner/Release.entitlements +++ /dev/null @@ -1,8 +0,0 @@ - - - - - com.apple.security.app-sandbox - - - diff --git a/example/macos/RunnerTests/RunnerTests.swift b/example/macos/RunnerTests/RunnerTests.swift deleted file mode 100644 index 5418c9f5..00000000 --- a/example/macos/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import FlutterMacOS -import Cocoa -import XCTest - -class RunnerTests: XCTestCase { - - func testExample() { - // If you add code to the Runner application, consider adding tests here. - // See https://developer.apple.com/documentation/xctest for more information about using XCTest. - } - -} diff --git a/example/pubspec.lock b/example/pubspec.lock index 841f7661..eff4efaa 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -37,10 +37,10 @@ packages: dependency: transitive description: name: circle_flags - sha256: "61bccd6a5f9bf3790ea0d42419c6942f0f60b2df510f948e154606e0bb55bbae" + sha256: cac0fe72ad731cae5984e30be536814d7df37eeb7efc388ba76fdb84dab47ac4 url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "3.0.1" clock: dependency: transitive description: @@ -61,10 +61,10 @@ packages: dependency: transitive description: name: diacritic - sha256: "96db5db6149cbe4aa3cfcbfd170aca9b7648639be7e48025f9d458517f807fe4" + sha256: a84e03ec2779375fb86430dbe9d8fba62c68376f2499097a5f6e75556babe706 url: "https://pub.dev" source: hosted - version: "0.1.5" + version: "0.1.4" fake_async: dependency: transitive description: @@ -78,14 +78,6 @@ packages: description: flutter source: sdk version: "0.0.0" - flutter_country_selector: - dependency: transitive - description: - name: flutter_country_selector - sha256: cb9d9ba5b979432f8015a17aeb803be123c0af0c0bbfac006529013bbf03e2af - url: "https://pub.dev" - source: hosted - version: "1.0.2" flutter_lints: dependency: "direct dev" description: @@ -187,10 +179,10 @@ packages: dependency: transitive description: name: phone_numbers_parser - sha256: d0dad4f5b61c3d959b069df088ef7242ffed42a3cf74c7549fd7c324e1eb964e + sha256: "17a6686350c574a08f7beb839c5f908cc19b9c0eabd6e97029b517527a49da02" url: "https://pub.dev" source: hosted - version: "8.1.3" + version: "8.1.0" sky_engine: dependency: transitive description: flutter @@ -248,26 +240,26 @@ packages: dependency: transitive description: name: vector_graphics - sha256: "18f6690295af52d081f6808f2f7c69f0eed6d7e23a71539d75f4aeb8f0062172" + sha256: "0f0c746dd2d6254a0057218ff980fc7f5670fd0fcf5e4db38a490d31eed4ad43" url: "https://pub.dev" source: hosted - version: "1.1.9+2" + version: "1.1.9+1" vector_graphics_codec: dependency: transitive description: name: vector_graphics_codec - sha256: "531d20465c10dfac7f5cd90b60bbe4dd9921f1ec4ca54c83ebb176dbacb7bb2d" + sha256: "0edf6d630d1bfd5589114138ed8fada3234deacc37966bec033d3047c29248b7" url: "https://pub.dev" source: hosted - version: "1.1.9+2" + version: "1.1.9+1" vector_graphics_compiler: dependency: transitive description: name: vector_graphics_compiler - sha256: "03012b0a33775c5530576b70240308080e1d5050f0faf000118c20e6463bc0ad" + sha256: d24333727332d9bd20990f1483af4e09abdb9b1fc7c3db940b56ab5c42790c26 url: "https://pub.dev" source: hosted - version: "1.1.9+2" + version: "1.1.9+1" vector_math: dependency: transitive description: @@ -293,5 +285,5 @@ packages: source: hosted version: "6.5.0" sdks: - dart: ">=3.2.4 <4.0.0" + dart: ">=3.2.0 <4.0.0" flutter: ">=3.7.0-0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 904c4b41..72f9f1a6 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -19,7 +19,7 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^2.0.3 + flutter_lints: ^2.0.1 flutter: uses-material-design: true diff --git a/example/web/index.html b/example/web/index.html index 45cf2ca3..b6b9dd23 100644 --- a/example/web/index.html +++ b/example/web/index.html @@ -31,29 +31,74 @@ example - - - - + diff --git a/example/windows/CMakeLists.txt b/example/windows/CMakeLists.txt index d960948a..1633297a 100644 --- a/example/windows/CMakeLists.txt +++ b/example/windows/CMakeLists.txt @@ -1,16 +1,13 @@ -# Project-level configuration. cmake_minimum_required(VERSION 3.14) project(example LANGUAGES CXX) -# The name of the executable created for the application. Change this to change -# the on-disk name of your application. set(BINARY_NAME "example") -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(VERSION 3.14...3.25) +cmake_policy(SET CMP0063 NEW) -# Define build configuration option. +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Configure build options. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) if(IS_MULTICONFIG) set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" @@ -23,7 +20,7 @@ else() "Debug" "Profile" "Release") endif() endif() -# Define settings for the Profile build mode. + set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") @@ -33,10 +30,6 @@ set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") add_definitions(-DUNICODE -D_UNICODE) # Compilation settings that should be applied to most targets. -# -# Be cautious about adding new options here, as plugins use this function by -# default. In most cases, you should add new options to specific targets instead -# of modifying this function. function(APPLY_STANDARD_SETTINGS TARGET) target_compile_features(${TARGET} PUBLIC cxx_std_17) target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") @@ -45,14 +38,14 @@ function(APPLY_STANDARD_SETTINGS TARGET) target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") endfunction() -# Flutter library and tool build rules. set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") + +# Flutter library and tool build rules. add_subdirectory(${FLUTTER_MANAGED_DIR}) -# Application build; see runner/CMakeLists.txt. +# Application build add_subdirectory("runner") - # Generated plugin build rules, which manage building the plugins and adding # them to the application. include(flutter/generated_plugins.cmake) @@ -87,12 +80,6 @@ if(PLUGIN_BUNDLED_LIBRARIES) COMPONENT Runtime) endif() -# Copy the native assets provided by the build.dart from all packages. -set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/windows/") -install(DIRECTORY "${NATIVE_ASSETS_DIR}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - # Fully re-copy the assets directory on each build to avoid having stale files # from a previous install. set(FLUTTER_ASSET_DIR_NAME "flutter_assets") diff --git a/example/windows/flutter/CMakeLists.txt b/example/windows/flutter/CMakeLists.txt index 903f4899..b2e4bd8d 100644 --- a/example/windows/flutter/CMakeLists.txt +++ b/example/windows/flutter/CMakeLists.txt @@ -1,4 +1,3 @@ -# This file controls Flutter-level build steps. It should not be edited. cmake_minimum_required(VERSION 3.14) set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") @@ -10,11 +9,6 @@ include(${EPHEMERAL_DIR}/generated_config.cmake) # https://github.com/flutter/flutter/issues/57146. set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") -# Set fallback configurations for older versions of the flutter tool. -if (NOT DEFINED FLUTTER_TARGET_PLATFORM) - set(FLUTTER_TARGET_PLATFORM "windows-x64") -endif() - # === Flutter Library === set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") @@ -97,7 +91,7 @@ add_custom_command( COMMAND ${CMAKE_COMMAND} -E env ${FLUTTER_TOOL_ENVIRONMENT} "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" - ${FLUTTER_TARGET_PLATFORM} $ + windows-x64 $ VERBATIM ) add_custom_target(flutter_assemble DEPENDS diff --git a/example/windows/flutter/generated_plugin_registrant.cc b/example/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 00000000..8b6d4680 --- /dev/null +++ b/example/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void RegisterPlugins(flutter::PluginRegistry* registry) { +} diff --git a/example/windows/flutter/generated_plugin_registrant.h b/example/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 00000000..dc139d85 --- /dev/null +++ b/example/windows/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/example/windows/runner/CMakeLists.txt b/example/windows/runner/CMakeLists.txt index 394917c0..de2d8916 100644 --- a/example/windows/runner/CMakeLists.txt +++ b/example/windows/runner/CMakeLists.txt @@ -1,11 +1,6 @@ cmake_minimum_required(VERSION 3.14) project(runner LANGUAGES CXX) -# Define the application target. To change its name, change BINARY_NAME in the -# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer -# work. -# -# Any new source files that you add to the application should be added here. add_executable(${BINARY_NAME} WIN32 "flutter_window.cpp" "main.cpp" @@ -15,26 +10,8 @@ add_executable(${BINARY_NAME} WIN32 "Runner.rc" "runner.exe.manifest" ) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. apply_standard_settings(${BINARY_NAME}) - -# Add preprocessor definitions for the build version. -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") - -# Disable Windows macros that collide with C++ standard library functions. target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") - -# Add dependency libraries and include directories. Add any application-specific -# dependencies here. target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) -target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") - -# Run the Flutter tool portions of the build. This must not be removed. add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/example/windows/runner/Runner.rc b/example/windows/runner/Runner.rc index 687e6bd2..5fdea291 100644 --- a/example/windows/runner/Runner.rc +++ b/example/windows/runner/Runner.rc @@ -60,14 +60,14 @@ IDI_APP_ICON ICON "resources\\app_icon.ico" // Version // -#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) -#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD +#ifdef FLUTTER_BUILD_NUMBER +#define VERSION_AS_NUMBER FLUTTER_BUILD_NUMBER #else -#define VERSION_AS_NUMBER 1,0,0,0 +#define VERSION_AS_NUMBER 1,0,0 #endif -#if defined(FLUTTER_VERSION) -#define VERSION_AS_STRING FLUTTER_VERSION +#ifdef FLUTTER_BUILD_NAME +#define VERSION_AS_STRING #FLUTTER_BUILD_NAME #else #define VERSION_AS_STRING "1.0.0" #endif @@ -93,7 +93,7 @@ BEGIN VALUE "FileDescription", "example" "\0" VALUE "FileVersion", VERSION_AS_STRING "\0" VALUE "InternalName", "example" "\0" - VALUE "LegalCopyright", "Copyright (C) 2024 com.example. All rights reserved." "\0" + VALUE "LegalCopyright", "Copyright (C) 2022 com.example. All rights reserved." "\0" VALUE "OriginalFilename", "example.exe" "\0" VALUE "ProductName", "example" "\0" VALUE "ProductVersion", VERSION_AS_STRING "\0" diff --git a/example/windows/runner/flutter_window.cpp b/example/windows/runner/flutter_window.cpp index 955ee303..b43b9095 100644 --- a/example/windows/runner/flutter_window.cpp +++ b/example/windows/runner/flutter_window.cpp @@ -26,16 +26,6 @@ bool FlutterWindow::OnCreate() { } RegisterPlugins(flutter_controller_->engine()); SetChildContent(flutter_controller_->view()->GetNativeWindow()); - - flutter_controller_->engine()->SetNextFrameCallback([&]() { - this->Show(); - }); - - // Flutter can complete the first frame before the "show window" callback is - // registered. The following call ensures a frame is pending to ensure the - // window is shown. It is a no-op if the first frame hasn't completed yet. - flutter_controller_->ForceRedraw(); - return true; } diff --git a/example/windows/runner/main.cpp b/example/windows/runner/main.cpp index a61bf80d..bcb57b0e 100644 --- a/example/windows/runner/main.cpp +++ b/example/windows/runner/main.cpp @@ -27,7 +27,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, FlutterWindow window(project); Win32Window::Point origin(10, 10); Win32Window::Size size(1280, 720); - if (!window.Create(L"example", origin, size)) { + if (!window.CreateAndShow(L"example", origin, size)) { return EXIT_FAILURE; } window.SetQuitOnClose(true); diff --git a/example/windows/runner/runner.exe.manifest b/example/windows/runner/runner.exe.manifest index a42ea768..c977c4a4 100644 --- a/example/windows/runner/runner.exe.manifest +++ b/example/windows/runner/runner.exe.manifest @@ -7,7 +7,7 @@ - + diff --git a/example/windows/runner/utils.cpp b/example/windows/runner/utils.cpp index b2b08734..d19bdbbc 100644 --- a/example/windows/runner/utils.cpp +++ b/example/windows/runner/utils.cpp @@ -47,17 +47,16 @@ std::string Utf8FromUtf16(const wchar_t* utf16_string) { } int target_length = ::WideCharToMultiByte( CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, - -1, nullptr, 0, nullptr, nullptr) - -1; // remove the trailing null character - int input_length = (int)wcslen(utf16_string); - std::string utf8_string; - if (target_length <= 0 || target_length > utf8_string.max_size()) { - return utf8_string; + -1, nullptr, 0, nullptr, nullptr); + if (target_length == 0) { + return std::string(); } + std::string utf8_string; utf8_string.resize(target_length); int converted_length = ::WideCharToMultiByte( CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, - input_length, utf8_string.data(), target_length, nullptr, nullptr); + -1, utf8_string.data(), + target_length, nullptr, nullptr); if (converted_length == 0) { return std::string(); } diff --git a/example/windows/runner/win32_window.cpp b/example/windows/runner/win32_window.cpp index 60608d0f..c10f08dc 100644 --- a/example/windows/runner/win32_window.cpp +++ b/example/windows/runner/win32_window.cpp @@ -1,31 +1,13 @@ #include "win32_window.h" -#include #include #include "resource.h" namespace { -/// Window attribute that enables dark mode window decorations. -/// -/// Redefined in case the developer's machine has a Windows SDK older than -/// version 10.0.22000.0. -/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute -#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE -#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 -#endif - constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; -/// Registry key for app theme preference. -/// -/// A value of 0 indicates apps should use dark mode. A non-zero or missing -/// value indicates apps should use light mode. -constexpr const wchar_t kGetPreferredBrightnessRegKey[] = - L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; -constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; - // The number of Win32Window objects that currently exist. static int g_active_window_count = 0; @@ -49,8 +31,8 @@ void EnableFullDpiSupportIfAvailable(HWND hwnd) { GetProcAddress(user32_module, "EnableNonClientDpiScaling")); if (enable_non_client_dpi_scaling != nullptr) { enable_non_client_dpi_scaling(hwnd); + FreeLibrary(user32_module); } - FreeLibrary(user32_module); } } // namespace @@ -60,7 +42,7 @@ class WindowClassRegistrar { public: ~WindowClassRegistrar() = default; - // Returns the singleton registrar instance. + // Returns the singleton registar instance. static WindowClassRegistrar* GetInstance() { if (!instance_) { instance_ = new WindowClassRegistrar(); @@ -120,9 +102,9 @@ Win32Window::~Win32Window() { Destroy(); } -bool Win32Window::Create(const std::wstring& title, - const Point& origin, - const Size& size) { +bool Win32Window::CreateAndShow(const std::wstring& title, + const Point& origin, + const Size& size) { Destroy(); const wchar_t* window_class = @@ -135,7 +117,7 @@ bool Win32Window::Create(const std::wstring& title, double scale_factor = dpi / 96.0; HWND window = CreateWindow( - window_class, title.c_str(), WS_OVERLAPPEDWINDOW, + window_class, title.c_str(), WS_OVERLAPPEDWINDOW | WS_VISIBLE, Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), Scale(size.width, scale_factor), Scale(size.height, scale_factor), nullptr, nullptr, GetModuleHandle(nullptr), this); @@ -144,15 +126,9 @@ bool Win32Window::Create(const std::wstring& title, return false; } - UpdateTheme(window); - return OnCreate(); } -bool Win32Window::Show() { - return ShowWindow(window_handle_, SW_SHOWNORMAL); -} - // static LRESULT CALLBACK Win32Window::WndProc(HWND const window, UINT const message, @@ -212,10 +188,6 @@ Win32Window::MessageHandler(HWND hwnd, SetFocus(child_content_); } return 0; - - case WM_DWMCOLORIZATIONCOLORCHANGED: - UpdateTheme(hwnd); - return 0; } return DefWindowProc(window_handle_, message, wparam, lparam); @@ -271,18 +243,3 @@ bool Win32Window::OnCreate() { void Win32Window::OnDestroy() { // No-op; provided for subclasses. } - -void Win32Window::UpdateTheme(HWND const window) { - DWORD light_mode; - DWORD light_mode_size = sizeof(light_mode); - LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, - kGetPreferredBrightnessRegValue, - RRF_RT_REG_DWORD, nullptr, &light_mode, - &light_mode_size); - - if (result == ERROR_SUCCESS) { - BOOL enable_dark_mode = light_mode == 0; - DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, - &enable_dark_mode, sizeof(enable_dark_mode)); - } -} diff --git a/example/windows/runner/win32_window.h b/example/windows/runner/win32_window.h index e901dde6..17ba4311 100644 --- a/example/windows/runner/win32_window.h +++ b/example/windows/runner/win32_window.h @@ -28,16 +28,15 @@ class Win32Window { Win32Window(); virtual ~Win32Window(); - // Creates a win32 window with |title| that is positioned and sized using + // Creates and shows a win32 window with |title| and position and size using // |origin| and |size|. New windows are created on the default monitor. Window // sizes are specified to the OS in physical pixels, hence to ensure a - // consistent size this function will scale the inputted width and height as - // as appropriate for the default monitor. The window is invisible until - // |Show| is called. Returns true if the window was created successfully. - bool Create(const std::wstring& title, const Point& origin, const Size& size); - - // Show the current window. Returns true if the window was successfully shown. - bool Show(); + // consistent size to will treat the width height passed in to this function + // as logical pixels and scale to appropriate for the default monitor. Returns + // true if the window was created successfully. + bool CreateAndShow(const std::wstring& title, + const Point& origin, + const Size& size); // Release OS resources associated with window. void Destroy(); @@ -77,7 +76,7 @@ class Win32Window { // OS callback called by message pump. Handles the WM_NCCREATE message which // is passed when the non-client area is being created and enables automatic // non-client DPI scaling so that the non-client area automatically - // responds to changes in DPI. All other messages are handled by + // responsponds to changes in DPI. All other messages are handled by // MessageHandler. static LRESULT CALLBACK WndProc(HWND const window, UINT const message, @@ -87,9 +86,6 @@ class Win32Window { // Retrieves a class instance pointer for |window| static Win32Window* GetThisFromHandle(HWND const window) noexcept; - // Update the window frame's theme to match the system theme. - static void UpdateTheme(HWND const window); - bool quit_on_close_ = false; // window handle for top level window. diff --git a/l10n.yaml b/l10n.yaml index 3f90898b..5482d2f7 100644 --- a/l10n.yaml +++ b/l10n.yaml @@ -1,7 +1,6 @@ -arb-dir: l10n +arb-dir: lib/l10n template-arb-file: en.arb -output-localization-file: phone_field_localization_impl.dart -output-class: PhoneFieldLocalizationImpl -output-dir: lib/src/localization/generated +output-localization-file: phone_field_localization.dart +output-class: PhoneFieldLocalization +output-dir: lib/l10n/generated synthetic-package: false -format: true diff --git a/l10n/ar.arb b/l10n/ar.arb deleted file mode 100644 index d5db5683..00000000 --- a/l10n/ar.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "ar", - "invalidPhoneNumber": "رقم الهاتف غير صحيح", - "invalidCountry": "دولة غير صحيح", - "invalidMobilePhoneNumber": "رقم الهاتف الخلوي غير صحيح", - "invalidFixedLinePhoneNumber": "رقم الهاتف الثابت غير صحيح", - "requiredPhoneNumber": "رقم الهاتف مطلوب" -} \ No newline at end of file diff --git a/l10n/ckb.arb b/l10n/ckb.arb deleted file mode 100644 index f6d83e93..00000000 --- a/l10n/ckb.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "ckb", - "invalidPhoneNumber": "ژمارەی تەلەفۆنی نادروست", - "invalidCountry": "وڵاتێکی نادروست", - "invalidMobilePhoneNumber": "ژمارەی مۆبایل نادروستە", - "invalidFixedLinePhoneNumber": "ژمارەی تەلەفۆنی هێڵی جێگیر نادروستە", - "requiredPhoneNumber": "ژمارەی تەلەفۆنی پێویست" -} \ No newline at end of file diff --git a/l10n/de.arb b/l10n/de.arb deleted file mode 100644 index 9f989b0c..00000000 --- a/l10n/de.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "de", - "invalidPhoneNumber": "Ungültige Telefonnummer", - "invalidCountry": "Ungültiges Land", - "invalidMobilePhoneNumber": "Ungültige Handynummer", - "invalidFixedLinePhoneNumber": "Ungültige Festnetznummer", - "requiredPhoneNumber": "Telefonnummer erforderlich" -} \ No newline at end of file diff --git a/l10n/el.arb b/l10n/el.arb deleted file mode 100644 index a2ee764b..00000000 --- a/l10n/el.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "el", - "invalidPhoneNumber": "Μη έγκυρος αριθμός τηλεφώνου", - "invalidCountry": "Μη έγκυρη χώρα", - "invalidMobilePhoneNumber": "Μη έγκυρος αριθμός κινητού τηλεφώνου", - "invalidFixedLinePhoneNumber": "Μη έγκυρος αριθμός σταθερού τηλεφώνου", - "requiredPhoneNumber": "Απαιτούμενος αριθμός τηλεφώνου" -} \ No newline at end of file diff --git a/l10n/en.arb b/l10n/en.arb deleted file mode 100644 index d8b2e7d2..00000000 --- a/l10n/en.arb +++ /dev/null @@ -1,21 +0,0 @@ -{ - "@@locale": "en", - "invalidPhoneNumber": "Invalid phone number", - "invalidCountry": "Invalid country", - "invalidMobilePhoneNumber": "Invalid mobile phone number", - "invalidFixedLinePhoneNumber": "Invalid fixed line phone number", - "requiredPhoneNumber": "Required phone number", - "tapToSelectACountry": "Tap to select a country. Current selection: {countryName} {countryDialCode}", - "@tapToSelectACountry": { - "description": "semantic description of the country button", - "placeholders": { - "countryName": { - "type": "String" - }, - "countryDialCode": { - "type": "String" - } - } - }, - "enterPhoneNumber": "Enter your phone number" -} \ No newline at end of file diff --git a/l10n/es.arb b/l10n/es.arb deleted file mode 100644 index 866dfa69..00000000 --- a/l10n/es.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "es", - "invalidPhoneNumber": "Numero de telefono invalido", - "invalidCountry": "País invalido", - "invalidMobilePhoneNumber": "Número de teléfono celular invalido", - "invalidFixedLinePhoneNumber": "Número de teléfono fijo invalido", - "requiredPhoneNumber": "Número de teléfono obligatorio" -} \ No newline at end of file diff --git a/l10n/fa.arb b/l10n/fa.arb deleted file mode 100644 index b1b5c1a9..00000000 --- a/l10n/fa.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "fa", - "invalidPhoneNumber": "شماره تلفن نامعتبر است", - "invalidCountry": "کشور نامعتبر است", - "invalidMobilePhoneNumber": "شماره تلفن همراه نامعتبر است", - "invalidFixedLinePhoneNumber": "شماره تلفن ثابت نامعتبر است", - "requiredPhoneNumber": "شماره تلفن الزامی است" -} \ No newline at end of file diff --git a/l10n/fr.arb b/l10n/fr.arb deleted file mode 100644 index 85c5a0b3..00000000 --- a/l10n/fr.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "fr", - "invalidPhoneNumber": "Numéro de téléphone invalide", - "invalidCountry": "Pays invalide", - "invalidMobilePhoneNumber": "Numéro de téléphone portable invalide", - "invalidFixedLinePhoneNumber": "Numéro de téléphone fixe invalide", - "requiredPhoneNumber": "Numéro de téléphone requis" -} \ No newline at end of file diff --git a/l10n/hi.arb b/l10n/hi.arb deleted file mode 100644 index 2fb8d481..00000000 --- a/l10n/hi.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "hi", - "invalidPhoneNumber": "अवैध फोन नंबर", - "invalidCountry": "अवैध देश", - "invalidMobilePhoneNumber": "अमान्य सेल फ़ोन नंबर", - "invalidFixedLinePhoneNumber": "अवैध लैंडलाइन नंबर", - "requiredPhoneNumber": "फ़ोन नंबर आवश्यक" -} \ No newline at end of file diff --git a/l10n/it.arb b/l10n/it.arb deleted file mode 100644 index 4a1fac6f..00000000 --- a/l10n/it.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "it", - "invalidPhoneNumber": "Numero di telefono invalido", - "invalidCountry": "Paese invalido", - "invalidMobilePhoneNumber": "Numero di cellulare invalido", - "invalidFixedLinePhoneNumber": "Numero di rete fissa invalido", - "requiredPhoneNumber": "Numero di telefono richiesto" -} \ No newline at end of file diff --git a/l10n/ku.arb b/l10n/ku.arb deleted file mode 100644 index 12a72ec6..00000000 --- a/l10n/ku.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "ku", - "invalidPhoneNumber": "ژمارەی تەلەفۆنی نادروست", - "invalidCountry": "وڵاتێکی نادروست", - "invalidMobilePhoneNumber": "ژمارەی مۆبایل نادروستە", - "invalidFixedLinePhoneNumber": "ژمارەی تەلەفۆنی هێڵی جێگیر نادروستە", - "requiredPhoneNumber": "ژمارەی تەلەفۆنی پێویست" -} \ No newline at end of file diff --git a/l10n/nb.arb b/l10n/nb.arb deleted file mode 100644 index 3cf2db0e..00000000 --- a/l10n/nb.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "nb", - "invalidPhoneNumber": "Ugyldig telefonnummer", - "invalidCountry": "Ugyldig land", - "invalidMobilePhoneNumber": "Ugyldig mobilnummer", - "invalidFixedLinePhoneNumber": "Ugyldig fasttelefonnummer", - "requiredPhoneNumber": "Telefonnummer er påkrevd" -} \ No newline at end of file diff --git a/l10n/nl.arb b/l10n/nl.arb deleted file mode 100644 index 51acf71c..00000000 --- a/l10n/nl.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "nl", - "invalidPhoneNumber": "Ongeldig telefoonnummer", - "invalidCountry": "Ongeldig land", - "invalidMobilePhoneNumber": "Ongeldig mobiel nummer", - "invalidFixedLinePhoneNumber": "Ongeldig vast nummer", - "requiredPhoneNumber": "Telefoonnummer vereist" -} \ No newline at end of file diff --git a/l10n/pt.arb b/l10n/pt.arb deleted file mode 100644 index a179e575..00000000 --- a/l10n/pt.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "pt", - "invalidPhoneNumber": "Número de telefone inválido", - "invalidCountry": "País inválido", - "invalidMobilePhoneNumber": "Número de telefone celular inválido", - "invalidFixedLinePhoneNumber": "Número de telefone fixo inválido", - "requiredPhoneNumber": "Número de telefone obrigatório" -} \ No newline at end of file diff --git a/l10n/ru.arb b/l10n/ru.arb deleted file mode 100644 index 11bff31c..00000000 --- a/l10n/ru.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "ru", - "invalidPhoneNumber": "Неправильный номер телефона", - "invalidCountry": "Неверная страна", - "invalidMobilePhoneNumber": "Неверный номер мобильного телефона", - "invalidFixedLinePhoneNumber": "Недействительный номер стационарного телефона", - "requiredPhoneNumber": "Требуется номер телефона" -} \ No newline at end of file diff --git a/l10n/sv.arb b/l10n/sv.arb deleted file mode 100644 index f9349d95..00000000 --- a/l10n/sv.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "sv", - "invalidPhoneNumber": "Ogiltigt telefonnummer", - "invalidCountry": "Ogiltigt land", - "invalidMobilePhoneNumber": "Ogiltigt mobilnummer", - "invalidFixedLinePhoneNumber": "Ogiltigt fast telefonnummer", - "requiredPhoneNumber": "Obligatoriskt telefonnummer" -} \ No newline at end of file diff --git a/l10n/tr.arb b/l10n/tr.arb deleted file mode 100644 index a522c126..00000000 --- a/l10n/tr.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "tr", - "invalidPhoneNumber": "Geçersiz telefon numarası", - "invalidCountry": "Geçersiz ülke", - "invalidMobilePhoneNumber": "Geçersiz cep telefonu numarası", - "invalidFixedLinePhoneNumber": "Geçersiz sabit hat telefon numarası", - "requiredPhoneNumber": "Telefon numarası gerekli" -} \ No newline at end of file diff --git a/l10n/uk.arb b/l10n/uk.arb deleted file mode 100644 index 4bcc75b8..00000000 --- a/l10n/uk.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "uk", - "invalidPhoneNumber": "Невірний номер телефону", - "invalidCountry": "Недійсна країна", - "invalidMobilePhoneNumber": "Невірний номер мобільного телефону", - "invalidFixedLinePhoneNumber": "Невірний номер стаціонарного телефону", - "requiredPhoneNumber": "Необхідний номер телефону" -} \ No newline at end of file diff --git a/l10n/uz.arb b/l10n/uz.arb deleted file mode 100644 index c17feeaf..00000000 --- a/l10n/uz.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "uz", - "invalidPhoneNumber": "Telefon raqami noto‘g‘ri", - "invalidCountry": "Yaroqsiz mamlakat", - "invalidMobilePhoneNumber": "Telfon raqami noto‘g‘ri", - "invalidFixedLinePhoneNumber": "Ruxsat etilgan telefon raqami yaroqsiz", - "requiredPhoneNumber": "Telfon raqami majburiy" -} \ No newline at end of file diff --git a/l10n/zh.arb b/l10n/zh.arb deleted file mode 100644 index 6286aac9..00000000 --- a/l10n/zh.arb +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@@locale": "zh", - "invalidPhoneNumber": "无效的电话号码", - "invalidCountry": "无效国家", - "invalidMobilePhoneNumber": "无效的手机号码", - "invalidFixedLinePhoneNumber": "无效的固定电话号码", - "requiredPhoneNumber": "需要电话号码" -} \ No newline at end of file diff --git a/lib/l10n/ar.arb b/lib/l10n/ar.arb new file mode 100644 index 00000000..898255fd --- /dev/null +++ b/lib/l10n/ar.arb @@ -0,0 +1,254 @@ +{ + "@@locale": "ar", + "invalidPhoneNumber": "رقم الهاتف غير صحيح", + "invalidCountry": "دولة غير صحيح", + "invalidMobilePhoneNumber": "رقم الهاتف الخلوي غير صحيح", + "invalidFixedLinePhoneNumber": "رقم الهاتف الثابت غير صحيح", + "requiredPhoneNumber": "رقم الهاتف مطلوب", + "noResultMessage": "لا نتيجة", + "ac_": "جزيرة أسنسيون", + "ad_": "أندورا", + "ae_": "الإمارات العربية المتحدة", + "af_": "أفغانستان", + "ag_": "أنتيغوا وبربودا", + "ai_": "أنغيلا", + "al_": "ألبانيا", + "am_": "أرمينيا", + "an_": "جزر الأنتيل الهولندية", + "ao_": "أنغولا", + "aq_": "أنتاركتيكا", + "ar_": "الأرجنتين", + "as_": "ساموا الأمريكية", + "at_": "النمسا", + "au_": "أستراليا", + "aw_": "أروبا", + "ax_": "جزر آلاند", + "az_": "أذربيجان", + "ba_": "البوسنة والهرسك", + "bb_": "بربادوس", + "bd_": "بنغلاديش", + "be_": "بلجيكا", + "bf_": "بوركينا فاسو", + "bg_": "بلغاريا", + "bh_": "البحرين", + "bi_": "بوروندي", + "bj_": "بنين", + "bl_": "سانت بارتيليمي", + "bm_": "برمودا", + "bn_": "بروناي دار السلام", + "bo_": "بوليفيا ، دولة متعددة القوميات", + "bq_": "بونير", + "br_": "البرازيل", + "bs_": "جزر البهاما", + "bt_": "بوتان", + "bw_": "بوتسوانا", + "by_": "بيلاروسيا", + "bz_": "بليز", + "ca_": "كندا", + "cc_": "جزر كوكوس (كيلينغ)", + "cd_": "الكونغو ، جمهورية الكونغو الديمقراطية", + "cf_": "جمهورية افريقيا الوسطى", + "cg_": "الكونغو", + "ch_": "سويسرا", + "ci_": "كوت ديفوار", + "ck_": "جزر كوك", + "cl_": "تشيلي", + "cm_": "الكاميرون", + "cn_": "الصين", + "co_": "كولومبيا", + "cr_": "كوستا ريكا", + "cu_": "كوبا", + "cv_": "الرأس الأخضر", + "cx_": "جزيرة الكريسماس", + "cy_": "قبرص", + "cz_": "الجمهورية التشيكية", + "de_": "ألمانيا", + "dj_": "جيبوتي", + "dk_": "الدنمارك", + "dm_": "دومينيكا", + "do_": "جمهورية الدومينيكان", + "dz_": "الجزائر", + "ec_": "الاكوادور", + "ee_": "إستونيا", + "eg_": "مصر", + "er_": "إريتريا", + "es_": "إسبانيا", + "et_": "أثيوبيا", + "fi_": "فنلندا", + "fj_": "فيجي", + "fk_": "جزر فوكلاند (مالفيناس)", + "fm_": "ولايات ميكرونيزيا الموحدة", + "fo_": "جزر فاروس", + "fr_": "فرنسا", + "ga_": "الجابون", + "gb_": "المملكة المتحدة", + "gd_": "غرينادا", + "ge_": "جورجيا", + "gf_": "غيانا الفرنسية", + "gg_": "غيرنسي", + "gh_": "غانا", + "gi_": "جبل طارق", + "gl_": "الأرض الخضراء", + "gm_": "غامبيا", + "gn_": "غينيا", + "gp_": "جوادلوب", + "gq_": "غينيا الإستوائية", + "gr_": "اليونان", + "gs_": "جورجيا الجنوبية وجزر ساندويتش الجنوبية", + "gt_": "غواتيمالا", + "gu_": "غوام", + "gw_": "غينيا بيساو", + "gy_": "غيانا", + "hk_": "هونج كونج", + "hn_": "هندوراس", + "hr_": "كرواتيا", + "ht_": "هايتي", + "hu_": "هنغاريا", + "id_": "إندونيسيا", + "ie_": "أيرلندا", + "il_": "إسرائيل", + "im_": "جزيرة آيل أوف مان", + "in_": "الهند", + "io_": "إقليم المحيط البريطاني الهندي", + "iq_": "العراق", + "ir_": "إيران ، جمهورية الخليج الإسلامية", + "is_": "أيسلندا", + "it_": "إيطاليا", + "je_": "جيرسي", + "jm_": "جامايكا", + "jo_": "الأردن", + "jp_": "اليابان", + "ke_": "كينيا", + "kg_": "قيرغيزستان", + "kh_": "كمبوديا", + "ki_": "كيريباتي", + "km_": "جزر القمر", + "kn_": "سانت كيتس ونيفيس", + "kp_": "كوريا ، جمهورية كوريا الشعبية الديمقراطية", + "kr_": "كوريا ، جمهورية كوريا الجنوبية", + "kw_": "الكويت", + "ky_": "جزر كايمان", + "kz_": "كازاخستان", + "la_": "لاوس", + "lb_": "لبنان", + "lc_": "القديسة لوسيا", + "li_": "ليختنشتاين", + "lk_": "سيريلانكا", + "lr_": "ليبيريا", + "ls_": "ليسوتو", + "lt_": "ليتوانيا", + "lu_": "لوكسمبورغ", + "lv_": "لاتفيا", + "ly_": "ليبيا", + "ma_": "المغرب", + "mc_": "موناكو", + "md_": "مولدوفا", + "me_": "الجبل الأسود", + "mf_": "القديس مارتن", + "mg_": "مدغشقر", + "mh_": "جزر مارشال", + "mk_": "مقدونيا", + "ml_": "مالي", + "mm_": "ميانمار", + "mn_": "منغوليا", + "mo_": "ماكاو", + "mp_": "جزر مريانا الشمالية", + "mq_": "مارتينيك", + "mr_": "موريتانيا", + "ms_": "مونتسيرات", + "mt_": "مالطا", + "mu_": "موريشيوس", + "mv_": "جزر المالديف", + "mw_": "ملاوي", + "mx_": "المكسيك", + "my_": "ماليزيا", + "mz_": "موزمبيق", + "na_": "ناميبيا", + "nc_": "كاليدونيا الجديدة", + "ne_": "النيجر", + "nf_": "جزيرة نورفولك", + "ng_": "نيجيريا", + "ni_": "نيكاراغوا", + "nl_": "هولندا", + "no_": "النرويج", + "np_": "نيبال", + "nr_": "ناورو", + "nu_": "نيوي", + "nz_": "نيوزيلاندا", + "om_": "سلطنة عمان", + "pa_": "بنما", + "pe_": "بيرو", + "pf_": "بولينيزيا الفرنسية", + "pg_": "بابوا غينيا الجديدة", + "ph_": "فيلبيني", + "pk_": "باكستان", + "pl_": "بولندا", + "pm_": "سانت بيير وميكلون", + "pn_": "بيتكيرن", + "pr_": "بورتوريكو", + "ps_": "الأراضي الفلسطينية المحتلة", + "pt_": "البرتغال", + "pw_": "بالاو", + "py_": "باراغواي", + "qa_": "دولة قطر", + "re_": "جمع شمل", + "ro_": "رومانيا", + "rs_": "صربيا", + "ru_": "روسيا", + "rw_": "رواندا", + "sa_": "المملكة العربية السعودية", + "sb_": "جزر سليمان", + "sc_": "سيشيل", + "sd_": "السودان", + "se_": "السويد", + "sg_": "سنغافورة", + "sh_": "سانت هيلانة وأسنسيون وتريستان دا كونها", + "si_": "سلوفينيا", + "sj_": "سفالبارد وجان ماين", + "sk_": "سلوفاكيا", + "sl_": "سيرا ليون", + "sm_": "سان مارينو", + "sn_": "السنغال", + "so_": "الصومال", + "sr_": "سورينام", + "ss_": "جنوب السودان", + "st_": "ساو تومي وبرينسيبي", + "sv_": "السلفادور", + "sy_": "الجمهورية العربية السورية", + "sz_": "سوازيلاند", + "ta_": "تريستان دا كونها", + "tc_": "جزر تركس وكايكوس", + "td_": "تشاد", + "tg_": "توجو", + "th_": "تايلاند", + "tj_": "طاجيكستان", + "tk_": "توكيلاو", + "tl_": "تيمور ليشتي", + "tm_": "تركمانستان", + "tn_": "تونس", + "to_": "تونغا", + "tr_": "ديك رومى", + "tt_": "ترينداد وتوباغو", + "tv_": "توفالو", + "tw_": "تايوان", + "tz_": "تنزانيا ، جمهورية تنزانيا المتحدة", + "ua_": "أوكرانيا", + "ug_": "أوغندا", + "us_": "الولايات المتحدة الأمريكية", + "uy_": "أوروغواي", + "uz_": "أوزبكستان", + "va_": "الكرسي الرسولي (دولة الفاتيكان)", + "vc_": "سانت فنسنت وجزر غرينادين", + "ve_": "فنزويلا", + "vg_": "جزر العذراء البريطانية", + "vi_": "جزر فيرجن الأمريكية", + "vn_": "فيتنام", + "vu_": "فانواتو", + "wf_": "واليس وفوتونا", + "ws_": "ساموا", + "ye_": "اليمن", + "yt_": "مايوت", + "za_": "جنوب أفريقيا", + "zm_": "زامبيا", + "zw_": "زيمبابوي" +} \ No newline at end of file diff --git a/lib/l10n/de.arb b/lib/l10n/de.arb new file mode 100644 index 00000000..4d13f843 --- /dev/null +++ b/lib/l10n/de.arb @@ -0,0 +1,254 @@ +{ + "@@locale": "de", + "invalidPhoneNumber": "Ungültige Telefonnummer", + "invalidCountry": "Ungültiges Land", + "invalidMobilePhoneNumber": "Ungültige Handynummer", + "invalidFixedLinePhoneNumber": "Ungültige Festnetznummer", + "requiredPhoneNumber": "Telefonnummer erforderlich", + "noResultMessage": "Kein Ergebnis", + "ac_": "Himmelfahrtsinsel", + "ad_": "Andorra", + "ae_": "Vereinigte Arabische Emirate", + "af_": "Afghanistan", + "ag_": "Antigua und Barbuda", + "ai_": "Anguilla", + "al_": "Albanien", + "am_": "Armenien", + "an_": "Niederländische Antillen", + "ao_": "Angola", + "aq_": "Antarktis", + "ar_": "Argentinien", + "as_": "Amerikanischen Samoa-Inseln", + "at_": "Österreich", + "au_": "Australien", + "aw_": "Aruba", + "ax_": "Aland Islands", + "az_": "Aserbaidschan", + "ba_": "Bosnien und Herzegowina", + "bb_": "Barbados", + "bd_": "Bangladesch", + "be_": "Belgien", + "bf_": "Burkina Faso", + "bg_": "Bulgarien", + "bh_": "Bahrain", + "bi_": "Burundi", + "bj_": "Benin", + "bl_": "Heiliger Barthelemy", + "bm_": "Bermuda", + "bn_": "Brunei Darussalam", + "bo_": "Bolivien, Plurinationaler Staat", + "bq_": "Bonaire", + "br_": "Brasilien", + "bs_": "Bahamas", + "bt_": "Bhutan", + "bw_": "Botswana", + "by_": "Weißrussland", + "bz_": "Belize", + "ca_": "Kanada", + "cc_": "Kokosinseln (Keelinginseln)", + "cd_": "Kongo, Demokratische Republik Kongo", + "cf_": "Zentralafrikanische Republik", + "cg_": "Kongo", + "ch_": "Schweiz", + "ci_": "Elfenbeinküste", + "ck_": "Cookinseln", + "cl_": "Chile", + "cm_": "Kamerun", + "cn_": "China", + "co_": "Kolumbien", + "cr_": "Costa Rica", + "cu_": "Kuba", + "cv_": "Kap Verde", + "cx_": "Weihnachtsinsel", + "cy_": "Zypern", + "cz_": "Tschechien", + "de_": "Deutschland", + "dj_": "Dschibuti", + "dk_": "Dänemark", + "dm_": "Dominica", + "do_": "Dominikanische Republik", + "dz_": "Algerien", + "ec_": "Ecuador", + "ee_": "Estland", + "eg_": "Ägypten", + "er_": "Eritrea", + "es_": "Spanien", + "et_": "Äthiopien", + "fi_": "Finnland", + "fj_": "Fidschi", + "fk_": "Falklandinseln (Malvinas)", + "fm_": "Mikronesien, Föderierte Staaten von Mikronesien", + "fo_": "Färöer Inseln", + "fr_": "Frankreich", + "ga_": "Gabun", + "gb_": "Vereinigtes Königreich", + "gd_": "Grenada", + "ge_": "Georgia", + "gf_": "Französisch-Guayana", + "gg_": "Guernsey", + "gh_": "Ghana", + "gi_": "Gibraltar", + "gl_": "Grönland", + "gm_": "Gambia", + "gn_": "Guinea", + "gp_": "Guadeloupe", + "gq_": "Äquatorialguinea", + "gr_": "Griechenland", + "gs_": "Süd-Georgien und die südlichen Sandwich-Inseln", + "gt_": "Guatemala", + "gu_": "Guam", + "gw_": "Guinea-Bissau", + "gy_": "Guyana", + "hk_": "Hongkong", + "hn_": "Honduras", + "hr_": "Kroatien", + "ht_": "Haiti", + "hu_": "Ungarn", + "id_": "Indonesien", + "ie_": "Irland", + "il_": "Israel", + "im_": "Isle of Man", + "in_": "Indien", + "io_": "Britisches Territorium des Indischen Ozeans", + "iq_": "Irak", + "ir_": "Iran, Islamische Republik Persischer Golf", + "is_": "Island", + "it_": "Italien", + "je_": "Jersey", + "jm_": "Jamaika", + "jo_": "Jordanien", + "jp_": "Japan", + "ke_": "Kenia", + "kg_": "Kirgisistan", + "kh_": "Kambodscha", + "ki_": "Kiribati", + "km_": "Komoren", + "kn_": "St. Kitts und Nevis", + "kp_": "Korea, Demokratische Volksrepublik Korea", + "kr_": "Korea, Republik Südkorea", + "kw_": "Kuwait", + "ky_": "Cayman Inseln", + "kz_": "Kasachstan", + "la_": "Laos", + "lb_": "Libanon", + "lc_": "St. Lucia", + "li_": "Liechtenstein", + "lk_": "Sri Lanka", + "lr_": "Liberia", + "ls_": "Lesotho", + "lt_": "Litauen", + "lu_": "Luxemburg", + "lv_": "Lettland", + "ly_": "Libyscher arabischer Jamahiriya", + "ma_": "Marokko", + "mc_": "Monaco", + "md_": "Moldawien", + "me_": "Montenegro", + "mf_": "Sankt Martin", + "mg_": "Madagaskar", + "mh_": "Marshallinseln", + "mk_": "Mazedonien", + "ml_": "Mali", + "mm_": "Myanmar", + "mn_": "Mongolei", + "mo_": "Macao", + "mp_": "Nördliche Marianneninseln", + "mq_": "Martinique", + "mr_": "Mauretanien", + "ms_": "Montserrat", + "mt_": "Malta", + "mu_": "Mauritius", + "mv_": "Malediven", + "mw_": "Malawi", + "mx_": "Mexiko", + "my_": "Malaysia", + "mz_": "Mosambik", + "na_": "Namibia", + "nc_": "Neu-Kaledonien", + "ne_": "Niger", + "nf_": "Norfolkinsel", + "ng_": "Nigeria", + "ni_": "Nicaragua", + "nl_": "Niederlande", + "no_": "Norwegen", + "np_": "Nepal", + "nr_": "Nauru", + "nu_": "Niue", + "nz_": "Neuseeland", + "om_": "Oman", + "pa_": "Panama", + "pe_": "Peru", + "pf_": "Französisch Polynesien", + "pg_": "Papua Neu-Guinea", + "ph_": "Philippinen", + "pk_": "Pakistan", + "pl_": "Polen", + "pm_": "Saint Pierre und Miquelon", + "pn_": "Pitcairn", + "pr_": "Puerto Rico", + "ps_": "Besetzte palästinensische Gebiete", + "pt_": "Portugal", + "pw_": "Palau", + "py_": "Paraguay", + "qa_": "Katar", + "re_": "Wiedervereinigung", + "ro_": "Rumänien", + "rs_": "Serbien", + "ru_": "Russland", + "rw_": "Ruanda", + "sa_": "Saudi-Arabien", + "sb_": "Salomon-Inseln", + "sc_": "Seychellen", + "sd_": "Sudan", + "se_": "Schweden", + "sg_": "Singapur", + "sh_": "St. Helena, Himmelfahrt und Tristan Da Cunha", + "si_": "Slowenien", + "sj_": "Spitzbergen und Jan Mayen", + "sk_": "Slowakei", + "sl_": "Sierra Leone", + "sm_": "San Marino", + "sn_": "Senegal", + "so_": "Somalia", + "sr_": "Suriname", + "ss_": "Südsudan", + "st_": "Sao Tome und Principe", + "sv_": "El Salvador", + "sy_": "Syrische Arabische Republik", + "sz_": "Swasiland", + "ta_": "Tristan da Cunha", + "tc_": "Turks- und Caicosinseln", + "td_": "Tschad", + "tg_": "Gehen", + "th_": "Thailand", + "tj_": "Tadschikistan", + "tk_": "Tokelau", + "tl_": "Timor-Leste", + "tm_": "Turkmenistan", + "tn_": "Tunesien", + "to_": "Tonga", + "tr_": "Truthahn", + "tt_": "Trinidad und Tobago", + "tv_": "Tuvalu", + "tw_": "Taiwan", + "tz_": "Tansania, Vereinigte Republik Tansania", + "ua_": "Ukraine", + "ug_": "Uganda", + "us_": "Vereinigte Staaten", + "uy_": "Uruguay", + "uz_": "Usbekistan", + "va_": "Heiliger Stuhl (Staat der Vatikanstadt)", + "vc_": "St. Vincent und die Grenadinen", + "ve_": "Venezuela", + "vg_": "Virgin Inseln, Britisch", + "vi_": "Jungferninseln, USA", + "vn_": "Vietnam", + "vu_": "Vanuatu", + "wf_": "Wallis und Futuna", + "ws_": "Samoa", + "ye_": "Jemen", + "yt_": "Mayotte", + "za_": "Südafrika", + "zm_": "Sambia", + "zw_": "Zimbabwe" +} \ No newline at end of file diff --git a/lib/l10n/el.arb b/lib/l10n/el.arb new file mode 100644 index 00000000..a4826dfe --- /dev/null +++ b/lib/l10n/el.arb @@ -0,0 +1,252 @@ +{ + "@@locale": "el", + "invalidPhoneNumber": "Μη έγκυρος αριθμός τηλεφώνου", + "invalidCountry": "Μη έγκυρη χώρα", + "invalidMobilePhoneNumber": "Μη έγκυρος αριθμός κινητού τηλεφώνου", + "invalidFixedLinePhoneNumber": "Μη έγκυρος αριθμός σταθερού τηλεφώνου", + "requiredPhoneNumber": "Απαιτούμενος αριθμός τηλεφώνου", + "noResultMessage": "Κανένα αποτέλεσμα", + "ac_": "Νησί της Ανάληψης", + "ad_": "Ανδόρα", + "ae_": "Ηνωμένα Αραβικά Εμιράτα", + "af_": "Αφγανιστάν", + "ag_": "Αντίγκουα και Μπαρμπούντα", + "ai_": "Ανγκουίλα", + "al_": "Αλβανία", + "am_": "Αρμενία", + "an_": "Ολλανδικές Αντίλλες", + "ao_": "Αγκόλα", + "aq_": "Ανταρκτική", + "ar_": "Αργεντίνη", + "as_": "Αμερικάνικη Σαμόα", + "at_": "Αυστρία", + "au_": "Αυστραλία", + "aw_": "Αρούμπα", + "ax_": "Νησιά Άλαντ", + "az_": "Αζερμπαϊτζάν", + "ba_": "Βοσνία και Ερζεγοβίνη", + "bb_": "Μπαρμπάντος", + "bd_": "Μπαγκλαντές", + "be_": "Βέλγιο", + "bf_": "Μπουρκίνα Φάσο", + "bg_": "Βουλγαρία", + "bh_": "Μπαχρέιν", + "bi_": "Μπουρούντι", + "bj_": "Μπενίν", + "bl_": "Άγιος Βαρθολομαίος", + "bm_": "Βερμούδα", + "bn_": "Μπρουνάι Νταρουσαλάμ", + "bo_": "Βολιβία, πολυεθνικό κράτος της", + "bq_": "Μποναίρ", + "br_": "Βραζιλία", + "bs_": "Μπαχάμες", + "bt_": "Μπουτάν", + "bw_": "Μποτσουάνα", + "by_": "Λευκορωσία", + "bz_": "Μπελίζ", + "ca_": "Καναδάς", + "cc_": "Νησιά Cocos (Keeling).", + "cd_": "Κονγκό, Λαϊκή Δημοκρατία του Κονγκό", + "cf_": "Δημοκρατία Κεντρικής Αφρικής", + "cg_": "Κογκό", + "ch_": "Ελβετία", + "ci_": "Ακτή Ελεφαντοστού", + "ck_": "Νήσοι Κουκ", + "cl_": "Χιλή", + "cm_": "Καμερούν", + "cn_": "Κίνα", + "co_": "Κολομβία", + "cr_": "Κόστα Ρίκα", + "cu_": "Κούβα", + "cv_": "Πράσινο Ακρωτήριο", + "cx_": "Νησί των Χριστουγέννων", + "cy_": "Κύπρος", + "cz_": "Τσεχική Δημοκρατία", + "de_": "Γερμανία", + "dj_": "Τζιμπουτί", + "dk_": "Δανία", + "dm_": "Δομίνικα", + "do_": "Δομινικανή Δημοκρατία", + "dz_": "Αλγερία", + "ec_": "Εκουαδόρ", + "ee_": "Εσθονία", + "eg_": "Αίγυπτος", + "er_": "Ερυθραία", + "es_": "Ισπανία", + "et_": "Αιθιοπία", + "fi_": "Φινλανδία", + "fj_": "Φίτζι", + "fk_": "Νησιά Φώκλαντ (Μαλβίνες)", + "fm_": "Μικρονησία, Ομόσπονδα Κράτη της Μικρονησίας", + "fo_": "Νήσοι Φερόες", + "fr_": "Γαλλία", + "ga_": "Γκαμπόν", + "gb_": "Ηνωμένο Βασίλειο", + "gd_": "Γρενάδα", + "ge_": "Γεωργία", + "gf_": "Γαλλική Γουιάνα", + "gg_": "Γκέρνσεϊ", + "gh_": "Γκάνα", + "gi_": "Γιβραλτάρ", + "gl_": "Γροιλανδία", + "gm_": "Γκάμπια", + "gn_": "Γκινέα", + "gp_": "Γουαδελούπη", + "gq_": "Ισημερινή Γουινέα", + "gr_": "Ελλάδα", + "gs_": "Νότια Γεωργία και τα Νότια Σάντουιτς Νησιά", + "gt_": "Γουατεμάλα", + "gu_": "Γκουάμ", + "gw_": "Γουινέα-Μπισάου", + "gy_": "Γουιάνα", + "hk_": "Χονγκ Κονγκ", + "hn_": "Ονδούρα", + "hr_": "Κροατία", + "ht_": "Αΐτη", + "hu_": "Ουγγαρία", + "id_": "Ινδονησία", + "ie_": "Ιρλανδία", + "il_": "Ισραήλ", + "im_": "Isle of Man", + "in_": "Ινδία", + "io_": "Βρετανική επικράτεια Ινδικού Ωκεανού", + "iq_": "Ιράκ", + "ir_": "Ιράν, Ισλαμική Δημοκρατία του Περσικού Κόλπου", + "is_": "Ισλανδία", + "it_": "Ιταλία", + "je_": "Φανέλα", + "jm_": "Ιαμαϊκή", + "jo_": "Ιορδανία", + "jp_": "Ιαπωνία", + "ke_": "Κενύα", + "kg_": "Κιργιζιστάν", + "kh_": "Καμπότζη", + "ki_": "Κιριμπάτι", + "km_": "Κομόρες", + "kn_": "Saint Kitts and Nevis", + "kp_": "Κορέα, Λαϊκή Δημοκρατία της Κορέας", + "kr_": "Κορέα, Δημοκρατία της Νότιας Κορέας", + "kw_": "Κουβέιτ", + "ky_": "Νησιά Κέιμαν", + "kz_": "Καζακστάν", + "la_": "Λάος", + "lb_": "Λίβανος", + "lc_": "Αγία Λουκία", + "li_": "Λιχτενστάιν", + "lk_": "Σρι Λάνκα", + "lr_": "Λιβερία", + "ls_": "Λεσότο", + "lt_": "Λιθουανία", + "lu_": "Λουξεμβούργο", + "lv_": "Λετονία", + "ly_": "Λιβυκή Αραβική Τζαμαχίρια", + "ma_": "Μαρόκο", + "mc_": "Μονακό", + "md_": "Μολδαβία", + "me_": "Μαυροβούνιο", + "mf_": "Άγιος Μαρτίνος", + "mg_": "Μαδαγασκάρη", + "mh_": "Νήσοι Μάρσαλ", + "mk_": "Μακεδόνια", + "ml_": "Μάλι", + "mm_": "Μιανμάρ", + "mn_": "Μογγολία", + "mo_": "Μακάο", + "mp_": "Βορεια Νησια Μαριανα", + "mq_": "Μαρτινίκα", + "mr_": "Μαυριτανία", + "ms_": "Μονσεράτ", + "mt_": "Μάλτα", + "mu_": "Μαυρίκιος", + "mv_": "Μαλδίβες", + "mw_": "Μαλάουι", + "mx_": "Μεξικό", + "my_": "Μαλαισία", + "mz_": "Μοζαμβίκη", + "na_": "Ναμίμπια", + "nc_": "Νέα Καληδονία", + "ne_": "Νίγηρας", + "nf_": "Νησί Νόρφολκ", + "ng_": "Νιγηρία", + "ni_": "Νικαράγουα", + "nl_": "Ολλανδία", + "no_": "Νορβηγία", + "np_": "Νεπάλ", + "nr_": "Ναούρου", + "nu_": "Niue", + "nz_": "Νέα Ζηλανδία", + "om_": "Ομάν", + "pa_": "Παναμάς", + "pe_": "Περού", + "pf_": "Γαλλική Πολυνησία", + "pg_": "Παπούα Νέα Γουινέα", + "ph_": "Φιλιππίνες", + "pk_": "Πακιστάν", + "pl_": "Πολωνία", + "pm_": "Saint Pierre and Miquelon", + "pn_": "Πίτκερν", + "pr_": "Πουέρτο Ρίκο", + "ps_": "Παλαιστινιακό έδαφος, κατεχόμενο", + "pt_": "Πορτογαλία", + "pw_": "Παλάου", + "py_": "Παραγουάη", + "qa_": "Κατάρ", + "re_": "Επανένωση", + "ro_": "Ρουμανία", + "rs_": "Σερβία", + "ru_": "Ρωσία", + "rw_": "Ρουάντα", + "sa_": "Σαουδική Αραβία", + "sb_": "Νησιά του Σολομώντα", + "sc_": "Σεϋχέλλες", + "sd_": "Σουδάν", + "se_": "Σουηδία", + "sg_": "Σιγκαπούρη", + "si_": "Σλοβενία", + "sk_": "Σλοβακία", + "sl_": "Σιέρρα Λεόνε", + "sm_": "Σαν Μαρίνο", + "sn_": "Σενεγάλη", + "so_": "Σομαλία", + "sr_": "Σουρινάμ", + "ss_": "Νότιο Σουδάν", + "st_": "Σάο Τομέ και Πρίνσιπε", + "sv_": "Ελ Σαλβαδόρ", + "sy_": "Αραβική Δημοκρατία της Συρίας", + "sz_": "Σουαζιλάνδη", + "ta_": "Τριστάν ντα Κούνια", + "tc_": "Νήσοι Τερκς και Κάικος", + "td_": "Τσαντ", + "tg_": "Τογκό", + "th_": "Ταϊλάνδη", + "tj_": "Τατζικιστάν", + "tk_": "Τοκελάου", + "tl_": "Ανατολικό Τιμόρ", + "tm_": "Τουρκμενιστάν", + "tn_": "Τυνησία", + "to_": "Τόνγκα", + "tr_": "Τουρκία", + "tt_": "Τρινιντάντ και Τομπάγκο", + "tv_": "Τουβαλού", + "tw_": "Ταϊβάν", + "tz_": "Τανζανία, Ενωμένη Δημοκρατία της Τανζανίας", + "ua_": "Ουκρανία", + "ug_": "Ουγκάντα", + "us_": "Ηνωμένες Πολιτείες", + "uy_": "Ουρουγουάη", + "uz_": "Ουζμπεκιστάν", + "va_": "Αγία Έδρα (Κράτος της Πόλης του Βατικανού)", + "vc_": "Άγιος Βικέντιος και Γρεναδίνες", + "ve_": "Βενεζουέλα", + "vg_": "Παρθένοι Νήσοι, Βρετανοί", + "vi_": "Παρθένοι Νήσοι, Η.Π.Α.", + "vn_": "Βιετνάμ", + "vu_": "Βανουάτου", + "wf_": "Wallis και Futuna", + "ws_": "Σαμόα", + "ye_": "Γέμενη", + "yt_": "Μαγιότ", + "za_": "Νότια Αφρική", + "zm_": "Ζάμπια", + "zw_": "Ζιμπάμπουe" +} \ No newline at end of file diff --git a/lib/l10n/en.arb b/lib/l10n/en.arb new file mode 100644 index 00000000..1de71e5d --- /dev/null +++ b/lib/l10n/en.arb @@ -0,0 +1,252 @@ +{ + "@@locale": "en", + "invalidPhoneNumber": "Invalid phone number", + "invalidCountry": "Invalid country", + "invalidMobilePhoneNumber": "Invalid mobile phone number", + "invalidFixedLinePhoneNumber": "Invalid fixed line phone number", + "requiredPhoneNumber": "Required phone number", + "noResultMessage": "No result", + "ac_": "Ascension Island", + "ad_": "Andorra", + "ae_": "United Arab Emirates", + "af_": "Afghanistan", + "ag_": "Antigua and Barbuda", + "ai_": "Anguilla", + "al_": "Albania", + "am_": "Armenia", + "an_": "Netherlands Antilles", + "ao_": "Angola", + "aq_": "Antarctica", + "ar_": "Argentina", + "as_": "American Samoa", + "at_": "Austria", + "au_": "Australia", + "aw_": "Aruba", + "ax_": "Aland Islands", + "az_": "Azerbaijan", + "ba_": "Bosnia and Herzegovina", + "bb_": "Barbados", + "bd_": "Bangladesh", + "be_": "Belgium", + "bf_": "Burkina Faso", + "bg_": "Bulgaria", + "bh_": "Bahrain", + "bi_": "Burundi", + "bj_": "Benin", + "bl_": "Saint Barthelemy", + "bm_": "Bermuda", + "bn_": "Brunei Darussalam", + "bo_": "Bolivia, Plurinational State of", + "bq_": "Bonaire", + "br_": "Brazil", + "bs_": "Bahamas", + "bt_": "Bhutan", + "bw_": "Botswana", + "by_": "Belarus", + "bz_": "Belize", + "ca_": "Canada", + "cc_": "Cocos (Keeling) Islands", + "cd_": "Congo, The Democratic Republic of the Congo", + "cf_": "Central African Republic", + "cg_": "Congo", + "ch_": "Switzerland", + "ci_": "Cote d'Ivoire", + "ck_": "Cook Islands", + "cl_": "Chile", + "cm_": "Cameroon", + "cn_": "China", + "co_": "Colombia", + "cr_": "Costa Rica", + "cu_": "Cuba", + "cv_": "Cape Verde", + "cx_": "Christmas Island", + "cy_": "Cyprus", + "cz_": "Czech Republic", + "de_": "Germany", + "dj_": "Djibouti", + "dk_": "Denmark", + "dm_": "Dominica", + "do_": "Dominican Republic", + "dz_": "Algeria", + "ec_": "Ecuador", + "ee_": "Estonia", + "eg_": "Egypt", + "er_": "Eritrea", + "es_": "Spain", + "et_": "Ethiopia", + "fi_": "Finland", + "fj_": "Fiji", + "fk_": "Falkland Islands (Malvinas)", + "fm_": "Micronesia, Federated States of Micronesia", + "fo_": "Faroe Islands", + "fr_": "France", + "ga_": "Gabon", + "gb_": "United Kingdom", + "gd_": "Grenada", + "ge_": "Georgia", + "gf_": "French Guiana", + "gg_": "Guernsey", + "gh_": "Ghana", + "gi_": "Gibraltar", + "gl_": "Greenland", + "gm_": "Gambia", + "gn_": "Guinea", + "gp_": "Guadeloupe", + "gq_": "Equatorial Guinea", + "gr_": "Greece", + "gs_": "South Georgia and the South Sandwich Islands", + "gt_": "Guatemala", + "gu_": "Guam", + "gw_": "Guinea-Bissau", + "gy_": "Guyana", + "hk_": "Hong Kong", + "hn_": "Honduras", + "hr_": "Croatia", + "ht_": "Haiti", + "hu_": "Hungary", + "id_": "Indonesia", + "ie_": "Ireland", + "il_": "Israel", + "im_": "Isle of Man", + "in_": "India", + "io_": "British Indian Ocean Territory", + "iq_": "Iraq", + "ir_": "Iran, Islamic Republic of", + "is_": "Iceland", + "it_": "Italy", + "je_": "Jersey", + "jm_": "Jamaica", + "jo_": "Jordan", + "jp_": "Japan", + "ke_": "Kenya", + "kg_": "Kyrgyzstan", + "kh_": "Cambodia", + "ki_": "Kiribati", + "km_": "Comoros", + "kn_": "Saint Kitts and Nevis", + "kp_": "Korea, Democratic People's Republic of Korea", + "kr_": "Korea, Republic of South Korea", + "kw_": "Kuwait", + "ky_": "Cayman Islands", + "kz_": "Kazakhstan", + "la_": "Laos", + "lb_": "Lebanon", + "lc_": "Saint Lucia", + "li_": "Liechtenstein", + "lk_": "Sri Lanka", + "lr_": "Liberia", + "ls_": "Lesotho", + "lt_": "Lithuania", + "lu_": "Luxembourg", + "lv_": "Latvia", + "ly_": "Libya", + "ma_": "Morocco", + "mc_": "Monaco", + "md_": "Moldova", + "me_": "Montenegro", + "mf_": "Saint Martin", + "mg_": "Madagascar", + "mh_": "Marshall Islands", + "mk_": "Macedonia", + "ml_": "Mali", + "mm_": "Myanmar", + "mn_": "Mongolia", + "mo_": "Macao", + "mp_": "Northern Mariana Islands", + "mq_": "Martinique", + "mr_": "Mauritania", + "ms_": "Montserrat", + "mt_": "Malta", + "mu_": "Mauritius", + "mv_": "Maldives", + "mw_": "Malawi", + "mx_": "Mexico", + "my_": "Malaysia", + "mz_": "Mozambique", + "na_": "Namibia", + "nc_": "New Caledonia", + "ne_": "Niger", + "nf_": "Norfolk Island", + "ng_": "Nigeria", + "ni_": "Nicaragua", + "nl_": "Netherlands", + "no_": "Norway", + "np_": "Nepal", + "nr_": "Nauru", + "nu_": "Niue", + "nz_": "New Zealand", + "om_": "Oman", + "pa_": "Panama", + "pe_": "Peru", + "pf_": "French Polynesia", + "pg_": "Papua New Guinea", + "ph_": "Philippines", + "pk_": "Pakistan", + "pl_": "Poland", + "pm_": "Saint Pierre and Miquelon", + "pn_": "Pitcairn", + "pr_": "Puerto Rico", + "ps_": "Palestinian Territory, Occupied", + "pt_": "Portugal", + "pw_": "Palau", + "py_": "Paraguay", + "qa_": "Qatar", + "re_": "Reunion", + "ro_": "Romania", + "rs_": "Serbia", + "ru_": "Russia", + "rw_": "Rwanda", + "sa_": "Saudi Arabia", + "sb_": "Solomon Islands", + "sc_": "Seychelles", + "sd_": "Sudan", + "se_": "Sweden", + "sg_": "Singapore", + "si_": "Slovenia", + "sk_": "Slovakia", + "sl_": "Sierra Leone", + "sm_": "San Marino", + "sn_": "Senegal", + "so_": "Somalia", + "sr_": "Suriname", + "ss_": "South Sudan", + "st_": "Sao Tome and Principe", + "sv_": "El Salvador", + "sy_": "Syrian Arab Republic", + "sz_": "Swaziland", + "ta_": "Tristan da Cunha", + "tc_": "Turks and Caicos Islands", + "td_": "Chad", + "tg_": "Togo", + "th_": "Thailand", + "tj_": "Tajikistan", + "tk_": "Tokelau", + "tl_": "Timor-Leste", + "tm_": "Turkmenistan", + "tn_": "Tunisia", + "to_": "Tonga", + "tr_": "Türkiye", + "tt_": "Trinidad and Tobago", + "tv_": "Tuvalu", + "tw_": "Taiwan", + "tz_": "Tanzania, United Republic of Tanzania", + "ua_": "Ukraine", + "ug_": "Uganda", + "us_": "United States", + "uy_": "Uruguay", + "uz_": "Uzbekistan", + "va_": "Holy See (Vatican City State)", + "vc_": "Saint Vincent and the Grenadines", + "ve_": "Venezuela", + "vg_": "Virgin Islands, British", + "vi_": "Virgin Islands, U.S.", + "vn_": "Vietnam", + "vu_": "Vanuatu", + "wf_": "Wallis and Futuna", + "ws_": "Samoa", + "ye_": "Yemen", + "yt_": "Mayotte", + "za_": "South Africa", + "zm_": "Zambia", + "zw_": "Zimbabwe" +} \ No newline at end of file diff --git a/lib/l10n/es.arb b/lib/l10n/es.arb new file mode 100644 index 00000000..79484c41 --- /dev/null +++ b/lib/l10n/es.arb @@ -0,0 +1,254 @@ +{ + "@@locale": "es", + "invalidPhoneNumber": "Numero de telefono invalido", + "invalidCountry": "País invalido", + "invalidMobilePhoneNumber": "Número de teléfono celular invalido", + "invalidFixedLinePhoneNumber": "Número de teléfono fijo invalido", + "requiredPhoneNumber": "Número de teléfono obligatorio", + "noResultMessage": "Sin resultados", + "ac_": "Isla Ascencion", + "ad_": "Andorra", + "ae_": "Emiratos Árabes Unidos", + "af_": "Afganistán", + "ag_": "Antigua y Barbuda", + "ai_": "Anguila", + "al_": "Albania", + "am_": "Armenia", + "an_": "Antillas Holandesas", + "ao_": "Angola", + "aq_": "Antártida", + "ar_": "Argentina", + "as_": "Samoa Americana", + "at_": "Austria", + "au_": "Australia", + "aw_": "Aruba", + "ax_": "Islas Aland", + "az_": "Azerbaiyán", + "ba_": "Bosnia y Herzegovina", + "bb_": "Barbados", + "bd_": "Bangladesh", + "be_": "Bélgica", + "bf_": "Burkina Faso", + "bg_": "Bulgaria", + "bh_": "Bahréin", + "bi_": "Burundi", + "bj_": "Benin", + "bl_": "San Bartolomé", + "bm_": "islas Bermudas", + "bn_": "Brunei Darussalam", + "bo_": "Bolivia, Estado Plurinacional de", + "bq_": "Bonaire", + "br_": "Brasil", + "bs_": "Bahamas", + "bt_": "Bután", + "bw_": "Botswana", + "by_": "Bielorrusia", + "bz_": "Belice", + "ca_": "Canadá", + "cc_": "Islas Cocos (Keeling)", + "cd_": "Congo, República Democrática del Congo", + "cf_": "República Centroafricana", + "cg_": "Congo", + "ch_": "Suiza", + "ci_": "Costa de Marfil", + "ck_": "Islas Cook", + "cl_": "Chile", + "cm_": "Camerún", + "cn_": "porcelana", + "co_": "Colombia", + "cr_": "Costa Rica", + "cu_": "Cuba", + "cv_": "Cabo Verde", + "cx_": "Isla de Navidad", + "cy_": "Chipre", + "cz_": "República Checa", + "de_": "Alemania", + "dj_": "Djibouti", + "dk_": "Dinamarca", + "dm_": "Dominica", + "do_": "República Dominicana", + "dz_": "Argelia", + "ec_": "Ecuador", + "ee_": "Estonia", + "eg_": "Egipto", + "er_": "Eritrea", + "es_": "España", + "et_": "Etiopía", + "fi_": "Finlandia", + "fj_": "Fiyi", + "fk_": "Islas Falkland (Malvinas)", + "fm_": "Micronesia, Estados Federados de Micronesia", + "fo_": "Islas Faroe", + "fr_": "Francia", + "ga_": "Gabón", + "gb_": "Reino Unido", + "gd_": "Granada", + "ge_": "Georgia", + "gf_": "Guayana Francesa", + "gg_": "Guernsey", + "gh_": "Ghana", + "gi_": "Gibraltar", + "gl_": "Groenlandia", + "gm_": "Gambia", + "gn_": "Guinea", + "gp_": "Guadalupe", + "gq_": "Guinea Ecuatorial", + "gr_": "Grecia", + "gs_": "Georgia del sur y las islas Sandwich del sur", + "gt_": "Guatemala", + "gu_": "Guam", + "gw_": "Guinea-Bissau", + "gy_": "Guayana", + "hk_": "Hong Kong", + "hn_": "Honduras", + "hr_": "Croacia", + "ht_": "Haití", + "hu_": "Hungría", + "id_": "Indonesia", + "ie_": "Irlanda", + "il_": "Israel", + "im_": "Isla del hombre", + "in_": "India", + "io_": "Territorio Británico del Océano Índico", + "iq_": "Irak", + "ir_": "Irán, República Islámica del Golfo Pérsico", + "is_": "Islandia", + "it_": "Italia", + "je_": "Jersey", + "jm_": "Jamaica", + "jo_": "Jordán", + "jp_": "Japón", + "ke_": "Kenia", + "kg_": "Kirguistán", + "kh_": "Camboya", + "ki_": "Kiribati", + "km_": "Comoras", + "kn_": "Saint Kitts y Nevis", + "kp_": "Corea, República Popular Democrática de Corea", + "kr_": "Corea, República de Corea del Sur", + "kw_": "Kuwait", + "ky_": "Islas Caimán", + "kz_": "Kazajstán", + "la_": "Laos", + "lb_": "Líbano", + "lc_": "Santa Lucía", + "li_": "Liechtenstein", + "lk_": "Sri Lanka", + "lr_": "Liberia", + "ls_": "Lesoto", + "lt_": "Lituania", + "lu_": "Luxemburgo", + "lv_": "Letonia", + "ly_": "Jamahiriya Arabe Libia", + "ma_": "Marruecos", + "mc_": "Mónaco", + "md_": "Moldavia", + "me_": "Montenegro", + "mf_": "San Martín", + "mg_": "Madagascar", + "mh_": "Islas Marshall", + "mk_": "macedonia", + "ml_": "Mali", + "mm_": "Myanmar", + "mn_": "Mongolia", + "mo_": "Macao", + "mp_": "Islas Marianas del Norte", + "mq_": "Martinica", + "mr_": "Mauritania", + "ms_": "Montserrat", + "mt_": "Malta", + "mu_": "Mauricio", + "mv_": "Maldivas", + "mw_": "Malawi", + "mx_": "México", + "my_": "Malasia", + "mz_": "Mozambique", + "na_": "Namibia", + "nc_": "Nueva Caledonia", + "ne_": "Níger", + "nf_": "Isla Norfolk", + "ng_": "Nigeria", + "ni_": "Nicaragua", + "nl_": "Países Bajos", + "no_": "Noruega", + "np_": "Nepal", + "nr_": "Nauru", + "nu_": "Niue", + "nz_": "Nueva Zelanda", + "om_": "Omán", + "pa_": "Panamá", + "pe_": "Perú", + "pf_": "Polinesia francés", + "pg_": "Papúa Nueva Guinea", + "ph_": "Filipinas", + "pk_": "Pakistán", + "pl_": "Polonia", + "pm_": "San Pedro y Miquelón", + "pn_": "Pitcairn", + "pr_": "Puerto Rico", + "ps_": "Territorio Palestino, Ocupado", + "pt_": "Portugal", + "pw_": "Palau", + "py_": "Paraguay", + "qa_": "Katar", + "re_": "Reunión", + "ro_": "Rumania", + "rs_": "Serbia", + "ru_": "Rusia", + "rw_": "Ruanda", + "sa_": "Arabia Saudita", + "sb_": "Islas Salomón", + "sc_": "Seychelles", + "sd_": "Sudán", + "se_": "Suecia", + "sg_": "Singapur", + "sh_": "Santa Elena, Ascensión y Tristán de Acuña", + "si_": "Eslovenia", + "sj_": "Svalbard y Jan Mayen", + "sk_": "Eslovaquia", + "sl_": "Sierra Leona", + "sm_": "San Marino", + "sn_": "Senegal", + "so_": "Somalia", + "sr_": "Surinam", + "ss_": "Sudán del Sur", + "st_": "Santo Tomé y Príncipe", + "sv_": "El Salvador", + "sy_": "República Árabe Siria", + "sz_": "Swazilandia", + "ta_": "Tristan da Cunha", + "tc_": "Islas Turcas y Caicos", + "td_": "Chad", + "tg_": "Para llevar", + "th_": "Tailandia", + "tj_": "Tayikistán", + "tk_": "Tokelau", + "tl_": "Timor-Leste", + "tm_": "Turkmenistán", + "tn_": "Túnez", + "to_": "Tonga", + "tr_": "pavo", + "tt_": "Trinidad y Tobago", + "tv_": "Tuvalu", + "tw_": "Taiwán", + "tz_": "Tanzania, República Unida de Tanzania", + "ua_": "Ucrania", + "ug_": "Uganda", + "us_": "Estados Unidos", + "uy_": "Uruguay", + "uz_": "Uzbekistán", + "va_": "Santa Sede (Estado de la Ciudad del Vaticano)", + "vc_": "San Vicente y las Granadinas", + "ve_": "Venezuela", + "vg_": "Islas Vírgenes Británicas", + "vi_": "Islas Vírgenes, EE. UU.", + "vn_": "Vietnam", + "vu_": "Vanuatu", + "wf_": "Wallis y Futuna", + "ws_": "Samoa", + "ye_": "Yemen", + "yt_": "Mayotte", + "za_": "Sudáfrica", + "zm_": "Zambia", + "zw_": "Zimbabue" +} \ No newline at end of file diff --git a/lib/l10n/fa.arb b/lib/l10n/fa.arb new file mode 100644 index 00000000..db4bf2e3 --- /dev/null +++ b/lib/l10n/fa.arb @@ -0,0 +1,252 @@ +{ + "@@locale": "fa", + "invalidPhoneNumber": "شماره تلفن نامعتبر است", + "invalidCountry": "کشور نامعتبر است", + "invalidMobilePhoneNumber": "شماره تلفن همراه نامعتبر است", + "invalidFixedLinePhoneNumber": "شماره تلفن ثابت نامعتبر است", + "requiredPhoneNumber": "شماره تلفن الزامی است", + "noResultMessage": "بدون نتیجه", + "ac_": "جزیره اسنشن", + "ad_": "آندورا", + "ae_": "امارات متحده عربی", + "af_": "افغانستان", + "ag_": "آنتیگوآ و باربودا", + "ai_": "آنگویلا", + "al_": "آلبانی", + "am_": "ارمنستان", + "an_": "آنتیل هلند", + "ao_": "آنگولا", + "aq_": "جنوبگان", + "ar_": "آرژانتین", + "as_": "ساموآی آمریکا", + "at_": "اتریش", + "au_": "استرالیا", + "aw_": "آروبا", + "ax_": "جزایر الند", + "az_": "آذربایجان", + "ba_": "بوسنی و هرزگوین", + "bb_": "باربادوس", + "bd_": "بنگلادش", + "be_": "بلژیک", + "bf_": "بورکینافاسو", + "bg_": "بلغارستان", + "bh_": "بحرین", + "bi_": "بوروندی", + "bj_": "بنین", + "bl_": "سن بارتلمی", + "bm_": "برمودا", + "bn_": "برونئی سرای صلح", + "bo_": "حکومت پلوریناسیونال بولیوی", + "bq_": "بونیر", + "br_": "برزیل", + "bs_": "باهاما", + "bt_": "بوتان", + "bw_": "بوتسوانا", + "by_": "بلاروس", + "bz_": "بلیز", + "ca_": "کانادا", + "cc_": "جزایر (کیلینگ) کوکوس", + "cd_": "کنگو، جمهوری دموکراتیک کنگو", + "cf_": "جمهوری آفریقای مرکزی", + "cg_": "کنگو", + "ch_": "سوئیس", + "ci_": "ساحل عاج", + "ck_": "جزایر کوک", + "cl_": "شیلی", + "cm_": "کامرون", + "cn_": "چین", + "co_": "کلمبیا", + "cr_": "کاستاریکا", + "cu_": "کوبا", + "cv_": "کیپ ورد", + "cx_": "جزیره کریسمس", + "cy_": "قبرس", + "cz_": "جمهوری چک", + "de_": "آلمان", + "dj_": "جیبوتی", + "dk_": "دانمارک", + "dm_": "دومینیکا", + "do_": "جمهوری دومینیکن", + "dz_": "الجزایر", + "ec_": "اکوادور", + "ee_": "استونی", + "eg_": "مصر", + "er_": "اریتره", + "es_": "اسپانیا", + "et_": "اتیوپی", + "fi_": "فنلاند", + "fj_": "فیجی", + "fk_": "جزایر فالکلند (مالویناس)", + "fm_": "میکرونزی، ایالات فدرال میکرونزی", + "fo_": "جزایر فارو", + "fr_": "فرانسه", + "ga_": "گابن", + "gb_": "پادشاهی متحد بریتانیای کبیر و ایرلند شمالی", + "gd_": "گرنادا", + "ge_": "گرجستان", + "gf_": "گویان فرانسه", + "gg_": "گرنزی", + "gh_": "غنا", + "gi_": "جبل‌الطارق", + "gl_": "گرینلند", + "gm_": "گامبیا", + "gn_": "گینه", + "gp_": "گوادلوپ", + "gq_": "گینه استوایی", + "gr_": "یونان", + "gs_": "جزایر جورجیای جنوبی و ساندویچ جنوبی", + "gt_": "گواتمالا", + "gu_": "گوآم", + "gw_": "گینه بیسائو", + "gy_": "گویان", + "hk_": "هنگ کنگ", + "hn_": "هندوراس", + "hr_": "کرواسی", + "ht_": "هائیتی", + "hu_": "مجارستان", + "id_": "اندونزی", + "ie_": "ایرلند", + "il_": "اسرائیل", + "im_": "جزیره من", + "in_": "هند", + "io_": "قلمرو بریتانیا در اقیانوس هند", + "iq_": "عراق", + "ir_": "ایران", + "is_": "ایسلند", + "it_": "ایتالیا", + "je_": "جرزی", + "jm_": "جامائیکا", + "jo_": "اردن", + "jp_": "ژاپن", + "ke_": "کنیا", + "kg_": "قرقیزستان", + "kh_": "کامبوج", + "ki_": "کیریباتی", + "km_": "کومور", + "kn_": "سنت کیتس و نویس", + "kp_": "کره شمالی", + "kr_": "کره، جمهوری کره جنوبی", + "kw_": "کویت", + "ky_": "جزایر کیمن", + "kz_": "قزاقستان", + "la_": "لائوس", + "lb_": "لبنان", + "lc_": "سنت لوسیا", + "li_": "لیختن‌اشتاین", + "lk_": "سری‌لانکا", + "lr_": "لیبریا", + "ls_": "لسوتو", + "lt_": "لیتوانی", + "lu_": "لوکزامبورگ", + "lv_": "لتونی", + "ly_": "لیبی", + "ma_": "مراکش", + "mc_": "موناکو", + "md_": "مولداوی", + "me_": "مونته‌نگرو", + "mf_": "سن مارتن", + "mg_": "ماداگاسکار", + "mh_": "جزایر مارشال", + "mk_": "مقدونیه", + "ml_": "مالی", + "mm_": "میانمار", + "mn_": "مغولستان", + "mo_": "ماکائو", + "mp_": "جزایر ماریانای شمالی", + "mq_": "مارتینیک", + "mr_": "موریتانی", + "ms_": "مونتسرات", + "mt_": "مالت", + "mu_": "موریس", + "mv_": "مالدیو", + "mw_": "مالاوی", + "mx_": "مکزیک", + "my_": "مالزی", + "mz_": "موزامبیک", + "na_": "نامیبیا", + "nc_": "کالدونیای جدید", + "ne_": "نیجر", + "nf_": "جزیره نورفک", + "ng_": "نیجریه", + "ni_": "نیکاراگوئه", + "nl_": "هلند", + "no_": "نروژ", + "np_": "نپال", + "nr_": "نائورو", + "nu_": "نیووی", + "nz_": "نیوزیلند", + "om_": "عمان", + "pa_": "پاناما", + "pe_": "پرو", + "pf_": "پلی‌نزی فرانسه", + "pg_": "پاپوآ گینه نو", + "ph_": "فیلیپین", + "pk_": "پاکستان", + "pl_": "لهستان", + "pm_": "سن-پیر و میکلون", + "pn_": "پیت‌کرن", + "pr_": "پورتوریکو", + "ps_": "سرزمین‌های فلسطینی", + "pt_": "پرتغال", + "pw_": "پالائو", + "py_": "پاراگوئه", + "qa_": "قطر", + "re_": "رئونیون", + "ro_": "رومانی", + "rs_": "صربستان", + "ru_": "روسیه", + "rw_": "رواندا", + "sa_": "عربستان سعودی", + "sb_": "جزایر سلیمان", + "sc_": "سیشل", + "sd_": "سودان", + "se_": "سوئد", + "sg_": "سنگاپور", + "si_": "اسلوونی", + "sk_": "اسلواکی", + "sl_": "سیرالئون", + "sm_": "سان مارینو", + "sn_": "سنگال", + "so_": "سومالی", + "sr_": "سورینام", + "ss_": "سودان جنوبی", + "st_": "سائوتومه و پرنسیپ", + "sv_": "السالوادور", + "sy_": "جمهوری عربی سوریه", + "sz_": "سوازیلند", + "ta_": "تریستان دا کونا", + "tc_": "جزایر تورکس و کایکوس", + "td_": "چاد", + "tg_": "توگو", + "th_": "تایلند", + "tj_": "تاجیکستان", + "tk_": "توکلائو", + "tl_": "تیمور شرقی", + "tm_": "ترکمنستان", + "tn_": "تونس", + "to_": "تونگا", + "tr_": "ترکیه", + "tt_": "ترینیداد و توباگو", + "tv_": "تووالو", + "tw_": "تایوان", + "tz_": "تانزانیا، جمهوری متحد تانزانیا", + "ua_": "اوکراین", + "ug_": "اوگاندا", + "us_": "ایالات متحده آمریکا", + "uy_": "اروگوئه", + "uz_": "ازبکستان", + "va_": "سریر مقدس (ایالت شهر واتیکان)", + "vc_": "سنت وینسنت و گرنادین‌ها", + "ve_": "ونزوئلا", + "vg_": "جزایر ویرجین، بریتانیا", + "vi_": "جزایر ویرجین، ایالات متحده آمریکا", + "vn_": "ویتنام", + "vu_": "وانواتو", + "wf_": "والیس و فوتونا", + "ws_": "ساموآ", + "ye_": "یمن", + "yt_": "مایوت", + "za_": "آفریقای جنوبی", + "zm_": "زامبیا", + "zw_": "زیمبابوه" +} \ No newline at end of file diff --git a/lib/l10n/fr.arb b/lib/l10n/fr.arb new file mode 100644 index 00000000..98ff2f60 --- /dev/null +++ b/lib/l10n/fr.arb @@ -0,0 +1,254 @@ +{ + "@@locale": "fr", + "invalidPhoneNumber": "Numéro de téléphone invalide", + "invalidCountry": "Pays invalide", + "invalidMobilePhoneNumber": "Numéro de téléphone portable invalide", + "invalidFixedLinePhoneNumber": "Numéro de téléphone fixe invalide", + "requiredPhoneNumber": "Numéro de téléphone requis", + "noResultMessage": "Aucun résultat", + "ac_": "Île de l'Ascension", + "ad_": "Andorre", + "ae_": "Emirats Arabes Unis", + "af_": "Afghanistan", + "ag_": "Antigua-et-Barbuda", + "ai_": "Anguilla", + "al_": "Albanie", + "am_": "Arménie", + "an_": "Antilles néerlandaises", + "ao_": "Angola", + "aq_": "Antarctique", + "ar_": "Argentine", + "as_": "Samoa américaines", + "at_": "Autriche", + "au_": "Australie", + "aw_": "Aruba", + "ax_": "Iles Aland", + "az_": "Azerbaïdjan", + "ba_": "Bosnie Herzégovine", + "bb_": "Barbade", + "bd_": "Bangladesh", + "be_": "Belgique", + "bf_": "Burkina Faso", + "bg_": "Bulgarie", + "bh_": "Bahreïn", + "bi_": "Burundi", + "bj_": "Bénin", + "bl_": "Saint Barthélemy", + "bm_": "Bermudes", + "bn_": "Brunei Darussalam", + "bo_": "Bolivie, État plurinational de", + "bq_": "Bonaire", + "br_": "Brésil", + "bs_": "Bahamas", + "bt_": "Bhoutan", + "bw_": "Botswana", + "by_": "Biélorussie", + "bz_": "Belize", + "ca_": "Canada", + "cc_": "Îles Cocos (Keeling)", + "cd_": "Congo, République démocratique du Congo", + "cf_": "République centrafricaine", + "cg_": "Congo", + "ch_": "Suisse", + "ci_": "Côte d'Ivoire", + "ck_": "Îles Cook", + "cl_": "Chili", + "cm_": "Cameroun", + "cn_": "Chine", + "co_": "Colombie", + "cr_": "Costa Rica", + "cu_": "Cuba", + "cv_": "Cap-Vert", + "cx_": "L'île de noël", + "cy_": "Chypre", + "cz_": "République Tchèque", + "de_": "Allemagne", + "dj_": "Djibouti", + "dk_": "Danemark", + "dm_": "Dominique", + "do_": "République Dominicaine", + "dz_": "Algérie", + "ec_": "Equateur", + "ee_": "Estonie", + "eg_": "Egypte", + "er_": "Érythrée", + "es_": "Espagne", + "et_": "Ethiopie", + "fi_": "Finlande", + "fj_": "Fidji", + "fk_": "Îles Falkland (Malvinas)", + "fm_": "Micronésie, États fédérés de Micronésie", + "fo_": "Îles Féroé", + "fr_": "France", + "ga_": "Gabon", + "gb_": "Royaume-Uni", + "gd_": "Grenade", + "ge_": "Géorgie", + "gf_": "Guyane Française", + "gg_": "Guernesey", + "gh_": "Ghana", + "gi_": "Gibraltar", + "gl_": "Groenland", + "gm_": "Gambie", + "gn_": "Guinée", + "gp_": "Guadeloupe", + "gq_": "Guinée Équatoriale", + "gr_": "Grèce", + "gs_": "Géorgie du Sud et îles Sandwich du Sud", + "gt_": "Guatemala", + "gu_": "Guam", + "gw_": "Guinée-Bissau", + "gy_": "Guyane", + "hk_": "Hong Kong", + "hn_": "Honduras", + "hr_": "Croatie", + "ht_": "Haïti", + "hu_": "Hongrie", + "id_": "Indonésie", + "ie_": "Irlande", + "il_": "Israël", + "im_": "île de Man", + "in_": "Inde", + "io_": "Territoire britannique de l'océan Indien", + "iq_": "Irak", + "ir_": "Iran, République islamique du golfe Persique", + "is_": "Islande", + "it_": "Italie", + "je_": "Jersey", + "jm_": "Jamaïque", + "jo_": "Jordan", + "jp_": "Japon", + "ke_": "Kenya", + "kg_": "Kirghizistan", + "kh_": "Cambodge", + "ki_": "Kiribati", + "km_": "Comores", + "kn_": "Saint-Christophe-et-Niévès", + "kp_": "Corée, République populaire démocratique de Corée", + "kr_": "Corée, République de Corée du Sud", + "kw_": "Koweit", + "ky_": "Îles Caïmans", + "kz_": "Kazakhstan", + "la_": "Laos", + "lb_": "Liban", + "lc_": "Sainte-Lucie", + "li_": "Liechtenstein", + "lk_": "Sri Lanka", + "lr_": "Libéria", + "ls_": "Lesotho", + "lt_": "Lituanie", + "lu_": "Luxembourg", + "lv_": "Lettonie", + "ly_": "Jamahiriya arabe libyenne", + "ma_": "Maroc", + "mc_": "Monaco", + "md_": "Moldavie", + "me_": "Monténégro", + "mf_": "Saint Martin", + "mg_": "Madagascar", + "mh_": "Iles Marshall", + "mk_": "Macédoine", + "ml_": "Mali", + "mm_": "Myanmar", + "mn_": "Mongolie", + "mo_": "Macao", + "mp_": "Îles Mariannes du Nord", + "mq_": "Martinique", + "mr_": "Mauritanie", + "ms_": "Montserrat", + "mt_": "Malte", + "mu_": "Ile Maurice", + "mv_": "Maldives", + "mw_": "Malawi", + "mx_": "Mexique", + "my_": "Malaisie", + "mz_": "Mozambique", + "na_": "Namibie", + "nc_": "Nouvelle Calédonie", + "ne_": "Niger", + "nf_": "l'ile de Norfolk", + "ng_": "Nigeria", + "ni_": "Nicaragua", + "nl_": "Pays-Bas", + "no_": "Norvège", + "np_": "Népal", + "nr_": "Nauru", + "nu_": "Niue", + "nz_": "Nouvelle-Zélande", + "om_": "Oman", + "pa_": "Panama", + "pe_": "Pérou", + "pf_": "Polynésie française", + "pg_": "Papouasie Nouvelle Guinée", + "ph_": "Philippines", + "pk_": "Pakistan", + "pl_": "Pologne", + "pm_": "Saint-Pierre-et-Miquelon", + "pn_": "Pitcairn", + "pr_": "Porto Rico", + "ps_": "Territoire palestinien, occupé", + "pt_": "Portugal", + "pw_": "Palau", + "py_": "Paraguay", + "qa_": "Qatar", + "re_": "Réunion", + "ro_": "Roumanie", + "rs_": "Serbie", + "ru_": "Russie", + "rw_": "Rwanda", + "sa_": "Arabie Saoudite", + "sb_": "îles Salomon", + "sc_": "Seychelles", + "sd_": "Soudan", + "se_": "Suède", + "sg_": "Singapour", + "sh_": "Sainte-Hélène, Ascension et Tristan Da Cunha", + "si_": "Slovénie", + "sj_": "Svalbard et Jan Mayen", + "sk_": "Slovaquie", + "sl_": "Sierra Leone", + "sm_": "Saint Marin", + "sn_": "Sénégal", + "so_": "Somalie", + "sr_": "Suriname", + "ss_": "Soudan du sud", + "st_": "Sao Tomé et Principe", + "sv_": "Salvador", + "sy_": "République arabe syrienne", + "sz_": "Swaziland", + "ta_": "Tristan da Cunha", + "tc_": "îles Turques-et-Caïques", + "td_": "Tchad", + "tg_": "Aller", + "th_": "Thaïlande", + "tj_": "Tadjikistan", + "tk_": "Tokelau", + "tl_": "Timor-Leste", + "tm_": "Turkménistan", + "tn_": "Tunisie", + "to_": "Tonga", + "tr_": "dinde", + "tt_": "Trinité-et-Tobago", + "tv_": "Tuvalu", + "tw_": "Taïwan", + "tz_": "Tanzanie, République-Unie de Tanzanie", + "ua_": "Ukraine", + "ug_": "Ouganda", + "us_": "États Unis", + "uy_": "Uruguay", + "uz_": "Ouzbékistan", + "va_": "Saint-Siège (État de la Cité du Vatican)", + "vc_": "Saint-Vincent-et-les-Grenadines", + "ve_": "Venezuela", + "vg_": "Îles Vierges britanniques", + "vi_": "Îles Vierges américaines, États-Unis", + "vn_": "Vietnam", + "vu_": "Vanuatu", + "wf_": "Wallis et Futuna", + "ws_": "Samoa", + "ye_": "Yémen", + "yt_": "Mayotte", + "za_": "Afrique du Sud", + "zm_": "Zambie", + "zw_": "Zimbabwe" +} \ No newline at end of file diff --git a/lib/l10n/generated/phone_field_localization.dart b/lib/l10n/generated/phone_field_localization.dart new file mode 100644 index 00000000..9893da61 --- /dev/null +++ b/lib/l10n/generated/phone_field_localization.dart @@ -0,0 +1,1709 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_localizations/flutter_localizations.dart'; +import 'package:intl/intl.dart' as intl; + +import 'phone_field_localization_ar.dart'; +import 'phone_field_localization_de.dart'; +import 'phone_field_localization_el.dart'; +import 'phone_field_localization_en.dart'; +import 'phone_field_localization_es.dart'; +import 'phone_field_localization_fa.dart'; +import 'phone_field_localization_fr.dart'; +import 'phone_field_localization_hi.dart'; +import 'phone_field_localization_it.dart'; +import 'phone_field_localization_nb.dart'; +import 'phone_field_localization_nl.dart'; +import 'phone_field_localization_pt.dart'; +import 'phone_field_localization_ru.dart'; +import 'phone_field_localization_sv.dart'; +import 'phone_field_localization_tr.dart'; +import 'phone_field_localization_uk.dart'; +import 'phone_field_localization_uz.dart'; +import 'phone_field_localization_zh.dart'; + +/// Callers can lookup localized strings with an instance of PhoneFieldLocalization +/// returned by `PhoneFieldLocalization.of(context)`. +/// +/// Applications need to include `PhoneFieldLocalization.delegate()` in their app's +/// `localizationDelegates` list, and the locales they support in the app's +/// `supportedLocales` list. For example: +/// +/// ```dart +/// import 'generated/phone_field_localization.dart'; +/// +/// return MaterialApp( +/// localizationsDelegates: PhoneFieldLocalization.localizationsDelegates, +/// supportedLocales: PhoneFieldLocalization.supportedLocales, +/// home: MyApplicationHome(), +/// ); +/// ``` +/// +/// ## Update pubspec.yaml +/// +/// Please make sure to update your pubspec.yaml to include the following +/// packages: +/// +/// ```yaml +/// dependencies: +/// # Internationalization support. +/// flutter_localizations: +/// sdk: flutter +/// intl: any # Use the pinned version from flutter_localizations +/// +/// # Rest of dependencies +/// ``` +/// +/// ## iOS Applications +/// +/// iOS applications define key application metadata, including supported +/// locales, in an Info.plist file that is built into the application bundle. +/// To configure the locales supported by your app, you’ll need to edit this +/// file. +/// +/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file. +/// Then, in the Project Navigator, open the Info.plist file under the Runner +/// project’s Runner folder. +/// +/// Next, select the Information Property List item, select Add Item from the +/// Editor menu, then select Localizations from the pop-up menu. +/// +/// Select and expand the newly-created Localizations item then, for each +/// locale your application supports, add a new item and select the locale +/// you wish to add from the pop-up menu in the Value field. This list should +/// be consistent with the languages listed in the PhoneFieldLocalization.supportedLocales +/// property. +abstract class PhoneFieldLocalization { + PhoneFieldLocalization(String locale) + : localeName = intl.Intl.canonicalizedLocale(locale.toString()); + + final String localeName; + + static PhoneFieldLocalization? of(BuildContext context) { + return Localizations.of( + context, PhoneFieldLocalization); + } + + static const LocalizationsDelegate delegate = + _PhoneFieldLocalizationDelegate(); + + /// A list of this localizations delegate along with the default localizations + /// delegates. + /// + /// Returns a list of localizations delegates containing this delegate along with + /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, + /// and GlobalWidgetsLocalizations.delegate. + /// + /// Additional delegates can be added by appending to this list in + /// MaterialApp. This list does not have to be used at all if a custom list + /// of delegates is preferred or required. + static const List> localizationsDelegates = + >[ + delegate, + GlobalMaterialLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + ]; + + /// A list of this localizations delegate's supported locales. + static const List supportedLocales = [ + Locale('ar'), + Locale('de'), + Locale('el'), + Locale('en'), + Locale('es'), + Locale('fa'), + Locale('fr'), + Locale('hi'), + Locale('it'), + Locale('nb'), + Locale('nl'), + Locale('pt'), + Locale('ru'), + Locale('sv'), + Locale('tr'), + Locale('uk'), + Locale('uz'), + Locale('zh') + ]; + + /// No description provided for @invalidPhoneNumber. + /// + /// In en, this message translates to: + /// **'Invalid phone number'** + String get invalidPhoneNumber; + + /// No description provided for @invalidCountry. + /// + /// In en, this message translates to: + /// **'Invalid country'** + String get invalidCountry; + + /// No description provided for @invalidMobilePhoneNumber. + /// + /// In en, this message translates to: + /// **'Invalid mobile phone number'** + String get invalidMobilePhoneNumber; + + /// No description provided for @invalidFixedLinePhoneNumber. + /// + /// In en, this message translates to: + /// **'Invalid fixed line phone number'** + String get invalidFixedLinePhoneNumber; + + /// No description provided for @requiredPhoneNumber. + /// + /// In en, this message translates to: + /// **'Required phone number'** + String get requiredPhoneNumber; + + /// No description provided for @noResultMessage. + /// + /// In en, this message translates to: + /// **'No result'** + String get noResultMessage; + + /// No description provided for @ac_. + /// + /// In en, this message translates to: + /// **'Ascension Island'** + String get ac_; + + /// No description provided for @ad_. + /// + /// In en, this message translates to: + /// **'Andorra'** + String get ad_; + + /// No description provided for @ae_. + /// + /// In en, this message translates to: + /// **'United Arab Emirates'** + String get ae_; + + /// No description provided for @af_. + /// + /// In en, this message translates to: + /// **'Afghanistan'** + String get af_; + + /// No description provided for @ag_. + /// + /// In en, this message translates to: + /// **'Antigua and Barbuda'** + String get ag_; + + /// No description provided for @ai_. + /// + /// In en, this message translates to: + /// **'Anguilla'** + String get ai_; + + /// No description provided for @al_. + /// + /// In en, this message translates to: + /// **'Albania'** + String get al_; + + /// No description provided for @am_. + /// + /// In en, this message translates to: + /// **'Armenia'** + String get am_; + + /// No description provided for @an_. + /// + /// In en, this message translates to: + /// **'Netherlands Antilles'** + String get an_; + + /// No description provided for @ao_. + /// + /// In en, this message translates to: + /// **'Angola'** + String get ao_; + + /// No description provided for @aq_. + /// + /// In en, this message translates to: + /// **'Antarctica'** + String get aq_; + + /// No description provided for @ar_. + /// + /// In en, this message translates to: + /// **'Argentina'** + String get ar_; + + /// No description provided for @as_. + /// + /// In en, this message translates to: + /// **'American Samoa'** + String get as_; + + /// No description provided for @at_. + /// + /// In en, this message translates to: + /// **'Austria'** + String get at_; + + /// No description provided for @au_. + /// + /// In en, this message translates to: + /// **'Australia'** + String get au_; + + /// No description provided for @aw_. + /// + /// In en, this message translates to: + /// **'Aruba'** + String get aw_; + + /// No description provided for @ax_. + /// + /// In en, this message translates to: + /// **'Aland Islands'** + String get ax_; + + /// No description provided for @az_. + /// + /// In en, this message translates to: + /// **'Azerbaijan'** + String get az_; + + /// No description provided for @ba_. + /// + /// In en, this message translates to: + /// **'Bosnia and Herzegovina'** + String get ba_; + + /// No description provided for @bb_. + /// + /// In en, this message translates to: + /// **'Barbados'** + String get bb_; + + /// No description provided for @bd_. + /// + /// In en, this message translates to: + /// **'Bangladesh'** + String get bd_; + + /// No description provided for @be_. + /// + /// In en, this message translates to: + /// **'Belgium'** + String get be_; + + /// No description provided for @bf_. + /// + /// In en, this message translates to: + /// **'Burkina Faso'** + String get bf_; + + /// No description provided for @bg_. + /// + /// In en, this message translates to: + /// **'Bulgaria'** + String get bg_; + + /// No description provided for @bh_. + /// + /// In en, this message translates to: + /// **'Bahrain'** + String get bh_; + + /// No description provided for @bi_. + /// + /// In en, this message translates to: + /// **'Burundi'** + String get bi_; + + /// No description provided for @bj_. + /// + /// In en, this message translates to: + /// **'Benin'** + String get bj_; + + /// No description provided for @bl_. + /// + /// In en, this message translates to: + /// **'Saint Barthelemy'** + String get bl_; + + /// No description provided for @bm_. + /// + /// In en, this message translates to: + /// **'Bermuda'** + String get bm_; + + /// No description provided for @bn_. + /// + /// In en, this message translates to: + /// **'Brunei Darussalam'** + String get bn_; + + /// No description provided for @bo_. + /// + /// In en, this message translates to: + /// **'Bolivia, Plurinational State of'** + String get bo_; + + /// No description provided for @bq_. + /// + /// In en, this message translates to: + /// **'Bonaire'** + String get bq_; + + /// No description provided for @br_. + /// + /// In en, this message translates to: + /// **'Brazil'** + String get br_; + + /// No description provided for @bs_. + /// + /// In en, this message translates to: + /// **'Bahamas'** + String get bs_; + + /// No description provided for @bt_. + /// + /// In en, this message translates to: + /// **'Bhutan'** + String get bt_; + + /// No description provided for @bw_. + /// + /// In en, this message translates to: + /// **'Botswana'** + String get bw_; + + /// No description provided for @by_. + /// + /// In en, this message translates to: + /// **'Belarus'** + String get by_; + + /// No description provided for @bz_. + /// + /// In en, this message translates to: + /// **'Belize'** + String get bz_; + + /// No description provided for @ca_. + /// + /// In en, this message translates to: + /// **'Canada'** + String get ca_; + + /// No description provided for @cc_. + /// + /// In en, this message translates to: + /// **'Cocos (Keeling) Islands'** + String get cc_; + + /// No description provided for @cd_. + /// + /// In en, this message translates to: + /// **'Congo, The Democratic Republic of the Congo'** + String get cd_; + + /// No description provided for @cf_. + /// + /// In en, this message translates to: + /// **'Central African Republic'** + String get cf_; + + /// No description provided for @cg_. + /// + /// In en, this message translates to: + /// **'Congo'** + String get cg_; + + /// No description provided for @ch_. + /// + /// In en, this message translates to: + /// **'Switzerland'** + String get ch_; + + /// No description provided for @ci_. + /// + /// In en, this message translates to: + /// **'Cote d\'Ivoire'** + String get ci_; + + /// No description provided for @ck_. + /// + /// In en, this message translates to: + /// **'Cook Islands'** + String get ck_; + + /// No description provided for @cl_. + /// + /// In en, this message translates to: + /// **'Chile'** + String get cl_; + + /// No description provided for @cm_. + /// + /// In en, this message translates to: + /// **'Cameroon'** + String get cm_; + + /// No description provided for @cn_. + /// + /// In en, this message translates to: + /// **'China'** + String get cn_; + + /// No description provided for @co_. + /// + /// In en, this message translates to: + /// **'Colombia'** + String get co_; + + /// No description provided for @cr_. + /// + /// In en, this message translates to: + /// **'Costa Rica'** + String get cr_; + + /// No description provided for @cu_. + /// + /// In en, this message translates to: + /// **'Cuba'** + String get cu_; + + /// No description provided for @cv_. + /// + /// In en, this message translates to: + /// **'Cape Verde'** + String get cv_; + + /// No description provided for @cx_. + /// + /// In en, this message translates to: + /// **'Christmas Island'** + String get cx_; + + /// No description provided for @cy_. + /// + /// In en, this message translates to: + /// **'Cyprus'** + String get cy_; + + /// No description provided for @cz_. + /// + /// In en, this message translates to: + /// **'Czech Republic'** + String get cz_; + + /// No description provided for @de_. + /// + /// In en, this message translates to: + /// **'Germany'** + String get de_; + + /// No description provided for @dj_. + /// + /// In en, this message translates to: + /// **'Djibouti'** + String get dj_; + + /// No description provided for @dk_. + /// + /// In en, this message translates to: + /// **'Denmark'** + String get dk_; + + /// No description provided for @dm_. + /// + /// In en, this message translates to: + /// **'Dominica'** + String get dm_; + + /// No description provided for @do_. + /// + /// In en, this message translates to: + /// **'Dominican Republic'** + String get do_; + + /// No description provided for @dz_. + /// + /// In en, this message translates to: + /// **'Algeria'** + String get dz_; + + /// No description provided for @ec_. + /// + /// In en, this message translates to: + /// **'Ecuador'** + String get ec_; + + /// No description provided for @ee_. + /// + /// In en, this message translates to: + /// **'Estonia'** + String get ee_; + + /// No description provided for @eg_. + /// + /// In en, this message translates to: + /// **'Egypt'** + String get eg_; + + /// No description provided for @er_. + /// + /// In en, this message translates to: + /// **'Eritrea'** + String get er_; + + /// No description provided for @es_. + /// + /// In en, this message translates to: + /// **'Spain'** + String get es_; + + /// No description provided for @et_. + /// + /// In en, this message translates to: + /// **'Ethiopia'** + String get et_; + + /// No description provided for @fi_. + /// + /// In en, this message translates to: + /// **'Finland'** + String get fi_; + + /// No description provided for @fj_. + /// + /// In en, this message translates to: + /// **'Fiji'** + String get fj_; + + /// No description provided for @fk_. + /// + /// In en, this message translates to: + /// **'Falkland Islands (Malvinas)'** + String get fk_; + + /// No description provided for @fm_. + /// + /// In en, this message translates to: + /// **'Micronesia, Federated States of Micronesia'** + String get fm_; + + /// No description provided for @fo_. + /// + /// In en, this message translates to: + /// **'Faroe Islands'** + String get fo_; + + /// No description provided for @fr_. + /// + /// In en, this message translates to: + /// **'France'** + String get fr_; + + /// No description provided for @ga_. + /// + /// In en, this message translates to: + /// **'Gabon'** + String get ga_; + + /// No description provided for @gb_. + /// + /// In en, this message translates to: + /// **'United Kingdom'** + String get gb_; + + /// No description provided for @gd_. + /// + /// In en, this message translates to: + /// **'Grenada'** + String get gd_; + + /// No description provided for @ge_. + /// + /// In en, this message translates to: + /// **'Georgia'** + String get ge_; + + /// No description provided for @gf_. + /// + /// In en, this message translates to: + /// **'French Guiana'** + String get gf_; + + /// No description provided for @gg_. + /// + /// In en, this message translates to: + /// **'Guernsey'** + String get gg_; + + /// No description provided for @gh_. + /// + /// In en, this message translates to: + /// **'Ghana'** + String get gh_; + + /// No description provided for @gi_. + /// + /// In en, this message translates to: + /// **'Gibraltar'** + String get gi_; + + /// No description provided for @gl_. + /// + /// In en, this message translates to: + /// **'Greenland'** + String get gl_; + + /// No description provided for @gm_. + /// + /// In en, this message translates to: + /// **'Gambia'** + String get gm_; + + /// No description provided for @gn_. + /// + /// In en, this message translates to: + /// **'Guinea'** + String get gn_; + + /// No description provided for @gp_. + /// + /// In en, this message translates to: + /// **'Guadeloupe'** + String get gp_; + + /// No description provided for @gq_. + /// + /// In en, this message translates to: + /// **'Equatorial Guinea'** + String get gq_; + + /// No description provided for @gr_. + /// + /// In en, this message translates to: + /// **'Greece'** + String get gr_; + + /// No description provided for @gs_. + /// + /// In en, this message translates to: + /// **'South Georgia and the South Sandwich Islands'** + String get gs_; + + /// No description provided for @gt_. + /// + /// In en, this message translates to: + /// **'Guatemala'** + String get gt_; + + /// No description provided for @gu_. + /// + /// In en, this message translates to: + /// **'Guam'** + String get gu_; + + /// No description provided for @gw_. + /// + /// In en, this message translates to: + /// **'Guinea-Bissau'** + String get gw_; + + /// No description provided for @gy_. + /// + /// In en, this message translates to: + /// **'Guyana'** + String get gy_; + + /// No description provided for @hk_. + /// + /// In en, this message translates to: + /// **'Hong Kong'** + String get hk_; + + /// No description provided for @hn_. + /// + /// In en, this message translates to: + /// **'Honduras'** + String get hn_; + + /// No description provided for @hr_. + /// + /// In en, this message translates to: + /// **'Croatia'** + String get hr_; + + /// No description provided for @ht_. + /// + /// In en, this message translates to: + /// **'Haiti'** + String get ht_; + + /// No description provided for @hu_. + /// + /// In en, this message translates to: + /// **'Hungary'** + String get hu_; + + /// No description provided for @id_. + /// + /// In en, this message translates to: + /// **'Indonesia'** + String get id_; + + /// No description provided for @ie_. + /// + /// In en, this message translates to: + /// **'Ireland'** + String get ie_; + + /// No description provided for @il_. + /// + /// In en, this message translates to: + /// **'Israel'** + String get il_; + + /// No description provided for @im_. + /// + /// In en, this message translates to: + /// **'Isle of Man'** + String get im_; + + /// No description provided for @in_. + /// + /// In en, this message translates to: + /// **'India'** + String get in_; + + /// No description provided for @io_. + /// + /// In en, this message translates to: + /// **'British Indian Ocean Territory'** + String get io_; + + /// No description provided for @iq_. + /// + /// In en, this message translates to: + /// **'Iraq'** + String get iq_; + + /// No description provided for @ir_. + /// + /// In en, this message translates to: + /// **'Iran, Islamic Republic of'** + String get ir_; + + /// No description provided for @is_. + /// + /// In en, this message translates to: + /// **'Iceland'** + String get is_; + + /// No description provided for @it_. + /// + /// In en, this message translates to: + /// **'Italy'** + String get it_; + + /// No description provided for @je_. + /// + /// In en, this message translates to: + /// **'Jersey'** + String get je_; + + /// No description provided for @jm_. + /// + /// In en, this message translates to: + /// **'Jamaica'** + String get jm_; + + /// No description provided for @jo_. + /// + /// In en, this message translates to: + /// **'Jordan'** + String get jo_; + + /// No description provided for @jp_. + /// + /// In en, this message translates to: + /// **'Japan'** + String get jp_; + + /// No description provided for @ke_. + /// + /// In en, this message translates to: + /// **'Kenya'** + String get ke_; + + /// No description provided for @kg_. + /// + /// In en, this message translates to: + /// **'Kyrgyzstan'** + String get kg_; + + /// No description provided for @kh_. + /// + /// In en, this message translates to: + /// **'Cambodia'** + String get kh_; + + /// No description provided for @ki_. + /// + /// In en, this message translates to: + /// **'Kiribati'** + String get ki_; + + /// No description provided for @km_. + /// + /// In en, this message translates to: + /// **'Comoros'** + String get km_; + + /// No description provided for @kn_. + /// + /// In en, this message translates to: + /// **'Saint Kitts and Nevis'** + String get kn_; + + /// No description provided for @kp_. + /// + /// In en, this message translates to: + /// **'Korea, Democratic People\'s Republic of Korea'** + String get kp_; + + /// No description provided for @kr_. + /// + /// In en, this message translates to: + /// **'Korea, Republic of South Korea'** + String get kr_; + + /// No description provided for @kw_. + /// + /// In en, this message translates to: + /// **'Kuwait'** + String get kw_; + + /// No description provided for @ky_. + /// + /// In en, this message translates to: + /// **'Cayman Islands'** + String get ky_; + + /// No description provided for @kz_. + /// + /// In en, this message translates to: + /// **'Kazakhstan'** + String get kz_; + + /// No description provided for @la_. + /// + /// In en, this message translates to: + /// **'Laos'** + String get la_; + + /// No description provided for @lb_. + /// + /// In en, this message translates to: + /// **'Lebanon'** + String get lb_; + + /// No description provided for @lc_. + /// + /// In en, this message translates to: + /// **'Saint Lucia'** + String get lc_; + + /// No description provided for @li_. + /// + /// In en, this message translates to: + /// **'Liechtenstein'** + String get li_; + + /// No description provided for @lk_. + /// + /// In en, this message translates to: + /// **'Sri Lanka'** + String get lk_; + + /// No description provided for @lr_. + /// + /// In en, this message translates to: + /// **'Liberia'** + String get lr_; + + /// No description provided for @ls_. + /// + /// In en, this message translates to: + /// **'Lesotho'** + String get ls_; + + /// No description provided for @lt_. + /// + /// In en, this message translates to: + /// **'Lithuania'** + String get lt_; + + /// No description provided for @lu_. + /// + /// In en, this message translates to: + /// **'Luxembourg'** + String get lu_; + + /// No description provided for @lv_. + /// + /// In en, this message translates to: + /// **'Latvia'** + String get lv_; + + /// No description provided for @ly_. + /// + /// In en, this message translates to: + /// **'Libya'** + String get ly_; + + /// No description provided for @ma_. + /// + /// In en, this message translates to: + /// **'Morocco'** + String get ma_; + + /// No description provided for @mc_. + /// + /// In en, this message translates to: + /// **'Monaco'** + String get mc_; + + /// No description provided for @md_. + /// + /// In en, this message translates to: + /// **'Moldova'** + String get md_; + + /// No description provided for @me_. + /// + /// In en, this message translates to: + /// **'Montenegro'** + String get me_; + + /// No description provided for @mf_. + /// + /// In en, this message translates to: + /// **'Saint Martin'** + String get mf_; + + /// No description provided for @mg_. + /// + /// In en, this message translates to: + /// **'Madagascar'** + String get mg_; + + /// No description provided for @mh_. + /// + /// In en, this message translates to: + /// **'Marshall Islands'** + String get mh_; + + /// No description provided for @mk_. + /// + /// In en, this message translates to: + /// **'Macedonia'** + String get mk_; + + /// No description provided for @ml_. + /// + /// In en, this message translates to: + /// **'Mali'** + String get ml_; + + /// No description provided for @mm_. + /// + /// In en, this message translates to: + /// **'Myanmar'** + String get mm_; + + /// No description provided for @mn_. + /// + /// In en, this message translates to: + /// **'Mongolia'** + String get mn_; + + /// No description provided for @mo_. + /// + /// In en, this message translates to: + /// **'Macao'** + String get mo_; + + /// No description provided for @mp_. + /// + /// In en, this message translates to: + /// **'Northern Mariana Islands'** + String get mp_; + + /// No description provided for @mq_. + /// + /// In en, this message translates to: + /// **'Martinique'** + String get mq_; + + /// No description provided for @mr_. + /// + /// In en, this message translates to: + /// **'Mauritania'** + String get mr_; + + /// No description provided for @ms_. + /// + /// In en, this message translates to: + /// **'Montserrat'** + String get ms_; + + /// No description provided for @mt_. + /// + /// In en, this message translates to: + /// **'Malta'** + String get mt_; + + /// No description provided for @mu_. + /// + /// In en, this message translates to: + /// **'Mauritius'** + String get mu_; + + /// No description provided for @mv_. + /// + /// In en, this message translates to: + /// **'Maldives'** + String get mv_; + + /// No description provided for @mw_. + /// + /// In en, this message translates to: + /// **'Malawi'** + String get mw_; + + /// No description provided for @mx_. + /// + /// In en, this message translates to: + /// **'Mexico'** + String get mx_; + + /// No description provided for @my_. + /// + /// In en, this message translates to: + /// **'Malaysia'** + String get my_; + + /// No description provided for @mz_. + /// + /// In en, this message translates to: + /// **'Mozambique'** + String get mz_; + + /// No description provided for @na_. + /// + /// In en, this message translates to: + /// **'Namibia'** + String get na_; + + /// No description provided for @nc_. + /// + /// In en, this message translates to: + /// **'New Caledonia'** + String get nc_; + + /// No description provided for @ne_. + /// + /// In en, this message translates to: + /// **'Niger'** + String get ne_; + + /// No description provided for @nf_. + /// + /// In en, this message translates to: + /// **'Norfolk Island'** + String get nf_; + + /// No description provided for @ng_. + /// + /// In en, this message translates to: + /// **'Nigeria'** + String get ng_; + + /// No description provided for @ni_. + /// + /// In en, this message translates to: + /// **'Nicaragua'** + String get ni_; + + /// No description provided for @nl_. + /// + /// In en, this message translates to: + /// **'Netherlands'** + String get nl_; + + /// No description provided for @no_. + /// + /// In en, this message translates to: + /// **'Norway'** + String get no_; + + /// No description provided for @np_. + /// + /// In en, this message translates to: + /// **'Nepal'** + String get np_; + + /// No description provided for @nr_. + /// + /// In en, this message translates to: + /// **'Nauru'** + String get nr_; + + /// No description provided for @nu_. + /// + /// In en, this message translates to: + /// **'Niue'** + String get nu_; + + /// No description provided for @nz_. + /// + /// In en, this message translates to: + /// **'New Zealand'** + String get nz_; + + /// No description provided for @om_. + /// + /// In en, this message translates to: + /// **'Oman'** + String get om_; + + /// No description provided for @pa_. + /// + /// In en, this message translates to: + /// **'Panama'** + String get pa_; + + /// No description provided for @pe_. + /// + /// In en, this message translates to: + /// **'Peru'** + String get pe_; + + /// No description provided for @pf_. + /// + /// In en, this message translates to: + /// **'French Polynesia'** + String get pf_; + + /// No description provided for @pg_. + /// + /// In en, this message translates to: + /// **'Papua New Guinea'** + String get pg_; + + /// No description provided for @ph_. + /// + /// In en, this message translates to: + /// **'Philippines'** + String get ph_; + + /// No description provided for @pk_. + /// + /// In en, this message translates to: + /// **'Pakistan'** + String get pk_; + + /// No description provided for @pl_. + /// + /// In en, this message translates to: + /// **'Poland'** + String get pl_; + + /// No description provided for @pm_. + /// + /// In en, this message translates to: + /// **'Saint Pierre and Miquelon'** + String get pm_; + + /// No description provided for @pn_. + /// + /// In en, this message translates to: + /// **'Pitcairn'** + String get pn_; + + /// No description provided for @pr_. + /// + /// In en, this message translates to: + /// **'Puerto Rico'** + String get pr_; + + /// No description provided for @ps_. + /// + /// In en, this message translates to: + /// **'Palestinian Territory, Occupied'** + String get ps_; + + /// No description provided for @pt_. + /// + /// In en, this message translates to: + /// **'Portugal'** + String get pt_; + + /// No description provided for @pw_. + /// + /// In en, this message translates to: + /// **'Palau'** + String get pw_; + + /// No description provided for @py_. + /// + /// In en, this message translates to: + /// **'Paraguay'** + String get py_; + + /// No description provided for @qa_. + /// + /// In en, this message translates to: + /// **'Qatar'** + String get qa_; + + /// No description provided for @re_. + /// + /// In en, this message translates to: + /// **'Reunion'** + String get re_; + + /// No description provided for @ro_. + /// + /// In en, this message translates to: + /// **'Romania'** + String get ro_; + + /// No description provided for @rs_. + /// + /// In en, this message translates to: + /// **'Serbia'** + String get rs_; + + /// No description provided for @ru_. + /// + /// In en, this message translates to: + /// **'Russia'** + String get ru_; + + /// No description provided for @rw_. + /// + /// In en, this message translates to: + /// **'Rwanda'** + String get rw_; + + /// No description provided for @sa_. + /// + /// In en, this message translates to: + /// **'Saudi Arabia'** + String get sa_; + + /// No description provided for @sb_. + /// + /// In en, this message translates to: + /// **'Solomon Islands'** + String get sb_; + + /// No description provided for @sc_. + /// + /// In en, this message translates to: + /// **'Seychelles'** + String get sc_; + + /// No description provided for @sd_. + /// + /// In en, this message translates to: + /// **'Sudan'** + String get sd_; + + /// No description provided for @se_. + /// + /// In en, this message translates to: + /// **'Sweden'** + String get se_; + + /// No description provided for @sg_. + /// + /// In en, this message translates to: + /// **'Singapore'** + String get sg_; + + /// No description provided for @si_. + /// + /// In en, this message translates to: + /// **'Slovenia'** + String get si_; + + /// No description provided for @sk_. + /// + /// In en, this message translates to: + /// **'Slovakia'** + String get sk_; + + /// No description provided for @sl_. + /// + /// In en, this message translates to: + /// **'Sierra Leone'** + String get sl_; + + /// No description provided for @sm_. + /// + /// In en, this message translates to: + /// **'San Marino'** + String get sm_; + + /// No description provided for @sn_. + /// + /// In en, this message translates to: + /// **'Senegal'** + String get sn_; + + /// No description provided for @so_. + /// + /// In en, this message translates to: + /// **'Somalia'** + String get so_; + + /// No description provided for @sr_. + /// + /// In en, this message translates to: + /// **'Suriname'** + String get sr_; + + /// No description provided for @ss_. + /// + /// In en, this message translates to: + /// **'South Sudan'** + String get ss_; + + /// No description provided for @st_. + /// + /// In en, this message translates to: + /// **'Sao Tome and Principe'** + String get st_; + + /// No description provided for @sv_. + /// + /// In en, this message translates to: + /// **'El Salvador'** + String get sv_; + + /// No description provided for @sy_. + /// + /// In en, this message translates to: + /// **'Syrian Arab Republic'** + String get sy_; + + /// No description provided for @sz_. + /// + /// In en, this message translates to: + /// **'Swaziland'** + String get sz_; + + /// No description provided for @ta_. + /// + /// In en, this message translates to: + /// **'Tristan da Cunha'** + String get ta_; + + /// No description provided for @tc_. + /// + /// In en, this message translates to: + /// **'Turks and Caicos Islands'** + String get tc_; + + /// No description provided for @td_. + /// + /// In en, this message translates to: + /// **'Chad'** + String get td_; + + /// No description provided for @tg_. + /// + /// In en, this message translates to: + /// **'Togo'** + String get tg_; + + /// No description provided for @th_. + /// + /// In en, this message translates to: + /// **'Thailand'** + String get th_; + + /// No description provided for @tj_. + /// + /// In en, this message translates to: + /// **'Tajikistan'** + String get tj_; + + /// No description provided for @tk_. + /// + /// In en, this message translates to: + /// **'Tokelau'** + String get tk_; + + /// No description provided for @tl_. + /// + /// In en, this message translates to: + /// **'Timor-Leste'** + String get tl_; + + /// No description provided for @tm_. + /// + /// In en, this message translates to: + /// **'Turkmenistan'** + String get tm_; + + /// No description provided for @tn_. + /// + /// In en, this message translates to: + /// **'Tunisia'** + String get tn_; + + /// No description provided for @to_. + /// + /// In en, this message translates to: + /// **'Tonga'** + String get to_; + + /// No description provided for @tr_. + /// + /// In en, this message translates to: + /// **'Türkiye'** + String get tr_; + + /// No description provided for @tt_. + /// + /// In en, this message translates to: + /// **'Trinidad and Tobago'** + String get tt_; + + /// No description provided for @tv_. + /// + /// In en, this message translates to: + /// **'Tuvalu'** + String get tv_; + + /// No description provided for @tw_. + /// + /// In en, this message translates to: + /// **'Taiwan'** + String get tw_; + + /// No description provided for @tz_. + /// + /// In en, this message translates to: + /// **'Tanzania, United Republic of Tanzania'** + String get tz_; + + /// No description provided for @ua_. + /// + /// In en, this message translates to: + /// **'Ukraine'** + String get ua_; + + /// No description provided for @ug_. + /// + /// In en, this message translates to: + /// **'Uganda'** + String get ug_; + + /// No description provided for @us_. + /// + /// In en, this message translates to: + /// **'United States'** + String get us_; + + /// No description provided for @uy_. + /// + /// In en, this message translates to: + /// **'Uruguay'** + String get uy_; + + /// No description provided for @uz_. + /// + /// In en, this message translates to: + /// **'Uzbekistan'** + String get uz_; + + /// No description provided for @va_. + /// + /// In en, this message translates to: + /// **'Holy See (Vatican City State)'** + String get va_; + + /// No description provided for @vc_. + /// + /// In en, this message translates to: + /// **'Saint Vincent and the Grenadines'** + String get vc_; + + /// No description provided for @ve_. + /// + /// In en, this message translates to: + /// **'Venezuela'** + String get ve_; + + /// No description provided for @vg_. + /// + /// In en, this message translates to: + /// **'Virgin Islands, British'** + String get vg_; + + /// No description provided for @vi_. + /// + /// In en, this message translates to: + /// **'Virgin Islands, U.S.'** + String get vi_; + + /// No description provided for @vn_. + /// + /// In en, this message translates to: + /// **'Vietnam'** + String get vn_; + + /// No description provided for @vu_. + /// + /// In en, this message translates to: + /// **'Vanuatu'** + String get vu_; + + /// No description provided for @wf_. + /// + /// In en, this message translates to: + /// **'Wallis and Futuna'** + String get wf_; + + /// No description provided for @ws_. + /// + /// In en, this message translates to: + /// **'Samoa'** + String get ws_; + + /// No description provided for @ye_. + /// + /// In en, this message translates to: + /// **'Yemen'** + String get ye_; + + /// No description provided for @yt_. + /// + /// In en, this message translates to: + /// **'Mayotte'** + String get yt_; + + /// No description provided for @za_. + /// + /// In en, this message translates to: + /// **'South Africa'** + String get za_; + + /// No description provided for @zm_. + /// + /// In en, this message translates to: + /// **'Zambia'** + String get zm_; + + /// No description provided for @zw_. + /// + /// In en, this message translates to: + /// **'Zimbabwe'** + String get zw_; +} + +class _PhoneFieldLocalizationDelegate + extends LocalizationsDelegate { + const _PhoneFieldLocalizationDelegate(); + + @override + Future load(Locale locale) { + return SynchronousFuture( + lookupPhoneFieldLocalization(locale)); + } + + @override + bool isSupported(Locale locale) => [ + 'ar', + 'de', + 'el', + 'en', + 'es', + 'fa', + 'fr', + 'hi', + 'it', + 'nb', + 'nl', + 'pt', + 'ru', + 'sv', + 'tr', + 'uk', + 'uz', + 'zh' + ].contains(locale.languageCode); + + @override + bool shouldReload(_PhoneFieldLocalizationDelegate old) => false; +} + +PhoneFieldLocalization lookupPhoneFieldLocalization(Locale locale) { + // Lookup logic when only language code is specified. + switch (locale.languageCode) { + case 'ar': + return PhoneFieldLocalizationAr(); + case 'de': + return PhoneFieldLocalizationDe(); + case 'el': + return PhoneFieldLocalizationEl(); + case 'en': + return PhoneFieldLocalizationEn(); + case 'es': + return PhoneFieldLocalizationEs(); + case 'fa': + return PhoneFieldLocalizationFa(); + case 'fr': + return PhoneFieldLocalizationFr(); + case 'hi': + return PhoneFieldLocalizationHi(); + case 'it': + return PhoneFieldLocalizationIt(); + case 'nb': + return PhoneFieldLocalizationNb(); + case 'nl': + return PhoneFieldLocalizationNl(); + case 'pt': + return PhoneFieldLocalizationPt(); + case 'ru': + return PhoneFieldLocalizationRu(); + case 'sv': + return PhoneFieldLocalizationSv(); + case 'tr': + return PhoneFieldLocalizationTr(); + case 'uk': + return PhoneFieldLocalizationUk(); + case 'uz': + return PhoneFieldLocalizationUz(); + case 'zh': + return PhoneFieldLocalizationZh(); + } + + throw FlutterError( + 'PhoneFieldLocalization.delegate failed to load unsupported locale "$locale". This is likely ' + 'an issue with the localizations generation tool. Please file an issue ' + 'on GitHub with a reproducible sample app and the gen-l10n configuration ' + 'that was used.'); +} diff --git a/lib/l10n/generated/phone_field_localization_ar.dart b/lib/l10n/generated/phone_field_localization_ar.dart new file mode 100644 index 00000000..905cc91d --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_ar.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for Arabic (`ar`). +class PhoneFieldLocalizationAr extends PhoneFieldLocalization { + PhoneFieldLocalizationAr([super.locale = 'ar']); + + @override + String get invalidPhoneNumber => 'رقم الهاتف غير صحيح'; + + @override + String get invalidCountry => 'دولة غير صحيح'; + + @override + String get invalidMobilePhoneNumber => 'رقم الهاتف الخلوي غير صحيح'; + + @override + String get invalidFixedLinePhoneNumber => 'رقم الهاتف الثابت غير صحيح'; + + @override + String get requiredPhoneNumber => 'رقم الهاتف مطلوب'; + + @override + String get noResultMessage => 'لا نتيجة'; + + @override + String get ac_ => 'جزيرة أسنسيون'; + + @override + String get ad_ => 'أندورا'; + + @override + String get ae_ => 'الإمارات العربية المتحدة'; + + @override + String get af_ => 'أفغانستان'; + + @override + String get ag_ => 'أنتيغوا وبربودا'; + + @override + String get ai_ => 'أنغيلا'; + + @override + String get al_ => 'ألبانيا'; + + @override + String get am_ => 'أرمينيا'; + + @override + String get an_ => 'جزر الأنتيل الهولندية'; + + @override + String get ao_ => 'أنغولا'; + + @override + String get aq_ => 'أنتاركتيكا'; + + @override + String get ar_ => 'الأرجنتين'; + + @override + String get as_ => 'ساموا الأمريكية'; + + @override + String get at_ => 'النمسا'; + + @override + String get au_ => 'أستراليا'; + + @override + String get aw_ => 'أروبا'; + + @override + String get ax_ => 'جزر آلاند'; + + @override + String get az_ => 'أذربيجان'; + + @override + String get ba_ => 'البوسنة والهرسك'; + + @override + String get bb_ => 'بربادوس'; + + @override + String get bd_ => 'بنغلاديش'; + + @override + String get be_ => 'بلجيكا'; + + @override + String get bf_ => 'بوركينا فاسو'; + + @override + String get bg_ => 'بلغاريا'; + + @override + String get bh_ => 'البحرين'; + + @override + String get bi_ => 'بوروندي'; + + @override + String get bj_ => 'بنين'; + + @override + String get bl_ => 'سانت بارتيليمي'; + + @override + String get bm_ => 'برمودا'; + + @override + String get bn_ => 'بروناي دار السلام'; + + @override + String get bo_ => 'بوليفيا ، دولة متعددة القوميات'; + + @override + String get bq_ => 'بونير'; + + @override + String get br_ => 'البرازيل'; + + @override + String get bs_ => 'جزر البهاما'; + + @override + String get bt_ => 'بوتان'; + + @override + String get bw_ => 'بوتسوانا'; + + @override + String get by_ => 'بيلاروسيا'; + + @override + String get bz_ => 'بليز'; + + @override + String get ca_ => 'كندا'; + + @override + String get cc_ => 'جزر كوكوس (كيلينغ)'; + + @override + String get cd_ => 'الكونغو ، جمهورية الكونغو الديمقراطية'; + + @override + String get cf_ => 'جمهورية افريقيا الوسطى'; + + @override + String get cg_ => 'الكونغو'; + + @override + String get ch_ => 'سويسرا'; + + @override + String get ci_ => 'كوت ديفوار'; + + @override + String get ck_ => 'جزر كوك'; + + @override + String get cl_ => 'تشيلي'; + + @override + String get cm_ => 'الكاميرون'; + + @override + String get cn_ => 'الصين'; + + @override + String get co_ => 'كولومبيا'; + + @override + String get cr_ => 'كوستا ريكا'; + + @override + String get cu_ => 'كوبا'; + + @override + String get cv_ => 'الرأس الأخضر'; + + @override + String get cx_ => 'جزيرة الكريسماس'; + + @override + String get cy_ => 'قبرص'; + + @override + String get cz_ => 'الجمهورية التشيكية'; + + @override + String get de_ => 'ألمانيا'; + + @override + String get dj_ => 'جيبوتي'; + + @override + String get dk_ => 'الدنمارك'; + + @override + String get dm_ => 'دومينيكا'; + + @override + String get do_ => 'جمهورية الدومينيكان'; + + @override + String get dz_ => 'الجزائر'; + + @override + String get ec_ => 'الاكوادور'; + + @override + String get ee_ => 'إستونيا'; + + @override + String get eg_ => 'مصر'; + + @override + String get er_ => 'إريتريا'; + + @override + String get es_ => 'إسبانيا'; + + @override + String get et_ => 'أثيوبيا'; + + @override + String get fi_ => 'فنلندا'; + + @override + String get fj_ => 'فيجي'; + + @override + String get fk_ => 'جزر فوكلاند (مالفيناس)'; + + @override + String get fm_ => 'ولايات ميكرونيزيا الموحدة'; + + @override + String get fo_ => 'جزر فاروس'; + + @override + String get fr_ => 'فرنسا'; + + @override + String get ga_ => 'الجابون'; + + @override + String get gb_ => 'المملكة المتحدة'; + + @override + String get gd_ => 'غرينادا'; + + @override + String get ge_ => 'جورجيا'; + + @override + String get gf_ => 'غيانا الفرنسية'; + + @override + String get gg_ => 'غيرنسي'; + + @override + String get gh_ => 'غانا'; + + @override + String get gi_ => 'جبل طارق'; + + @override + String get gl_ => 'الأرض الخضراء'; + + @override + String get gm_ => 'غامبيا'; + + @override + String get gn_ => 'غينيا'; + + @override + String get gp_ => 'جوادلوب'; + + @override + String get gq_ => 'غينيا الإستوائية'; + + @override + String get gr_ => 'اليونان'; + + @override + String get gs_ => 'جورجيا الجنوبية وجزر ساندويتش الجنوبية'; + + @override + String get gt_ => 'غواتيمالا'; + + @override + String get gu_ => 'غوام'; + + @override + String get gw_ => 'غينيا بيساو'; + + @override + String get gy_ => 'غيانا'; + + @override + String get hk_ => 'هونج كونج'; + + @override + String get hn_ => 'هندوراس'; + + @override + String get hr_ => 'كرواتيا'; + + @override + String get ht_ => 'هايتي'; + + @override + String get hu_ => 'هنغاريا'; + + @override + String get id_ => 'إندونيسيا'; + + @override + String get ie_ => 'أيرلندا'; + + @override + String get il_ => 'إسرائيل'; + + @override + String get im_ => 'جزيرة آيل أوف مان'; + + @override + String get in_ => 'الهند'; + + @override + String get io_ => 'إقليم المحيط البريطاني الهندي'; + + @override + String get iq_ => 'العراق'; + + @override + String get ir_ => 'إيران ، جمهورية الخليج الإسلامية'; + + @override + String get is_ => 'أيسلندا'; + + @override + String get it_ => 'إيطاليا'; + + @override + String get je_ => 'جيرسي'; + + @override + String get jm_ => 'جامايكا'; + + @override + String get jo_ => 'الأردن'; + + @override + String get jp_ => 'اليابان'; + + @override + String get ke_ => 'كينيا'; + + @override + String get kg_ => 'قيرغيزستان'; + + @override + String get kh_ => 'كمبوديا'; + + @override + String get ki_ => 'كيريباتي'; + + @override + String get km_ => 'جزر القمر'; + + @override + String get kn_ => 'سانت كيتس ونيفيس'; + + @override + String get kp_ => 'كوريا ، جمهورية كوريا الشعبية الديمقراطية'; + + @override + String get kr_ => 'كوريا ، جمهورية كوريا الجنوبية'; + + @override + String get kw_ => 'الكويت'; + + @override + String get ky_ => 'جزر كايمان'; + + @override + String get kz_ => 'كازاخستان'; + + @override + String get la_ => 'لاوس'; + + @override + String get lb_ => 'لبنان'; + + @override + String get lc_ => 'القديسة لوسيا'; + + @override + String get li_ => 'ليختنشتاين'; + + @override + String get lk_ => 'سيريلانكا'; + + @override + String get lr_ => 'ليبيريا'; + + @override + String get ls_ => 'ليسوتو'; + + @override + String get lt_ => 'ليتوانيا'; + + @override + String get lu_ => 'لوكسمبورغ'; + + @override + String get lv_ => 'لاتفيا'; + + @override + String get ly_ => 'ليبيا'; + + @override + String get ma_ => 'المغرب'; + + @override + String get mc_ => 'موناكو'; + + @override + String get md_ => 'مولدوفا'; + + @override + String get me_ => 'الجبل الأسود'; + + @override + String get mf_ => 'القديس مارتن'; + + @override + String get mg_ => 'مدغشقر'; + + @override + String get mh_ => 'جزر مارشال'; + + @override + String get mk_ => 'مقدونيا'; + + @override + String get ml_ => 'مالي'; + + @override + String get mm_ => 'ميانمار'; + + @override + String get mn_ => 'منغوليا'; + + @override + String get mo_ => 'ماكاو'; + + @override + String get mp_ => 'جزر مريانا الشمالية'; + + @override + String get mq_ => 'مارتينيك'; + + @override + String get mr_ => 'موريتانيا'; + + @override + String get ms_ => 'مونتسيرات'; + + @override + String get mt_ => 'مالطا'; + + @override + String get mu_ => 'موريشيوس'; + + @override + String get mv_ => 'جزر المالديف'; + + @override + String get mw_ => 'ملاوي'; + + @override + String get mx_ => 'المكسيك'; + + @override + String get my_ => 'ماليزيا'; + + @override + String get mz_ => 'موزمبيق'; + + @override + String get na_ => 'ناميبيا'; + + @override + String get nc_ => 'كاليدونيا الجديدة'; + + @override + String get ne_ => 'النيجر'; + + @override + String get nf_ => 'جزيرة نورفولك'; + + @override + String get ng_ => 'نيجيريا'; + + @override + String get ni_ => 'نيكاراغوا'; + + @override + String get nl_ => 'هولندا'; + + @override + String get no_ => 'النرويج'; + + @override + String get np_ => 'نيبال'; + + @override + String get nr_ => 'ناورو'; + + @override + String get nu_ => 'نيوي'; + + @override + String get nz_ => 'نيوزيلاندا'; + + @override + String get om_ => 'سلطنة عمان'; + + @override + String get pa_ => 'بنما'; + + @override + String get pe_ => 'بيرو'; + + @override + String get pf_ => 'بولينيزيا الفرنسية'; + + @override + String get pg_ => 'بابوا غينيا الجديدة'; + + @override + String get ph_ => 'فيلبيني'; + + @override + String get pk_ => 'باكستان'; + + @override + String get pl_ => 'بولندا'; + + @override + String get pm_ => 'سانت بيير وميكلون'; + + @override + String get pn_ => 'بيتكيرن'; + + @override + String get pr_ => 'بورتوريكو'; + + @override + String get ps_ => 'الأراضي الفلسطينية المحتلة'; + + @override + String get pt_ => 'البرتغال'; + + @override + String get pw_ => 'بالاو'; + + @override + String get py_ => 'باراغواي'; + + @override + String get qa_ => 'دولة قطر'; + + @override + String get re_ => 'جمع شمل'; + + @override + String get ro_ => 'رومانيا'; + + @override + String get rs_ => 'صربيا'; + + @override + String get ru_ => 'روسيا'; + + @override + String get rw_ => 'رواندا'; + + @override + String get sa_ => 'المملكة العربية السعودية'; + + @override + String get sb_ => 'جزر سليمان'; + + @override + String get sc_ => 'سيشيل'; + + @override + String get sd_ => 'السودان'; + + @override + String get se_ => 'السويد'; + + @override + String get sg_ => 'سنغافورة'; + + @override + String get si_ => 'سلوفينيا'; + + @override + String get sk_ => 'سلوفاكيا'; + + @override + String get sl_ => 'سيرا ليون'; + + @override + String get sm_ => 'سان مارينو'; + + @override + String get sn_ => 'السنغال'; + + @override + String get so_ => 'الصومال'; + + @override + String get sr_ => 'سورينام'; + + @override + String get ss_ => 'جنوب السودان'; + + @override + String get st_ => 'ساو تومي وبرينسيبي'; + + @override + String get sv_ => 'السلفادور'; + + @override + String get sy_ => 'الجمهورية العربية السورية'; + + @override + String get sz_ => 'سوازيلاند'; + + @override + String get ta_ => 'تريستان دا كونها'; + + @override + String get tc_ => 'جزر تركس وكايكوس'; + + @override + String get td_ => 'تشاد'; + + @override + String get tg_ => 'توجو'; + + @override + String get th_ => 'تايلاند'; + + @override + String get tj_ => 'طاجيكستان'; + + @override + String get tk_ => 'توكيلاو'; + + @override + String get tl_ => 'تيمور ليشتي'; + + @override + String get tm_ => 'تركمانستان'; + + @override + String get tn_ => 'تونس'; + + @override + String get to_ => 'تونغا'; + + @override + String get tr_ => 'ديك رومى'; + + @override + String get tt_ => 'ترينداد وتوباغو'; + + @override + String get tv_ => 'توفالو'; + + @override + String get tw_ => 'تايوان'; + + @override + String get tz_ => 'تنزانيا ، جمهورية تنزانيا المتحدة'; + + @override + String get ua_ => 'أوكرانيا'; + + @override + String get ug_ => 'أوغندا'; + + @override + String get us_ => 'الولايات المتحدة الأمريكية'; + + @override + String get uy_ => 'أوروغواي'; + + @override + String get uz_ => 'أوزبكستان'; + + @override + String get va_ => 'الكرسي الرسولي (دولة الفاتيكان)'; + + @override + String get vc_ => 'سانت فنسنت وجزر غرينادين'; + + @override + String get ve_ => 'فنزويلا'; + + @override + String get vg_ => 'جزر العذراء البريطانية'; + + @override + String get vi_ => 'جزر فيرجن الأمريكية'; + + @override + String get vn_ => 'فيتنام'; + + @override + String get vu_ => 'فانواتو'; + + @override + String get wf_ => 'واليس وفوتونا'; + + @override + String get ws_ => 'ساموا'; + + @override + String get ye_ => 'اليمن'; + + @override + String get yt_ => 'مايوت'; + + @override + String get za_ => 'جنوب أفريقيا'; + + @override + String get zm_ => 'زامبيا'; + + @override + String get zw_ => 'زيمبابوي'; +} diff --git a/lib/l10n/generated/phone_field_localization_de.dart b/lib/l10n/generated/phone_field_localization_de.dart new file mode 100644 index 00000000..0d7d16c6 --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_de.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for German (`de`). +class PhoneFieldLocalizationDe extends PhoneFieldLocalization { + PhoneFieldLocalizationDe([super.locale = 'de']); + + @override + String get invalidPhoneNumber => 'Ungültige Telefonnummer'; + + @override + String get invalidCountry => 'Ungültiges Land'; + + @override + String get invalidMobilePhoneNumber => 'Ungültige Handynummer'; + + @override + String get invalidFixedLinePhoneNumber => 'Ungültige Festnetznummer'; + + @override + String get requiredPhoneNumber => 'Telefonnummer erforderlich'; + + @override + String get noResultMessage => 'Kein Ergebnis'; + + @override + String get ac_ => 'Himmelfahrtsinsel'; + + @override + String get ad_ => 'Andorra'; + + @override + String get ae_ => 'Vereinigte Arabische Emirate'; + + @override + String get af_ => 'Afghanistan'; + + @override + String get ag_ => 'Antigua und Barbuda'; + + @override + String get ai_ => 'Anguilla'; + + @override + String get al_ => 'Albanien'; + + @override + String get am_ => 'Armenien'; + + @override + String get an_ => 'Niederländische Antillen'; + + @override + String get ao_ => 'Angola'; + + @override + String get aq_ => 'Antarktis'; + + @override + String get ar_ => 'Argentinien'; + + @override + String get as_ => 'Amerikanischen Samoa-Inseln'; + + @override + String get at_ => 'Österreich'; + + @override + String get au_ => 'Australien'; + + @override + String get aw_ => 'Aruba'; + + @override + String get ax_ => 'Aland Islands'; + + @override + String get az_ => 'Aserbaidschan'; + + @override + String get ba_ => 'Bosnien und Herzegowina'; + + @override + String get bb_ => 'Barbados'; + + @override + String get bd_ => 'Bangladesch'; + + @override + String get be_ => 'Belgien'; + + @override + String get bf_ => 'Burkina Faso'; + + @override + String get bg_ => 'Bulgarien'; + + @override + String get bh_ => 'Bahrain'; + + @override + String get bi_ => 'Burundi'; + + @override + String get bj_ => 'Benin'; + + @override + String get bl_ => 'Heiliger Barthelemy'; + + @override + String get bm_ => 'Bermuda'; + + @override + String get bn_ => 'Brunei Darussalam'; + + @override + String get bo_ => 'Bolivien, Plurinationaler Staat'; + + @override + String get bq_ => 'Bonaire'; + + @override + String get br_ => 'Brasilien'; + + @override + String get bs_ => 'Bahamas'; + + @override + String get bt_ => 'Bhutan'; + + @override + String get bw_ => 'Botswana'; + + @override + String get by_ => 'Weißrussland'; + + @override + String get bz_ => 'Belize'; + + @override + String get ca_ => 'Kanada'; + + @override + String get cc_ => 'Kokosinseln (Keelinginseln)'; + + @override + String get cd_ => 'Kongo, Demokratische Republik Kongo'; + + @override + String get cf_ => 'Zentralafrikanische Republik'; + + @override + String get cg_ => 'Kongo'; + + @override + String get ch_ => 'Schweiz'; + + @override + String get ci_ => 'Elfenbeinküste'; + + @override + String get ck_ => 'Cookinseln'; + + @override + String get cl_ => 'Chile'; + + @override + String get cm_ => 'Kamerun'; + + @override + String get cn_ => 'China'; + + @override + String get co_ => 'Kolumbien'; + + @override + String get cr_ => 'Costa Rica'; + + @override + String get cu_ => 'Kuba'; + + @override + String get cv_ => 'Kap Verde'; + + @override + String get cx_ => 'Weihnachtsinsel'; + + @override + String get cy_ => 'Zypern'; + + @override + String get cz_ => 'Tschechien'; + + @override + String get de_ => 'Deutschland'; + + @override + String get dj_ => 'Dschibuti'; + + @override + String get dk_ => 'Dänemark'; + + @override + String get dm_ => 'Dominica'; + + @override + String get do_ => 'Dominikanische Republik'; + + @override + String get dz_ => 'Algerien'; + + @override + String get ec_ => 'Ecuador'; + + @override + String get ee_ => 'Estland'; + + @override + String get eg_ => 'Ägypten'; + + @override + String get er_ => 'Eritrea'; + + @override + String get es_ => 'Spanien'; + + @override + String get et_ => 'Äthiopien'; + + @override + String get fi_ => 'Finnland'; + + @override + String get fj_ => 'Fidschi'; + + @override + String get fk_ => 'Falklandinseln (Malvinas)'; + + @override + String get fm_ => 'Mikronesien, Föderierte Staaten von Mikronesien'; + + @override + String get fo_ => 'Färöer Inseln'; + + @override + String get fr_ => 'Frankreich'; + + @override + String get ga_ => 'Gabun'; + + @override + String get gb_ => 'Vereinigtes Königreich'; + + @override + String get gd_ => 'Grenada'; + + @override + String get ge_ => 'Georgia'; + + @override + String get gf_ => 'Französisch-Guayana'; + + @override + String get gg_ => 'Guernsey'; + + @override + String get gh_ => 'Ghana'; + + @override + String get gi_ => 'Gibraltar'; + + @override + String get gl_ => 'Grönland'; + + @override + String get gm_ => 'Gambia'; + + @override + String get gn_ => 'Guinea'; + + @override + String get gp_ => 'Guadeloupe'; + + @override + String get gq_ => 'Äquatorialguinea'; + + @override + String get gr_ => 'Griechenland'; + + @override + String get gs_ => 'Süd-Georgien und die südlichen Sandwich-Inseln'; + + @override + String get gt_ => 'Guatemala'; + + @override + String get gu_ => 'Guam'; + + @override + String get gw_ => 'Guinea-Bissau'; + + @override + String get gy_ => 'Guyana'; + + @override + String get hk_ => 'Hongkong'; + + @override + String get hn_ => 'Honduras'; + + @override + String get hr_ => 'Kroatien'; + + @override + String get ht_ => 'Haiti'; + + @override + String get hu_ => 'Ungarn'; + + @override + String get id_ => 'Indonesien'; + + @override + String get ie_ => 'Irland'; + + @override + String get il_ => 'Israel'; + + @override + String get im_ => 'Isle of Man'; + + @override + String get in_ => 'Indien'; + + @override + String get io_ => 'Britisches Territorium des Indischen Ozeans'; + + @override + String get iq_ => 'Irak'; + + @override + String get ir_ => 'Iran, Islamische Republik Persischer Golf'; + + @override + String get is_ => 'Island'; + + @override + String get it_ => 'Italien'; + + @override + String get je_ => 'Jersey'; + + @override + String get jm_ => 'Jamaika'; + + @override + String get jo_ => 'Jordanien'; + + @override + String get jp_ => 'Japan'; + + @override + String get ke_ => 'Kenia'; + + @override + String get kg_ => 'Kirgisistan'; + + @override + String get kh_ => 'Kambodscha'; + + @override + String get ki_ => 'Kiribati'; + + @override + String get km_ => 'Komoren'; + + @override + String get kn_ => 'St. Kitts und Nevis'; + + @override + String get kp_ => 'Korea, Demokratische Volksrepublik Korea'; + + @override + String get kr_ => 'Korea, Republik Südkorea'; + + @override + String get kw_ => 'Kuwait'; + + @override + String get ky_ => 'Cayman Inseln'; + + @override + String get kz_ => 'Kasachstan'; + + @override + String get la_ => 'Laos'; + + @override + String get lb_ => 'Libanon'; + + @override + String get lc_ => 'St. Lucia'; + + @override + String get li_ => 'Liechtenstein'; + + @override + String get lk_ => 'Sri Lanka'; + + @override + String get lr_ => 'Liberia'; + + @override + String get ls_ => 'Lesotho'; + + @override + String get lt_ => 'Litauen'; + + @override + String get lu_ => 'Luxemburg'; + + @override + String get lv_ => 'Lettland'; + + @override + String get ly_ => 'Libyscher arabischer Jamahiriya'; + + @override + String get ma_ => 'Marokko'; + + @override + String get mc_ => 'Monaco'; + + @override + String get md_ => 'Moldawien'; + + @override + String get me_ => 'Montenegro'; + + @override + String get mf_ => 'Sankt Martin'; + + @override + String get mg_ => 'Madagaskar'; + + @override + String get mh_ => 'Marshallinseln'; + + @override + String get mk_ => 'Mazedonien'; + + @override + String get ml_ => 'Mali'; + + @override + String get mm_ => 'Myanmar'; + + @override + String get mn_ => 'Mongolei'; + + @override + String get mo_ => 'Macao'; + + @override + String get mp_ => 'Nördliche Marianneninseln'; + + @override + String get mq_ => 'Martinique'; + + @override + String get mr_ => 'Mauretanien'; + + @override + String get ms_ => 'Montserrat'; + + @override + String get mt_ => 'Malta'; + + @override + String get mu_ => 'Mauritius'; + + @override + String get mv_ => 'Malediven'; + + @override + String get mw_ => 'Malawi'; + + @override + String get mx_ => 'Mexiko'; + + @override + String get my_ => 'Malaysia'; + + @override + String get mz_ => 'Mosambik'; + + @override + String get na_ => 'Namibia'; + + @override + String get nc_ => 'Neu-Kaledonien'; + + @override + String get ne_ => 'Niger'; + + @override + String get nf_ => 'Norfolkinsel'; + + @override + String get ng_ => 'Nigeria'; + + @override + String get ni_ => 'Nicaragua'; + + @override + String get nl_ => 'Niederlande'; + + @override + String get no_ => 'Norwegen'; + + @override + String get np_ => 'Nepal'; + + @override + String get nr_ => 'Nauru'; + + @override + String get nu_ => 'Niue'; + + @override + String get nz_ => 'Neuseeland'; + + @override + String get om_ => 'Oman'; + + @override + String get pa_ => 'Panama'; + + @override + String get pe_ => 'Peru'; + + @override + String get pf_ => 'Französisch Polynesien'; + + @override + String get pg_ => 'Papua Neu-Guinea'; + + @override + String get ph_ => 'Philippinen'; + + @override + String get pk_ => 'Pakistan'; + + @override + String get pl_ => 'Polen'; + + @override + String get pm_ => 'Saint Pierre und Miquelon'; + + @override + String get pn_ => 'Pitcairn'; + + @override + String get pr_ => 'Puerto Rico'; + + @override + String get ps_ => 'Besetzte palästinensische Gebiete'; + + @override + String get pt_ => 'Portugal'; + + @override + String get pw_ => 'Palau'; + + @override + String get py_ => 'Paraguay'; + + @override + String get qa_ => 'Katar'; + + @override + String get re_ => 'Wiedervereinigung'; + + @override + String get ro_ => 'Rumänien'; + + @override + String get rs_ => 'Serbien'; + + @override + String get ru_ => 'Russland'; + + @override + String get rw_ => 'Ruanda'; + + @override + String get sa_ => 'Saudi-Arabien'; + + @override + String get sb_ => 'Salomon-Inseln'; + + @override + String get sc_ => 'Seychellen'; + + @override + String get sd_ => 'Sudan'; + + @override + String get se_ => 'Schweden'; + + @override + String get sg_ => 'Singapur'; + + @override + String get si_ => 'Slowenien'; + + @override + String get sk_ => 'Slowakei'; + + @override + String get sl_ => 'Sierra Leone'; + + @override + String get sm_ => 'San Marino'; + + @override + String get sn_ => 'Senegal'; + + @override + String get so_ => 'Somalia'; + + @override + String get sr_ => 'Suriname'; + + @override + String get ss_ => 'Südsudan'; + + @override + String get st_ => 'Sao Tome und Principe'; + + @override + String get sv_ => 'El Salvador'; + + @override + String get sy_ => 'Syrische Arabische Republik'; + + @override + String get sz_ => 'Swasiland'; + + @override + String get ta_ => 'Tristan da Cunha'; + + @override + String get tc_ => 'Turks- und Caicosinseln'; + + @override + String get td_ => 'Tschad'; + + @override + String get tg_ => 'Gehen'; + + @override + String get th_ => 'Thailand'; + + @override + String get tj_ => 'Tadschikistan'; + + @override + String get tk_ => 'Tokelau'; + + @override + String get tl_ => 'Timor-Leste'; + + @override + String get tm_ => 'Turkmenistan'; + + @override + String get tn_ => 'Tunesien'; + + @override + String get to_ => 'Tonga'; + + @override + String get tr_ => 'Truthahn'; + + @override + String get tt_ => 'Trinidad und Tobago'; + + @override + String get tv_ => 'Tuvalu'; + + @override + String get tw_ => 'Taiwan'; + + @override + String get tz_ => 'Tansania, Vereinigte Republik Tansania'; + + @override + String get ua_ => 'Ukraine'; + + @override + String get ug_ => 'Uganda'; + + @override + String get us_ => 'Vereinigte Staaten'; + + @override + String get uy_ => 'Uruguay'; + + @override + String get uz_ => 'Usbekistan'; + + @override + String get va_ => 'Heiliger Stuhl (Staat der Vatikanstadt)'; + + @override + String get vc_ => 'St. Vincent und die Grenadinen'; + + @override + String get ve_ => 'Venezuela'; + + @override + String get vg_ => 'Virgin Inseln, Britisch'; + + @override + String get vi_ => 'Jungferninseln, USA'; + + @override + String get vn_ => 'Vietnam'; + + @override + String get vu_ => 'Vanuatu'; + + @override + String get wf_ => 'Wallis und Futuna'; + + @override + String get ws_ => 'Samoa'; + + @override + String get ye_ => 'Jemen'; + + @override + String get yt_ => 'Mayotte'; + + @override + String get za_ => 'Südafrika'; + + @override + String get zm_ => 'Sambia'; + + @override + String get zw_ => 'Zimbabwe'; +} diff --git a/lib/l10n/generated/phone_field_localization_el.dart b/lib/l10n/generated/phone_field_localization_el.dart new file mode 100644 index 00000000..c64e5538 --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_el.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for Modern Greek (`el`). +class PhoneFieldLocalizationEl extends PhoneFieldLocalization { + PhoneFieldLocalizationEl([super.locale = 'el']); + + @override + String get invalidPhoneNumber => 'Μη έγκυρος αριθμός τηλεφώνου'; + + @override + String get invalidCountry => 'Μη έγκυρη χώρα'; + + @override + String get invalidMobilePhoneNumber => 'Μη έγκυρος αριθμός κινητού τηλεφώνου'; + + @override + String get invalidFixedLinePhoneNumber => 'Μη έγκυρος αριθμός σταθερού τηλεφώνου'; + + @override + String get requiredPhoneNumber => 'Απαιτούμενος αριθμός τηλεφώνου'; + + @override + String get noResultMessage => 'Κανένα αποτέλεσμα'; + + @override + String get ac_ => 'Νησί της Ανάληψης'; + + @override + String get ad_ => 'Ανδόρα'; + + @override + String get ae_ => 'Ηνωμένα Αραβικά Εμιράτα'; + + @override + String get af_ => 'Αφγανιστάν'; + + @override + String get ag_ => 'Αντίγκουα και Μπαρμπούντα'; + + @override + String get ai_ => 'Ανγκουίλα'; + + @override + String get al_ => 'Αλβανία'; + + @override + String get am_ => 'Αρμενία'; + + @override + String get an_ => 'Ολλανδικές Αντίλλες'; + + @override + String get ao_ => 'Αγκόλα'; + + @override + String get aq_ => 'Ανταρκτική'; + + @override + String get ar_ => 'Αργεντίνη'; + + @override + String get as_ => 'Αμερικάνικη Σαμόα'; + + @override + String get at_ => 'Αυστρία'; + + @override + String get au_ => 'Αυστραλία'; + + @override + String get aw_ => 'Αρούμπα'; + + @override + String get ax_ => 'Νησιά Άλαντ'; + + @override + String get az_ => 'Αζερμπαϊτζάν'; + + @override + String get ba_ => 'Βοσνία και Ερζεγοβίνη'; + + @override + String get bb_ => 'Μπαρμπάντος'; + + @override + String get bd_ => 'Μπαγκλαντές'; + + @override + String get be_ => 'Βέλγιο'; + + @override + String get bf_ => 'Μπουρκίνα Φάσο'; + + @override + String get bg_ => 'Βουλγαρία'; + + @override + String get bh_ => 'Μπαχρέιν'; + + @override + String get bi_ => 'Μπουρούντι'; + + @override + String get bj_ => 'Μπενίν'; + + @override + String get bl_ => 'Άγιος Βαρθολομαίος'; + + @override + String get bm_ => 'Βερμούδα'; + + @override + String get bn_ => 'Μπρουνάι Νταρουσαλάμ'; + + @override + String get bo_ => 'Βολιβία, πολυεθνικό κράτος της'; + + @override + String get bq_ => 'Μποναίρ'; + + @override + String get br_ => 'Βραζιλία'; + + @override + String get bs_ => 'Μπαχάμες'; + + @override + String get bt_ => 'Μπουτάν'; + + @override + String get bw_ => 'Μποτσουάνα'; + + @override + String get by_ => 'Λευκορωσία'; + + @override + String get bz_ => 'Μπελίζ'; + + @override + String get ca_ => 'Καναδάς'; + + @override + String get cc_ => 'Νησιά Cocos (Keeling).'; + + @override + String get cd_ => 'Κονγκό, Λαϊκή Δημοκρατία του Κονγκό'; + + @override + String get cf_ => 'Δημοκρατία Κεντρικής Αφρικής'; + + @override + String get cg_ => 'Κογκό'; + + @override + String get ch_ => 'Ελβετία'; + + @override + String get ci_ => 'Ακτή Ελεφαντοστού'; + + @override + String get ck_ => 'Νήσοι Κουκ'; + + @override + String get cl_ => 'Χιλή'; + + @override + String get cm_ => 'Καμερούν'; + + @override + String get cn_ => 'Κίνα'; + + @override + String get co_ => 'Κολομβία'; + + @override + String get cr_ => 'Κόστα Ρίκα'; + + @override + String get cu_ => 'Κούβα'; + + @override + String get cv_ => 'Πράσινο Ακρωτήριο'; + + @override + String get cx_ => 'Νησί των Χριστουγέννων'; + + @override + String get cy_ => 'Κύπρος'; + + @override + String get cz_ => 'Τσεχική Δημοκρατία'; + + @override + String get de_ => 'Γερμανία'; + + @override + String get dj_ => 'Τζιμπουτί'; + + @override + String get dk_ => 'Δανία'; + + @override + String get dm_ => 'Δομίνικα'; + + @override + String get do_ => 'Δομινικανή Δημοκρατία'; + + @override + String get dz_ => 'Αλγερία'; + + @override + String get ec_ => 'Εκουαδόρ'; + + @override + String get ee_ => 'Εσθονία'; + + @override + String get eg_ => 'Αίγυπτος'; + + @override + String get er_ => 'Ερυθραία'; + + @override + String get es_ => 'Ισπανία'; + + @override + String get et_ => 'Αιθιοπία'; + + @override + String get fi_ => 'Φινλανδία'; + + @override + String get fj_ => 'Φίτζι'; + + @override + String get fk_ => 'Νησιά Φώκλαντ (Μαλβίνες)'; + + @override + String get fm_ => 'Μικρονησία, Ομόσπονδα Κράτη της Μικρονησίας'; + + @override + String get fo_ => 'Νήσοι Φερόες'; + + @override + String get fr_ => 'Γαλλία'; + + @override + String get ga_ => 'Γκαμπόν'; + + @override + String get gb_ => 'Ηνωμένο Βασίλειο'; + + @override + String get gd_ => 'Γρενάδα'; + + @override + String get ge_ => 'Γεωργία'; + + @override + String get gf_ => 'Γαλλική Γουιάνα'; + + @override + String get gg_ => 'Γκέρνσεϊ'; + + @override + String get gh_ => 'Γκάνα'; + + @override + String get gi_ => 'Γιβραλτάρ'; + + @override + String get gl_ => 'Γροιλανδία'; + + @override + String get gm_ => 'Γκάμπια'; + + @override + String get gn_ => 'Γκινέα'; + + @override + String get gp_ => 'Γουαδελούπη'; + + @override + String get gq_ => 'Ισημερινή Γουινέα'; + + @override + String get gr_ => 'Ελλάδα'; + + @override + String get gs_ => 'Νότια Γεωργία και τα Νότια Σάντουιτς Νησιά'; + + @override + String get gt_ => 'Γουατεμάλα'; + + @override + String get gu_ => 'Γκουάμ'; + + @override + String get gw_ => 'Γουινέα-Μπισάου'; + + @override + String get gy_ => 'Γουιάνα'; + + @override + String get hk_ => 'Χονγκ Κονγκ'; + + @override + String get hn_ => 'Ονδούρα'; + + @override + String get hr_ => 'Κροατία'; + + @override + String get ht_ => 'Αΐτη'; + + @override + String get hu_ => 'Ουγγαρία'; + + @override + String get id_ => 'Ινδονησία'; + + @override + String get ie_ => 'Ιρλανδία'; + + @override + String get il_ => 'Ισραήλ'; + + @override + String get im_ => 'Isle of Man'; + + @override + String get in_ => 'Ινδία'; + + @override + String get io_ => 'Βρετανική επικράτεια Ινδικού Ωκεανού'; + + @override + String get iq_ => 'Ιράκ'; + + @override + String get ir_ => 'Ιράν, Ισλαμική Δημοκρατία του Περσικού Κόλπου'; + + @override + String get is_ => 'Ισλανδία'; + + @override + String get it_ => 'Ιταλία'; + + @override + String get je_ => 'Φανέλα'; + + @override + String get jm_ => 'Ιαμαϊκή'; + + @override + String get jo_ => 'Ιορδανία'; + + @override + String get jp_ => 'Ιαπωνία'; + + @override + String get ke_ => 'Κενύα'; + + @override + String get kg_ => 'Κιργιζιστάν'; + + @override + String get kh_ => 'Καμπότζη'; + + @override + String get ki_ => 'Κιριμπάτι'; + + @override + String get km_ => 'Κομόρες'; + + @override + String get kn_ => 'Saint Kitts and Nevis'; + + @override + String get kp_ => 'Κορέα, Λαϊκή Δημοκρατία της Κορέας'; + + @override + String get kr_ => 'Κορέα, Δημοκρατία της Νότιας Κορέας'; + + @override + String get kw_ => 'Κουβέιτ'; + + @override + String get ky_ => 'Νησιά Κέιμαν'; + + @override + String get kz_ => 'Καζακστάν'; + + @override + String get la_ => 'Λάος'; + + @override + String get lb_ => 'Λίβανος'; + + @override + String get lc_ => 'Αγία Λουκία'; + + @override + String get li_ => 'Λιχτενστάιν'; + + @override + String get lk_ => 'Σρι Λάνκα'; + + @override + String get lr_ => 'Λιβερία'; + + @override + String get ls_ => 'Λεσότο'; + + @override + String get lt_ => 'Λιθουανία'; + + @override + String get lu_ => 'Λουξεμβούργο'; + + @override + String get lv_ => 'Λετονία'; + + @override + String get ly_ => 'Λιβυκή Αραβική Τζαμαχίρια'; + + @override + String get ma_ => 'Μαρόκο'; + + @override + String get mc_ => 'Μονακό'; + + @override + String get md_ => 'Μολδαβία'; + + @override + String get me_ => 'Μαυροβούνιο'; + + @override + String get mf_ => 'Άγιος Μαρτίνος'; + + @override + String get mg_ => 'Μαδαγασκάρη'; + + @override + String get mh_ => 'Νήσοι Μάρσαλ'; + + @override + String get mk_ => 'Μακεδόνια'; + + @override + String get ml_ => 'Μάλι'; + + @override + String get mm_ => 'Μιανμάρ'; + + @override + String get mn_ => 'Μογγολία'; + + @override + String get mo_ => 'Μακάο'; + + @override + String get mp_ => 'Βορεια Νησια Μαριανα'; + + @override + String get mq_ => 'Μαρτινίκα'; + + @override + String get mr_ => 'Μαυριτανία'; + + @override + String get ms_ => 'Μονσεράτ'; + + @override + String get mt_ => 'Μάλτα'; + + @override + String get mu_ => 'Μαυρίκιος'; + + @override + String get mv_ => 'Μαλδίβες'; + + @override + String get mw_ => 'Μαλάουι'; + + @override + String get mx_ => 'Μεξικό'; + + @override + String get my_ => 'Μαλαισία'; + + @override + String get mz_ => 'Μοζαμβίκη'; + + @override + String get na_ => 'Ναμίμπια'; + + @override + String get nc_ => 'Νέα Καληδονία'; + + @override + String get ne_ => 'Νίγηρας'; + + @override + String get nf_ => 'Νησί Νόρφολκ'; + + @override + String get ng_ => 'Νιγηρία'; + + @override + String get ni_ => 'Νικαράγουα'; + + @override + String get nl_ => 'Ολλανδία'; + + @override + String get no_ => 'Νορβηγία'; + + @override + String get np_ => 'Νεπάλ'; + + @override + String get nr_ => 'Ναούρου'; + + @override + String get nu_ => 'Niue'; + + @override + String get nz_ => 'Νέα Ζηλανδία'; + + @override + String get om_ => 'Ομάν'; + + @override + String get pa_ => 'Παναμάς'; + + @override + String get pe_ => 'Περού'; + + @override + String get pf_ => 'Γαλλική Πολυνησία'; + + @override + String get pg_ => 'Παπούα Νέα Γουινέα'; + + @override + String get ph_ => 'Φιλιππίνες'; + + @override + String get pk_ => 'Πακιστάν'; + + @override + String get pl_ => 'Πολωνία'; + + @override + String get pm_ => 'Saint Pierre and Miquelon'; + + @override + String get pn_ => 'Πίτκερν'; + + @override + String get pr_ => 'Πουέρτο Ρίκο'; + + @override + String get ps_ => 'Παλαιστινιακό έδαφος, κατεχόμενο'; + + @override + String get pt_ => 'Πορτογαλία'; + + @override + String get pw_ => 'Παλάου'; + + @override + String get py_ => 'Παραγουάη'; + + @override + String get qa_ => 'Κατάρ'; + + @override + String get re_ => 'Επανένωση'; + + @override + String get ro_ => 'Ρουμανία'; + + @override + String get rs_ => 'Σερβία'; + + @override + String get ru_ => 'Ρωσία'; + + @override + String get rw_ => 'Ρουάντα'; + + @override + String get sa_ => 'Σαουδική Αραβία'; + + @override + String get sb_ => 'Νησιά του Σολομώντα'; + + @override + String get sc_ => 'Σεϋχέλλες'; + + @override + String get sd_ => 'Σουδάν'; + + @override + String get se_ => 'Σουηδία'; + + @override + String get sg_ => 'Σιγκαπούρη'; + + @override + String get si_ => 'Σλοβενία'; + + @override + String get sk_ => 'Σλοβακία'; + + @override + String get sl_ => 'Σιέρρα Λεόνε'; + + @override + String get sm_ => 'Σαν Μαρίνο'; + + @override + String get sn_ => 'Σενεγάλη'; + + @override + String get so_ => 'Σομαλία'; + + @override + String get sr_ => 'Σουρινάμ'; + + @override + String get ss_ => 'Νότιο Σουδάν'; + + @override + String get st_ => 'Σάο Τομέ και Πρίνσιπε'; + + @override + String get sv_ => 'Ελ Σαλβαδόρ'; + + @override + String get sy_ => 'Αραβική Δημοκρατία της Συρίας'; + + @override + String get sz_ => 'Σουαζιλάνδη'; + + @override + String get ta_ => 'Τριστάν ντα Κούνια'; + + @override + String get tc_ => 'Νήσοι Τερκς και Κάικος'; + + @override + String get td_ => 'Τσαντ'; + + @override + String get tg_ => 'Τογκό'; + + @override + String get th_ => 'Ταϊλάνδη'; + + @override + String get tj_ => 'Τατζικιστάν'; + + @override + String get tk_ => 'Τοκελάου'; + + @override + String get tl_ => 'Ανατολικό Τιμόρ'; + + @override + String get tm_ => 'Τουρκμενιστάν'; + + @override + String get tn_ => 'Τυνησία'; + + @override + String get to_ => 'Τόνγκα'; + + @override + String get tr_ => 'Τουρκία'; + + @override + String get tt_ => 'Τρινιντάντ και Τομπάγκο'; + + @override + String get tv_ => 'Τουβαλού'; + + @override + String get tw_ => 'Ταϊβάν'; + + @override + String get tz_ => 'Τανζανία, Ενωμένη Δημοκρατία της Τανζανίας'; + + @override + String get ua_ => 'Ουκρανία'; + + @override + String get ug_ => 'Ουγκάντα'; + + @override + String get us_ => 'Ηνωμένες Πολιτείες'; + + @override + String get uy_ => 'Ουρουγουάη'; + + @override + String get uz_ => 'Ουζμπεκιστάν'; + + @override + String get va_ => 'Αγία Έδρα (Κράτος της Πόλης του Βατικανού)'; + + @override + String get vc_ => 'Άγιος Βικέντιος και Γρεναδίνες'; + + @override + String get ve_ => 'Βενεζουέλα'; + + @override + String get vg_ => 'Παρθένοι Νήσοι, Βρετανοί'; + + @override + String get vi_ => 'Παρθένοι Νήσοι, Η.Π.Α.'; + + @override + String get vn_ => 'Βιετνάμ'; + + @override + String get vu_ => 'Βανουάτου'; + + @override + String get wf_ => 'Wallis και Futuna'; + + @override + String get ws_ => 'Σαμόα'; + + @override + String get ye_ => 'Γέμενη'; + + @override + String get yt_ => 'Μαγιότ'; + + @override + String get za_ => 'Νότια Αφρική'; + + @override + String get zm_ => 'Ζάμπια'; + + @override + String get zw_ => 'Ζιμπάμπουe'; +} diff --git a/lib/l10n/generated/phone_field_localization_en.dart b/lib/l10n/generated/phone_field_localization_en.dart new file mode 100644 index 00000000..a10d384f --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_en.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for English (`en`). +class PhoneFieldLocalizationEn extends PhoneFieldLocalization { + PhoneFieldLocalizationEn([super.locale = 'en']); + + @override + String get invalidPhoneNumber => 'Invalid phone number'; + + @override + String get invalidCountry => 'Invalid country'; + + @override + String get invalidMobilePhoneNumber => 'Invalid mobile phone number'; + + @override + String get invalidFixedLinePhoneNumber => 'Invalid fixed line phone number'; + + @override + String get requiredPhoneNumber => 'Required phone number'; + + @override + String get noResultMessage => 'No result'; + + @override + String get ac_ => 'Ascension Island'; + + @override + String get ad_ => 'Andorra'; + + @override + String get ae_ => 'United Arab Emirates'; + + @override + String get af_ => 'Afghanistan'; + + @override + String get ag_ => 'Antigua and Barbuda'; + + @override + String get ai_ => 'Anguilla'; + + @override + String get al_ => 'Albania'; + + @override + String get am_ => 'Armenia'; + + @override + String get an_ => 'Netherlands Antilles'; + + @override + String get ao_ => 'Angola'; + + @override + String get aq_ => 'Antarctica'; + + @override + String get ar_ => 'Argentina'; + + @override + String get as_ => 'American Samoa'; + + @override + String get at_ => 'Austria'; + + @override + String get au_ => 'Australia'; + + @override + String get aw_ => 'Aruba'; + + @override + String get ax_ => 'Aland Islands'; + + @override + String get az_ => 'Azerbaijan'; + + @override + String get ba_ => 'Bosnia and Herzegovina'; + + @override + String get bb_ => 'Barbados'; + + @override + String get bd_ => 'Bangladesh'; + + @override + String get be_ => 'Belgium'; + + @override + String get bf_ => 'Burkina Faso'; + + @override + String get bg_ => 'Bulgaria'; + + @override + String get bh_ => 'Bahrain'; + + @override + String get bi_ => 'Burundi'; + + @override + String get bj_ => 'Benin'; + + @override + String get bl_ => 'Saint Barthelemy'; + + @override + String get bm_ => 'Bermuda'; + + @override + String get bn_ => 'Brunei Darussalam'; + + @override + String get bo_ => 'Bolivia, Plurinational State of'; + + @override + String get bq_ => 'Bonaire'; + + @override + String get br_ => 'Brazil'; + + @override + String get bs_ => 'Bahamas'; + + @override + String get bt_ => 'Bhutan'; + + @override + String get bw_ => 'Botswana'; + + @override + String get by_ => 'Belarus'; + + @override + String get bz_ => 'Belize'; + + @override + String get ca_ => 'Canada'; + + @override + String get cc_ => 'Cocos (Keeling) Islands'; + + @override + String get cd_ => 'Congo, The Democratic Republic of the Congo'; + + @override + String get cf_ => 'Central African Republic'; + + @override + String get cg_ => 'Congo'; + + @override + String get ch_ => 'Switzerland'; + + @override + String get ci_ => 'Cote d\'Ivoire'; + + @override + String get ck_ => 'Cook Islands'; + + @override + String get cl_ => 'Chile'; + + @override + String get cm_ => 'Cameroon'; + + @override + String get cn_ => 'China'; + + @override + String get co_ => 'Colombia'; + + @override + String get cr_ => 'Costa Rica'; + + @override + String get cu_ => 'Cuba'; + + @override + String get cv_ => 'Cape Verde'; + + @override + String get cx_ => 'Christmas Island'; + + @override + String get cy_ => 'Cyprus'; + + @override + String get cz_ => 'Czech Republic'; + + @override + String get de_ => 'Germany'; + + @override + String get dj_ => 'Djibouti'; + + @override + String get dk_ => 'Denmark'; + + @override + String get dm_ => 'Dominica'; + + @override + String get do_ => 'Dominican Republic'; + + @override + String get dz_ => 'Algeria'; + + @override + String get ec_ => 'Ecuador'; + + @override + String get ee_ => 'Estonia'; + + @override + String get eg_ => 'Egypt'; + + @override + String get er_ => 'Eritrea'; + + @override + String get es_ => 'Spain'; + + @override + String get et_ => 'Ethiopia'; + + @override + String get fi_ => 'Finland'; + + @override + String get fj_ => 'Fiji'; + + @override + String get fk_ => 'Falkland Islands (Malvinas)'; + + @override + String get fm_ => 'Micronesia, Federated States of Micronesia'; + + @override + String get fo_ => 'Faroe Islands'; + + @override + String get fr_ => 'France'; + + @override + String get ga_ => 'Gabon'; + + @override + String get gb_ => 'United Kingdom'; + + @override + String get gd_ => 'Grenada'; + + @override + String get ge_ => 'Georgia'; + + @override + String get gf_ => 'French Guiana'; + + @override + String get gg_ => 'Guernsey'; + + @override + String get gh_ => 'Ghana'; + + @override + String get gi_ => 'Gibraltar'; + + @override + String get gl_ => 'Greenland'; + + @override + String get gm_ => 'Gambia'; + + @override + String get gn_ => 'Guinea'; + + @override + String get gp_ => 'Guadeloupe'; + + @override + String get gq_ => 'Equatorial Guinea'; + + @override + String get gr_ => 'Greece'; + + @override + String get gs_ => 'South Georgia and the South Sandwich Islands'; + + @override + String get gt_ => 'Guatemala'; + + @override + String get gu_ => 'Guam'; + + @override + String get gw_ => 'Guinea-Bissau'; + + @override + String get gy_ => 'Guyana'; + + @override + String get hk_ => 'Hong Kong'; + + @override + String get hn_ => 'Honduras'; + + @override + String get hr_ => 'Croatia'; + + @override + String get ht_ => 'Haiti'; + + @override + String get hu_ => 'Hungary'; + + @override + String get id_ => 'Indonesia'; + + @override + String get ie_ => 'Ireland'; + + @override + String get il_ => 'Israel'; + + @override + String get im_ => 'Isle of Man'; + + @override + String get in_ => 'India'; + + @override + String get io_ => 'British Indian Ocean Territory'; + + @override + String get iq_ => 'Iraq'; + + @override + String get ir_ => 'Iran, Islamic Republic of'; + + @override + String get is_ => 'Iceland'; + + @override + String get it_ => 'Italy'; + + @override + String get je_ => 'Jersey'; + + @override + String get jm_ => 'Jamaica'; + + @override + String get jo_ => 'Jordan'; + + @override + String get jp_ => 'Japan'; + + @override + String get ke_ => 'Kenya'; + + @override + String get kg_ => 'Kyrgyzstan'; + + @override + String get kh_ => 'Cambodia'; + + @override + String get ki_ => 'Kiribati'; + + @override + String get km_ => 'Comoros'; + + @override + String get kn_ => 'Saint Kitts and Nevis'; + + @override + String get kp_ => 'Korea, Democratic People\'s Republic of Korea'; + + @override + String get kr_ => 'Korea, Republic of South Korea'; + + @override + String get kw_ => 'Kuwait'; + + @override + String get ky_ => 'Cayman Islands'; + + @override + String get kz_ => 'Kazakhstan'; + + @override + String get la_ => 'Laos'; + + @override + String get lb_ => 'Lebanon'; + + @override + String get lc_ => 'Saint Lucia'; + + @override + String get li_ => 'Liechtenstein'; + + @override + String get lk_ => 'Sri Lanka'; + + @override + String get lr_ => 'Liberia'; + + @override + String get ls_ => 'Lesotho'; + + @override + String get lt_ => 'Lithuania'; + + @override + String get lu_ => 'Luxembourg'; + + @override + String get lv_ => 'Latvia'; + + @override + String get ly_ => 'Libya'; + + @override + String get ma_ => 'Morocco'; + + @override + String get mc_ => 'Monaco'; + + @override + String get md_ => 'Moldova'; + + @override + String get me_ => 'Montenegro'; + + @override + String get mf_ => 'Saint Martin'; + + @override + String get mg_ => 'Madagascar'; + + @override + String get mh_ => 'Marshall Islands'; + + @override + String get mk_ => 'Macedonia'; + + @override + String get ml_ => 'Mali'; + + @override + String get mm_ => 'Myanmar'; + + @override + String get mn_ => 'Mongolia'; + + @override + String get mo_ => 'Macao'; + + @override + String get mp_ => 'Northern Mariana Islands'; + + @override + String get mq_ => 'Martinique'; + + @override + String get mr_ => 'Mauritania'; + + @override + String get ms_ => 'Montserrat'; + + @override + String get mt_ => 'Malta'; + + @override + String get mu_ => 'Mauritius'; + + @override + String get mv_ => 'Maldives'; + + @override + String get mw_ => 'Malawi'; + + @override + String get mx_ => 'Mexico'; + + @override + String get my_ => 'Malaysia'; + + @override + String get mz_ => 'Mozambique'; + + @override + String get na_ => 'Namibia'; + + @override + String get nc_ => 'New Caledonia'; + + @override + String get ne_ => 'Niger'; + + @override + String get nf_ => 'Norfolk Island'; + + @override + String get ng_ => 'Nigeria'; + + @override + String get ni_ => 'Nicaragua'; + + @override + String get nl_ => 'Netherlands'; + + @override + String get no_ => 'Norway'; + + @override + String get np_ => 'Nepal'; + + @override + String get nr_ => 'Nauru'; + + @override + String get nu_ => 'Niue'; + + @override + String get nz_ => 'New Zealand'; + + @override + String get om_ => 'Oman'; + + @override + String get pa_ => 'Panama'; + + @override + String get pe_ => 'Peru'; + + @override + String get pf_ => 'French Polynesia'; + + @override + String get pg_ => 'Papua New Guinea'; + + @override + String get ph_ => 'Philippines'; + + @override + String get pk_ => 'Pakistan'; + + @override + String get pl_ => 'Poland'; + + @override + String get pm_ => 'Saint Pierre and Miquelon'; + + @override + String get pn_ => 'Pitcairn'; + + @override + String get pr_ => 'Puerto Rico'; + + @override + String get ps_ => 'Palestinian Territory, Occupied'; + + @override + String get pt_ => 'Portugal'; + + @override + String get pw_ => 'Palau'; + + @override + String get py_ => 'Paraguay'; + + @override + String get qa_ => 'Qatar'; + + @override + String get re_ => 'Reunion'; + + @override + String get ro_ => 'Romania'; + + @override + String get rs_ => 'Serbia'; + + @override + String get ru_ => 'Russia'; + + @override + String get rw_ => 'Rwanda'; + + @override + String get sa_ => 'Saudi Arabia'; + + @override + String get sb_ => 'Solomon Islands'; + + @override + String get sc_ => 'Seychelles'; + + @override + String get sd_ => 'Sudan'; + + @override + String get se_ => 'Sweden'; + + @override + String get sg_ => 'Singapore'; + + @override + String get si_ => 'Slovenia'; + + @override + String get sk_ => 'Slovakia'; + + @override + String get sl_ => 'Sierra Leone'; + + @override + String get sm_ => 'San Marino'; + + @override + String get sn_ => 'Senegal'; + + @override + String get so_ => 'Somalia'; + + @override + String get sr_ => 'Suriname'; + + @override + String get ss_ => 'South Sudan'; + + @override + String get st_ => 'Sao Tome and Principe'; + + @override + String get sv_ => 'El Salvador'; + + @override + String get sy_ => 'Syrian Arab Republic'; + + @override + String get sz_ => 'Swaziland'; + + @override + String get ta_ => 'Tristan da Cunha'; + + @override + String get tc_ => 'Turks and Caicos Islands'; + + @override + String get td_ => 'Chad'; + + @override + String get tg_ => 'Togo'; + + @override + String get th_ => 'Thailand'; + + @override + String get tj_ => 'Tajikistan'; + + @override + String get tk_ => 'Tokelau'; + + @override + String get tl_ => 'Timor-Leste'; + + @override + String get tm_ => 'Turkmenistan'; + + @override + String get tn_ => 'Tunisia'; + + @override + String get to_ => 'Tonga'; + + @override + String get tr_ => 'Türkiye'; + + @override + String get tt_ => 'Trinidad and Tobago'; + + @override + String get tv_ => 'Tuvalu'; + + @override + String get tw_ => 'Taiwan'; + + @override + String get tz_ => 'Tanzania, United Republic of Tanzania'; + + @override + String get ua_ => 'Ukraine'; + + @override + String get ug_ => 'Uganda'; + + @override + String get us_ => 'United States'; + + @override + String get uy_ => 'Uruguay'; + + @override + String get uz_ => 'Uzbekistan'; + + @override + String get va_ => 'Holy See (Vatican City State)'; + + @override + String get vc_ => 'Saint Vincent and the Grenadines'; + + @override + String get ve_ => 'Venezuela'; + + @override + String get vg_ => 'Virgin Islands, British'; + + @override + String get vi_ => 'Virgin Islands, U.S.'; + + @override + String get vn_ => 'Vietnam'; + + @override + String get vu_ => 'Vanuatu'; + + @override + String get wf_ => 'Wallis and Futuna'; + + @override + String get ws_ => 'Samoa'; + + @override + String get ye_ => 'Yemen'; + + @override + String get yt_ => 'Mayotte'; + + @override + String get za_ => 'South Africa'; + + @override + String get zm_ => 'Zambia'; + + @override + String get zw_ => 'Zimbabwe'; +} diff --git a/lib/l10n/generated/phone_field_localization_es.dart b/lib/l10n/generated/phone_field_localization_es.dart new file mode 100644 index 00000000..884a146d --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_es.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for Spanish Castilian (`es`). +class PhoneFieldLocalizationEs extends PhoneFieldLocalization { + PhoneFieldLocalizationEs([super.locale = 'es']); + + @override + String get invalidPhoneNumber => 'Numero de telefono invalido'; + + @override + String get invalidCountry => 'País invalido'; + + @override + String get invalidMobilePhoneNumber => 'Número de teléfono celular invalido'; + + @override + String get invalidFixedLinePhoneNumber => 'Número de teléfono fijo invalido'; + + @override + String get requiredPhoneNumber => 'Número de teléfono obligatorio'; + + @override + String get noResultMessage => 'Sin resultados'; + + @override + String get ac_ => 'Isla Ascencion'; + + @override + String get ad_ => 'Andorra'; + + @override + String get ae_ => 'Emiratos Árabes Unidos'; + + @override + String get af_ => 'Afganistán'; + + @override + String get ag_ => 'Antigua y Barbuda'; + + @override + String get ai_ => 'Anguila'; + + @override + String get al_ => 'Albania'; + + @override + String get am_ => 'Armenia'; + + @override + String get an_ => 'Antillas Holandesas'; + + @override + String get ao_ => 'Angola'; + + @override + String get aq_ => 'Antártida'; + + @override + String get ar_ => 'Argentina'; + + @override + String get as_ => 'Samoa Americana'; + + @override + String get at_ => 'Austria'; + + @override + String get au_ => 'Australia'; + + @override + String get aw_ => 'Aruba'; + + @override + String get ax_ => 'Islas Aland'; + + @override + String get az_ => 'Azerbaiyán'; + + @override + String get ba_ => 'Bosnia y Herzegovina'; + + @override + String get bb_ => 'Barbados'; + + @override + String get bd_ => 'Bangladesh'; + + @override + String get be_ => 'Bélgica'; + + @override + String get bf_ => 'Burkina Faso'; + + @override + String get bg_ => 'Bulgaria'; + + @override + String get bh_ => 'Bahréin'; + + @override + String get bi_ => 'Burundi'; + + @override + String get bj_ => 'Benin'; + + @override + String get bl_ => 'San Bartolomé'; + + @override + String get bm_ => 'islas Bermudas'; + + @override + String get bn_ => 'Brunei Darussalam'; + + @override + String get bo_ => 'Bolivia, Estado Plurinacional de'; + + @override + String get bq_ => 'Bonaire'; + + @override + String get br_ => 'Brasil'; + + @override + String get bs_ => 'Bahamas'; + + @override + String get bt_ => 'Bután'; + + @override + String get bw_ => 'Botswana'; + + @override + String get by_ => 'Bielorrusia'; + + @override + String get bz_ => 'Belice'; + + @override + String get ca_ => 'Canadá'; + + @override + String get cc_ => 'Islas Cocos (Keeling)'; + + @override + String get cd_ => 'Congo, República Democrática del Congo'; + + @override + String get cf_ => 'República Centroafricana'; + + @override + String get cg_ => 'Congo'; + + @override + String get ch_ => 'Suiza'; + + @override + String get ci_ => 'Costa de Marfil'; + + @override + String get ck_ => 'Islas Cook'; + + @override + String get cl_ => 'Chile'; + + @override + String get cm_ => 'Camerún'; + + @override + String get cn_ => 'porcelana'; + + @override + String get co_ => 'Colombia'; + + @override + String get cr_ => 'Costa Rica'; + + @override + String get cu_ => 'Cuba'; + + @override + String get cv_ => 'Cabo Verde'; + + @override + String get cx_ => 'Isla de Navidad'; + + @override + String get cy_ => 'Chipre'; + + @override + String get cz_ => 'República Checa'; + + @override + String get de_ => 'Alemania'; + + @override + String get dj_ => 'Djibouti'; + + @override + String get dk_ => 'Dinamarca'; + + @override + String get dm_ => 'Dominica'; + + @override + String get do_ => 'República Dominicana'; + + @override + String get dz_ => 'Argelia'; + + @override + String get ec_ => 'Ecuador'; + + @override + String get ee_ => 'Estonia'; + + @override + String get eg_ => 'Egipto'; + + @override + String get er_ => 'Eritrea'; + + @override + String get es_ => 'España'; + + @override + String get et_ => 'Etiopía'; + + @override + String get fi_ => 'Finlandia'; + + @override + String get fj_ => 'Fiyi'; + + @override + String get fk_ => 'Islas Falkland (Malvinas)'; + + @override + String get fm_ => 'Micronesia, Estados Federados de Micronesia'; + + @override + String get fo_ => 'Islas Faroe'; + + @override + String get fr_ => 'Francia'; + + @override + String get ga_ => 'Gabón'; + + @override + String get gb_ => 'Reino Unido'; + + @override + String get gd_ => 'Granada'; + + @override + String get ge_ => 'Georgia'; + + @override + String get gf_ => 'Guayana Francesa'; + + @override + String get gg_ => 'Guernsey'; + + @override + String get gh_ => 'Ghana'; + + @override + String get gi_ => 'Gibraltar'; + + @override + String get gl_ => 'Groenlandia'; + + @override + String get gm_ => 'Gambia'; + + @override + String get gn_ => 'Guinea'; + + @override + String get gp_ => 'Guadalupe'; + + @override + String get gq_ => 'Guinea Ecuatorial'; + + @override + String get gr_ => 'Grecia'; + + @override + String get gs_ => 'Georgia del sur y las islas Sandwich del sur'; + + @override + String get gt_ => 'Guatemala'; + + @override + String get gu_ => 'Guam'; + + @override + String get gw_ => 'Guinea-Bissau'; + + @override + String get gy_ => 'Guayana'; + + @override + String get hk_ => 'Hong Kong'; + + @override + String get hn_ => 'Honduras'; + + @override + String get hr_ => 'Croacia'; + + @override + String get ht_ => 'Haití'; + + @override + String get hu_ => 'Hungría'; + + @override + String get id_ => 'Indonesia'; + + @override + String get ie_ => 'Irlanda'; + + @override + String get il_ => 'Israel'; + + @override + String get im_ => 'Isla del hombre'; + + @override + String get in_ => 'India'; + + @override + String get io_ => 'Territorio Británico del Océano Índico'; + + @override + String get iq_ => 'Irak'; + + @override + String get ir_ => 'Irán, República Islámica del Golfo Pérsico'; + + @override + String get is_ => 'Islandia'; + + @override + String get it_ => 'Italia'; + + @override + String get je_ => 'Jersey'; + + @override + String get jm_ => 'Jamaica'; + + @override + String get jo_ => 'Jordán'; + + @override + String get jp_ => 'Japón'; + + @override + String get ke_ => 'Kenia'; + + @override + String get kg_ => 'Kirguistán'; + + @override + String get kh_ => 'Camboya'; + + @override + String get ki_ => 'Kiribati'; + + @override + String get km_ => 'Comoras'; + + @override + String get kn_ => 'Saint Kitts y Nevis'; + + @override + String get kp_ => 'Corea, República Popular Democrática de Corea'; + + @override + String get kr_ => 'Corea, República de Corea del Sur'; + + @override + String get kw_ => 'Kuwait'; + + @override + String get ky_ => 'Islas Caimán'; + + @override + String get kz_ => 'Kazajstán'; + + @override + String get la_ => 'Laos'; + + @override + String get lb_ => 'Líbano'; + + @override + String get lc_ => 'Santa Lucía'; + + @override + String get li_ => 'Liechtenstein'; + + @override + String get lk_ => 'Sri Lanka'; + + @override + String get lr_ => 'Liberia'; + + @override + String get ls_ => 'Lesoto'; + + @override + String get lt_ => 'Lituania'; + + @override + String get lu_ => 'Luxemburgo'; + + @override + String get lv_ => 'Letonia'; + + @override + String get ly_ => 'Jamahiriya Arabe Libia'; + + @override + String get ma_ => 'Marruecos'; + + @override + String get mc_ => 'Mónaco'; + + @override + String get md_ => 'Moldavia'; + + @override + String get me_ => 'Montenegro'; + + @override + String get mf_ => 'San Martín'; + + @override + String get mg_ => 'Madagascar'; + + @override + String get mh_ => 'Islas Marshall'; + + @override + String get mk_ => 'macedonia'; + + @override + String get ml_ => 'Mali'; + + @override + String get mm_ => 'Myanmar'; + + @override + String get mn_ => 'Mongolia'; + + @override + String get mo_ => 'Macao'; + + @override + String get mp_ => 'Islas Marianas del Norte'; + + @override + String get mq_ => 'Martinica'; + + @override + String get mr_ => 'Mauritania'; + + @override + String get ms_ => 'Montserrat'; + + @override + String get mt_ => 'Malta'; + + @override + String get mu_ => 'Mauricio'; + + @override + String get mv_ => 'Maldivas'; + + @override + String get mw_ => 'Malawi'; + + @override + String get mx_ => 'México'; + + @override + String get my_ => 'Malasia'; + + @override + String get mz_ => 'Mozambique'; + + @override + String get na_ => 'Namibia'; + + @override + String get nc_ => 'Nueva Caledonia'; + + @override + String get ne_ => 'Níger'; + + @override + String get nf_ => 'Isla Norfolk'; + + @override + String get ng_ => 'Nigeria'; + + @override + String get ni_ => 'Nicaragua'; + + @override + String get nl_ => 'Países Bajos'; + + @override + String get no_ => 'Noruega'; + + @override + String get np_ => 'Nepal'; + + @override + String get nr_ => 'Nauru'; + + @override + String get nu_ => 'Niue'; + + @override + String get nz_ => 'Nueva Zelanda'; + + @override + String get om_ => 'Omán'; + + @override + String get pa_ => 'Panamá'; + + @override + String get pe_ => 'Perú'; + + @override + String get pf_ => 'Polinesia francés'; + + @override + String get pg_ => 'Papúa Nueva Guinea'; + + @override + String get ph_ => 'Filipinas'; + + @override + String get pk_ => 'Pakistán'; + + @override + String get pl_ => 'Polonia'; + + @override + String get pm_ => 'San Pedro y Miquelón'; + + @override + String get pn_ => 'Pitcairn'; + + @override + String get pr_ => 'Puerto Rico'; + + @override + String get ps_ => 'Territorio Palestino, Ocupado'; + + @override + String get pt_ => 'Portugal'; + + @override + String get pw_ => 'Palau'; + + @override + String get py_ => 'Paraguay'; + + @override + String get qa_ => 'Katar'; + + @override + String get re_ => 'Reunión'; + + @override + String get ro_ => 'Rumania'; + + @override + String get rs_ => 'Serbia'; + + @override + String get ru_ => 'Rusia'; + + @override + String get rw_ => 'Ruanda'; + + @override + String get sa_ => 'Arabia Saudita'; + + @override + String get sb_ => 'Islas Salomón'; + + @override + String get sc_ => 'Seychelles'; + + @override + String get sd_ => 'Sudán'; + + @override + String get se_ => 'Suecia'; + + @override + String get sg_ => 'Singapur'; + + @override + String get si_ => 'Eslovenia'; + + @override + String get sk_ => 'Eslovaquia'; + + @override + String get sl_ => 'Sierra Leona'; + + @override + String get sm_ => 'San Marino'; + + @override + String get sn_ => 'Senegal'; + + @override + String get so_ => 'Somalia'; + + @override + String get sr_ => 'Surinam'; + + @override + String get ss_ => 'Sudán del Sur'; + + @override + String get st_ => 'Santo Tomé y Príncipe'; + + @override + String get sv_ => 'El Salvador'; + + @override + String get sy_ => 'República Árabe Siria'; + + @override + String get sz_ => 'Swazilandia'; + + @override + String get ta_ => 'Tristan da Cunha'; + + @override + String get tc_ => 'Islas Turcas y Caicos'; + + @override + String get td_ => 'Chad'; + + @override + String get tg_ => 'Para llevar'; + + @override + String get th_ => 'Tailandia'; + + @override + String get tj_ => 'Tayikistán'; + + @override + String get tk_ => 'Tokelau'; + + @override + String get tl_ => 'Timor-Leste'; + + @override + String get tm_ => 'Turkmenistán'; + + @override + String get tn_ => 'Túnez'; + + @override + String get to_ => 'Tonga'; + + @override + String get tr_ => 'pavo'; + + @override + String get tt_ => 'Trinidad y Tobago'; + + @override + String get tv_ => 'Tuvalu'; + + @override + String get tw_ => 'Taiwán'; + + @override + String get tz_ => 'Tanzania, República Unida de Tanzania'; + + @override + String get ua_ => 'Ucrania'; + + @override + String get ug_ => 'Uganda'; + + @override + String get us_ => 'Estados Unidos'; + + @override + String get uy_ => 'Uruguay'; + + @override + String get uz_ => 'Uzbekistán'; + + @override + String get va_ => 'Santa Sede (Estado de la Ciudad del Vaticano)'; + + @override + String get vc_ => 'San Vicente y las Granadinas'; + + @override + String get ve_ => 'Venezuela'; + + @override + String get vg_ => 'Islas Vírgenes Británicas'; + + @override + String get vi_ => 'Islas Vírgenes, EE. UU.'; + + @override + String get vn_ => 'Vietnam'; + + @override + String get vu_ => 'Vanuatu'; + + @override + String get wf_ => 'Wallis y Futuna'; + + @override + String get ws_ => 'Samoa'; + + @override + String get ye_ => 'Yemen'; + + @override + String get yt_ => 'Mayotte'; + + @override + String get za_ => 'Sudáfrica'; + + @override + String get zm_ => 'Zambia'; + + @override + String get zw_ => 'Zimbabue'; +} diff --git a/lib/l10n/generated/phone_field_localization_fa.dart b/lib/l10n/generated/phone_field_localization_fa.dart new file mode 100644 index 00000000..a0336a64 --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_fa.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for Persian (`fa`). +class PhoneFieldLocalizationFa extends PhoneFieldLocalization { + PhoneFieldLocalizationFa([super.locale = 'fa']); + + @override + String get invalidPhoneNumber => 'شماره تلفن نامعتبر است'; + + @override + String get invalidCountry => 'کشور نامعتبر است'; + + @override + String get invalidMobilePhoneNumber => 'شماره تلفن همراه نامعتبر است'; + + @override + String get invalidFixedLinePhoneNumber => 'شماره تلفن ثابت نامعتبر است'; + + @override + String get requiredPhoneNumber => 'شماره تلفن الزامی است'; + + @override + String get noResultMessage => 'بدون نتیجه'; + + @override + String get ac_ => 'جزیره اسنشن'; + + @override + String get ad_ => 'آندورا'; + + @override + String get ae_ => 'امارات متحده عربی'; + + @override + String get af_ => 'افغانستان'; + + @override + String get ag_ => 'آنتیگوآ و باربودا'; + + @override + String get ai_ => 'آنگویلا'; + + @override + String get al_ => 'آلبانی'; + + @override + String get am_ => 'ارمنستان'; + + @override + String get an_ => 'آنتیل هلند'; + + @override + String get ao_ => 'آنگولا'; + + @override + String get aq_ => 'جنوبگان'; + + @override + String get ar_ => 'آرژانتین'; + + @override + String get as_ => 'ساموآی آمریکا'; + + @override + String get at_ => 'اتریش'; + + @override + String get au_ => 'استرالیا'; + + @override + String get aw_ => 'آروبا'; + + @override + String get ax_ => 'جزایر الند'; + + @override + String get az_ => 'آذربایجان'; + + @override + String get ba_ => 'بوسنی و هرزگوین'; + + @override + String get bb_ => 'باربادوس'; + + @override + String get bd_ => 'بنگلادش'; + + @override + String get be_ => 'بلژیک'; + + @override + String get bf_ => 'بورکینافاسو'; + + @override + String get bg_ => 'بلغارستان'; + + @override + String get bh_ => 'بحرین'; + + @override + String get bi_ => 'بوروندی'; + + @override + String get bj_ => 'بنین'; + + @override + String get bl_ => 'سن بارتلمی'; + + @override + String get bm_ => 'برمودا'; + + @override + String get bn_ => 'برونئی سرای صلح'; + + @override + String get bo_ => 'حکومت پلوریناسیونال بولیوی'; + + @override + String get bq_ => 'بونیر'; + + @override + String get br_ => 'برزیل'; + + @override + String get bs_ => 'باهاما'; + + @override + String get bt_ => 'بوتان'; + + @override + String get bw_ => 'بوتسوانا'; + + @override + String get by_ => 'بلاروس'; + + @override + String get bz_ => 'بلیز'; + + @override + String get ca_ => 'کانادا'; + + @override + String get cc_ => 'جزایر (کیلینگ) کوکوس'; + + @override + String get cd_ => 'کنگو، جمهوری دموکراتیک کنگو'; + + @override + String get cf_ => 'جمهوری آفریقای مرکزی'; + + @override + String get cg_ => 'کنگو'; + + @override + String get ch_ => 'سوئیس'; + + @override + String get ci_ => 'ساحل عاج'; + + @override + String get ck_ => 'جزایر کوک'; + + @override + String get cl_ => 'شیلی'; + + @override + String get cm_ => 'کامرون'; + + @override + String get cn_ => 'چین'; + + @override + String get co_ => 'کلمبیا'; + + @override + String get cr_ => 'کاستاریکا'; + + @override + String get cu_ => 'کوبا'; + + @override + String get cv_ => 'کیپ ورد'; + + @override + String get cx_ => 'جزیره کریسمس'; + + @override + String get cy_ => 'قبرس'; + + @override + String get cz_ => 'جمهوری چک'; + + @override + String get de_ => 'آلمان'; + + @override + String get dj_ => 'جیبوتی'; + + @override + String get dk_ => 'دانمارک'; + + @override + String get dm_ => 'دومینیکا'; + + @override + String get do_ => 'جمهوری دومینیکن'; + + @override + String get dz_ => 'الجزایر'; + + @override + String get ec_ => 'اکوادور'; + + @override + String get ee_ => 'استونی'; + + @override + String get eg_ => 'مصر'; + + @override + String get er_ => 'اریتره'; + + @override + String get es_ => 'اسپانیا'; + + @override + String get et_ => 'اتیوپی'; + + @override + String get fi_ => 'فنلاند'; + + @override + String get fj_ => 'فیجی'; + + @override + String get fk_ => 'جزایر فالکلند (مالویناس)'; + + @override + String get fm_ => 'میکرونزی، ایالات فدرال میکرونزی'; + + @override + String get fo_ => 'جزایر فارو'; + + @override + String get fr_ => 'فرانسه'; + + @override + String get ga_ => 'گابن'; + + @override + String get gb_ => 'پادشاهی متحد بریتانیای کبیر و ایرلند شمالی'; + + @override + String get gd_ => 'گرنادا'; + + @override + String get ge_ => 'گرجستان'; + + @override + String get gf_ => 'گویان فرانسه'; + + @override + String get gg_ => 'گرنزی'; + + @override + String get gh_ => 'غنا'; + + @override + String get gi_ => 'جبل‌الطارق'; + + @override + String get gl_ => 'گرینلند'; + + @override + String get gm_ => 'گامبیا'; + + @override + String get gn_ => 'گینه'; + + @override + String get gp_ => 'گوادلوپ'; + + @override + String get gq_ => 'گینه استوایی'; + + @override + String get gr_ => 'یونان'; + + @override + String get gs_ => 'جزایر جورجیای جنوبی و ساندویچ جنوبی'; + + @override + String get gt_ => 'گواتمالا'; + + @override + String get gu_ => 'گوآم'; + + @override + String get gw_ => 'گینه بیسائو'; + + @override + String get gy_ => 'گویان'; + + @override + String get hk_ => 'هنگ کنگ'; + + @override + String get hn_ => 'هندوراس'; + + @override + String get hr_ => 'کرواسی'; + + @override + String get ht_ => 'هائیتی'; + + @override + String get hu_ => 'مجارستان'; + + @override + String get id_ => 'اندونزی'; + + @override + String get ie_ => 'ایرلند'; + + @override + String get il_ => 'اسرائیل'; + + @override + String get im_ => 'جزیره من'; + + @override + String get in_ => 'هند'; + + @override + String get io_ => 'قلمرو بریتانیا در اقیانوس هند'; + + @override + String get iq_ => 'عراق'; + + @override + String get ir_ => 'ایران'; + + @override + String get is_ => 'ایسلند'; + + @override + String get it_ => 'ایتالیا'; + + @override + String get je_ => 'جرزی'; + + @override + String get jm_ => 'جامائیکا'; + + @override + String get jo_ => 'اردن'; + + @override + String get jp_ => 'ژاپن'; + + @override + String get ke_ => 'کنیا'; + + @override + String get kg_ => 'قرقیزستان'; + + @override + String get kh_ => 'کامبوج'; + + @override + String get ki_ => 'کیریباتی'; + + @override + String get km_ => 'کومور'; + + @override + String get kn_ => 'سنت کیتس و نویس'; + + @override + String get kp_ => 'کره شمالی'; + + @override + String get kr_ => 'کره، جمهوری کره جنوبی'; + + @override + String get kw_ => 'کویت'; + + @override + String get ky_ => 'جزایر کیمن'; + + @override + String get kz_ => 'قزاقستان'; + + @override + String get la_ => 'لائوس'; + + @override + String get lb_ => 'لبنان'; + + @override + String get lc_ => 'سنت لوسیا'; + + @override + String get li_ => 'لیختن‌اشتاین'; + + @override + String get lk_ => 'سری‌لانکا'; + + @override + String get lr_ => 'لیبریا'; + + @override + String get ls_ => 'لسوتو'; + + @override + String get lt_ => 'لیتوانی'; + + @override + String get lu_ => 'لوکزامبورگ'; + + @override + String get lv_ => 'لتونی'; + + @override + String get ly_ => 'لیبی'; + + @override + String get ma_ => 'مراکش'; + + @override + String get mc_ => 'موناکو'; + + @override + String get md_ => 'مولداوی'; + + @override + String get me_ => 'مونته‌نگرو'; + + @override + String get mf_ => 'سن مارتن'; + + @override + String get mg_ => 'ماداگاسکار'; + + @override + String get mh_ => 'جزایر مارشال'; + + @override + String get mk_ => 'مقدونیه'; + + @override + String get ml_ => 'مالی'; + + @override + String get mm_ => 'میانمار'; + + @override + String get mn_ => 'مغولستان'; + + @override + String get mo_ => 'ماکائو'; + + @override + String get mp_ => 'جزایر ماریانای شمالی'; + + @override + String get mq_ => 'مارتینیک'; + + @override + String get mr_ => 'موریتانی'; + + @override + String get ms_ => 'مونتسرات'; + + @override + String get mt_ => 'مالت'; + + @override + String get mu_ => 'موریس'; + + @override + String get mv_ => 'مالدیو'; + + @override + String get mw_ => 'مالاوی'; + + @override + String get mx_ => 'مکزیک'; + + @override + String get my_ => 'مالزی'; + + @override + String get mz_ => 'موزامبیک'; + + @override + String get na_ => 'نامیبیا'; + + @override + String get nc_ => 'کالدونیای جدید'; + + @override + String get ne_ => 'نیجر'; + + @override + String get nf_ => 'جزیره نورفک'; + + @override + String get ng_ => 'نیجریه'; + + @override + String get ni_ => 'نیکاراگوئه'; + + @override + String get nl_ => 'هلند'; + + @override + String get no_ => 'نروژ'; + + @override + String get np_ => 'نپال'; + + @override + String get nr_ => 'نائورو'; + + @override + String get nu_ => 'نیووی'; + + @override + String get nz_ => 'نیوزیلند'; + + @override + String get om_ => 'عمان'; + + @override + String get pa_ => 'پاناما'; + + @override + String get pe_ => 'پرو'; + + @override + String get pf_ => 'پلی‌نزی فرانسه'; + + @override + String get pg_ => 'پاپوآ گینه نو'; + + @override + String get ph_ => 'فیلیپین'; + + @override + String get pk_ => 'پاکستان'; + + @override + String get pl_ => 'لهستان'; + + @override + String get pm_ => 'سن-پیر و میکلون'; + + @override + String get pn_ => 'پیت‌کرن'; + + @override + String get pr_ => 'پورتوریکو'; + + @override + String get ps_ => 'سرزمین‌های فلسطینی'; + + @override + String get pt_ => 'پرتغال'; + + @override + String get pw_ => 'پالائو'; + + @override + String get py_ => 'پاراگوئه'; + + @override + String get qa_ => 'قطر'; + + @override + String get re_ => 'رئونیون'; + + @override + String get ro_ => 'رومانی'; + + @override + String get rs_ => 'صربستان'; + + @override + String get ru_ => 'روسیه'; + + @override + String get rw_ => 'رواندا'; + + @override + String get sa_ => 'عربستان سعودی'; + + @override + String get sb_ => 'جزایر سلیمان'; + + @override + String get sc_ => 'سیشل'; + + @override + String get sd_ => 'سودان'; + + @override + String get se_ => 'سوئد'; + + @override + String get sg_ => 'سنگاپور'; + + @override + String get si_ => 'اسلوونی'; + + @override + String get sk_ => 'اسلواکی'; + + @override + String get sl_ => 'سیرالئون'; + + @override + String get sm_ => 'سان مارینو'; + + @override + String get sn_ => 'سنگال'; + + @override + String get so_ => 'سومالی'; + + @override + String get sr_ => 'سورینام'; + + @override + String get ss_ => 'سودان جنوبی'; + + @override + String get st_ => 'سائوتومه و پرنسیپ'; + + @override + String get sv_ => 'السالوادور'; + + @override + String get sy_ => 'جمهوری عربی سوریه'; + + @override + String get sz_ => 'سوازیلند'; + + @override + String get ta_ => 'تریستان دا کونا'; + + @override + String get tc_ => 'جزایر تورکس و کایکوس'; + + @override + String get td_ => 'چاد'; + + @override + String get tg_ => 'توگو'; + + @override + String get th_ => 'تایلند'; + + @override + String get tj_ => 'تاجیکستان'; + + @override + String get tk_ => 'توکلائو'; + + @override + String get tl_ => 'تیمور شرقی'; + + @override + String get tm_ => 'ترکمنستان'; + + @override + String get tn_ => 'تونس'; + + @override + String get to_ => 'تونگا'; + + @override + String get tr_ => 'ترکیه'; + + @override + String get tt_ => 'ترینیداد و توباگو'; + + @override + String get tv_ => 'تووالو'; + + @override + String get tw_ => 'تایوان'; + + @override + String get tz_ => 'تانزانیا، جمهوری متحد تانزانیا'; + + @override + String get ua_ => 'اوکراین'; + + @override + String get ug_ => 'اوگاندا'; + + @override + String get us_ => 'ایالات متحده آمریکا'; + + @override + String get uy_ => 'اروگوئه'; + + @override + String get uz_ => 'ازبکستان'; + + @override + String get va_ => 'سریر مقدس (ایالت شهر واتیکان)'; + + @override + String get vc_ => 'سنت وینسنت و گرنادین‌ها'; + + @override + String get ve_ => 'ونزوئلا'; + + @override + String get vg_ => 'جزایر ویرجین، بریتانیا'; + + @override + String get vi_ => 'جزایر ویرجین، ایالات متحده آمریکا'; + + @override + String get vn_ => 'ویتنام'; + + @override + String get vu_ => 'وانواتو'; + + @override + String get wf_ => 'والیس و فوتونا'; + + @override + String get ws_ => 'ساموآ'; + + @override + String get ye_ => 'یمن'; + + @override + String get yt_ => 'مایوت'; + + @override + String get za_ => 'آفریقای جنوبی'; + + @override + String get zm_ => 'زامبیا'; + + @override + String get zw_ => 'زیمبابوه'; +} diff --git a/lib/l10n/generated/phone_field_localization_fr.dart b/lib/l10n/generated/phone_field_localization_fr.dart new file mode 100644 index 00000000..5f5c7dd6 --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_fr.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for French (`fr`). +class PhoneFieldLocalizationFr extends PhoneFieldLocalization { + PhoneFieldLocalizationFr([super.locale = 'fr']); + + @override + String get invalidPhoneNumber => 'Numéro de téléphone invalide'; + + @override + String get invalidCountry => 'Pays invalide'; + + @override + String get invalidMobilePhoneNumber => 'Numéro de téléphone portable invalide'; + + @override + String get invalidFixedLinePhoneNumber => 'Numéro de téléphone fixe invalide'; + + @override + String get requiredPhoneNumber => 'Numéro de téléphone requis'; + + @override + String get noResultMessage => 'Aucun résultat'; + + @override + String get ac_ => 'Île de l\'Ascension'; + + @override + String get ad_ => 'Andorre'; + + @override + String get ae_ => 'Emirats Arabes Unis'; + + @override + String get af_ => 'Afghanistan'; + + @override + String get ag_ => 'Antigua-et-Barbuda'; + + @override + String get ai_ => 'Anguilla'; + + @override + String get al_ => 'Albanie'; + + @override + String get am_ => 'Arménie'; + + @override + String get an_ => 'Antilles néerlandaises'; + + @override + String get ao_ => 'Angola'; + + @override + String get aq_ => 'Antarctique'; + + @override + String get ar_ => 'Argentine'; + + @override + String get as_ => 'Samoa américaines'; + + @override + String get at_ => 'Autriche'; + + @override + String get au_ => 'Australie'; + + @override + String get aw_ => 'Aruba'; + + @override + String get ax_ => 'Iles Aland'; + + @override + String get az_ => 'Azerbaïdjan'; + + @override + String get ba_ => 'Bosnie Herzégovine'; + + @override + String get bb_ => 'Barbade'; + + @override + String get bd_ => 'Bangladesh'; + + @override + String get be_ => 'Belgique'; + + @override + String get bf_ => 'Burkina Faso'; + + @override + String get bg_ => 'Bulgarie'; + + @override + String get bh_ => 'Bahreïn'; + + @override + String get bi_ => 'Burundi'; + + @override + String get bj_ => 'Bénin'; + + @override + String get bl_ => 'Saint Barthélemy'; + + @override + String get bm_ => 'Bermudes'; + + @override + String get bn_ => 'Brunei Darussalam'; + + @override + String get bo_ => 'Bolivie, État plurinational de'; + + @override + String get bq_ => 'Bonaire'; + + @override + String get br_ => 'Brésil'; + + @override + String get bs_ => 'Bahamas'; + + @override + String get bt_ => 'Bhoutan'; + + @override + String get bw_ => 'Botswana'; + + @override + String get by_ => 'Biélorussie'; + + @override + String get bz_ => 'Belize'; + + @override + String get ca_ => 'Canada'; + + @override + String get cc_ => 'Îles Cocos (Keeling)'; + + @override + String get cd_ => 'Congo, République démocratique du Congo'; + + @override + String get cf_ => 'République centrafricaine'; + + @override + String get cg_ => 'Congo'; + + @override + String get ch_ => 'Suisse'; + + @override + String get ci_ => 'Côte d\'Ivoire'; + + @override + String get ck_ => 'Îles Cook'; + + @override + String get cl_ => 'Chili'; + + @override + String get cm_ => 'Cameroun'; + + @override + String get cn_ => 'Chine'; + + @override + String get co_ => 'Colombie'; + + @override + String get cr_ => 'Costa Rica'; + + @override + String get cu_ => 'Cuba'; + + @override + String get cv_ => 'Cap-Vert'; + + @override + String get cx_ => 'L\'île de noël'; + + @override + String get cy_ => 'Chypre'; + + @override + String get cz_ => 'République Tchèque'; + + @override + String get de_ => 'Allemagne'; + + @override + String get dj_ => 'Djibouti'; + + @override + String get dk_ => 'Danemark'; + + @override + String get dm_ => 'Dominique'; + + @override + String get do_ => 'République Dominicaine'; + + @override + String get dz_ => 'Algérie'; + + @override + String get ec_ => 'Equateur'; + + @override + String get ee_ => 'Estonie'; + + @override + String get eg_ => 'Egypte'; + + @override + String get er_ => 'Érythrée'; + + @override + String get es_ => 'Espagne'; + + @override + String get et_ => 'Ethiopie'; + + @override + String get fi_ => 'Finlande'; + + @override + String get fj_ => 'Fidji'; + + @override + String get fk_ => 'Îles Falkland (Malvinas)'; + + @override + String get fm_ => 'Micronésie, États fédérés de Micronésie'; + + @override + String get fo_ => 'Îles Féroé'; + + @override + String get fr_ => 'France'; + + @override + String get ga_ => 'Gabon'; + + @override + String get gb_ => 'Royaume-Uni'; + + @override + String get gd_ => 'Grenade'; + + @override + String get ge_ => 'Géorgie'; + + @override + String get gf_ => 'Guyane Française'; + + @override + String get gg_ => 'Guernesey'; + + @override + String get gh_ => 'Ghana'; + + @override + String get gi_ => 'Gibraltar'; + + @override + String get gl_ => 'Groenland'; + + @override + String get gm_ => 'Gambie'; + + @override + String get gn_ => 'Guinée'; + + @override + String get gp_ => 'Guadeloupe'; + + @override + String get gq_ => 'Guinée Équatoriale'; + + @override + String get gr_ => 'Grèce'; + + @override + String get gs_ => 'Géorgie du Sud et îles Sandwich du Sud'; + + @override + String get gt_ => 'Guatemala'; + + @override + String get gu_ => 'Guam'; + + @override + String get gw_ => 'Guinée-Bissau'; + + @override + String get gy_ => 'Guyane'; + + @override + String get hk_ => 'Hong Kong'; + + @override + String get hn_ => 'Honduras'; + + @override + String get hr_ => 'Croatie'; + + @override + String get ht_ => 'Haïti'; + + @override + String get hu_ => 'Hongrie'; + + @override + String get id_ => 'Indonésie'; + + @override + String get ie_ => 'Irlande'; + + @override + String get il_ => 'Israël'; + + @override + String get im_ => 'île de Man'; + + @override + String get in_ => 'Inde'; + + @override + String get io_ => 'Territoire britannique de l\'océan Indien'; + + @override + String get iq_ => 'Irak'; + + @override + String get ir_ => 'Iran, République islamique du golfe Persique'; + + @override + String get is_ => 'Islande'; + + @override + String get it_ => 'Italie'; + + @override + String get je_ => 'Jersey'; + + @override + String get jm_ => 'Jamaïque'; + + @override + String get jo_ => 'Jordan'; + + @override + String get jp_ => 'Japon'; + + @override + String get ke_ => 'Kenya'; + + @override + String get kg_ => 'Kirghizistan'; + + @override + String get kh_ => 'Cambodge'; + + @override + String get ki_ => 'Kiribati'; + + @override + String get km_ => 'Comores'; + + @override + String get kn_ => 'Saint-Christophe-et-Niévès'; + + @override + String get kp_ => 'Corée, République populaire démocratique de Corée'; + + @override + String get kr_ => 'Corée, République de Corée du Sud'; + + @override + String get kw_ => 'Koweit'; + + @override + String get ky_ => 'Îles Caïmans'; + + @override + String get kz_ => 'Kazakhstan'; + + @override + String get la_ => 'Laos'; + + @override + String get lb_ => 'Liban'; + + @override + String get lc_ => 'Sainte-Lucie'; + + @override + String get li_ => 'Liechtenstein'; + + @override + String get lk_ => 'Sri Lanka'; + + @override + String get lr_ => 'Libéria'; + + @override + String get ls_ => 'Lesotho'; + + @override + String get lt_ => 'Lituanie'; + + @override + String get lu_ => 'Luxembourg'; + + @override + String get lv_ => 'Lettonie'; + + @override + String get ly_ => 'Jamahiriya arabe libyenne'; + + @override + String get ma_ => 'Maroc'; + + @override + String get mc_ => 'Monaco'; + + @override + String get md_ => 'Moldavie'; + + @override + String get me_ => 'Monténégro'; + + @override + String get mf_ => 'Saint Martin'; + + @override + String get mg_ => 'Madagascar'; + + @override + String get mh_ => 'Iles Marshall'; + + @override + String get mk_ => 'Macédoine'; + + @override + String get ml_ => 'Mali'; + + @override + String get mm_ => 'Myanmar'; + + @override + String get mn_ => 'Mongolie'; + + @override + String get mo_ => 'Macao'; + + @override + String get mp_ => 'Îles Mariannes du Nord'; + + @override + String get mq_ => 'Martinique'; + + @override + String get mr_ => 'Mauritanie'; + + @override + String get ms_ => 'Montserrat'; + + @override + String get mt_ => 'Malte'; + + @override + String get mu_ => 'Ile Maurice'; + + @override + String get mv_ => 'Maldives'; + + @override + String get mw_ => 'Malawi'; + + @override + String get mx_ => 'Mexique'; + + @override + String get my_ => 'Malaisie'; + + @override + String get mz_ => 'Mozambique'; + + @override + String get na_ => 'Namibie'; + + @override + String get nc_ => 'Nouvelle Calédonie'; + + @override + String get ne_ => 'Niger'; + + @override + String get nf_ => 'l\'ile de Norfolk'; + + @override + String get ng_ => 'Nigeria'; + + @override + String get ni_ => 'Nicaragua'; + + @override + String get nl_ => 'Pays-Bas'; + + @override + String get no_ => 'Norvège'; + + @override + String get np_ => 'Népal'; + + @override + String get nr_ => 'Nauru'; + + @override + String get nu_ => 'Niue'; + + @override + String get nz_ => 'Nouvelle-Zélande'; + + @override + String get om_ => 'Oman'; + + @override + String get pa_ => 'Panama'; + + @override + String get pe_ => 'Pérou'; + + @override + String get pf_ => 'Polynésie française'; + + @override + String get pg_ => 'Papouasie Nouvelle Guinée'; + + @override + String get ph_ => 'Philippines'; + + @override + String get pk_ => 'Pakistan'; + + @override + String get pl_ => 'Pologne'; + + @override + String get pm_ => 'Saint-Pierre-et-Miquelon'; + + @override + String get pn_ => 'Pitcairn'; + + @override + String get pr_ => 'Porto Rico'; + + @override + String get ps_ => 'Territoire palestinien, occupé'; + + @override + String get pt_ => 'Portugal'; + + @override + String get pw_ => 'Palau'; + + @override + String get py_ => 'Paraguay'; + + @override + String get qa_ => 'Qatar'; + + @override + String get re_ => 'Réunion'; + + @override + String get ro_ => 'Roumanie'; + + @override + String get rs_ => 'Serbie'; + + @override + String get ru_ => 'Russie'; + + @override + String get rw_ => 'Rwanda'; + + @override + String get sa_ => 'Arabie Saoudite'; + + @override + String get sb_ => 'îles Salomon'; + + @override + String get sc_ => 'Seychelles'; + + @override + String get sd_ => 'Soudan'; + + @override + String get se_ => 'Suède'; + + @override + String get sg_ => 'Singapour'; + + @override + String get si_ => 'Slovénie'; + + @override + String get sk_ => 'Slovaquie'; + + @override + String get sl_ => 'Sierra Leone'; + + @override + String get sm_ => 'Saint Marin'; + + @override + String get sn_ => 'Sénégal'; + + @override + String get so_ => 'Somalie'; + + @override + String get sr_ => 'Suriname'; + + @override + String get ss_ => 'Soudan du sud'; + + @override + String get st_ => 'Sao Tomé et Principe'; + + @override + String get sv_ => 'Salvador'; + + @override + String get sy_ => 'République arabe syrienne'; + + @override + String get sz_ => 'Swaziland'; + + @override + String get ta_ => 'Tristan da Cunha'; + + @override + String get tc_ => 'îles Turques-et-Caïques'; + + @override + String get td_ => 'Tchad'; + + @override + String get tg_ => 'Aller'; + + @override + String get th_ => 'Thaïlande'; + + @override + String get tj_ => 'Tadjikistan'; + + @override + String get tk_ => 'Tokelau'; + + @override + String get tl_ => 'Timor-Leste'; + + @override + String get tm_ => 'Turkménistan'; + + @override + String get tn_ => 'Tunisie'; + + @override + String get to_ => 'Tonga'; + + @override + String get tr_ => 'dinde'; + + @override + String get tt_ => 'Trinité-et-Tobago'; + + @override + String get tv_ => 'Tuvalu'; + + @override + String get tw_ => 'Taïwan'; + + @override + String get tz_ => 'Tanzanie, République-Unie de Tanzanie'; + + @override + String get ua_ => 'Ukraine'; + + @override + String get ug_ => 'Ouganda'; + + @override + String get us_ => 'États Unis'; + + @override + String get uy_ => 'Uruguay'; + + @override + String get uz_ => 'Ouzbékistan'; + + @override + String get va_ => 'Saint-Siège (État de la Cité du Vatican)'; + + @override + String get vc_ => 'Saint-Vincent-et-les-Grenadines'; + + @override + String get ve_ => 'Venezuela'; + + @override + String get vg_ => 'Îles Vierges britanniques'; + + @override + String get vi_ => 'Îles Vierges américaines, États-Unis'; + + @override + String get vn_ => 'Vietnam'; + + @override + String get vu_ => 'Vanuatu'; + + @override + String get wf_ => 'Wallis et Futuna'; + + @override + String get ws_ => 'Samoa'; + + @override + String get ye_ => 'Yémen'; + + @override + String get yt_ => 'Mayotte'; + + @override + String get za_ => 'Afrique du Sud'; + + @override + String get zm_ => 'Zambie'; + + @override + String get zw_ => 'Zimbabwe'; +} diff --git a/lib/l10n/generated/phone_field_localization_hi.dart b/lib/l10n/generated/phone_field_localization_hi.dart new file mode 100644 index 00000000..9f3e4408 --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_hi.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for Hindi (`hi`). +class PhoneFieldLocalizationHi extends PhoneFieldLocalization { + PhoneFieldLocalizationHi([super.locale = 'hi']); + + @override + String get invalidPhoneNumber => 'अवैध फोन नंबर'; + + @override + String get invalidCountry => 'अवैध देश'; + + @override + String get invalidMobilePhoneNumber => 'अमान्य सेल फ़ोन नंबर'; + + @override + String get invalidFixedLinePhoneNumber => 'अवैध लैंडलाइन नंबर'; + + @override + String get requiredPhoneNumber => 'फ़ोन नंबर आवश्यक'; + + @override + String get noResultMessage => 'कोई परिणाम नही'; + + @override + String get ac_ => 'असेंशन द्वीप'; + + @override + String get ad_ => 'एंडोरा'; + + @override + String get ae_ => 'संयुक्त अरब अमीरात'; + + @override + String get af_ => 'अफ़ग़ानिस्तान'; + + @override + String get ag_ => 'अंतिगुया और बार्बूडा'; + + @override + String get ai_ => 'एंगुइला'; + + @override + String get al_ => 'अल्बानिया'; + + @override + String get am_ => 'आर्मीनिया'; + + @override + String get an_ => 'नीदरलैंड्स एंटाइल्स'; + + @override + String get ao_ => 'अंगोला'; + + @override + String get aq_ => 'अंटार्कटिका'; + + @override + String get ar_ => 'अर्जेंटीना'; + + @override + String get as_ => 'अमेरिकन समोआ'; + + @override + String get at_ => 'ऑस्ट्रिया'; + + @override + String get au_ => 'ऑस्ट्रेलिया'; + + @override + String get aw_ => 'अरूबा'; + + @override + String get ax_ => 'एलैंड द्वीप समूह'; + + @override + String get az_ => 'आज़रबाइजान'; + + @override + String get ba_ => 'बोस्निया और हर्जेगोविना'; + + @override + String get bb_ => 'बारबाडोस'; + + @override + String get bd_ => 'बांग्लादेश'; + + @override + String get be_ => 'बेल्जियम'; + + @override + String get bf_ => 'बुर्किना फासो'; + + @override + String get bg_ => 'बुल्गारिया'; + + @override + String get bh_ => 'बहरीन'; + + @override + String get bi_ => 'बुस्र्न्दी'; + + @override + String get bj_ => 'बेनिन'; + + @override + String get bl_ => 'संत बारथेलेमी'; + + @override + String get bm_ => 'बरमूडा'; + + @override + String get bn_ => 'ब्रूनेइ्र दारएस्सलाम'; + + @override + String get bo_ => 'बोलीविया, प्लूरिनेशनल स्टेट ऑफ़'; + + @override + String get bq_ => 'बोनेयर'; + + @override + String get br_ => 'ब्राज़िल'; + + @override + String get bs_ => 'बहामा'; + + @override + String get bt_ => 'भूटान'; + + @override + String get bw_ => 'बोत्सवाना'; + + @override + String get by_ => 'बेलोरूस'; + + @override + String get bz_ => 'बेलीज़'; + + @override + String get ca_ => 'कनाडा'; + + @override + String get cc_ => 'कोकोस (कीलिंग) द्वीप समूह'; + + @override + String get cd_ => 'कांगो, लोकतांत्रिक गणराज्य कांगो'; + + @override + String get cf_ => 'केंद्रीय अफ्रीकन गणराज्य'; + + @override + String get cg_ => 'कांगो'; + + @override + String get ch_ => 'स्विट्ज़रलैंड'; + + @override + String get ci_ => 'कोटे डी आइवर'; + + @override + String get ck_ => 'कुक द्वीपसमूह'; + + @override + String get cl_ => 'चिली'; + + @override + String get cm_ => 'कैमरून'; + + @override + String get cn_ => 'चीन'; + + @override + String get co_ => 'कोलंबिया'; + + @override + String get cr_ => 'कोस्टा रिका'; + + @override + String get cu_ => 'क्यूबा'; + + @override + String get cv_ => 'केप वर्दे'; + + @override + String get cx_ => 'क्रिसमस द्वीप'; + + @override + String get cy_ => 'साइप्रस'; + + @override + String get cz_ => 'चेक गणतंत्र'; + + @override + String get de_ => 'जर्मनी'; + + @override + String get dj_ => 'जिबूती'; + + @override + String get dk_ => 'डेनमार्क'; + + @override + String get dm_ => 'डोमिनिका'; + + @override + String get do_ => 'डोमिनिकन गणराज्य'; + + @override + String get dz_ => 'एलजीरिया'; + + @override + String get ec_ => 'इक्वेडोर'; + + @override + String get ee_ => 'एस्तोनिया'; + + @override + String get eg_ => 'मिस्र'; + + @override + String get er_ => 'इरिट्रिया'; + + @override + String get es_ => 'स्पेन'; + + @override + String get et_ => 'इथियोपिया'; + + @override + String get fi_ => 'फिनलैंड'; + + @override + String get fj_ => 'फ़िजी'; + + @override + String get fk_ => 'फ़ॉकलैंड द्वीप (माल्विनास)'; + + @override + String get fm_ => 'माइक्रोनेशिया, संघीय राज्य माइक्रोनेशिया'; + + @override + String get fo_ => 'फ़ैरो द्वीप'; + + @override + String get fr_ => 'फ्रांस'; + + @override + String get ga_ => 'गैबॉन'; + + @override + String get gb_ => 'यूनाइटेड किंगडम'; + + @override + String get gd_ => 'ग्रेनेडा'; + + @override + String get ge_ => 'जॉर्जिया'; + + @override + String get gf_ => 'फ्रेंच गयाना'; + + @override + String get gg_ => 'ग्वेर्नसे'; + + @override + String get gh_ => 'घाना'; + + @override + String get gi_ => 'जिब्राल्टर'; + + @override + String get gl_ => 'ग्रीनलैंड'; + + @override + String get gm_ => 'गाम्बिया'; + + @override + String get gn_ => 'गिन्नी'; + + @override + String get gp_ => 'ग्वाडेलोप'; + + @override + String get gq_ => 'भूमध्यवर्ती गिनी'; + + @override + String get gr_ => 'यूनान'; + + @override + String get gs_ => 'दक्षिण जॉर्जिया और दक्षिण सैंडविच द्वीप समूह'; + + @override + String get gt_ => 'ग्वाटेमाला'; + + @override + String get gu_ => 'गुआम'; + + @override + String get gw_ => 'गिनी-बिसाऊ'; + + @override + String get gy_ => 'गुयाना'; + + @override + String get hk_ => 'हांगकांग'; + + @override + String get hn_ => 'होंडुरस'; + + @override + String get hr_ => 'क्रोएशिया'; + + @override + String get ht_ => 'हैती'; + + @override + String get hu_ => 'हंगरी'; + + @override + String get id_ => 'इंडोनेशिया'; + + @override + String get ie_ => 'आयरलैंड'; + + @override + String get il_ => 'इजराइल'; + + @override + String get im_ => 'मैन द्वीप'; + + @override + String get in_ => 'भारत'; + + @override + String get io_ => 'ब्रिटेन और भारतीय समुद्री क्षेत्र'; + + @override + String get iq_ => 'इराक'; + + @override + String get ir_ => 'ईरान, इस्लामी गणतंत्र फ़ारस की खाड़ी'; + + @override + String get is_ => 'आइसलैंड'; + + @override + String get it_ => 'इटली'; + + @override + String get je_ => 'जर्सी'; + + @override + String get jm_ => 'जमैका'; + + @override + String get jo_ => 'जॉर्डन'; + + @override + String get jp_ => 'जापान'; + + @override + String get ke_ => 'केन्या'; + + @override + String get kg_ => 'किर्गिज़स्तान'; + + @override + String get kh_ => 'कंबोडिया'; + + @override + String get ki_ => 'किरिबाती'; + + @override + String get km_ => 'कोमोरोस'; + + @override + String get kn_ => 'संत किट्ट्स और नेविस'; + + @override + String get kp_ => 'कोरिया, डेमोक्रेटिक पीपुल्स रिपब्लिक ऑफ कोरिया'; + + @override + String get kr_ => 'कोरिया, दक्षिण कोरिया गणराज्य'; + + @override + String get kw_ => 'कुवैट'; + + @override + String get ky_ => 'केमन द्वीपसमूह'; + + @override + String get kz_ => 'कजाखस्तान'; + + @override + String get la_ => 'लाओस'; + + @override + String get lb_ => 'लेबनान'; + + @override + String get lc_ => 'सेंट लूसिया'; + + @override + String get li_ => 'लिकटेंस्टाइन'; + + @override + String get lk_ => 'श्रीलंका'; + + @override + String get lr_ => 'लाइबेरिया'; + + @override + String get ls_ => 'लिसोटो'; + + @override + String get lt_ => 'लिथुआनिया'; + + @override + String get lu_ => 'लक्समबर्ग'; + + @override + String get lv_ => 'लातविया'; + + @override + String get ly_ => 'लीबिया का अरब जमहिरिया'; + + @override + String get ma_ => 'मोरक्को'; + + @override + String get mc_ => 'मोनाको'; + + @override + String get md_ => 'मोलदोवा'; + + @override + String get me_ => 'मोंटेनेग्रो'; + + @override + String get mf_ => 'संत मार्टिन'; + + @override + String get mg_ => 'मेडागास्कर'; + + @override + String get mh_ => 'मार्शल द्वीपसमूह'; + + @override + String get mk_ => 'मैसेडोनिया'; + + @override + String get ml_ => 'माली'; + + @override + String get mm_ => 'म्यांमार'; + + @override + String get mn_ => 'मंगोलिया'; + + @override + String get mo_ => 'मकाओ'; + + @override + String get mp_ => 'उत्तरी मरीयाना द्वीप समूह'; + + @override + String get mq_ => 'मार्टीनिक'; + + @override + String get mr_ => 'मॉरिटानिया'; + + @override + String get ms_ => 'मोंटेसेराट'; + + @override + String get mt_ => 'माल्टा'; + + @override + String get mu_ => 'मॉरीशस'; + + @override + String get mv_ => 'मालदीव'; + + @override + String get mw_ => 'मलावी'; + + @override + String get mx_ => 'मेक्सिको'; + + @override + String get my_ => 'मलेशिया'; + + @override + String get mz_ => 'मोजाम्बिक'; + + @override + String get na_ => 'नामिबिया'; + + @override + String get nc_ => 'न्यू कैलेडोनिया'; + + @override + String get ne_ => 'नाइजर'; + + @override + String get nf_ => 'नॉरफ़ॉक आइलैंड'; + + @override + String get ng_ => 'नाइजीरिया'; + + @override + String get ni_ => 'निकारागुआ'; + + @override + String get nl_ => 'नीदरलैंड'; + + @override + String get no_ => 'नॉर्वे'; + + @override + String get np_ => 'नेपाल'; + + @override + String get nr_ => 'नाउरू'; + + @override + String get nu_ => 'नियू'; + + @override + String get nz_ => 'न्यूज़ीलैंड'; + + @override + String get om_ => 'ओमान'; + + @override + String get pa_ => 'पनामा'; + + @override + String get pe_ => 'पेरू'; + + @override + String get pf_ => 'फ़्रेंच पोलिनेशिया'; + + @override + String get pg_ => 'पापुआ न्यू गिनी'; + + @override + String get ph_ => 'फिलीपींस'; + + @override + String get pk_ => 'पाकिस्तान'; + + @override + String get pl_ => 'पोलैंड'; + + @override + String get pm_ => 'सेंट पियरे और मिकेलॉन'; + + @override + String get pn_ => 'पिटकेर्न'; + + @override + String get pr_ => 'प्यूर्टो रिको'; + + @override + String get ps_ => 'अधिकृत फ़िलिस्तीन क्षेत्र'; + + @override + String get pt_ => 'पुर्तगाल'; + + @override + String get pw_ => 'पलाउ'; + + @override + String get py_ => 'परागुआ'; + + @override + String get qa_ => 'कतर'; + + @override + String get re_ => 'रीयूनियन'; + + @override + String get ro_ => 'रोमानिया'; + + @override + String get rs_ => 'सर्बिया'; + + @override + String get ru_ => 'रूस'; + + @override + String get rw_ => 'रवांडा'; + + @override + String get sa_ => 'सऊदी अरब'; + + @override + String get sb_ => 'सोलोमन इस्लैंडस'; + + @override + String get sc_ => 'सेशल्स'; + + @override + String get sd_ => 'सूडान'; + + @override + String get se_ => 'स्वीडन'; + + @override + String get sg_ => 'सिंगापुर'; + + @override + String get si_ => 'स्लोवेनिया'; + + @override + String get sk_ => 'स्लोवाकिया'; + + @override + String get sl_ => 'सेरा लिओन'; + + @override + String get sm_ => 'सैन मैरीनो'; + + @override + String get sn_ => 'सेनेगल'; + + @override + String get so_ => 'सोमालिया'; + + @override + String get sr_ => 'सूरीनाम'; + + @override + String get ss_ => 'दक्षिण सूडान'; + + @override + String get st_ => 'साओ टोमे और प्रिंसिपे'; + + @override + String get sv_ => 'एल साल्वाडोर'; + + @override + String get sy_ => 'सीरियाई अरब गणराज्य'; + + @override + String get sz_ => 'स्वाजीलैंड'; + + @override + String get ta_ => 'ट्रिस्टन दा कुन्हा'; + + @override + String get tc_ => 'तुर्क और कैकोस द्वीप समूह'; + + @override + String get td_ => 'काग़ज़ का टुकड़ा'; + + @override + String get tg_ => 'जाना'; + + @override + String get th_ => 'थाईलैंड'; + + @override + String get tj_ => 'तजाकिस्तान'; + + @override + String get tk_ => 'टोकेलाऊ'; + + @override + String get tl_ => 'तिमोर-लेस्ते'; + + @override + String get tm_ => 'तुर्कमेनिस्तान'; + + @override + String get tn_ => 'ट्यूनीशिया'; + + @override + String get to_ => 'टोंगा'; + + @override + String get tr_ => 'तुर्की'; + + @override + String get tt_ => 'त्रिनिदाद और टोबैगो'; + + @override + String get tv_ => 'तुवालू'; + + @override + String get tw_ => 'ताइवान'; + + @override + String get tz_ => 'तंजानिया, संयुक्त गणराज्य तंजानिया'; + + @override + String get ua_ => 'यूक्रेन'; + + @override + String get ug_ => 'युगांडा'; + + @override + String get us_ => 'संयुक्त राज्य अमेरिका'; + + @override + String get uy_ => 'उरुग्वे'; + + @override + String get uz_ => 'उज़्बेकिस्तान'; + + @override + String get va_ => 'होली सी (वेटिकन सिटी स्टेट)'; + + @override + String get vc_ => 'संत विंसेंट अँड थे ग्रेनडीनेस'; + + @override + String get ve_ => 'वेनेजुएला'; + + @override + String get vg_ => 'वर्जिन द्वीप समूह, ब्रिटिश'; + + @override + String get vi_ => 'वर्जिन द्वीप समूह, यू.एस.'; + + @override + String get vn_ => 'वियतनाम'; + + @override + String get vu_ => 'वानुअतु'; + + @override + String get wf_ => 'वाली और फ़्युटुना'; + + @override + String get ws_ => 'समोआ'; + + @override + String get ye_ => 'यमन'; + + @override + String get yt_ => 'मैयट'; + + @override + String get za_ => 'दक्षिण अफ्रीका'; + + @override + String get zm_ => 'जाम्बिया'; + + @override + String get zw_ => 'जिम्बाब्वे'; +} diff --git a/lib/l10n/generated/phone_field_localization_it.dart b/lib/l10n/generated/phone_field_localization_it.dart new file mode 100644 index 00000000..870a74e2 --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_it.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for Italian (`it`). +class PhoneFieldLocalizationIt extends PhoneFieldLocalization { + PhoneFieldLocalizationIt([super.locale = 'it']); + + @override + String get invalidPhoneNumber => 'Numero di telefono invalido'; + + @override + String get invalidCountry => 'Paese invalido'; + + @override + String get invalidMobilePhoneNumber => 'Numero di cellulare invalido'; + + @override + String get invalidFixedLinePhoneNumber => 'Numero di rete fissa invalido'; + + @override + String get requiredPhoneNumber => 'Numero di telefono richiesto'; + + @override + String get noResultMessage => 'Nessun risultato'; + + @override + String get ac_ => 'Isola dell\'Ascensione'; + + @override + String get ad_ => 'Andorra'; + + @override + String get ae_ => 'Emirati Arabi Uniti'; + + @override + String get af_ => 'Afghanistan'; + + @override + String get ag_ => 'Antigua e Barbuda'; + + @override + String get ai_ => 'Anguilla'; + + @override + String get al_ => 'Albania'; + + @override + String get am_ => 'Armenia'; + + @override + String get an_ => 'Antille Olandesi'; + + @override + String get ao_ => 'Angola'; + + @override + String get aq_ => 'Antartide'; + + @override + String get ar_ => 'Argentina'; + + @override + String get as_ => 'Samoa americane'; + + @override + String get at_ => 'Austria'; + + @override + String get au_ => 'Australia'; + + @override + String get aw_ => 'Aruba'; + + @override + String get ax_ => 'Isole Aland'; + + @override + String get az_ => 'Azerbaigian'; + + @override + String get ba_ => 'Bosnia Erzegovina'; + + @override + String get bb_ => 'Barbados'; + + @override + String get bd_ => 'Bangladesh'; + + @override + String get be_ => 'Belgio'; + + @override + String get bf_ => 'Burkina Faso'; + + @override + String get bg_ => 'Bulgaria'; + + @override + String get bh_ => 'Bahrein'; + + @override + String get bi_ => 'Burundi'; + + @override + String get bj_ => 'Benin'; + + @override + String get bl_ => 'Saint Barthelemy'; + + @override + String get bm_ => 'Bermuda'; + + @override + String get bn_ => 'Brunei Darussalam'; + + @override + String get bo_ => 'Bolivia, Stato plurinazionale di'; + + @override + String get bq_ => 'Bonaire'; + + @override + String get br_ => 'Brasile'; + + @override + String get bs_ => 'Bahamas'; + + @override + String get bt_ => 'Bhutan'; + + @override + String get bw_ => 'Botswana'; + + @override + String get by_ => 'Bielorussia'; + + @override + String get bz_ => 'Belize'; + + @override + String get ca_ => 'Canada'; + + @override + String get cc_ => 'Isole Cocos (Keeling)'; + + @override + String get cd_ => 'Congo, Repubblica Democratica del Congo'; + + @override + String get cf_ => 'Repubblica Centrafricana'; + + @override + String get cg_ => 'Congo'; + + @override + String get ch_ => 'Svizzera'; + + @override + String get ci_ => 'Costa d\'Avorio'; + + @override + String get ck_ => 'Isole Cook'; + + @override + String get cl_ => 'Chile'; + + @override + String get cm_ => 'Camerun'; + + @override + String get cn_ => 'Cina'; + + @override + String get co_ => 'Colombia'; + + @override + String get cr_ => 'Costa Rica'; + + @override + String get cu_ => 'Cuba'; + + @override + String get cv_ => 'capo Verde'; + + @override + String get cx_ => 'Isola di Natale'; + + @override + String get cy_ => 'Cipro'; + + @override + String get cz_ => 'Repubblica Ceca'; + + @override + String get de_ => 'Germania'; + + @override + String get dj_ => 'Gibuti'; + + @override + String get dk_ => 'Danimarca'; + + @override + String get dm_ => 'Dominica'; + + @override + String get do_ => 'Repubblica Dominicana'; + + @override + String get dz_ => 'Algeria'; + + @override + String get ec_ => 'Ecuador'; + + @override + String get ee_ => 'Estonia'; + + @override + String get eg_ => 'Egitto'; + + @override + String get er_ => 'Eritrea'; + + @override + String get es_ => 'Spagna'; + + @override + String get et_ => 'Etiopia'; + + @override + String get fi_ => 'Finlandia'; + + @override + String get fj_ => 'Figi'; + + @override + String get fk_ => 'Isole Falkland (Malvinas)'; + + @override + String get fm_ => 'Micronesia, Stati Federati di Micronesia'; + + @override + String get fo_ => 'Isole Faroe'; + + @override + String get fr_ => 'Francia'; + + @override + String get ga_ => 'Gabon'; + + @override + String get gb_ => 'Regno Unito'; + + @override + String get gd_ => 'Grenada'; + + @override + String get ge_ => 'Georgia'; + + @override + String get gf_ => 'Guiana francese'; + + @override + String get gg_ => 'Guernsey'; + + @override + String get gh_ => 'Ghana'; + + @override + String get gi_ => 'Gibilterra'; + + @override + String get gl_ => 'Groenlandia'; + + @override + String get gm_ => 'Gambia'; + + @override + String get gn_ => 'Guinea'; + + @override + String get gp_ => 'Guadalupa'; + + @override + String get gq_ => 'Guinea Equatoriale'; + + @override + String get gr_ => 'Grecia'; + + @override + String get gs_ => 'Georgia del Sud e isole Sandwich meridionali'; + + @override + String get gt_ => 'Guatemala'; + + @override + String get gu_ => 'Guam'; + + @override + String get gw_ => 'Guinea-Bissau'; + + @override + String get gy_ => 'Guyana'; + + @override + String get hk_ => 'Hong Kong'; + + @override + String get hn_ => 'Honduras'; + + @override + String get hr_ => 'Croazia'; + + @override + String get ht_ => 'Haiti'; + + @override + String get hu_ => 'Ungheria'; + + @override + String get id_ => 'Indonesia'; + + @override + String get ie_ => 'Irlanda'; + + @override + String get il_ => 'Israele'; + + @override + String get im_ => 'Isola di Man'; + + @override + String get in_ => 'India'; + + @override + String get io_ => 'Territorio britannico dell\'Oceano Indiano'; + + @override + String get iq_ => 'Iraq'; + + @override + String get ir_ => 'Iran, Repubblica islamica del Golfo Persico'; + + @override + String get is_ => 'Islanda'; + + @override + String get it_ => 'Italia'; + + @override + String get je_ => 'Jersey'; + + @override + String get jm_ => 'Giamaica'; + + @override + String get jo_ => 'Giordania'; + + @override + String get jp_ => 'Giappone'; + + @override + String get ke_ => 'Kenya'; + + @override + String get kg_ => 'Kirghizistan'; + + @override + String get kh_ => 'Cambogia'; + + @override + String get ki_ => 'Kiribati'; + + @override + String get km_ => 'Comore'; + + @override + String get kn_ => 'Saint Kitts e Nevis'; + + @override + String get kp_ => 'Corea, Repubblica Democratica Popolare di Corea'; + + @override + String get kr_ => 'Corea, Repubblica della Corea del Sud'; + + @override + String get kw_ => 'Kuwait'; + + @override + String get ky_ => 'Isole Cayman'; + + @override + String get kz_ => 'Kazakistan'; + + @override + String get la_ => 'Laos'; + + @override + String get lb_ => 'Libano'; + + @override + String get lc_ => 'Santa Lucia'; + + @override + String get li_ => 'Liechtenstein'; + + @override + String get lk_ => 'Sri Lanka'; + + @override + String get lr_ => 'Liberia'; + + @override + String get ls_ => 'Lesotho'; + + @override + String get lt_ => 'Lituania'; + + @override + String get lu_ => 'Lussemburgo'; + + @override + String get lv_ => 'Lettonia'; + + @override + String get ly_ => 'Giamahiria araba libica'; + + @override + String get ma_ => 'Marocco'; + + @override + String get mc_ => 'Monaco'; + + @override + String get md_ => 'Moldova'; + + @override + String get me_ => 'Montenegro'; + + @override + String get mf_ => 'Saint Martin'; + + @override + String get mg_ => 'Madagascar'; + + @override + String get mh_ => 'Isole Marshall'; + + @override + String get mk_ => 'Macedonia'; + + @override + String get ml_ => 'Mali'; + + @override + String get mm_ => 'Myanmar'; + + @override + String get mn_ => 'Mongolia'; + + @override + String get mo_ => 'Macao'; + + @override + String get mp_ => 'Isole Marianne settentrionali'; + + @override + String get mq_ => 'Martinica'; + + @override + String get mr_ => 'Mauritania'; + + @override + String get ms_ => 'Montserrat'; + + @override + String get mt_ => 'Malta'; + + @override + String get mu_ => 'Maurizio'; + + @override + String get mv_ => 'Maldive'; + + @override + String get mw_ => 'Malawi'; + + @override + String get mx_ => 'Messico'; + + @override + String get my_ => 'Malaysia'; + + @override + String get mz_ => 'Mozambico'; + + @override + String get na_ => 'Namibia'; + + @override + String get nc_ => 'Nuova Caledonia'; + + @override + String get ne_ => 'Niger'; + + @override + String get nf_ => 'Isola Norfolk'; + + @override + String get ng_ => 'Nigeria'; + + @override + String get ni_ => 'Nicaragua'; + + @override + String get nl_ => 'Olanda'; + + @override + String get no_ => 'Norvegia'; + + @override + String get np_ => 'Nepal'; + + @override + String get nr_ => 'Nauru'; + + @override + String get nu_ => 'Niue'; + + @override + String get nz_ => 'Nuova Zelanda'; + + @override + String get om_ => 'Oman'; + + @override + String get pa_ => 'Panama'; + + @override + String get pe_ => 'Perù'; + + @override + String get pf_ => 'Polinesia francese'; + + @override + String get pg_ => 'Papua Nuova Guinea'; + + @override + String get ph_ => 'Filippine'; + + @override + String get pk_ => 'Pakistan'; + + @override + String get pl_ => 'Polonia'; + + @override + String get pm_ => 'Saint Pierre e Miquelon'; + + @override + String get pn_ => 'Pitcairn'; + + @override + String get pr_ => 'Porto Rico'; + + @override + String get ps_ => 'Territori palestinesi occupati'; + + @override + String get pt_ => 'Portogallo'; + + @override + String get pw_ => 'Palau'; + + @override + String get py_ => 'Paraguay'; + + @override + String get qa_ => 'Qatar'; + + @override + String get re_ => 'Riunione'; + + @override + String get ro_ => 'Romania'; + + @override + String get rs_ => 'Serbia'; + + @override + String get ru_ => 'Russia'; + + @override + String get rw_ => 'Ruanda'; + + @override + String get sa_ => 'Arabia Saudita'; + + @override + String get sb_ => 'Isole Salomone'; + + @override + String get sc_ => 'Seychelles'; + + @override + String get sd_ => 'Sudan'; + + @override + String get se_ => 'Svezia'; + + @override + String get sg_ => 'Singapore'; + + @override + String get si_ => 'Slovenia'; + + @override + String get sk_ => 'Slovacchia'; + + @override + String get sl_ => 'Sierra Leone'; + + @override + String get sm_ => 'San Marino'; + + @override + String get sn_ => 'Senegal'; + + @override + String get so_ => 'Somalia'; + + @override + String get sr_ => 'Suriname'; + + @override + String get ss_ => 'Sudan del Sud'; + + @override + String get st_ => 'Sao Tome e Principe'; + + @override + String get sv_ => 'El Salvador'; + + @override + String get sy_ => 'Repubblica Araba Siriana'; + + @override + String get sz_ => 'Swaziland'; + + @override + String get ta_ => 'Tristan da Cunha'; + + @override + String get tc_ => 'Isole Turks e Caicos'; + + @override + String get td_ => 'Chad'; + + @override + String get tg_ => 'Andare'; + + @override + String get th_ => 'Tailandia'; + + @override + String get tj_ => 'Tagikistan'; + + @override + String get tk_ => 'Tokelau'; + + @override + String get tl_ => 'Timor-Leste'; + + @override + String get tm_ => 'Turkmenistan'; + + @override + String get tn_ => 'Tunisia'; + + @override + String get to_ => 'Tonga'; + + @override + String get tr_ => 'tacchino'; + + @override + String get tt_ => 'Trinidad e Tobago'; + + @override + String get tv_ => 'Tuvalu'; + + @override + String get tw_ => 'Taiwan'; + + @override + String get tz_ => 'Tanzania, Repubblica Unita di Tanzania'; + + @override + String get ua_ => 'Ucraina'; + + @override + String get ug_ => 'Uganda'; + + @override + String get us_ => 'stati Uniti'; + + @override + String get uy_ => 'Uruguay'; + + @override + String get uz_ => 'Uzbekistan'; + + @override + String get va_ => 'Santa Sede (Stato della Città del Vaticano)'; + + @override + String get vc_ => 'Saint Vincent e Grenadine'; + + @override + String get ve_ => 'Venezuela'; + + @override + String get vg_ => 'Isole Vergini britanniche'; + + @override + String get vi_ => 'Isole Vergini americane'; + + @override + String get vn_ => 'Vietnam'; + + @override + String get vu_ => 'Vanuatu'; + + @override + String get wf_ => 'Wallis e Futuna'; + + @override + String get ws_ => 'Samoa'; + + @override + String get ye_ => 'Yemen'; + + @override + String get yt_ => 'Mayotte'; + + @override + String get za_ => 'Sud Africa'; + + @override + String get zm_ => 'Zambia'; + + @override + String get zw_ => 'Zimbabwe'; +} diff --git a/lib/l10n/generated/phone_field_localization_nb.dart b/lib/l10n/generated/phone_field_localization_nb.dart new file mode 100644 index 00000000..2f783cf2 --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_nb.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for Norwegian Bokmål (`nb`). +class PhoneFieldLocalizationNb extends PhoneFieldLocalization { + PhoneFieldLocalizationNb([super.locale = 'nb']); + + @override + String get invalidPhoneNumber => 'Ugyldig telefonnummer'; + + @override + String get invalidCountry => 'Ugyldig land'; + + @override + String get invalidMobilePhoneNumber => 'Ugyldig mobilnummer'; + + @override + String get invalidFixedLinePhoneNumber => 'Ugyldig fasttelefonnummer'; + + @override + String get requiredPhoneNumber => 'Telefonnummer er påkrevd'; + + @override + String get noResultMessage => 'Ingen resultater'; + + @override + String get ac_ => 'Ascension Island'; + + @override + String get ad_ => 'Andorra'; + + @override + String get ae_ => 'De forente arabiske emirater'; + + @override + String get af_ => 'Afghanistan'; + + @override + String get ag_ => 'Antigua og Barbuda'; + + @override + String get ai_ => 'Anguilla'; + + @override + String get al_ => 'Albania'; + + @override + String get am_ => 'Armenia'; + + @override + String get an_ => 'Nederlandene Antillene'; + + @override + String get ao_ => 'Angola'; + + @override + String get aq_ => 'Antarktis'; + + @override + String get ar_ => 'Argentina'; + + @override + String get as_ => 'Amerikansk Samoa'; + + @override + String get at_ => 'Østerrike'; + + @override + String get au_ => 'Australia'; + + @override + String get aw_ => 'Aruba'; + + @override + String get ax_ => 'Åland'; + + @override + String get az_ => 'Aserbajdsjan'; + + @override + String get ba_ => 'Bosnia-Hercegovina'; + + @override + String get bb_ => 'Barbados'; + + @override + String get bd_ => 'Bangladesh'; + + @override + String get be_ => 'Belgia'; + + @override + String get bf_ => 'Burkina Faso'; + + @override + String get bg_ => 'Bulgaria'; + + @override + String get bh_ => 'Bahrain'; + + @override + String get bi_ => 'Burundi'; + + @override + String get bj_ => 'Benin'; + + @override + String get bl_ => 'Saint Barthelemy'; + + @override + String get bm_ => 'Bermuda'; + + @override + String get bn_ => 'Brunei Darussalam'; + + @override + String get bo_ => 'Bolivia, den plurinasjonale staten'; + + @override + String get bq_ => 'Bonaire'; + + @override + String get br_ => 'Brasil'; + + @override + String get bs_ => 'Bahamas'; + + @override + String get bt_ => 'Bhutan'; + + @override + String get bw_ => 'Botswana'; + + @override + String get by_ => 'Hviterussland'; + + @override + String get bz_ => 'Belize'; + + @override + String get ca_ => 'Canada'; + + @override + String get cc_ => 'Kokosøyene (Keelingøyene)'; + + @override + String get cd_ => 'Den demokratiske republikken Kongo'; + + @override + String get cf_ => 'Den sentralafrikanske republikken'; + + @override + String get cg_ => 'Kongo'; + + @override + String get ch_ => 'Sveits'; + + @override + String get ci_ => 'Elfenbenskysten'; + + @override + String get ck_ => 'Cookøyene'; + + @override + String get cl_ => 'Chile'; + + @override + String get cm_ => 'Kamerun'; + + @override + String get cn_ => 'Kina'; + + @override + String get co_ => 'Colombia'; + + @override + String get cr_ => 'Costa Rica'; + + @override + String get cu_ => 'Cuba'; + + @override + String get cv_ => 'Kapp Verde'; + + @override + String get cx_ => 'Christmas Island'; + + @override + String get cy_ => 'Kypros'; + + @override + String get cz_ => 'Tsjekkia'; + + @override + String get de_ => 'Tyskland'; + + @override + String get dj_ => 'Djibouti'; + + @override + String get dk_ => 'Danmark'; + + @override + String get dm_ => 'Dominica'; + + @override + String get do_ => 'Den dominikanske republikken'; + + @override + String get dz_ => 'Algerie'; + + @override + String get ec_ => 'Ecuador'; + + @override + String get ee_ => 'Estland'; + + @override + String get eg_ => 'Egypt'; + + @override + String get er_ => 'Eritrea'; + + @override + String get es_ => 'Spania'; + + @override + String get et_ => 'Etiopia'; + + @override + String get fi_ => 'Finland'; + + @override + String get fj_ => 'Fiji'; + + @override + String get fk_ => 'Falklandsøyene (Malvinas)'; + + @override + String get fm_ => 'Mikronesia, de føderale statene i Mikronesia'; + + @override + String get fo_ => 'Færøyene'; + + @override + String get fr_ => 'Frankrike'; + + @override + String get ga_ => 'Gabon'; + + @override + String get gb_ => 'Storbritannia'; + + @override + String get gd_ => 'Grenada'; + + @override + String get ge_ => 'Georgia'; + + @override + String get gf_ => 'Fransk Guyana'; + + @override + String get gg_ => 'Guernsey'; + + @override + String get gh_ => 'Ghana'; + + @override + String get gi_ => 'Gibraltar'; + + @override + String get gl_ => 'Grønland'; + + @override + String get gm_ => 'Gambia'; + + @override + String get gn_ => 'Guinea'; + + @override + String get gp_ => 'Guadeloupe'; + + @override + String get gq_ => 'Ekvatorial-Guinea'; + + @override + String get gr_ => 'Hellas'; + + @override + String get gs_ => 'Sør-Georgia og Sør-Sandwichøyene'; + + @override + String get gt_ => 'Guatemala'; + + @override + String get gu_ => 'Guam'; + + @override + String get gw_ => 'Guinea-Bissau'; + + @override + String get gy_ => 'Guyana'; + + @override + String get hk_ => 'Hong Kong'; + + @override + String get hn_ => 'Honduras'; + + @override + String get hr_ => 'Kroatia'; + + @override + String get ht_ => 'Haiti'; + + @override + String get hu_ => 'Ungarn'; + + @override + String get id_ => 'Indonesia'; + + @override + String get ie_ => 'Irland'; + + @override + String get il_ => 'Israel'; + + @override + String get im_ => 'Isle of Man'; + + @override + String get in_ => 'India'; + + @override + String get io_ => 'Det britiske territoriet i Indiahavet'; + + @override + String get iq_ => 'Irak'; + + @override + String get ir_ => 'Iran, Den islamske republikken'; + + @override + String get is_ => 'Island'; + + @override + String get it_ => 'Italia'; + + @override + String get je_ => 'Jersey'; + + @override + String get jm_ => 'Jamaica'; + + @override + String get jo_ => 'Jordan'; + + @override + String get jp_ => 'Japan'; + + @override + String get ke_ => 'Kenya'; + + @override + String get kg_ => 'Kirgisistan'; + + @override + String get kh_ => 'Kambodsja'; + + @override + String get ki_ => 'Kiribati'; + + @override + String get km_ => 'Komorene'; + + @override + String get kn_ => 'Saint Kitts og Nevis'; + + @override + String get kp_ => 'Korea, Den demokratiske folkerepublikken Korea'; + + @override + String get kr_ => 'Korea, Republikken Sør-Korea'; + + @override + String get kw_ => 'Kuwait'; + + @override + String get ky_ => 'Caymanøyene'; + + @override + String get kz_ => 'Kasakhstan'; + + @override + String get la_ => 'Laos'; + + @override + String get lb_ => 'Libanon'; + + @override + String get lc_ => 'Saint Lucia'; + + @override + String get li_ => 'Liechtenstein'; + + @override + String get lk_ => 'Sri Lanka'; + + @override + String get lr_ => 'Liberia'; + + @override + String get ls_ => 'Lesotho'; + + @override + String get lt_ => 'Litauen'; + + @override + String get lu_ => 'Luxembourg'; + + @override + String get lv_ => 'Latvia'; + + @override + String get ly_ => 'Libya'; + + @override + String get ma_ => 'Marokko'; + + @override + String get mc_ => 'Monaco'; + + @override + String get md_ => 'Moldova'; + + @override + String get me_ => 'Montenegro'; + + @override + String get mf_ => 'Saint Martin'; + + @override + String get mg_ => 'Madagaskar'; + + @override + String get mh_ => 'Marshalløyene'; + + @override + String get mk_ => 'Makedonia'; + + @override + String get ml_ => 'Mali'; + + @override + String get mm_ => 'Myanmar'; + + @override + String get mn_ => 'Mongolia'; + + @override + String get mo_ => 'Macao'; + + @override + String get mp_ => 'Nord-Marianene'; + + @override + String get mq_ => 'Martinique'; + + @override + String get mr_ => 'Mauritania'; + + @override + String get ms_ => 'Montserrat'; + + @override + String get mt_ => 'Malta'; + + @override + String get mu_ => 'Mauritius'; + + @override + String get mv_ => 'Maldivene'; + + @override + String get mw_ => 'Malawi'; + + @override + String get mx_ => 'Mexico'; + + @override + String get my_ => 'Malaysia'; + + @override + String get mz_ => 'Mosambik'; + + @override + String get na_ => 'Namibia'; + + @override + String get nc_ => 'Ny-Caledonia'; + + @override + String get ne_ => 'Niger'; + + @override + String get nf_ => 'Norfolk Island'; + + @override + String get ng_ => 'Nigeria'; + + @override + String get ni_ => 'Nicaragua'; + + @override + String get nl_ => 'Nederland'; + + @override + String get no_ => 'Norge'; + + @override + String get np_ => 'Nepal'; + + @override + String get nr_ => 'Nauru'; + + @override + String get nu_ => 'Niue'; + + @override + String get nz_ => 'New Zealand'; + + @override + String get om_ => 'Oman'; + + @override + String get pa_ => 'Panama'; + + @override + String get pe_ => 'Peru'; + + @override + String get pf_ => 'Fransk Polynesia'; + + @override + String get pg_ => 'Papua Ny-Guinea'; + + @override + String get ph_ => 'Filippinene'; + + @override + String get pk_ => 'Pakistan'; + + @override + String get pl_ => 'Polen'; + + @override + String get pm_ => 'Saint Pierre og Miquelon'; + + @override + String get pn_ => 'Pitcairn'; + + @override + String get pr_ => 'Puerto Rico'; + + @override + String get ps_ => 'Det palestinske området, okkupert'; + + @override + String get pt_ => 'Portugal'; + + @override + String get pw_ => 'Palau'; + + @override + String get py_ => 'Paraguay'; + + @override + String get qa_ => 'Qatar'; + + @override + String get re_ => 'Reunion'; + + @override + String get ro_ => 'Romania'; + + @override + String get rs_ => 'Serbia'; + + @override + String get ru_ => 'Russland'; + + @override + String get rw_ => 'Rwanda'; + + @override + String get sa_ => 'Saudi-Arabia'; + + @override + String get sb_ => 'Salomonøyene'; + + @override + String get sc_ => 'Seychellene'; + + @override + String get sd_ => 'Sudan'; + + @override + String get se_ => 'Sverige'; + + @override + String get sg_ => 'Singapore'; + + @override + String get si_ => 'Slovenia'; + + @override + String get sk_ => 'Slovakia'; + + @override + String get sl_ => 'Sierra Leone'; + + @override + String get sm_ => 'San Marino'; + + @override + String get sn_ => 'Senegal'; + + @override + String get so_ => 'Somalia'; + + @override + String get sr_ => 'Surinam'; + + @override + String get ss_ => 'Sør-Sudan'; + + @override + String get st_ => 'São Tomé og Príncipe'; + + @override + String get sv_ => 'El Salvador'; + + @override + String get sy_ => 'Den syriske arabiske republikken'; + + @override + String get sz_ => 'Swaziland'; + + @override + String get ta_ => 'Tristan da Cunha'; + + @override + String get tc_ => 'Turks- og Caicosøyene'; + + @override + String get td_ => 'Tsjad'; + + @override + String get tg_ => 'Togo'; + + @override + String get th_ => 'Thailand'; + + @override + String get tj_ => 'Tadsjikistan'; + + @override + String get tk_ => 'Tokelau'; + + @override + String get tl_ => 'Øst-Timor'; + + @override + String get tm_ => 'Turkmenistan'; + + @override + String get tn_ => 'Tunisia'; + + @override + String get to_ => 'Tonga'; + + @override + String get tr_ => 'Türkiye'; + + @override + String get tt_ => 'Trinidad og Tobago'; + + @override + String get tv_ => 'Tuvalu'; + + @override + String get tw_ => 'Taiwan'; + + @override + String get tz_ => 'Tanzania, Den forente republikken Tanzania'; + + @override + String get ua_ => 'Ukraina'; + + @override + String get ug_ => 'Uganda'; + + @override + String get us_ => 'USA'; + + @override + String get uy_ => 'Uruguay'; + + @override + String get uz_ => 'Usbekistan'; + + @override + String get va_ => 'Vatikanstaten (Hellige stol)'; + + @override + String get vc_ => 'Saint Vincent og Grenadinene'; + + @override + String get ve_ => 'Venezuela'; + + @override + String get vg_ => 'De britiske Jomfruøyene'; + + @override + String get vi_ => 'De amerikanske Jomfruøyene'; + + @override + String get vn_ => 'Vietnam'; + + @override + String get vu_ => 'Vanuatu'; + + @override + String get wf_ => 'Wallis og Futuna'; + + @override + String get ws_ => 'Samoa'; + + @override + String get ye_ => 'Jemen'; + + @override + String get yt_ => 'Mayotte'; + + @override + String get za_ => 'Sør-Afrika'; + + @override + String get zm_ => 'Zambia'; + + @override + String get zw_ => 'Zimbabwe'; +} diff --git a/lib/l10n/generated/phone_field_localization_nl.dart b/lib/l10n/generated/phone_field_localization_nl.dart new file mode 100644 index 00000000..876f3e9d --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_nl.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for Dutch Flemish (`nl`). +class PhoneFieldLocalizationNl extends PhoneFieldLocalization { + PhoneFieldLocalizationNl([super.locale = 'nl']); + + @override + String get invalidPhoneNumber => 'Ongeldig telefoonnummer'; + + @override + String get invalidCountry => 'Ongeldig land'; + + @override + String get invalidMobilePhoneNumber => 'Ongeldig mobiel nummer'; + + @override + String get invalidFixedLinePhoneNumber => 'Ongeldig vast nummer'; + + @override + String get requiredPhoneNumber => 'Telefoonnummer vereist'; + + @override + String get noResultMessage => 'Geen resultaat'; + + @override + String get ac_ => 'Hemelvaart Eiland'; + + @override + String get ad_ => 'Andorra'; + + @override + String get ae_ => 'Verenigde Arabische Emiraten'; + + @override + String get af_ => 'Afghanistan'; + + @override + String get ag_ => 'Antigua en Barbuda'; + + @override + String get ai_ => 'Anguilla'; + + @override + String get al_ => 'Albanië'; + + @override + String get am_ => 'Armenië'; + + @override + String get an_ => 'Nederlandse Antillen'; + + @override + String get ao_ => 'Angola'; + + @override + String get aq_ => 'Antarctica'; + + @override + String get ar_ => 'Argentinië'; + + @override + String get as_ => 'Amerikaans Samoa'; + + @override + String get at_ => 'Oostenrijk'; + + @override + String get au_ => 'Australië'; + + @override + String get aw_ => 'Aruba'; + + @override + String get ax_ => 'Aland-eilanden'; + + @override + String get az_ => 'Azerbeidzjan'; + + @override + String get ba_ => 'Bosnië-Herzegovina'; + + @override + String get bb_ => 'Barbados'; + + @override + String get bd_ => 'Bangladesh'; + + @override + String get be_ => 'Belgie'; + + @override + String get bf_ => 'Burkina Faso'; + + @override + String get bg_ => 'Bulgarije'; + + @override + String get bh_ => 'Bahrein'; + + @override + String get bi_ => 'Burundi'; + + @override + String get bj_ => 'Benin'; + + @override + String get bl_ => 'Sint-Bartholomeus'; + + @override + String get bm_ => 'Bermuda'; + + @override + String get bn_ => 'Brunei Darussalam'; + + @override + String get bo_ => 'Bolivia, Plurinationale Staat'; + + @override + String get bq_ => 'Bonaire'; + + @override + String get br_ => 'Brazilië'; + + @override + String get bs_ => 'Bahamas'; + + @override + String get bt_ => 'Bhutan'; + + @override + String get bw_ => 'Botswana'; + + @override + String get by_ => 'Wit-Rusland'; + + @override + String get bz_ => 'Belize'; + + @override + String get ca_ => 'Canada'; + + @override + String get cc_ => 'Cocos (Keeling) eilanden'; + + @override + String get cd_ => 'Congo, de Democratische Republiek Congo'; + + @override + String get cf_ => 'Centraal Afrikaanse Republiek'; + + @override + String get cg_ => 'Congo'; + + @override + String get ch_ => 'Zwitserland'; + + @override + String get ci_ => 'Ivoorkust'; + + @override + String get ck_ => 'Cook Eilanden'; + + @override + String get cl_ => 'Chili'; + + @override + String get cm_ => 'Kameroen'; + + @override + String get cn_ => 'China'; + + @override + String get co_ => 'Colombia'; + + @override + String get cr_ => 'Costa Rica'; + + @override + String get cu_ => 'Cuba'; + + @override + String get cv_ => 'Kaapverdië'; + + @override + String get cx_ => 'Kersteiland'; + + @override + String get cy_ => 'Cyprus'; + + @override + String get cz_ => 'Tsjechië'; + + @override + String get de_ => 'Duitsland'; + + @override + String get dj_ => 'Djibouti'; + + @override + String get dk_ => 'Denemarken'; + + @override + String get dm_ => 'Dominica'; + + @override + String get do_ => 'Dominicaanse Republiek'; + + @override + String get dz_ => 'Algerije'; + + @override + String get ec_ => 'Ecuador'; + + @override + String get ee_ => 'Estland'; + + @override + String get eg_ => 'Egypte'; + + @override + String get er_ => 'Eritrea'; + + @override + String get es_ => 'Spanje'; + + @override + String get et_ => 'Ethiopië'; + + @override + String get fi_ => 'Finland'; + + @override + String get fj_ => 'Fiji'; + + @override + String get fk_ => 'Falklandeilanden (Malvinas)'; + + @override + String get fm_ => 'Micronesië, Federale Staten van Micronesië'; + + @override + String get fo_ => 'Faeröer'; + + @override + String get fr_ => 'Frankrijk'; + + @override + String get ga_ => 'Gabon'; + + @override + String get gb_ => 'Verenigd Koningkrijk'; + + @override + String get gd_ => 'Grenada'; + + @override + String get ge_ => 'Georgië'; + + @override + String get gf_ => 'Frans Guyana'; + + @override + String get gg_ => 'Guernsey'; + + @override + String get gh_ => 'Ghana'; + + @override + String get gi_ => 'Gibraltar'; + + @override + String get gl_ => 'Groenland'; + + @override + String get gm_ => 'Gambia'; + + @override + String get gn_ => 'Guinea'; + + @override + String get gp_ => 'Guadeloupe'; + + @override + String get gq_ => 'Equatoriaal-Guinea'; + + @override + String get gr_ => 'Griekenland'; + + @override + String get gs_ => 'Zuid-Georgië en de Zuidelijke Sandwicheilanden'; + + @override + String get gt_ => 'Guatemala'; + + @override + String get gu_ => 'Guam'; + + @override + String get gw_ => 'Guinee-Bissau'; + + @override + String get gy_ => 'Guyana'; + + @override + String get hk_ => 'Hong Kong'; + + @override + String get hn_ => 'Honduras'; + + @override + String get hr_ => 'Kroatië'; + + @override + String get ht_ => 'Haïti'; + + @override + String get hu_ => 'Hongarije'; + + @override + String get id_ => 'Indonesië'; + + @override + String get ie_ => 'Ierland'; + + @override + String get il_ => 'Israël'; + + @override + String get im_ => 'Isle of Man'; + + @override + String get in_ => 'India'; + + @override + String get io_ => 'Brits-Indisch oceaan gebied'; + + @override + String get iq_ => 'Irak'; + + @override + String get ir_ => 'Iran, Islamitische Republiek Perzische Golf'; + + @override + String get is_ => 'IJsland'; + + @override + String get it_ => 'Italië'; + + @override + String get je_ => 'Jersey'; + + @override + String get jm_ => 'Jamaica'; + + @override + String get jo_ => 'Jordanië'; + + @override + String get jp_ => 'Japan'; + + @override + String get ke_ => 'Kenia'; + + @override + String get kg_ => 'Kirgizië'; + + @override + String get kh_ => 'Cambodja'; + + @override + String get ki_ => 'Kiribati'; + + @override + String get km_ => 'Comoren'; + + @override + String get kn_ => 'Saint Kitts en Nevis'; + + @override + String get kp_ => 'Korea, Democratische Volksrepubliek Korea'; + + @override + String get kr_ => 'Korea, Republiek Zuid-Korea'; + + @override + String get kw_ => 'Koeweit'; + + @override + String get ky_ => 'Kaaiman Eilanden'; + + @override + String get kz_ => 'Kazachstan'; + + @override + String get la_ => 'Laos'; + + @override + String get lb_ => 'Libanon'; + + @override + String get lc_ => 'Saint Lucia'; + + @override + String get li_ => 'Liechtenstein'; + + @override + String get lk_ => 'Sri Lanka'; + + @override + String get lr_ => 'Liberia'; + + @override + String get ls_ => 'Lesotho'; + + @override + String get lt_ => 'Litouwen'; + + @override + String get lu_ => 'Luxemburg'; + + @override + String get lv_ => 'Letland'; + + @override + String get ly_ => 'Libië'; + + @override + String get ma_ => 'Marokko'; + + @override + String get mc_ => 'Monaco'; + + @override + String get md_ => 'Moldavië'; + + @override + String get me_ => 'Montenegro'; + + @override + String get mf_ => 'Sint-Maarten'; + + @override + String get mg_ => 'Madagascar'; + + @override + String get mh_ => 'Marshall eilanden'; + + @override + String get mk_ => 'Macedonië'; + + @override + String get ml_ => 'Mali'; + + @override + String get mm_ => 'Myanmar'; + + @override + String get mn_ => 'Mongolië'; + + @override + String get mo_ => 'Macao'; + + @override + String get mp_ => 'noordelijke Mariana eilanden'; + + @override + String get mq_ => 'Martinique'; + + @override + String get mr_ => 'Mauritanië'; + + @override + String get ms_ => 'Montserrat'; + + @override + String get mt_ => 'Malta'; + + @override + String get mu_ => 'Mauritius'; + + @override + String get mv_ => 'Maldiven'; + + @override + String get mw_ => 'Malawi'; + + @override + String get mx_ => 'Mexico'; + + @override + String get my_ => 'Maleisië'; + + @override + String get mz_ => 'Mozambique'; + + @override + String get na_ => 'Namibië'; + + @override + String get nc_ => 'Nieuw-Caledonië'; + + @override + String get ne_ => 'Niger'; + + @override + String get nf_ => 'Norfolkeiland'; + + @override + String get ng_ => 'Nigeria'; + + @override + String get ni_ => 'Nicaragua'; + + @override + String get nl_ => 'Nederland'; + + @override + String get no_ => 'Noorwegen'; + + @override + String get np_ => 'Nepal'; + + @override + String get nr_ => 'Nauru'; + + @override + String get nu_ => 'Niue'; + + @override + String get nz_ => 'Nieuw-Zeeland'; + + @override + String get om_ => 'Oman'; + + @override + String get pa_ => 'Panama'; + + @override + String get pe_ => 'Peru'; + + @override + String get pf_ => 'Frans-Polynesië'; + + @override + String get pg_ => 'Papoea-Nieuw-Guinea'; + + @override + String get ph_ => 'Filippijnen'; + + @override + String get pk_ => 'Pakistan'; + + @override + String get pl_ => 'Polen'; + + @override + String get pm_ => 'Saint Pierre en Miquelon'; + + @override + String get pn_ => 'Pitcairn'; + + @override + String get pr_ => 'Puerto Rico'; + + @override + String get ps_ => 'Palestijns gebied, bezet'; + + @override + String get pt_ => 'Portugal'; + + @override + String get pw_ => 'Palau'; + + @override + String get py_ => 'Paraguay'; + + @override + String get qa_ => 'Qatar'; + + @override + String get re_ => 'Bijeenkomst'; + + @override + String get ro_ => 'Roemenië'; + + @override + String get rs_ => 'Servië'; + + @override + String get ru_ => 'Rusland'; + + @override + String get rw_ => 'Rwanda'; + + @override + String get sa_ => 'Saoedi-Arabië'; + + @override + String get sb_ => 'Solomon eilanden'; + + @override + String get sc_ => 'Seychellen'; + + @override + String get sd_ => 'Soedan'; + + @override + String get se_ => 'Zweden'; + + @override + String get sg_ => 'Singapore'; + + @override + String get si_ => 'Slovenië'; + + @override + String get sk_ => 'Slowakije'; + + @override + String get sl_ => 'Sierra Leone'; + + @override + String get sm_ => 'San Marino'; + + @override + String get sn_ => 'Senegal'; + + @override + String get so_ => 'Somalië'; + + @override + String get sr_ => 'Suriname'; + + @override + String get ss_ => 'Zuid Soedan'; + + @override + String get st_ => 'Sao Tomé en Principe'; + + @override + String get sv_ => 'El Salvador'; + + @override + String get sy_ => 'Syrische Arabische Republiek'; + + @override + String get sz_ => 'Swaziland'; + + @override + String get ta_ => 'Tristan da Cunha'; + + @override + String get tc_ => 'Turks- en Caicoseilanden'; + + @override + String get td_ => 'Tsjaad'; + + @override + String get tg_ => 'Gaan'; + + @override + String get th_ => 'Thailand'; + + @override + String get tj_ => 'Tadzjikistan'; + + @override + String get tk_ => 'Tokelau'; + + @override + String get tl_ => 'Oost-Timor'; + + @override + String get tm_ => 'Turkmenistan'; + + @override + String get tn_ => 'Tunesië'; + + @override + String get to_ => 'Tonga'; + + @override + String get tr_ => 'kalkoen'; + + @override + String get tt_ => 'Trinidad en Tobago'; + + @override + String get tv_ => 'Tuvalu'; + + @override + String get tw_ => 'Taiwan'; + + @override + String get tz_ => 'Tanzania, Verenigde Republiek Tanzania'; + + @override + String get ua_ => 'Oekraïne'; + + @override + String get ug_ => 'Oeganda'; + + @override + String get us_ => 'Verenigde Staten'; + + @override + String get uy_ => 'Uruguay'; + + @override + String get uz_ => 'Oezbekistan'; + + @override + String get va_ => 'Heilige Stoel (Vaticaanstad)'; + + @override + String get vc_ => 'Saint Vincent en de Grenadines'; + + @override + String get ve_ => 'Venezuela'; + + @override + String get vg_ => 'Britse Maagdeneilanden'; + + @override + String get vi_ => 'Maagdeneilanden, VS'; + + @override + String get vn_ => 'Vietnam'; + + @override + String get vu_ => 'Vanuatu'; + + @override + String get wf_ => 'Wallis en Futuna'; + + @override + String get ws_ => 'Samoa'; + + @override + String get ye_ => 'Jemen'; + + @override + String get yt_ => 'Mayotte'; + + @override + String get za_ => 'Zuid-Afrika'; + + @override + String get zm_ => 'Zambia'; + + @override + String get zw_ => 'Zimbabwe'; +} diff --git a/lib/l10n/generated/phone_field_localization_pt.dart b/lib/l10n/generated/phone_field_localization_pt.dart new file mode 100644 index 00000000..58b6da97 --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_pt.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for Portuguese (`pt`). +class PhoneFieldLocalizationPt extends PhoneFieldLocalization { + PhoneFieldLocalizationPt([super.locale = 'pt']); + + @override + String get invalidPhoneNumber => 'Número de telefone inválido'; + + @override + String get invalidCountry => 'País inválido'; + + @override + String get invalidMobilePhoneNumber => 'Número de telefone celular inválido'; + + @override + String get invalidFixedLinePhoneNumber => 'Número de telefone fixo inválido'; + + @override + String get requiredPhoneNumber => 'Número de telefone obrigatório'; + + @override + String get noResultMessage => 'Sem resultado'; + + @override + String get ac_ => 'Ilha da Ascensão'; + + @override + String get ad_ => 'Andorra'; + + @override + String get ae_ => 'Emirados Árabes Unidos'; + + @override + String get af_ => 'Afeganistão'; + + @override + String get ag_ => 'Antigua e Barbuda'; + + @override + String get ai_ => 'Anguilla'; + + @override + String get al_ => 'Albânia'; + + @override + String get am_ => 'Armênia'; + + @override + String get an_ => 'Antilhas Holandesas'; + + @override + String get ao_ => 'Angola'; + + @override + String get aq_ => 'Antártica'; + + @override + String get ar_ => 'Argentina'; + + @override + String get as_ => 'Samoa Americana'; + + @override + String get at_ => 'Áustria'; + + @override + String get au_ => 'Austrália'; + + @override + String get aw_ => 'Aruba'; + + @override + String get ax_ => 'Ilhas Aland'; + + @override + String get az_ => 'Azerbaijão'; + + @override + String get ba_ => 'Bósnia e Herzegovina'; + + @override + String get bb_ => 'Barbados'; + + @override + String get bd_ => 'Bangladesh'; + + @override + String get be_ => 'Bélgica'; + + @override + String get bf_ => 'Burkina Faso'; + + @override + String get bg_ => 'Bulgária'; + + @override + String get bh_ => 'Bahrain'; + + @override + String get bi_ => 'Burundi'; + + @override + String get bj_ => 'Benin'; + + @override + String get bl_ => 'São Bartolomeu'; + + @override + String get bm_ => 'Bermudas'; + + @override + String get bn_ => 'Brunei Darussalam'; + + @override + String get bo_ => 'Bolívia, Estado Plurinacional de'; + + @override + String get bq_ => 'Bonaire'; + + @override + String get br_ => 'Brasil'; + + @override + String get bs_ => 'Bahamas'; + + @override + String get bt_ => 'Butão'; + + @override + String get bw_ => 'Botswana'; + + @override + String get by_ => 'Bielo-Rússia'; + + @override + String get bz_ => 'Belize'; + + @override + String get ca_ => 'Canadá'; + + @override + String get cc_ => 'Ilhas Cocos (Keeling)'; + + @override + String get cd_ => 'Congo, República Democrática do Congo'; + + @override + String get cf_ => 'República Centro-Africana'; + + @override + String get cg_ => 'Congo'; + + @override + String get ch_ => 'Suíça'; + + @override + String get ci_ => 'Costa do Marfim'; + + @override + String get ck_ => 'Ilhas Cook'; + + @override + String get cl_ => 'Chile'; + + @override + String get cm_ => 'Camarões'; + + @override + String get cn_ => 'China'; + + @override + String get co_ => 'Colômbia'; + + @override + String get cr_ => 'Costa Rica'; + + @override + String get cu_ => 'Cuba'; + + @override + String get cv_ => 'cabo Verde'; + + @override + String get cx_ => 'Ilha do Natal'; + + @override + String get cy_ => 'Chipre'; + + @override + String get cz_ => 'República Checa'; + + @override + String get de_ => 'Alemanha'; + + @override + String get dj_ => 'Djibouti'; + + @override + String get dk_ => 'Dinamarca'; + + @override + String get dm_ => 'Dominica'; + + @override + String get do_ => 'República Dominicana'; + + @override + String get dz_ => 'Argélia'; + + @override + String get ec_ => 'Equador'; + + @override + String get ee_ => 'Estônia'; + + @override + String get eg_ => 'Egito'; + + @override + String get er_ => 'Eritreia'; + + @override + String get es_ => 'Espanha'; + + @override + String get et_ => 'Etiópia'; + + @override + String get fi_ => 'Finlândia'; + + @override + String get fj_ => 'Fiji'; + + @override + String get fk_ => 'Ilhas Falkland (Malvinas)'; + + @override + String get fm_ => 'Micronésia, Estados Federados da Micronésia'; + + @override + String get fo_ => 'ilhas Faroe'; + + @override + String get fr_ => 'França'; + + @override + String get ga_ => 'Gabão'; + + @override + String get gb_ => 'Reino Unido'; + + @override + String get gd_ => 'Grenada'; + + @override + String get ge_ => 'Georgia'; + + @override + String get gf_ => 'Guiana Francesa'; + + @override + String get gg_ => 'Guernsey'; + + @override + String get gh_ => 'Gana'; + + @override + String get gi_ => 'Gibraltar'; + + @override + String get gl_ => 'Groenlândia'; + + @override + String get gm_ => 'Gâmbia'; + + @override + String get gn_ => 'Guiné'; + + @override + String get gp_ => 'Guadalupe'; + + @override + String get gq_ => 'Guiné Equatorial'; + + @override + String get gr_ => 'Grécia'; + + @override + String get gs_ => 'Geórgia do Sul e Ilhas Sandwich do Sul'; + + @override + String get gt_ => 'Guatemala'; + + @override + String get gu_ => 'Guam'; + + @override + String get gw_ => 'Guinea-bissau'; + + @override + String get gy_ => 'Guiana'; + + @override + String get hk_ => 'Hong Kong'; + + @override + String get hn_ => 'Honduras'; + + @override + String get hr_ => 'Croácia'; + + @override + String get ht_ => 'Haiti'; + + @override + String get hu_ => 'Hungria'; + + @override + String get id_ => 'Indonésia'; + + @override + String get ie_ => 'Irlanda'; + + @override + String get il_ => 'Israel'; + + @override + String get im_ => 'Ilha de Man'; + + @override + String get in_ => 'Índia'; + + @override + String get io_ => 'Território Britânico do Oceano Índico'; + + @override + String get iq_ => 'Iraque'; + + @override + String get ir_ => 'Irã, República Islâmica do Golfo Pérsico'; + + @override + String get is_ => 'Islândia'; + + @override + String get it_ => 'Itália'; + + @override + String get je_ => 'Jersey'; + + @override + String get jm_ => 'Jamaica'; + + @override + String get jo_ => 'Jordânia'; + + @override + String get jp_ => 'Japão'; + + @override + String get ke_ => 'Quênia'; + + @override + String get kg_ => 'Quirguistão'; + + @override + String get kh_ => 'Camboja'; + + @override + String get ki_ => 'Kiribati'; + + @override + String get km_ => 'Comores'; + + @override + String get kn_ => 'São Cristóvão e Neves'; + + @override + String get kp_ => 'Coreia, República Popular Democrática da Coreia'; + + @override + String get kr_ => 'Coreia, República da Coreia do Sul'; + + @override + String get kw_ => 'Kuwait'; + + @override + String get ky_ => 'Ilhas Cayman'; + + @override + String get kz_ => 'Cazaquistão'; + + @override + String get la_ => 'Laos'; + + @override + String get lb_ => 'Líbano'; + + @override + String get lc_ => 'Santa Lúcia'; + + @override + String get li_ => 'Liechtenstein'; + + @override + String get lk_ => 'Sri Lanka'; + + @override + String get lr_ => 'Libéria'; + + @override + String get ls_ => 'Lesoto'; + + @override + String get lt_ => 'Lituânia'; + + @override + String get lu_ => 'Luxemburgo'; + + @override + String get lv_ => 'Letônia'; + + @override + String get ly_ => 'Jamahiriya Árabe da Líbia'; + + @override + String get ma_ => 'Marrocos'; + + @override + String get mc_ => 'Mônaco'; + + @override + String get md_ => 'Moldova'; + + @override + String get me_ => 'Montenegro'; + + @override + String get mf_ => 'são Martinho'; + + @override + String get mg_ => 'Madagáscar'; + + @override + String get mh_ => 'Ilhas Marshall'; + + @override + String get mk_ => 'Macedonia'; + + @override + String get ml_ => 'Mali'; + + @override + String get mm_ => 'Myanmar'; + + @override + String get mn_ => 'Mongólia'; + + @override + String get mo_ => 'Macau'; + + @override + String get mp_ => 'Ilhas Marianas do Norte'; + + @override + String get mq_ => 'Martinica'; + + @override + String get mr_ => 'Mauritânia'; + + @override + String get ms_ => 'Montserrat'; + + @override + String get mt_ => 'Malta'; + + @override + String get mu_ => 'Maurício'; + + @override + String get mv_ => 'Maldivas'; + + @override + String get mw_ => 'Malawi'; + + @override + String get mx_ => 'México'; + + @override + String get my_ => 'Malásia'; + + @override + String get mz_ => 'Moçambique'; + + @override + String get na_ => 'Namibia'; + + @override + String get nc_ => 'Nova Caledônia'; + + @override + String get ne_ => 'Níger'; + + @override + String get nf_ => 'Ilha Norfolk'; + + @override + String get ng_ => 'Nigéria'; + + @override + String get ni_ => 'Nicarágua'; + + @override + String get nl_ => 'Países Baixos'; + + @override + String get no_ => 'Noruega'; + + @override + String get np_ => 'Nepal'; + + @override + String get nr_ => 'Nauru'; + + @override + String get nu_ => 'Niue'; + + @override + String get nz_ => 'Nova Zelândia'; + + @override + String get om_ => 'Omã'; + + @override + String get pa_ => 'Panamá'; + + @override + String get pe_ => 'Peru'; + + @override + String get pf_ => 'Polinésia Francesa'; + + @override + String get pg_ => 'Papua Nova Guiné'; + + @override + String get ph_ => 'Filipinas'; + + @override + String get pk_ => 'Paquistão'; + + @override + String get pl_ => 'Polônia'; + + @override + String get pm_ => 'São Pedro e Miquelão'; + + @override + String get pn_ => 'Pitcairn'; + + @override + String get pr_ => 'Porto Rico'; + + @override + String get ps_ => 'Território Palestino, Ocupado'; + + @override + String get pt_ => 'Portugal'; + + @override + String get pw_ => 'Palau'; + + @override + String get py_ => 'Paraguai'; + + @override + String get qa_ => 'Catar'; + + @override + String get re_ => 'Reunião'; + + @override + String get ro_ => 'Romênia'; + + @override + String get rs_ => 'Sérvia'; + + @override + String get ru_ => 'Rússia'; + + @override + String get rw_ => 'Ruanda'; + + @override + String get sa_ => 'Arábia Saudita'; + + @override + String get sb_ => 'Ilhas Salomão'; + + @override + String get sc_ => 'Seychelles'; + + @override + String get sd_ => 'Sudão'; + + @override + String get se_ => 'Suécia'; + + @override + String get sg_ => 'Cingapura'; + + @override + String get si_ => 'Eslovênia'; + + @override + String get sk_ => 'Eslováquia'; + + @override + String get sl_ => 'Serra Leoa'; + + @override + String get sm_ => 'San Marino'; + + @override + String get sn_ => 'Senegal'; + + @override + String get so_ => 'Somália'; + + @override + String get sr_ => 'Suriname'; + + @override + String get ss_ => 'Sudão do Sul'; + + @override + String get st_ => 'São Tomé e Príncipe'; + + @override + String get sv_ => 'El Salvador'; + + @override + String get sy_ => 'República Árabe da Síria'; + + @override + String get sz_ => 'Suazilândia'; + + @override + String get ta_ => 'Tristan da Cunha'; + + @override + String get tc_ => 'Ilhas Turcas e Caicos'; + + @override + String get td_ => 'Chade'; + + @override + String get tg_ => 'Ir'; + + @override + String get th_ => 'Tailândia'; + + @override + String get tj_ => 'Tajiquistão'; + + @override + String get tk_ => 'Tokelau'; + + @override + String get tl_ => 'Timor-Leste'; + + @override + String get tm_ => 'Turcomenistão'; + + @override + String get tn_ => 'Tunísia'; + + @override + String get to_ => 'Tonga'; + + @override + String get tr_ => 'Peru'; + + @override + String get tt_ => 'Trinidad e Tobago'; + + @override + String get tv_ => 'Tuvalu'; + + @override + String get tw_ => 'Taiwan'; + + @override + String get tz_ => 'Tanzânia, República Unida da Tanzânia'; + + @override + String get ua_ => 'Ucrânia'; + + @override + String get ug_ => 'Uganda'; + + @override + String get us_ => 'Estados Unidos'; + + @override + String get uy_ => 'Uruguai'; + + @override + String get uz_ => 'Uzbequistão'; + + @override + String get va_ => 'Santa Sé (Estado da Cidade do Vaticano)'; + + @override + String get vc_ => 'São Vicente e Granadinas'; + + @override + String get ve_ => 'Venezuela'; + + @override + String get vg_ => 'Ilhas Virgens Britânicas'; + + @override + String get vi_ => 'Ilhas Virgens, EUA'; + + @override + String get vn_ => 'Vietnã'; + + @override + String get vu_ => 'Vanuatu'; + + @override + String get wf_ => 'Wallis e Futuna'; + + @override + String get ws_ => 'Samoa'; + + @override + String get ye_ => 'Iémen'; + + @override + String get yt_ => 'Mayotte'; + + @override + String get za_ => 'África do Sul'; + + @override + String get zm_ => 'Zâmbia'; + + @override + String get zw_ => 'Zimbábue'; +} diff --git a/lib/l10n/generated/phone_field_localization_ru.dart b/lib/l10n/generated/phone_field_localization_ru.dart new file mode 100644 index 00000000..99d31408 --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_ru.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for Russian (`ru`). +class PhoneFieldLocalizationRu extends PhoneFieldLocalization { + PhoneFieldLocalizationRu([super.locale = 'ru']); + + @override + String get invalidPhoneNumber => 'Неправильный номер телефона'; + + @override + String get invalidCountry => 'Неверная страна'; + + @override + String get invalidMobilePhoneNumber => 'Неверный номер мобильного телефона'; + + @override + String get invalidFixedLinePhoneNumber => 'Недействительный номер стационарного телефона'; + + @override + String get requiredPhoneNumber => 'Требуется номер телефона'; + + @override + String get noResultMessage => 'Безрезультатно'; + + @override + String get ac_ => 'Остров Вознесения'; + + @override + String get ad_ => 'Андорра'; + + @override + String get ae_ => 'Объединенные Арабские Эмираты'; + + @override + String get af_ => 'Афганистан'; + + @override + String get ag_ => 'Антигуа и Барбуда'; + + @override + String get ai_ => 'Ангилья'; + + @override + String get al_ => 'Албания'; + + @override + String get am_ => 'Армения'; + + @override + String get an_ => 'Нидерландские Антильские острова'; + + @override + String get ao_ => 'Ангола'; + + @override + String get aq_ => 'Антарктида'; + + @override + String get ar_ => 'Аргентина'; + + @override + String get as_ => 'американское Самоа'; + + @override + String get at_ => 'Австрия'; + + @override + String get au_ => 'Австралия'; + + @override + String get aw_ => 'Аруба'; + + @override + String get ax_ => 'Аландские острова'; + + @override + String get az_ => 'Азербайджан'; + + @override + String get ba_ => 'Босния и Герцеговина'; + + @override + String get bb_ => 'Барбадос'; + + @override + String get bd_ => 'Бангладеш'; + + @override + String get be_ => 'Бельгия'; + + @override + String get bf_ => 'Буркина-Фасо'; + + @override + String get bg_ => 'Болгария'; + + @override + String get bh_ => 'Бахрейн'; + + @override + String get bi_ => 'Бурунди'; + + @override + String get bj_ => 'Бенин'; + + @override + String get bl_ => 'Сен-Бартелеми'; + + @override + String get bm_ => 'Бермудские острова'; + + @override + String get bn_ => 'Бруней-Даруссалам'; + + @override + String get bo_ => 'Боливия, Многонациональное Государство'; + + @override + String get bq_ => 'Бонайре'; + + @override + String get br_ => 'Бразилия'; + + @override + String get bs_ => 'Багамы'; + + @override + String get bt_ => 'Бутан'; + + @override + String get bw_ => 'Ботсвана'; + + @override + String get by_ => 'Беларусь'; + + @override + String get bz_ => 'Белиз'; + + @override + String get ca_ => 'Канада'; + + @override + String get cc_ => 'Кокосовые (Килинг) острова'; + + @override + String get cd_ => 'Конго, Демократическая Республика Конго'; + + @override + String get cf_ => 'Центрально-Африканская Республика'; + + @override + String get cg_ => 'Конго'; + + @override + String get ch_ => 'Швейцария'; + + @override + String get ci_ => 'Берег Слоновой Кости'; + + @override + String get ck_ => 'Острова Кука'; + + @override + String get cl_ => 'Чили'; + + @override + String get cm_ => 'Камерун'; + + @override + String get cn_ => 'Китай'; + + @override + String get co_ => 'Колумбия'; + + @override + String get cr_ => 'Коста-Рика'; + + @override + String get cu_ => 'Куба'; + + @override + String get cv_ => 'Кабо-Верде'; + + @override + String get cx_ => 'Остров Рождества'; + + @override + String get cy_ => 'Кипр'; + + @override + String get cz_ => 'Республика Чехия'; + + @override + String get de_ => 'Германия'; + + @override + String get dj_ => 'Джибути'; + + @override + String get dk_ => 'Дания'; + + @override + String get dm_ => 'Доминика'; + + @override + String get do_ => 'Доминиканская Республика'; + + @override + String get dz_ => 'Алжир'; + + @override + String get ec_ => 'Эквадор'; + + @override + String get ee_ => 'Эстония'; + + @override + String get eg_ => 'Египет'; + + @override + String get er_ => 'Эритрея'; + + @override + String get es_ => 'Испания'; + + @override + String get et_ => 'Эфиопия'; + + @override + String get fi_ => 'Финляндия'; + + @override + String get fj_ => 'Фиджи'; + + @override + String get fk_ => 'Фолклендские (Мальвинские) острова'; + + @override + String get fm_ => 'Микронезия, Федеративные Штаты Микронезии'; + + @override + String get fo_ => 'Фарерские острова'; + + @override + String get fr_ => 'Франция'; + + @override + String get ga_ => 'Габон'; + + @override + String get gb_ => 'Великобритания'; + + @override + String get gd_ => 'Гренада'; + + @override + String get ge_ => 'Грузия'; + + @override + String get gf_ => 'Французская Гвиана'; + + @override + String get gg_ => 'Гернси'; + + @override + String get gh_ => 'Гана'; + + @override + String get gi_ => 'Гибралтар'; + + @override + String get gl_ => 'Гренландия'; + + @override + String get gm_ => 'Гамбия'; + + @override + String get gn_ => 'Гвинея'; + + @override + String get gp_ => 'Гваделупа'; + + @override + String get gq_ => 'Экваториальная Гвинея'; + + @override + String get gr_ => 'Греция'; + + @override + String get gs_ => 'Южная Георгия и Южные Сандвичевы острова'; + + @override + String get gt_ => 'Гватемала'; + + @override + String get gu_ => 'Гуам'; + + @override + String get gw_ => 'Гвинея-Бисау'; + + @override + String get gy_ => 'Гайана'; + + @override + String get hk_ => 'Гонконг'; + + @override + String get hn_ => 'Гондурас'; + + @override + String get hr_ => 'Хорватия'; + + @override + String get ht_ => 'Гаити'; + + @override + String get hu_ => 'Венгрия'; + + @override + String get id_ => 'Индонезия'; + + @override + String get ie_ => 'Ирландия'; + + @override + String get il_ => 'Израиль'; + + @override + String get im_ => 'Остров Мэн'; + + @override + String get in_ => 'Индия'; + + @override + String get io_ => 'Британская территория Индийского океана'; + + @override + String get iq_ => 'Ирак'; + + @override + String get ir_ => 'Иран, Исламская Республика Персидский залив'; + + @override + String get is_ => 'Исландия'; + + @override + String get it_ => 'Италия'; + + @override + String get je_ => 'Джерси'; + + @override + String get jm_ => 'Ямайка'; + + @override + String get jo_ => 'Иордания'; + + @override + String get jp_ => 'Япония'; + + @override + String get ke_ => 'Кения'; + + @override + String get kg_ => 'Кыргызстан'; + + @override + String get kh_ => 'Камбоджа'; + + @override + String get ki_ => 'Кирибати'; + + @override + String get km_ => 'Коморские острова'; + + @override + String get kn_ => 'Сент-Китс и Невис'; + + @override + String get kp_ => 'Корея, Корейская Народно-Демократическая Республика'; + + @override + String get kr_ => 'Корея, Республика Южная Корея'; + + @override + String get kw_ => 'Кувейт'; + + @override + String get ky_ => 'Каймановы острова'; + + @override + String get kz_ => 'Казахстан'; + + @override + String get la_ => 'Лаос'; + + @override + String get lb_ => 'Ливан'; + + @override + String get lc_ => 'Санкт-Люсия'; + + @override + String get li_ => 'Лихтенштейн'; + + @override + String get lk_ => 'Шри-Ланка'; + + @override + String get lr_ => 'Либерия'; + + @override + String get ls_ => 'Лесото'; + + @override + String get lt_ => 'Литва'; + + @override + String get lu_ => 'Люксембург'; + + @override + String get lv_ => 'Латвия'; + + @override + String get ly_ => 'Ливийская арабская джамахирия'; + + @override + String get ma_ => 'Марокко'; + + @override + String get mc_ => 'Монако'; + + @override + String get md_ => 'Молдова'; + + @override + String get me_ => 'Черногория'; + + @override + String get mf_ => 'Сен-Мартен'; + + @override + String get mg_ => 'Мадагаскар'; + + @override + String get mh_ => 'Маршалловы острова'; + + @override + String get mk_ => 'Македония'; + + @override + String get ml_ => 'Мали'; + + @override + String get mm_ => 'Мьянма'; + + @override + String get mn_ => 'Монголия'; + + @override + String get mo_ => 'Макао'; + + @override + String get mp_ => 'Северные Марианские острова'; + + @override + String get mq_ => 'Мартиника'; + + @override + String get mr_ => 'Мавритания'; + + @override + String get ms_ => 'Монтсеррат'; + + @override + String get mt_ => 'Мальта'; + + @override + String get mu_ => 'Маврикий'; + + @override + String get mv_ => 'Мальдивы'; + + @override + String get mw_ => 'Малави'; + + @override + String get mx_ => 'Мексика'; + + @override + String get my_ => 'Малайзия'; + + @override + String get mz_ => 'Мозамбик'; + + @override + String get na_ => 'Намибия'; + + @override + String get nc_ => 'Новая Каледония'; + + @override + String get ne_ => 'Нигер'; + + @override + String get nf_ => 'Остров Норфолк'; + + @override + String get ng_ => 'Нигерия'; + + @override + String get ni_ => 'Никарагуа'; + + @override + String get nl_ => 'Нидерланды'; + + @override + String get no_ => 'Норвегия'; + + @override + String get np_ => 'Непал'; + + @override + String get nr_ => 'Науру'; + + @override + String get nu_ => 'Ниуэ'; + + @override + String get nz_ => 'Новая Зеландия'; + + @override + String get om_ => 'Оман'; + + @override + String get pa_ => 'Панама'; + + @override + String get pe_ => 'Перу'; + + @override + String get pf_ => 'Французская Полинезия'; + + @override + String get pg_ => 'Папуа - Новая Гвинея'; + + @override + String get ph_ => 'Филиппины'; + + @override + String get pk_ => 'Пакистан'; + + @override + String get pl_ => 'Польша'; + + @override + String get pm_ => 'Сен-Пьер и Микелон'; + + @override + String get pn_ => 'Питкэрн'; + + @override + String get pr_ => 'Пуэрто-Рико'; + + @override + String get ps_ => 'Палестинская территория, оккупированная'; + + @override + String get pt_ => 'Португалия'; + + @override + String get pw_ => 'Палау'; + + @override + String get py_ => 'Парагвай'; + + @override + String get qa_ => 'Катар'; + + @override + String get re_ => 'Воссоединение'; + + @override + String get ro_ => 'Румыния'; + + @override + String get rs_ => 'Сербия'; + + @override + String get ru_ => 'Россия'; + + @override + String get rw_ => 'Руанда'; + + @override + String get sa_ => 'Саудовская Аравия'; + + @override + String get sb_ => 'Соломоновы острова'; + + @override + String get sc_ => 'Сейшельские острова'; + + @override + String get sd_ => 'Судан'; + + @override + String get se_ => 'Швеция'; + + @override + String get sg_ => 'Сингапур'; + + @override + String get si_ => 'Словения'; + + @override + String get sk_ => 'Словакия'; + + @override + String get sl_ => 'Сьерра-Леоне'; + + @override + String get sm_ => 'Сан-Марино'; + + @override + String get sn_ => 'Сенегал'; + + @override + String get so_ => 'Сомали'; + + @override + String get sr_ => 'Суринам'; + + @override + String get ss_ => 'южный Судан'; + + @override + String get st_ => 'Сан-Томе и Принсипи'; + + @override + String get sv_ => 'Эль Сальвадор'; + + @override + String get sy_ => 'Сирийская Арабская Республика'; + + @override + String get sz_ => 'Свазиленд'; + + @override + String get ta_ => 'Тристан-да-Кунья'; + + @override + String get tc_ => 'Острова Теркс и Кайкос'; + + @override + String get td_ => 'Чад'; + + @override + String get tg_ => 'Идти'; + + @override + String get th_ => 'Таиланд'; + + @override + String get tj_ => 'Таджикистан'; + + @override + String get tk_ => 'Токелау'; + + @override + String get tl_ => 'Тимор-Лешти'; + + @override + String get tm_ => 'Туркменистан'; + + @override + String get tn_ => 'Тунис'; + + @override + String get to_ => 'Тонга'; + + @override + String get tr_ => 'Турция'; + + @override + String get tt_ => 'Тринидад и Тобаго'; + + @override + String get tv_ => 'Тувалу'; + + @override + String get tw_ => 'Тайвань'; + + @override + String get tz_ => 'Танзания, Объединенная Республика Танзания'; + + @override + String get ua_ => 'Украина'; + + @override + String get ug_ => 'Уганда'; + + @override + String get us_ => 'Соединенные Штаты Америки'; + + @override + String get uy_ => 'Уругвай'; + + @override + String get uz_ => 'Узбекистан'; + + @override + String get va_ => 'Святой Престол (государство-город Ватикан)'; + + @override + String get vc_ => 'Святой Винсент и Гренадины'; + + @override + String get ve_ => 'Венесуэла'; + + @override + String get vg_ => 'Виргинские острова, Британские'; + + @override + String get vi_ => 'Виргинские острова, США'; + + @override + String get vn_ => 'Вьетнам'; + + @override + String get vu_ => 'Вануату'; + + @override + String get wf_ => 'Уоллис и Футуна'; + + @override + String get ws_ => 'Самоа'; + + @override + String get ye_ => 'Йемен'; + + @override + String get yt_ => 'Майотта'; + + @override + String get za_ => 'Южная Африка'; + + @override + String get zm_ => 'Замбия'; + + @override + String get zw_ => 'Зимбабве'; +} diff --git a/lib/l10n/generated/phone_field_localization_sv.dart b/lib/l10n/generated/phone_field_localization_sv.dart new file mode 100644 index 00000000..02bb7b8a --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_sv.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for Swedish (`sv`). +class PhoneFieldLocalizationSv extends PhoneFieldLocalization { + PhoneFieldLocalizationSv([super.locale = 'sv']); + + @override + String get invalidPhoneNumber => 'Ogiltigt telefonnummer'; + + @override + String get invalidCountry => 'Ogiltigt land'; + + @override + String get invalidMobilePhoneNumber => 'Ogiltigt mobilnummer'; + + @override + String get invalidFixedLinePhoneNumber => 'Ogiltigt fast telefonnummer'; + + @override + String get requiredPhoneNumber => 'Obligatoriskt telefonnummer'; + + @override + String get noResultMessage => 'Inget resultat'; + + @override + String get ac_ => 'Ascension Island'; + + @override + String get ad_ => 'Andorra'; + + @override + String get ae_ => 'Förenade Arabemiraten'; + + @override + String get af_ => 'Afghanistan'; + + @override + String get ag_ => 'Antigua och Barbuda'; + + @override + String get ai_ => 'Anguilla'; + + @override + String get al_ => 'Albanien'; + + @override + String get am_ => 'Armenien'; + + @override + String get an_ => 'Nederländska Antillerna'; + + @override + String get ao_ => 'Angola'; + + @override + String get aq_ => 'Antarktis'; + + @override + String get ar_ => 'Argentina'; + + @override + String get as_ => 'Amerikanska Samoa'; + + @override + String get at_ => 'Österrike'; + + @override + String get au_ => 'Australien'; + + @override + String get aw_ => 'Aruba'; + + @override + String get ax_ => 'Åland'; + + @override + String get az_ => 'Azerbajdzjan'; + + @override + String get ba_ => 'Bosnien och Hercegovina'; + + @override + String get bb_ => 'Barbados'; + + @override + String get bd_ => 'Bangladesh'; + + @override + String get be_ => 'Belgien'; + + @override + String get bf_ => 'Burkina Faso'; + + @override + String get bg_ => 'Bulgarien'; + + @override + String get bh_ => 'Bahrain'; + + @override + String get bi_ => 'Burundi'; + + @override + String get bj_ => 'Benin'; + + @override + String get bl_ => 'S:t Barthélemy'; + + @override + String get bm_ => 'Bermuda'; + + @override + String get bn_ => 'Brunei'; + + @override + String get bo_ => 'Bolivia'; + + @override + String get bq_ => 'Bonaire'; + + @override + String get br_ => 'Brasilien'; + + @override + String get bs_ => 'Bahamas'; + + @override + String get bt_ => 'Bhutan'; + + @override + String get bw_ => 'Botswana'; + + @override + String get by_ => 'Vitryssland'; + + @override + String get bz_ => 'Belize'; + + @override + String get ca_ => 'Kanada'; + + @override + String get cc_ => 'Kokosöarna'; + + @override + String get cd_ => 'Kongo-Kinshasa'; + + @override + String get cf_ => 'Centralafrikanska republiken'; + + @override + String get cg_ => 'Kongo-Brazzaville'; + + @override + String get ch_ => 'Schweiz'; + + @override + String get ci_ => 'Côte d’Ivoire'; + + @override + String get ck_ => 'Cooköarna'; + + @override + String get cl_ => 'Chile'; + + @override + String get cm_ => 'Kamerun'; + + @override + String get cn_ => 'Kina'; + + @override + String get co_ => 'Colombia'; + + @override + String get cr_ => 'Costa Rica'; + + @override + String get cu_ => 'Kuba'; + + @override + String get cv_ => 'Kap Verde'; + + @override + String get cx_ => 'Julön'; + + @override + String get cy_ => 'Cypern'; + + @override + String get cz_ => 'Tjeckien'; + + @override + String get de_ => 'Tyskland'; + + @override + String get dj_ => 'Djibouti'; + + @override + String get dk_ => 'Danmark'; + + @override + String get dm_ => 'Dominica'; + + @override + String get do_ => 'Dominikanska republiken'; + + @override + String get dz_ => 'Algeriet'; + + @override + String get ec_ => 'Ecuador'; + + @override + String get ee_ => 'Estland'; + + @override + String get eg_ => 'Egypten'; + + @override + String get er_ => 'Eritrea'; + + @override + String get es_ => 'Spanien'; + + @override + String get et_ => 'Etiopien'; + + @override + String get fi_ => 'Finland'; + + @override + String get fj_ => 'Fiji'; + + @override + String get fk_ => 'Falklandsöarna'; + + @override + String get fm_ => 'Mikronesien'; + + @override + String get fo_ => 'Färöarna'; + + @override + String get fr_ => 'Frankrike'; + + @override + String get ga_ => 'Gabon'; + + @override + String get gb_ => 'Storbritannien'; + + @override + String get gd_ => 'Grenada'; + + @override + String get ge_ => 'Georgien'; + + @override + String get gf_ => 'Franska Guyana'; + + @override + String get gg_ => 'Guernsey'; + + @override + String get gh_ => 'Ghana'; + + @override + String get gi_ => 'Gibraltar'; + + @override + String get gl_ => 'Grönland'; + + @override + String get gm_ => 'Gambia'; + + @override + String get gn_ => 'Guinea'; + + @override + String get gp_ => 'Guadeloupe'; + + @override + String get gq_ => 'Ekvatorialguinea'; + + @override + String get gr_ => 'Grekland'; + + @override + String get gs_ => 'Sydgeorgien och Sydsandwichöarna'; + + @override + String get gt_ => 'Guatemala'; + + @override + String get gu_ => 'Guam'; + + @override + String get gw_ => 'Guinea-Bissau'; + + @override + String get gy_ => 'Guyana'; + + @override + String get hk_ => 'Hongkong SAR'; + + @override + String get hn_ => 'Honduras'; + + @override + String get hr_ => 'Kroatien'; + + @override + String get ht_ => 'Haiti'; + + @override + String get hu_ => 'Ungern'; + + @override + String get id_ => 'Indonesien'; + + @override + String get ie_ => 'Irland'; + + @override + String get il_ => 'Israel'; + + @override + String get im_ => 'Isle of Man'; + + @override + String get in_ => 'Indien'; + + @override + String get io_ => 'Brittiska territoriet i Indiska oceanen'; + + @override + String get iq_ => 'Irak'; + + @override + String get ir_ => 'Iran'; + + @override + String get is_ => 'Island'; + + @override + String get it_ => 'Italien'; + + @override + String get je_ => 'Jersey'; + + @override + String get jm_ => 'Jamaica'; + + @override + String get jo_ => 'Jordanien'; + + @override + String get jp_ => 'Japan'; + + @override + String get ke_ => 'Kenya'; + + @override + String get kg_ => 'Kirgizistan'; + + @override + String get kh_ => 'Kambodja'; + + @override + String get ki_ => 'Kiribati'; + + @override + String get km_ => 'Komorerna'; + + @override + String get kn_ => 'S:t Kitts och Nevis'; + + @override + String get kp_ => 'Nordkorea'; + + @override + String get kr_ => 'Sydkorea'; + + @override + String get kw_ => 'Kuwait'; + + @override + String get ky_ => 'Caymanöarna'; + + @override + String get kz_ => 'Kazakstan'; + + @override + String get la_ => 'Laos'; + + @override + String get lb_ => 'Libanon'; + + @override + String get lc_ => 'S:t Lucia'; + + @override + String get li_ => 'Liechtenstein'; + + @override + String get lk_ => 'Sri Lanka'; + + @override + String get lr_ => 'Liberia'; + + @override + String get ls_ => 'Lesotho'; + + @override + String get lt_ => 'Litauen'; + + @override + String get lu_ => 'Luxemburg'; + + @override + String get lv_ => 'Lettland'; + + @override + String get ly_ => 'Libyen'; + + @override + String get ma_ => 'Marocko'; + + @override + String get mc_ => 'Monaco'; + + @override + String get md_ => 'Moldavien'; + + @override + String get me_ => 'Montenegro'; + + @override + String get mf_ => 'Saint-Martin'; + + @override + String get mg_ => 'Madagaskar'; + + @override + String get mh_ => 'Marshallöarna'; + + @override + String get mk_ => 'Nordmakedonien'; + + @override + String get ml_ => 'Mali'; + + @override + String get mm_ => 'Myanmar (Burma)'; + + @override + String get mn_ => 'Mongoliet'; + + @override + String get mo_ => 'Macao SAR'; + + @override + String get mp_ => 'Nordmarianerna'; + + @override + String get mq_ => 'Martinique'; + + @override + String get mr_ => 'Mauretanien'; + + @override + String get ms_ => 'Montserrat'; + + @override + String get mt_ => 'Malta'; + + @override + String get mu_ => 'Mauritius'; + + @override + String get mv_ => 'Maldiverna'; + + @override + String get mw_ => 'Malawi'; + + @override + String get mx_ => 'Mexiko'; + + @override + String get my_ => 'Malaysia'; + + @override + String get mz_ => 'Moçambique'; + + @override + String get na_ => 'Namibia'; + + @override + String get nc_ => 'Nya Kaledonien'; + + @override + String get ne_ => 'Niger'; + + @override + String get nf_ => 'Norfolkön'; + + @override + String get ng_ => 'Nigeria'; + + @override + String get ni_ => 'Nicaragua'; + + @override + String get nl_ => 'Nederländerna'; + + @override + String get no_ => 'Norge'; + + @override + String get np_ => 'Nepal'; + + @override + String get nr_ => 'Nauru'; + + @override + String get nu_ => 'Niue'; + + @override + String get nz_ => 'Nya Zeeland'; + + @override + String get om_ => 'Oman'; + + @override + String get pa_ => 'Panama'; + + @override + String get pe_ => 'Peru'; + + @override + String get pf_ => 'Franska Polynesien'; + + @override + String get pg_ => 'Papua Nya Guinea'; + + @override + String get ph_ => 'Filippinerna'; + + @override + String get pk_ => 'Pakistan'; + + @override + String get pl_ => 'Polen'; + + @override + String get pm_ => 'S:t Pierre och Miquelon'; + + @override + String get pn_ => 'Pitcairnöarna'; + + @override + String get pr_ => 'Puerto Rico'; + + @override + String get ps_ => 'Palestinska territorierna'; + + @override + String get pt_ => 'Portugal'; + + @override + String get pw_ => 'Palau'; + + @override + String get py_ => 'Paraguay'; + + @override + String get qa_ => 'Qatar'; + + @override + String get re_ => 'Réunion'; + + @override + String get ro_ => 'Rumänien'; + + @override + String get rs_ => 'Serbien'; + + @override + String get ru_ => 'Ryssland'; + + @override + String get rw_ => 'Rwanda'; + + @override + String get sa_ => 'Saudiarabien'; + + @override + String get sb_ => 'Salomonöarna'; + + @override + String get sc_ => 'Seychellerna'; + + @override + String get sd_ => 'Sudan'; + + @override + String get se_ => 'Sverige'; + + @override + String get sg_ => 'Singapore'; + + @override + String get si_ => 'Slovenien'; + + @override + String get sk_ => 'Slovakien'; + + @override + String get sl_ => 'Sierra Leone'; + + @override + String get sm_ => 'San Marino'; + + @override + String get sn_ => 'Senegal'; + + @override + String get so_ => 'Somalia'; + + @override + String get sr_ => 'Surinam'; + + @override + String get ss_ => 'Sydsudan'; + + @override + String get st_ => 'São Tomé och Príncipe'; + + @override + String get sv_ => 'El Salvador'; + + @override + String get sy_ => 'Syrien'; + + @override + String get sz_ => 'Swaziland'; + + @override + String get ta_ => 'Tristan da Cunha'; + + @override + String get tc_ => 'Turks- och Caicosöarna'; + + @override + String get td_ => 'Tchad'; + + @override + String get tg_ => 'Togo'; + + @override + String get th_ => 'Thailand'; + + @override + String get tj_ => 'Tadzjikistan'; + + @override + String get tk_ => 'Tokelauöarna'; + + @override + String get tl_ => 'Östtimor'; + + @override + String get tm_ => 'Turkmenistan'; + + @override + String get tn_ => 'Tunisien'; + + @override + String get to_ => 'Tonga'; + + @override + String get tr_ => 'Turkiet'; + + @override + String get tt_ => 'Trinidad och Tobago'; + + @override + String get tv_ => 'Tuvalu'; + + @override + String get tw_ => 'Taiwan'; + + @override + String get tz_ => 'Tanzania'; + + @override + String get ua_ => 'Ukraina'; + + @override + String get ug_ => 'Uganda'; + + @override + String get us_ => 'USA'; + + @override + String get uy_ => 'Uruguay'; + + @override + String get uz_ => 'Uzbekistan'; + + @override + String get va_ => 'Vatikanstaten'; + + @override + String get vc_ => 'S:t Vincent och Grenadinerna'; + + @override + String get ve_ => 'Venezuela'; + + @override + String get vg_ => 'Brittiska Jungfruöarna'; + + @override + String get vi_ => 'Amerikanska Jungfruöarna'; + + @override + String get vn_ => 'Vietnam'; + + @override + String get vu_ => 'Vanuatu'; + + @override + String get wf_ => 'Wallis- och Futunaöarna'; + + @override + String get ws_ => 'Samoa'; + + @override + String get ye_ => 'Jemen'; + + @override + String get yt_ => 'Mayotte'; + + @override + String get za_ => 'Sydafrika'; + + @override + String get zm_ => 'Zambia'; + + @override + String get zw_ => 'Zimbabwe'; +} diff --git a/lib/l10n/generated/phone_field_localization_tr.dart b/lib/l10n/generated/phone_field_localization_tr.dart new file mode 100644 index 00000000..3b5e9868 --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_tr.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for Turkish (`tr`). +class PhoneFieldLocalizationTr extends PhoneFieldLocalization { + PhoneFieldLocalizationTr([super.locale = 'tr']); + + @override + String get invalidPhoneNumber => 'Geçersiz telefon numarası'; + + @override + String get invalidCountry => 'Geçersiz ülke'; + + @override + String get invalidMobilePhoneNumber => 'Geçersiz cep telefonu numarası'; + + @override + String get invalidFixedLinePhoneNumber => 'Geçersiz sabit hat telefon numarası'; + + @override + String get requiredPhoneNumber => 'Telefon numarası gerekli'; + + @override + String get noResultMessage => 'Sonuç yok'; + + @override + String get ac_ => 'Yükselme adası'; + + @override + String get ad_ => 'Andora'; + + @override + String get ae_ => 'Birleşik Arap Emirlikleri'; + + @override + String get af_ => 'Afganistan'; + + @override + String get ag_ => 'Antigua ve Barbuda'; + + @override + String get ai_ => 'Anguilla'; + + @override + String get al_ => 'Arnavutluk'; + + @override + String get am_ => 'Ermenistan'; + + @override + String get an_ => 'Hollanda Antilleri'; + + @override + String get ao_ => 'Angola'; + + @override + String get aq_ => 'Antarktika'; + + @override + String get ar_ => 'Arjantin'; + + @override + String get as_ => 'Amerikan Samoası'; + + @override + String get at_ => 'Avusturya'; + + @override + String get au_ => 'Avustralya'; + + @override + String get aw_ => 'Aruba'; + + @override + String get ax_ => 'Aland Adaları'; + + @override + String get az_ => 'Azerbaycan'; + + @override + String get ba_ => 'Bosna Hersek'; + + @override + String get bb_ => 'Barbados'; + + @override + String get bd_ => 'Bangladeş'; + + @override + String get be_ => 'Belçika'; + + @override + String get bf_ => 'Burkina Faso'; + + @override + String get bg_ => 'Bulgaristan'; + + @override + String get bh_ => 'Bahreyn'; + + @override + String get bi_ => 'Burundi'; + + @override + String get bj_ => 'Benin'; + + @override + String get bl_ => 'Saint Barthelemy'; + + @override + String get bm_ => 'Bermuda'; + + @override + String get bn_ => 'Brunei Darussalam'; + + @override + String get bo_ => 'Bolivya'; + + @override + String get bq_ => 'Bonaire'; + + @override + String get br_ => 'Brezilya'; + + @override + String get bs_ => 'Bahamalar'; + + @override + String get bt_ => 'Butan'; + + @override + String get bw_ => 'Botsvana'; + + @override + String get by_ => 'Belarus'; + + @override + String get bz_ => 'Belize'; + + @override + String get ca_ => 'Kanada'; + + @override + String get cc_ => 'Cocos (Keeling) Adaları'; + + @override + String get cd_ => 'Kongo Demokratik Cumhuriyeti'; + + @override + String get cf_ => 'Orta Afrika Cumhuriyeti'; + + @override + String get cg_ => 'Kongo'; + + @override + String get ch_ => 'İsviçre'; + + @override + String get ci_ => 'Fildişi Sahili'; + + @override + String get ck_ => 'Cook Adaları'; + + @override + String get cl_ => 'Şili'; + + @override + String get cm_ => 'Kamerun'; + + @override + String get cn_ => 'Çin'; + + @override + String get co_ => 'Kolombiya'; + + @override + String get cr_ => 'Kosta Rika'; + + @override + String get cu_ => 'Küba'; + + @override + String get cv_ => 'Cabo Verde'; + + @override + String get cx_ => 'Christmas Adası'; + + @override + String get cy_ => 'Kıbrıs'; + + @override + String get cz_ => 'Çek Cumhuriyeti'; + + @override + String get de_ => 'Almanya'; + + @override + String get dj_ => 'Cibuti'; + + @override + String get dk_ => 'Danimarka'; + + @override + String get dm_ => 'Dominika'; + + @override + String get do_ => 'Dominik Cumhuriyeti'; + + @override + String get dz_ => 'Cezayir'; + + @override + String get ec_ => 'Ekvador'; + + @override + String get ee_ => 'Estonya'; + + @override + String get eg_ => 'Mısır'; + + @override + String get er_ => 'Eritre'; + + @override + String get es_ => 'İspanya'; + + @override + String get et_ => 'Etiyopya'; + + @override + String get fi_ => 'Finlandiya'; + + @override + String get fj_ => 'Fiji'; + + @override + String get fk_ => 'Falkland (Malvina) Adaları '; + + @override + String get fm_ => 'Mikronezya, Mikronezya Federal Devletleri'; + + @override + String get fo_ => 'Faroe Adaları'; + + @override + String get fr_ => 'Fransa'; + + @override + String get ga_ => 'Gabon'; + + @override + String get gb_ => 'Birleşik Krallık'; + + @override + String get gd_ => 'Grenada'; + + @override + String get ge_ => 'Gürcistan'; + + @override + String get gf_ => 'Fransız Guyanası'; + + @override + String get gg_ => 'Guernsey'; + + @override + String get gh_ => 'Gana'; + + @override + String get gi_ => 'Cebelitarık'; + + @override + String get gl_ => 'Grönland'; + + @override + String get gm_ => 'Gambiya'; + + @override + String get gn_ => 'Gine'; + + @override + String get gp_ => 'Guadeloupe'; + + @override + String get gq_ => 'Ekvator Ginesi'; + + @override + String get gr_ => 'Yunanistan'; + + @override + String get gs_ => 'Güney Georgia ve Güney Sandwich Adaları'; + + @override + String get gt_ => 'Guatemala'; + + @override + String get gu_ => 'Guam'; + + @override + String get gw_ => 'Gine-Bissau'; + + @override + String get gy_ => 'Guyana'; + + @override + String get hk_ => 'Hong Kong'; + + @override + String get hn_ => 'Honduras'; + + @override + String get hr_ => 'Hırvatistan'; + + @override + String get ht_ => 'Haiti'; + + @override + String get hu_ => 'Macaristan'; + + @override + String get id_ => 'Endonezya'; + + @override + String get ie_ => 'İrlanda'; + + @override + String get il_ => 'İsrail'; + + @override + String get im_ => 'Man Adası'; + + @override + String get in_ => 'Hindistan'; + + @override + String get io_ => 'İngiliz Hint Okyanusu Bölgesi'; + + @override + String get iq_ => 'Irak'; + + @override + String get ir_ => 'İran'; + + @override + String get is_ => 'İzlanda'; + + @override + String get it_ => 'İtalya'; + + @override + String get je_ => 'Jersey'; + + @override + String get jm_ => 'Jamaika'; + + @override + String get jo_ => 'Ürdün'; + + @override + String get jp_ => 'Japonya'; + + @override + String get ke_ => 'Kenya'; + + @override + String get kg_ => 'Kırgızistan'; + + @override + String get kh_ => 'Kamboçya'; + + @override + String get ki_ => 'Kiribati'; + + @override + String get km_ => 'Komorlar'; + + @override + String get kn_ => 'Saint Kitts ve Nevis'; + + @override + String get kp_ => 'Kuzey Kore'; + + @override + String get kr_ => 'Güney Kore'; + + @override + String get kw_ => 'Kuveyt'; + + @override + String get ky_ => 'Cayman Adaları'; + + @override + String get kz_ => 'Kazakistan'; + + @override + String get la_ => 'Laos'; + + @override + String get lb_ => 'Lübnan'; + + @override + String get lc_ => 'Saint Lucia'; + + @override + String get li_ => 'Liechtenstein'; + + @override + String get lk_ => 'Sri Lanka'; + + @override + String get lr_ => 'Liberya'; + + @override + String get ls_ => 'Lesoto'; + + @override + String get lt_ => 'Litvanya'; + + @override + String get lu_ => 'Lüksemburg'; + + @override + String get lv_ => 'Letonya'; + + @override + String get ly_ => 'Libya'; + + @override + String get ma_ => 'Fas'; + + @override + String get mc_ => 'Monako'; + + @override + String get md_ => 'Moldova'; + + @override + String get me_ => 'Karadağ'; + + @override + String get mf_ => 'Saint Martin'; + + @override + String get mg_ => 'Madagaskar'; + + @override + String get mh_ => 'Marşal Adaları'; + + @override + String get mk_ => 'Makedonya'; + + @override + String get ml_ => 'Mali'; + + @override + String get mm_ => 'Myanmar'; + + @override + String get mn_ => 'Moğolistan'; + + @override + String get mo_ => 'Macao'; + + @override + String get mp_ => 'Kuzey Mariana Adaları'; + + @override + String get mq_ => 'Martinique'; + + @override + String get mr_ => 'Mauritania'; + + @override + String get ms_ => 'Montserrat'; + + @override + String get mt_ => 'Malta'; + + @override + String get mu_ => 'Mauritius'; + + @override + String get mv_ => 'Maldivler'; + + @override + String get mw_ => 'Malawi'; + + @override + String get mx_ => 'Meksika'; + + @override + String get my_ => 'Malezya'; + + @override + String get mz_ => 'Mozambik'; + + @override + String get na_ => 'Namibya'; + + @override + String get nc_ => 'Yeni Kaledonya'; + + @override + String get ne_ => 'Nijer'; + + @override + String get nf_ => 'Norfolk Adası'; + + @override + String get ng_ => 'Nijerya'; + + @override + String get ni_ => 'Nikaragua'; + + @override + String get nl_ => 'Hollanda'; + + @override + String get no_ => 'Norveç'; + + @override + String get np_ => 'Nepal'; + + @override + String get nr_ => 'Nauru'; + + @override + String get nu_ => 'Niue'; + + @override + String get nz_ => 'Yeni Zelanda'; + + @override + String get om_ => 'Umman'; + + @override + String get pa_ => 'Panama'; + + @override + String get pe_ => 'Peru'; + + @override + String get pf_ => 'Fransız Polinezyası'; + + @override + String get pg_ => 'Papua Yeni Gine'; + + @override + String get ph_ => 'Filipinler'; + + @override + String get pk_ => 'Pakistan'; + + @override + String get pl_ => 'Polonya'; + + @override + String get pm_ => 'Saint Pierre ve Miquelon'; + + @override + String get pn_ => 'Pitcairn Adaları'; + + @override + String get pr_ => 'Porto Riko'; + + @override + String get ps_ => 'İşgal Altındaki Filistin Toprakları'; + + @override + String get pt_ => 'Portekiz'; + + @override + String get pw_ => 'Palau'; + + @override + String get py_ => 'Paraguay'; + + @override + String get qa_ => 'Katar'; + + @override + String get re_ => 'Reunion'; + + @override + String get ro_ => 'Romanya'; + + @override + String get rs_ => 'Sırbistan'; + + @override + String get ru_ => 'Rusya'; + + @override + String get rw_ => 'Ruanda'; + + @override + String get sa_ => 'Suudi Arabistan'; + + @override + String get sb_ => 'Solomon Adaları'; + + @override + String get sc_ => 'Seyşeller'; + + @override + String get sd_ => 'Sudan'; + + @override + String get se_ => 'İsveç'; + + @override + String get sg_ => 'Singapur'; + + @override + String get si_ => 'Slovenya'; + + @override + String get sk_ => 'Slovakya'; + + @override + String get sl_ => 'Sierra Leone'; + + @override + String get sm_ => 'San Marino'; + + @override + String get sn_ => 'Senegal'; + + @override + String get so_ => 'Somali'; + + @override + String get sr_ => 'Surinam'; + + @override + String get ss_ => 'Güney Sudan'; + + @override + String get st_ => 'Sao Tome ve Principe'; + + @override + String get sv_ => 'El Salvador'; + + @override + String get sy_ => 'Suriye'; + + @override + String get sz_ => 'Esvati̇ni̇'; + + @override + String get ta_ => 'Tristan da Cunha'; + + @override + String get tc_ => 'Turks ve Caicos Adaları '; + + @override + String get td_ => 'Çad'; + + @override + String get tg_ => 'Togo'; + + @override + String get th_ => 'Tayland'; + + @override + String get tj_ => 'Tacikistan'; + + @override + String get tk_ => 'Tokelau'; + + @override + String get tl_ => 'Doğu Timor'; + + @override + String get tm_ => 'Türkmenistan'; + + @override + String get tn_ => 'Tunus'; + + @override + String get to_ => 'Tonga'; + + @override + String get tr_ => 'Türkiye'; + + @override + String get tt_ => 'Trinidad ve Tobago'; + + @override + String get tv_ => 'Tuvalu'; + + @override + String get tw_ => 'Tayvan'; + + @override + String get tz_ => 'Tanzanya'; + + @override + String get ua_ => 'Ukrayna'; + + @override + String get ug_ => 'Uganda'; + + @override + String get us_ => 'Amerika Birleşik Devletleri'; + + @override + String get uy_ => 'Uruguay'; + + @override + String get uz_ => 'Özbekistan'; + + @override + String get va_ => 'Vatikan'; + + @override + String get vc_ => 'Saint Vincent ve Grenadinler'; + + @override + String get ve_ => 'Venezuela'; + + @override + String get vg_ => 'Britanya Virjin Adaları'; + + @override + String get vi_ => 'ABD Virjin Adaları'; + + @override + String get vn_ => 'Vietnam'; + + @override + String get vu_ => 'Vanuatu'; + + @override + String get wf_ => 'Wallis ve Futuna'; + + @override + String get ws_ => 'Samoa'; + + @override + String get ye_ => 'Yemen'; + + @override + String get yt_ => 'Mayotte'; + + @override + String get za_ => 'Güney Afrika'; + + @override + String get zm_ => 'Zambia'; + + @override + String get zw_ => 'Zimbabve'; +} diff --git a/lib/l10n/generated/phone_field_localization_uk.dart b/lib/l10n/generated/phone_field_localization_uk.dart new file mode 100644 index 00000000..0ff9bae1 --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_uk.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for Ukrainian (`uk`). +class PhoneFieldLocalizationUk extends PhoneFieldLocalization { + PhoneFieldLocalizationUk([super.locale = 'uk']); + + @override + String get invalidPhoneNumber => 'Невірний номер телефону'; + + @override + String get invalidCountry => 'Недійсна країна'; + + @override + String get invalidMobilePhoneNumber => 'Невірний номер мобільного телефону'; + + @override + String get invalidFixedLinePhoneNumber => 'Невірний номер стаціонарного телефону'; + + @override + String get requiredPhoneNumber => 'Необхідний номер телефону'; + + @override + String get noResultMessage => 'Немає результату'; + + @override + String get ac_ => 'Острів Вознесіння'; + + @override + String get ad_ => 'Андорра'; + + @override + String get ae_ => 'Об\'єднані Арабські Емірати'; + + @override + String get af_ => 'Афганістан'; + + @override + String get ag_ => 'Антигуа і Барбуда'; + + @override + String get ai_ => 'Ангілья'; + + @override + String get al_ => 'Албанія'; + + @override + String get am_ => 'Вірменія'; + + @override + String get an_ => 'Нідерландські Антильські острови'; + + @override + String get ao_ => 'Ангола'; + + @override + String get aq_ => 'Антарктида'; + + @override + String get ar_ => 'Аргентина'; + + @override + String get as_ => 'Американське Самоа'; + + @override + String get at_ => 'Австрія'; + + @override + String get au_ => 'Австралія'; + + @override + String get aw_ => 'Аруба'; + + @override + String get ax_ => 'Аландські острови'; + + @override + String get az_ => 'Азербайджан'; + + @override + String get ba_ => 'Боснія і Герцеговина'; + + @override + String get bb_ => 'Барбадос'; + + @override + String get bd_ => 'Бангладеш'; + + @override + String get be_ => 'Бельгія'; + + @override + String get bf_ => 'Буркіна-Фасо'; + + @override + String get bg_ => 'Болгарія'; + + @override + String get bh_ => 'Бахрейн'; + + @override + String get bi_ => 'Бурунді'; + + @override + String get bj_ => 'Бенін'; + + @override + String get bl_ => 'Сен-Бартелемі'; + + @override + String get bm_ => 'Бермудські острови'; + + @override + String get bn_ => 'Бруней-Даруссалам'; + + @override + String get bo_ => 'Болівія, Багатонаціональна Держава'; + + @override + String get bq_ => 'Бонайре'; + + @override + String get br_ => 'Бразилія'; + + @override + String get bs_ => 'Багамські острови'; + + @override + String get bt_ => 'Бутан'; + + @override + String get bw_ => 'Ботсвана'; + + @override + String get by_ => 'Білорусь'; + + @override + String get bz_ => 'Беліз'; + + @override + String get ca_ => 'Канада'; + + @override + String get cc_ => 'Кокосові (Кілінгові) острови'; + + @override + String get cd_ => 'Конго, Демократична Республіка Конго'; + + @override + String get cf_ => 'Центральноафриканська Республіка'; + + @override + String get cg_ => 'Конго'; + + @override + String get ch_ => 'Швейцарія'; + + @override + String get ci_ => 'Кот-д\'івуар'; + + @override + String get ck_ => 'Острови Кука'; + + @override + String get cl_ => 'Чилі'; + + @override + String get cm_ => 'Камерун'; + + @override + String get cn_ => 'Китай'; + + @override + String get co_ => 'Колумбія'; + + @override + String get cr_ => 'Коста-Ріка'; + + @override + String get cu_ => 'Куба'; + + @override + String get cv_ => 'Кабо-Верде'; + + @override + String get cx_ => 'Острів Різдва'; + + @override + String get cy_ => 'Кіпр'; + + @override + String get cz_ => 'Чеська Республіка'; + + @override + String get de_ => 'Німеччина'; + + @override + String get dj_ => 'Джибуті'; + + @override + String get dk_ => 'Данія'; + + @override + String get dm_ => 'Домініка'; + + @override + String get do_ => 'Домініканська Республіка'; + + @override + String get dz_ => 'Алжир'; + + @override + String get ec_ => 'Еквадор'; + + @override + String get ee_ => 'Естонія'; + + @override + String get eg_ => 'Єгипет'; + + @override + String get er_ => 'Еритрея'; + + @override + String get es_ => 'Іспанія'; + + @override + String get et_ => 'Ефіопія'; + + @override + String get fi_ => 'Фінляндія'; + + @override + String get fj_ => 'Фіджі'; + + @override + String get fk_ => 'Фолклендські (Мальвінські) острови'; + + @override + String get fm_ => 'Мікронезія, Федеративні Штати Мікронезії'; + + @override + String get fo_ => 'Фарерські острови'; + + @override + String get fr_ => 'Франція'; + + @override + String get ga_ => 'Габон'; + + @override + String get gb_ => 'Великобританія'; + + @override + String get gd_ => 'Гренада'; + + @override + String get ge_ => 'Грузія'; + + @override + String get gf_ => 'Французька Гвіана'; + + @override + String get gg_ => 'Гернсі'; + + @override + String get gh_ => 'Гана'; + + @override + String get gi_ => 'Гібралтар'; + + @override + String get gl_ => 'Гренландія'; + + @override + String get gm_ => 'Гамбія'; + + @override + String get gn_ => 'Гвінея'; + + @override + String get gp_ => 'Гваделупа'; + + @override + String get gq_ => 'Екваторіальна Гвінея'; + + @override + String get gr_ => 'Греція'; + + @override + String get gs_ => 'Південна Георгія і Південні Сандвічеві острови'; + + @override + String get gt_ => 'Гватемала'; + + @override + String get gu_ => 'Гуам'; + + @override + String get gw_ => 'Гвінея-Бісау'; + + @override + String get gy_ => 'Гайана'; + + @override + String get hk_ => 'Гонконг'; + + @override + String get hn_ => 'Гондурас'; + + @override + String get hr_ => 'Хорватія'; + + @override + String get ht_ => 'Гаїті'; + + @override + String get hu_ => 'Угорщина'; + + @override + String get id_ => 'Індонезія'; + + @override + String get ie_ => 'Ірландія'; + + @override + String get il_ => 'Ізраїль'; + + @override + String get im_ => 'Острів Мен'; + + @override + String get in_ => 'Індія'; + + @override + String get io_ => 'Британська територія в Індійському океані'; + + @override + String get iq_ => 'Ірак'; + + @override + String get ir_ => 'Іран, Ісламська Республіка'; + + @override + String get is_ => 'Ісландія'; + + @override + String get it_ => 'Італія'; + + @override + String get je_ => 'Джерсі'; + + @override + String get jm_ => 'Ямайка'; + + @override + String get jo_ => 'Йорданія'; + + @override + String get jp_ => 'Японія'; + + @override + String get ke_ => 'Кенія'; + + @override + String get kg_ => 'Киргизстан'; + + @override + String get kh_ => 'Камбоджа'; + + @override + String get ki_ => 'Кірібаті'; + + @override + String get km_ => 'Коморські острови'; + + @override + String get kn_ => 'Сент-Кітс і Невіс'; + + @override + String get kp_ => 'Корея, Корейська Народно-Демократична Республіка'; + + @override + String get kr_ => 'Корея, Республіка Південна Корея'; + + @override + String get kw_ => 'Кувейт'; + + @override + String get ky_ => 'Кайманові острови'; + + @override + String get kz_ => 'Казахстан'; + + @override + String get la_ => 'Лаос'; + + @override + String get lb_ => 'Ліван'; + + @override + String get lc_ => 'Сент-Люсія'; + + @override + String get li_ => 'Ліхтенштейн'; + + @override + String get lk_ => 'Шрі-Ланка'; + + @override + String get lr_ => 'Ліберія'; + + @override + String get ls_ => 'Лесото'; + + @override + String get lt_ => 'Литва'; + + @override + String get lu_ => 'Люксембург'; + + @override + String get lv_ => 'Латвія'; + + @override + String get ly_ => 'Лівійська Арабська Джамахірія'; + + @override + String get ma_ => 'Марокко'; + + @override + String get mc_ => 'Монако'; + + @override + String get md_ => 'Молдова'; + + @override + String get me_ => 'Чорногорія'; + + @override + String get mf_ => 'Сен-Мартен'; + + @override + String get mg_ => 'Мадагаскар'; + + @override + String get mh_ => 'Маршаллові Острови'; + + @override + String get mk_ => 'Македонія'; + + @override + String get ml_ => 'Малі'; + + @override + String get mm_ => 'М\'янма'; + + @override + String get mn_ => 'Монголія'; + + @override + String get mo_ => 'Макао'; + + @override + String get mp_ => 'Північні Маріанські острови'; + + @override + String get mq_ => 'Мартініка'; + + @override + String get mr_ => 'Мавританія'; + + @override + String get ms_ => 'Монтсеррат'; + + @override + String get mt_ => 'Мальта'; + + @override + String get mu_ => 'Маврикій'; + + @override + String get mv_ => 'Мальдіви'; + + @override + String get mw_ => 'Малаві'; + + @override + String get mx_ => 'Мексика'; + + @override + String get my_ => 'Малайзія'; + + @override + String get mz_ => 'Мозамбік'; + + @override + String get na_ => 'Намібія'; + + @override + String get nc_ => 'Нова Каледонія'; + + @override + String get ne_ => 'Нігер'; + + @override + String get nf_ => 'Острів Норфолк'; + + @override + String get ng_ => 'Нігерія'; + + @override + String get ni_ => 'Нікарагуа'; + + @override + String get nl_ => 'Нідерланди'; + + @override + String get no_ => 'Норвегія'; + + @override + String get np_ => 'Непал'; + + @override + String get nr_ => 'Науру'; + + @override + String get nu_ => 'Ніуе'; + + @override + String get nz_ => 'Нова Зеландія'; + + @override + String get om_ => 'Оман'; + + @override + String get pa_ => 'Панама'; + + @override + String get pe_ => 'Перу'; + + @override + String get pf_ => 'Французька Полінезія'; + + @override + String get pg_ => 'Папуа-Нова Гвінея'; + + @override + String get ph_ => 'Філіппіни'; + + @override + String get pk_ => 'Пакистан'; + + @override + String get pl_ => 'Польща'; + + @override + String get pm_ => 'Сен-П\'єр і Мікелон'; + + @override + String get pn_ => 'Піткерн'; + + @override + String get pr_ => 'Пуерто-Ріко'; + + @override + String get ps_ => 'Палестинська територія, окупована'; + + @override + String get pt_ => 'Португалія'; + + @override + String get pw_ => 'Палау'; + + @override + String get py_ => 'Парагвай'; + + @override + String get qa_ => 'Катар'; + + @override + String get re_ => 'Реюньйон'; + + @override + String get ro_ => 'Румунія'; + + @override + String get rs_ => 'Сербія'; + + @override + String get ru_ => 'Росія'; + + @override + String get rw_ => 'Руанда'; + + @override + String get sa_ => 'Саудівська Аравія'; + + @override + String get sb_ => 'Соломонові острови'; + + @override + String get sc_ => 'Сейшельські острови'; + + @override + String get sd_ => 'Судан'; + + @override + String get se_ => 'Швеція'; + + @override + String get sg_ => 'Сінгапур'; + + @override + String get si_ => 'Словенія'; + + @override + String get sk_ => 'Словаччина'; + + @override + String get sl_ => 'Сьєрра-Леоне'; + + @override + String get sm_ => 'Сан-Марино'; + + @override + String get sn_ => 'Сенегал'; + + @override + String get so_ => 'Сомалі'; + + @override + String get sr_ => 'Суринам'; + + @override + String get ss_ => 'Південний Судан'; + + @override + String get st_ => 'Сан-Томе і Принсіпі'; + + @override + String get sv_ => 'Сальвадор'; + + @override + String get sy_ => 'Сирійська Арабська Республіка'; + + @override + String get sz_ => 'Свазіленд'; + + @override + String get ta_ => 'Трістан-да-Кунья'; + + @override + String get tc_ => 'Турки і Кайкос'; + + @override + String get td_ => 'Чад'; + + @override + String get tg_ => 'Того'; + + @override + String get th_ => 'Таїланд'; + + @override + String get tj_ => 'Таджикистан'; + + @override + String get tk_ => 'Токелау'; + + @override + String get tl_ => 'Тимор-Лешті'; + + @override + String get tm_ => 'Туркменістан'; + + @override + String get tn_ => 'Туніс'; + + @override + String get to_ => 'Тонга'; + + @override + String get tr_ => 'Туреччина'; + + @override + String get tt_ => 'Тринідад і Тобаго'; + + @override + String get tv_ => 'Тувалу'; + + @override + String get tw_ => 'Тайвань'; + + @override + String get tz_ => 'Танзанія, Об\'єднана Республіка Танзанія'; + + @override + String get ua_ => 'Україна'; + + @override + String get ug_ => 'Уганда'; + + @override + String get us_ => 'Сполучені Штати Америки'; + + @override + String get uy_ => 'Уругвай'; + + @override + String get uz_ => 'Узбекистан'; + + @override + String get va_ => 'Святий Престол (місто-держава Ватикан)'; + + @override + String get vc_ => 'Сент-Вінсент і Гренадіни'; + + @override + String get ve_ => 'Венесуела'; + + @override + String get vg_ => 'Британські Віргінські острови'; + + @override + String get vi_ => 'Віргінські острови, США'; + + @override + String get vn_ => 'В\'єтнам'; + + @override + String get vu_ => 'Вануату'; + + @override + String get wf_ => 'Уолліс і Футуна'; + + @override + String get ws_ => 'Самоа'; + + @override + String get ye_ => 'Ємен'; + + @override + String get yt_ => 'Майотта'; + + @override + String get za_ => 'Південна Африка'; + + @override + String get zm_ => 'Замбія'; + + @override + String get zw_ => 'Зімбабве'; +} diff --git a/lib/l10n/generated/phone_field_localization_uz.dart b/lib/l10n/generated/phone_field_localization_uz.dart new file mode 100644 index 00000000..b7ae3a83 --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_uz.dart @@ -0,0 +1,754 @@ +import 'phone_field_localization.dart'; + +/// The translations for Uzbek (`uz`). +class PhoneFieldLocalizationUz extends PhoneFieldLocalization { + PhoneFieldLocalizationUz([super.locale = 'uz']); + + @override + String get invalidPhoneNumber => 'Telefon raqami noto‘g‘ri'; + + @override + String get invalidCountry => 'Yaroqsiz mamlakat'; + + @override + String get invalidMobilePhoneNumber => 'Telfon raqami noto‘g‘ri'; + + @override + String get invalidFixedLinePhoneNumber => + 'Ruxsat etilgan telefon raqami yaroqsiz'; + + @override + String get requiredPhoneNumber => 'Telfon raqami majburiy'; + + @override + String get noResultMessage => 'Ma\'lumot topilmadi'; + + @override + String get ac_ => 'Ascension Island'; + + @override + String get ad_ => 'Andorra'; + + @override + String get ae_ => 'BAA'; + + @override + String get af_ => 'Afg\'oniston'; + + @override + String get ag_ => 'Antigua va Barbuda'; + + @override + String get ai_ => 'Anguilla'; + + @override + String get al_ => 'Albaniya'; + + @override + String get am_ => 'Armeniya'; + + @override + String get an_ => 'Netherlands Antilles'; + + @override + String get ao_ => 'Angola'; + + @override + String get aq_ => 'Antarctica'; + + @override + String get ar_ => 'Argentina'; + + @override + String get as_ => 'American Samoa'; + + @override + String get at_ => 'Austria'; + + @override + String get au_ => 'Australia'; + + @override + String get aw_ => 'Aruba'; + + @override + String get ax_ => 'Aland Islands'; + + @override + String get az_ => 'Ozarbayjon'; + + @override + String get ba_ => 'Bosnia and Herzegovina'; + + @override + String get bb_ => 'Barbados'; + + @override + String get bd_ => 'Bangladesh'; + + @override + String get be_ => 'Belgiya'; + + @override + String get bf_ => 'Burkina Faso'; + + @override + String get bg_ => 'Bolgariya'; + + @override + String get bh_ => 'Bahrain'; + + @override + String get bi_ => 'Burundi'; + + @override + String get bj_ => 'Benin'; + + @override + String get bl_ => 'Saint Barthelemy'; + + @override + String get bm_ => 'Bermuda'; + + @override + String get bn_ => 'Brunei Darussalam'; + + @override + String get bo_ => 'Bolivia, Plurinational State of'; + + @override + String get bq_ => 'Bonaire'; + + @override + String get br_ => 'Braziliya'; + + @override + String get bs_ => 'Bahamas'; + + @override + String get bt_ => 'Bhutan'; + + @override + String get bw_ => 'Botswana'; + + @override + String get by_ => 'Belarusiya'; + + @override + String get bz_ => 'Belize'; + + @override + String get ca_ => 'Kanada'; + + @override + String get cc_ => 'Cocos (Keeling) Islands'; + + @override + String get cd_ => 'Congo, The Democratic Republic of the Congo'; + + @override + String get cf_ => 'Central African Republic'; + + @override + String get cg_ => 'Congo'; + + @override + String get ch_ => 'Shveysariya'; + + @override + String get ci_ => 'Kot-dʼIvuar Respublikasi'; + + @override + String get ck_ => 'Kuk orollari'; + + @override + String get cl_ => 'Chili'; + + @override + String get cm_ => 'Kamerun'; + + @override + String get cn_ => 'Xitoy'; + + @override + String get co_ => 'Kolumbiya'; + + @override + String get cr_ => 'Kosta-Rika'; + + @override + String get cu_ => 'Kuba'; + + @override + String get cv_ => 'Cape Verde'; + + @override + String get cx_ => 'Christmas Island'; + + @override + String get cy_ => 'Cyprus'; + + @override + String get cz_ => 'Czech Republic'; + + @override + String get de_ => 'Germaniya'; + + @override + String get dj_ => 'Jibuti'; + + @override + String get dk_ => 'Denmark'; + + @override + String get dm_ => 'Dominica'; + + @override + String get do_ => 'Dominika Respublikasi'; + + @override + String get dz_ => 'Algeria'; + + @override + String get ec_ => 'Ekvador'; + + @override + String get ee_ => 'Estoniya'; + + @override + String get eg_ => 'Misr'; + + @override + String get er_ => 'Eritreya'; + + @override + String get es_ => 'Ispaniya'; + + @override + String get et_ => 'Efiopiya'; + + @override + String get fi_ => 'Finlandiya'; + + @override + String get fj_ => 'Fiji'; + + @override + String get fk_ => 'Folklend orollari'; + + @override + String get fm_ => 'Micronesia, Federated States of Micronesia'; + + @override + String get fo_ => 'Faroe Islands'; + + @override + String get fr_ => 'Fransiya'; + + @override + String get ga_ => 'Gabon'; + + @override + String get gb_ => 'Buyuk Britaniya'; + + @override + String get gd_ => 'Grenada'; + + @override + String get ge_ => 'Gurjiston'; + + @override + String get gf_ => 'Fransiya Gvianasi'; + + @override + String get gg_ => 'Guernsey'; + + @override + String get gh_ => 'Ghana'; + + @override + String get gi_ => 'Gibraltar'; + + @override + String get gl_ => 'Greenland'; + + @override + String get gm_ => 'Gambia'; + + @override + String get gn_ => 'Guinea'; + + @override + String get gp_ => 'Guadeloupe'; + + @override + String get gq_ => 'Equatorial Guinea'; + + @override + String get gr_ => 'Greece'; + + @override + String get gs_ => 'South Georgia and the South Sandwich Islands'; + + @override + String get gt_ => 'Guatemala'; + + @override + String get gu_ => 'Guam'; + + @override + String get gw_ => 'Guinea-Bissau'; + + @override + String get gy_ => 'Guyana'; + + @override + String get hk_ => 'Hong Kong'; + + @override + String get hn_ => 'Honduras'; + + @override + String get hr_ => 'Croatia'; + + @override + String get ht_ => 'Gaiti'; + + @override + String get hu_ => 'Vengriya'; + + @override + String get id_ => 'Indoneziya'; + + @override + String get ie_ => 'Irlandiya oroli'; + + @override + String get il_ => 'Isroil'; + + @override + String get im_ => 'Isle of Man'; + + @override + String get in_ => 'Hindiston'; + + @override + String get io_ => 'British Indian Ocean Territory'; + + @override + String get iq_ => 'Iroq'; + + @override + String get ir_ => 'Iran, Islamic Republic of'; + + @override + String get is_ => 'Islandiya'; + + @override + String get it_ => 'Italya'; + + @override + String get je_ => 'Jersey'; + + @override + String get jm_ => 'Jamaica'; + + @override + String get jo_ => 'Jordan'; + + @override + String get jp_ => 'Yaponiya'; + + @override + String get ke_ => 'Kenya'; + + @override + String get kg_ => 'Qirgʻiziston'; + + @override + String get kh_ => 'Kambodja'; + + @override + String get ki_ => 'Kiribati'; + + @override + String get km_ => 'Comoros'; + + @override + String get kn_ => 'Saint Kitts and Nevis'; + + @override + String get kp_ => 'Shimoliy Korya'; + + @override + String get kr_ => 'Janubiy Koreya'; + + @override + String get kw_ => 'Quvayt'; + + @override + String get ky_ => 'Cayman Islands'; + + @override + String get kz_ => 'Qozog\'iston'; + + @override + String get la_ => 'Laos'; + + @override + String get lb_ => 'Livan'; + + @override + String get lc_ => 'Saint Lucia'; + + @override + String get li_ => 'Liechtenstein'; + + @override + String get lk_ => 'Sri Lanka'; + + @override + String get lr_ => 'Liberia'; + + @override + String get ls_ => 'Lesotho'; + + @override + String get lt_ => 'Litva'; + + @override + String get lu_ => 'Luksemburg'; + + @override + String get lv_ => 'Latvia'; + + @override + String get ly_ => 'Libya'; + + @override + String get ma_ => 'Morocco'; + + @override + String get mc_ => 'Monaco'; + + @override + String get md_ => 'Moldova'; + + @override + String get me_ => 'Montenegro'; + + @override + String get mf_ => 'Saint Martin'; + + @override + String get mg_ => 'Madagascar'; + + @override + String get mh_ => 'Marshall Islands'; + + @override + String get mk_ => 'Macedonia'; + + @override + String get ml_ => 'Mali'; + + @override + String get mm_ => 'Myanmar'; + + @override + String get mn_ => 'Mongolia'; + + @override + String get mo_ => 'Macao'; + + @override + String get mp_ => 'Northern Mariana Islands'; + + @override + String get mq_ => 'Martinique'; + + @override + String get mr_ => 'Mauritania'; + + @override + String get ms_ => 'Montserrat'; + + @override + String get mt_ => 'Malta'; + + @override + String get mu_ => 'Mauritius'; + + @override + String get mv_ => 'Maldiv'; + + @override + String get mw_ => 'Malavi'; + + @override + String get mx_ => 'Meksika'; + + @override + String get my_ => 'Malaziya'; + + @override + String get mz_ => 'Mozambik'; + + @override + String get na_ => 'Namibia'; + + @override + String get nc_ => 'New Caledonia'; + + @override + String get ne_ => 'Nigerya'; + + @override + String get nf_ => 'Norfolk Island'; + + @override + String get ng_ => 'Nigeria'; + + @override + String get ni_ => 'Nicaragua'; + + @override + String get nl_ => 'Netherlands'; + + @override + String get no_ => 'Norway'; + + @override + String get np_ => 'Nepal'; + + @override + String get nr_ => 'Nauru'; + + @override + String get nu_ => 'Niue'; + + @override + String get nz_ => 'Yangi zelandiya'; + + @override + String get om_ => 'Oman'; + + @override + String get pa_ => 'Panama'; + + @override + String get pe_ => 'Peru'; + + @override + String get pf_ => 'French Polynesia'; + + @override + String get pg_ => 'Papua New Guinea'; + + @override + String get ph_ => 'Philippines'; + + @override + String get pk_ => 'Pokiston'; + + @override + String get pl_ => 'Polsha'; + + @override + String get pm_ => 'Saint Pierre and Miquelon'; + + @override + String get pn_ => 'Pitcairn'; + + @override + String get pr_ => 'Puerto Rico'; + + @override + String get ps_ => 'Palestinian Territory, Occupied'; + + @override + String get pt_ => 'Portugaliya'; + + @override + String get pw_ => 'Palau'; + + @override + String get py_ => 'Paragvay'; + + @override + String get qa_ => 'Qatar'; + + @override + String get re_ => 'Reyunion'; + + @override + String get ro_ => 'Ruminiya'; + + @override + String get rs_ => 'Serbia'; + + @override + String get ru_ => 'Rossiya'; + + @override + String get rw_ => 'Rwanda'; + + @override + String get sa_ => 'Saudiya Arabistoni'; + + @override + String get sb_ => 'Solomon Islands'; + + @override + String get sc_ => 'Seyshel orollari'; + + @override + String get sd_ => 'Sudan'; + + @override + String get se_ => 'Shvetsiya'; + + @override + String get sg_ => 'Singapur'; + + @override + String get si_ => 'Slovenia'; + + @override + String get sk_ => 'Slovakia'; + + @override + String get sl_ => 'Sierra Leone'; + + @override + String get sm_ => 'San Marino'; + + @override + String get sn_ => 'Senegal'; + + @override + String get so_ => 'Somalia'; + + @override + String get sr_ => 'Suriname'; + + @override + String get ss_ => 'South Sudan'; + + @override + String get st_ => 'Sao Tome and Principe'; + + @override + String get sv_ => 'El Salvador'; + + @override + String get sy_ => 'Suriya'; + + @override + String get sz_ => 'Esvatini Qirolligi'; + + @override + String get ta_ => 'Tristan da Cunha'; + + @override + String get tc_ => 'Turks and Caicos Islands'; + + @override + String get td_ => 'Chad'; + + @override + String get tg_ => 'Togo'; + + @override + String get th_ => 'Tailand'; + + @override + String get tj_ => 'Tojikistan'; + + @override + String get tk_ => 'Tokelau'; + + @override + String get tl_ => 'Timor-Leste'; + + @override + String get tm_ => 'Turkmaniston'; + + @override + String get tn_ => 'Tunisia'; + + @override + String get to_ => 'Tonga'; + + @override + String get tr_ => 'Turkiya'; + + @override + String get tt_ => 'Trinidad and Tobago'; + + @override + String get tv_ => 'Tuvalu'; + + @override + String get tw_ => 'Tayvan'; + + @override + String get tz_ => 'Tanzania, United Republic of Tanzania'; + + @override + String get ua_ => 'Ukraina'; + + @override + String get ug_ => 'Uganda'; + + @override + String get us_ => 'AQSH'; + + @override + String get uy_ => 'Urugvay'; + + @override + String get uz_ => 'O\'zbekiston'; + + @override + String get va_ => 'Holy See (Vatican City State)'; + + @override + String get vc_ => 'Saint Vincent and the Grenadines'; + + @override + String get ve_ => 'Venesuela'; + + @override + String get vg_ => 'Virgin Islands, British'; + + @override + String get vi_ => 'Virgin Islands, U.S.'; + + @override + String get vn_ => 'Vetnam'; + + @override + String get vu_ => 'Vanuatu'; + + @override + String get wf_ => 'Uollis va Futuna'; + + @override + String get ws_ => 'Samoa'; + + @override + String get ye_ => 'Yaman'; + + @override + String get yt_ => 'Mayotte'; + + @override + String get za_ => 'JAR'; + + @override + String get zm_ => 'Zambia'; + + @override + String get zw_ => 'Zimbabwe'; +} diff --git a/lib/l10n/generated/phone_field_localization_zh.dart b/lib/l10n/generated/phone_field_localization_zh.dart new file mode 100644 index 00000000..1b944ce6 --- /dev/null +++ b/lib/l10n/generated/phone_field_localization_zh.dart @@ -0,0 +1,753 @@ +import 'phone_field_localization.dart'; + +/// The translations for Chinese (`zh`). +class PhoneFieldLocalizationZh extends PhoneFieldLocalization { + PhoneFieldLocalizationZh([super.locale = 'zh']); + + @override + String get invalidPhoneNumber => '无效的电话号码'; + + @override + String get invalidCountry => '无效国家'; + + @override + String get invalidMobilePhoneNumber => '无效的手机号码'; + + @override + String get invalidFixedLinePhoneNumber => '无效的固定电话号码'; + + @override + String get requiredPhoneNumber => '需要电话号码'; + + @override + String get noResultMessage => '没有结果'; + + @override + String get ac_ => '阿森松岛'; + + @override + String get ad_ => '安道尔'; + + @override + String get ae_ => '阿拉伯联合酋长国'; + + @override + String get af_ => '阿富汗'; + + @override + String get ag_ => '安提瓜和巴布达'; + + @override + String get ai_ => '安圭拉岛'; + + @override + String get al_ => '阿尔巴尼亚'; + + @override + String get am_ => '亚美尼亚'; + + @override + String get an_ => '荷属安的列斯'; + + @override + String get ao_ => '安哥拉'; + + @override + String get aq_ => '南极洲'; + + @override + String get ar_ => '阿根廷'; + + @override + String get as_ => '美属萨摩亚'; + + @override + String get at_ => '奥地利'; + + @override + String get au_ => '澳大利亚'; + + @override + String get aw_ => '阿鲁巴岛'; + + @override + String get ax_ => '奥兰群岛'; + + @override + String get az_ => '阿塞拜疆'; + + @override + String get ba_ => '波斯尼亚和黑塞哥维那'; + + @override + String get bb_ => '巴巴多斯'; + + @override + String get bd_ => '孟加拉国'; + + @override + String get be_ => '比利时'; + + @override + String get bf_ => '布基纳法索'; + + @override + String get bg_ => '保加利亚'; + + @override + String get bh_ => '巴林'; + + @override + String get bi_ => '布隆迪'; + + @override + String get bj_ => '贝宁'; + + @override + String get bl_ => '圣巴托洛缪岛'; + + @override + String get bm_ => '百慕大'; + + @override + String get bn_ => '文莱达鲁萨兰国'; + + @override + String get bo_ => '玻利维亚多民族国'; + + @override + String get bq_ => '博内尔岛'; + + @override + String get br_ => '巴西'; + + @override + String get bs_ => '巴哈马'; + + @override + String get bt_ => '不丹'; + + @override + String get bw_ => '博茨瓦纳'; + + @override + String get by_ => '白俄罗斯'; + + @override + String get bz_ => '伯利兹'; + + @override + String get ca_ => '加拿大'; + + @override + String get cc_ => '科科斯(基林)群岛'; + + @override + String get cd_ => '刚果民主共和国'; + + @override + String get cf_ => '中非共和国'; + + @override + String get cg_ => '刚果'; + + @override + String get ch_ => '瑞士'; + + @override + String get ci_ => '科特迪瓦'; + + @override + String get ck_ => '库克群岛'; + + @override + String get cl_ => '智利'; + + @override + String get cm_ => '喀麦隆'; + + @override + String get cn_ => '中国'; + + @override + String get co_ => '哥伦比亚'; + + @override + String get cr_ => '哥斯达黎加'; + + @override + String get cu_ => '古巴'; + + @override + String get cv_ => '佛得角'; + + @override + String get cx_ => '圣诞岛'; + + @override + String get cy_ => '塞浦路斯'; + + @override + String get cz_ => '捷克共和国'; + + @override + String get de_ => '德国'; + + @override + String get dj_ => '吉布地'; + + @override + String get dk_ => '丹麦'; + + @override + String get dm_ => '多米尼加'; + + @override + String get do_ => '多明尼加共和国'; + + @override + String get dz_ => '阿尔及利亚'; + + @override + String get ec_ => '厄瓜多尔'; + + @override + String get ee_ => '爱沙尼亚'; + + @override + String get eg_ => '埃及'; + + @override + String get er_ => '厄立特里亚'; + + @override + String get es_ => '西班牙'; + + @override + String get et_ => '埃塞俄比亚'; + + @override + String get fi_ => '芬兰'; + + @override + String get fj_ => '斐济'; + + @override + String get fk_ => '福克兰群岛(马尔维纳斯)'; + + @override + String get fm_ => '密克罗尼西亚,密克罗尼西亚联邦'; + + @override + String get fo_ => '法罗群岛'; + + @override + String get fr_ => '法国'; + + @override + String get ga_ => '加蓬'; + + @override + String get gb_ => '英国'; + + @override + String get gd_ => '格林纳达'; + + @override + String get ge_ => '乔治亚州'; + + @override + String get gf_ => '法属圭亚那'; + + @override + String get gg_ => '根西岛'; + + @override + String get gh_ => '加纳'; + + @override + String get gi_ => '直布罗陀'; + + @override + String get gl_ => '格陵兰'; + + @override + String get gm_ => '冈比亚'; + + @override + String get gn_ => '几内亚'; + + @override + String get gp_ => '瓜德罗普岛'; + + @override + String get gq_ => '赤道几内亚'; + + @override + String get gr_ => '希腊'; + + @override + String get gs_ => '南乔治亚岛和南桑威奇群岛'; + + @override + String get gt_ => '危地马拉'; + + @override + String get gu_ => '关岛'; + + @override + String get gw_ => '几内亚比绍'; + + @override + String get gy_ => '圭亚那'; + + @override + String get hk_ => '香港'; + + @override + String get hn_ => '洪都拉斯'; + + @override + String get hr_ => '克罗地亚'; + + @override + String get ht_ => '海地'; + + @override + String get hu_ => '匈牙利'; + + @override + String get id_ => '印度尼西亚'; + + @override + String get ie_ => '爱尔兰'; + + @override + String get il_ => '以色列'; + + @override + String get im_ => '马恩岛'; + + @override + String get in_ => '印度'; + + @override + String get io_ => '英属印度洋领地'; + + @override + String get iq_ => '伊拉克'; + + @override + String get ir_ => '伊朗,波斯湾伊斯兰共和国'; + + @override + String get is_ => '冰岛'; + + @override + String get it_ => '意大利'; + + @override + String get je_ => '球衣'; + + @override + String get jm_ => '的牙买加'; + + @override + String get jo_ => '约旦'; + + @override + String get jp_ => '日本'; + + @override + String get ke_ => '肯尼亚'; + + @override + String get kg_ => '吉尔吉斯斯坦'; + + @override + String get kh_ => '柬埔寨'; + + @override + String get ki_ => '基里巴斯'; + + @override + String get km_ => '科摩罗'; + + @override + String get kn_ => '圣基茨和尼维斯'; + + @override + String get kp_ => '韩国,朝鲜民主主义人民共和国'; + + @override + String get kr_ => '大韩民国'; + + @override + String get kw_ => '科威特'; + + @override + String get ky_ => '开曼群岛'; + + @override + String get kz_ => '哈萨克斯坦'; + + @override + String get la_ => '老挝'; + + @override + String get lb_ => '黎巴嫩的'; + + @override + String get lc_ => '圣卢西亚'; + + @override + String get li_ => '列支敦士登'; + + @override + String get lk_ => '斯里兰卡'; + + @override + String get lr_ => '利比里亚'; + + @override + String get ls_ => '莱索托'; + + @override + String get lt_ => '立陶宛'; + + @override + String get lu_ => '卢森堡'; + + @override + String get lv_ => '拉脱维亚'; + + @override + String get ly_ => '阿拉伯利比亚民众国'; + + @override + String get ma_ => '摩洛哥'; + + @override + String get mc_ => '摩纳哥'; + + @override + String get md_ => '摩尔多瓦'; + + @override + String get me_ => '黑山共和国'; + + @override + String get mf_ => '圣马丁'; + + @override + String get mg_ => '马达加斯加'; + + @override + String get mh_ => '马绍尔群岛'; + + @override + String get mk_ => '马其顿'; + + @override + String get ml_ => '马里'; + + @override + String get mm_ => '缅甸'; + + @override + String get mn_ => '蒙古'; + + @override + String get mo_ => '澳门'; + + @override + String get mp_ => '北马里亚纳群岛'; + + @override + String get mq_ => '马提尼克岛'; + + @override + String get mr_ => '毛里塔尼亚'; + + @override + String get ms_ => '蒙特塞拉特'; + + @override + String get mt_ => '马耳他'; + + @override + String get mu_ => '毛里求斯'; + + @override + String get mv_ => '马尔代夫'; + + @override + String get mw_ => '马拉维'; + + @override + String get mx_ => '墨西哥'; + + @override + String get my_ => '马来西亚'; + + @override + String get mz_ => '莫桑比克'; + + @override + String get na_ => '纳米比亚'; + + @override + String get nc_ => '新喀里多尼亚'; + + @override + String get ne_ => '尼日尔'; + + @override + String get nf_ => '诺福克岛'; + + @override + String get ng_ => '奈及利亚'; + + @override + String get ni_ => '尼加拉瓜'; + + @override + String get nl_ => '荷兰'; + + @override + String get no_ => '挪威'; + + @override + String get np_ => '尼尼泊尔'; + + @override + String get nr_ => '瑙鲁'; + + @override + String get nu_ => '纽埃'; + + @override + String get nz_ => '新西兰'; + + @override + String get om_ => '阿曼'; + + @override + String get pa_ => '巴拿马'; + + @override + String get pe_ => '秘鲁'; + + @override + String get pf_ => '法属波利尼西亚'; + + @override + String get pg_ => '巴布亚新几内亚'; + + @override + String get ph_ => '菲律宾'; + + @override + String get pk_ => '巴基斯坦'; + + @override + String get pl_ => '波兰'; + + @override + String get pm_ => '圣皮埃尔和密克隆群岛'; + + @override + String get pn_ => '皮特凯恩'; + + @override + String get pr_ => '波多黎各'; + + @override + String get ps_ => '被占领的巴勒斯坦领土'; + + @override + String get pt_ => '葡萄牙'; + + @override + String get pw_ => 'u琉'; + + @override + String get py_ => '巴拉圭'; + + @override + String get qa_ => '卡塔尔'; + + @override + String get re_ => '团圆'; + + @override + String get ro_ => '罗马尼亚'; + + @override + String get rs_ => '塞尔维亚'; + + @override + String get ru_ => '俄罗斯'; + + @override + String get rw_ => '卢旺达'; + + @override + String get sa_ => '沙特阿拉伯'; + + @override + String get sb_ => '所罗门群岛'; + + @override + String get sc_ => '塞舌尔'; + + @override + String get sd_ => '苏丹'; + + @override + String get se_ => '瑞典'; + + @override + String get sg_ => '新加坡'; + + @override + String get si_ => '斯洛文尼亚'; + + @override + String get sk_ => '斯洛伐克'; + + @override + String get sl_ => '塞拉利昂'; + + @override + String get sm_ => '圣马力诺'; + + @override + String get sn_ => '塞内加尔'; + + @override + String get so_ => '索马里'; + + @override + String get sr_ => '苏里南'; + + @override + String get ss_ => '南苏丹'; + + @override + String get st_ => '圣多美和普林西比'; + + @override + String get sv_ => '萨尔瓦多'; + + @override + String get sy_ => '阿拉伯叙利亚共和国'; + + @override + String get sz_ => '斯威士兰'; + + @override + String get ta_ => '特里斯坦达库尼亚'; + + @override + String get tc_ => '特克斯和凯科斯群岛'; + + @override + String get td_ => '乍得'; + + @override + String get tg_ => '多哥'; + + @override + String get th_ => '泰国'; + + @override + String get tj_ => '塔吉克斯坦'; + + @override + String get tk_ => '托克劳'; + + @override + String get tl_ => '东帝汶'; + + @override + String get tm_ => '土库曼斯坦'; + + @override + String get tn_ => '突尼斯'; + + @override + String get to_ => '汤加'; + + @override + String get tr_ => '火鸡'; + + @override + String get tt_ => '特立尼达和多巴哥'; + + @override + String get tv_ => '图瓦卢'; + + @override + String get tw_ => '台湾'; + + @override + String get tz_ => '坦桑尼亚联合共和国坦桑尼亚'; + + @override + String get ua_ => '乌克兰'; + + @override + String get ug_ => '乌干达'; + + @override + String get us_ => '美国'; + + @override + String get uy_ => '乌拉圭'; + + @override + String get uz_ => '乌兹别克斯坦'; + + @override + String get va_ => '罗马教廷(梵蒂冈城国)'; + + @override + String get vc_ => '圣文森特和格林纳丁斯'; + + @override + String get ve_ => '委内瑞拉'; + + @override + String get vg_ => '英属维尔京群岛'; + + @override + String get vi_ => '美国维尔京群岛'; + + @override + String get vn_ => '越南'; + + @override + String get vu_ => '瓦努阿图'; + + @override + String get wf_ => '瓦利斯和富图纳群岛'; + + @override + String get ws_ => '萨摩亚'; + + @override + String get ye_ => '也门'; + + @override + String get yt_ => '马约特岛'; + + @override + String get za_ => '南非'; + + @override + String get zm_ => '赞比亚'; + + @override + String get zw_ => '津巴布韦'; +} diff --git a/lib/l10n/hi.arb b/lib/l10n/hi.arb new file mode 100644 index 00000000..9e641136 --- /dev/null +++ b/lib/l10n/hi.arb @@ -0,0 +1,254 @@ +{ + "@@locale": "hi", + "invalidPhoneNumber": "अवैध फोन नंबर", + "invalidCountry": "अवैध देश", + "invalidMobilePhoneNumber": "अमान्य सेल फ़ोन नंबर", + "invalidFixedLinePhoneNumber": "अवैध लैंडलाइन नंबर", + "requiredPhoneNumber": "फ़ोन नंबर आवश्यक", + "noResultMessage": "कोई परिणाम नही", + "ac_": "असेंशन द्वीप", + "ad_": "एंडोरा", + "ae_": "संयुक्त अरब अमीरात", + "af_": "अफ़ग़ानिस्तान", + "ag_": "अंतिगुया और बार्बूडा", + "ai_": "एंगुइला", + "al_": "अल्बानिया", + "am_": "आर्मीनिया", + "an_": "नीदरलैंड्स एंटाइल्स", + "ao_": "अंगोला", + "aq_": "अंटार्कटिका", + "ar_": "अर्जेंटीना", + "as_": "अमेरिकन समोआ", + "at_": "ऑस्ट्रिया", + "au_": "ऑस्ट्रेलिया", + "aw_": "अरूबा", + "ax_": "एलैंड द्वीप समूह", + "az_": "आज़रबाइजान", + "ba_": "बोस्निया और हर्जेगोविना", + "bb_": "बारबाडोस", + "bd_": "बांग्लादेश", + "be_": "बेल्जियम", + "bf_": "बुर्किना फासो", + "bg_": "बुल्गारिया", + "bh_": "बहरीन", + "bi_": "बुस्र्न्दी", + "bj_": "बेनिन", + "bl_": "संत बारथेलेमी", + "bm_": "बरमूडा", + "bn_": "ब्रूनेइ्र दारएस्सलाम", + "bo_": "बोलीविया, प्लूरिनेशनल स्टेट ऑफ़", + "bq_": "बोनेयर", + "br_": "ब्राज़िल", + "bs_": "बहामा", + "bt_": "भूटान", + "bw_": "बोत्सवाना", + "by_": "बेलोरूस", + "bz_": "बेलीज़", + "ca_": "कनाडा", + "cc_": "कोकोस (कीलिंग) द्वीप समूह", + "cd_": "कांगो, लोकतांत्रिक गणराज्य कांगो", + "cf_": "केंद्रीय अफ्रीकन गणराज्य", + "cg_": "कांगो", + "ch_": "स्विट्ज़रलैंड", + "ci_": "कोटे डी आइवर", + "ck_": "कुक द्वीपसमूह", + "cl_": "चिली", + "cm_": "कैमरून", + "cn_": "चीन", + "co_": "कोलंबिया", + "cr_": "कोस्टा रिका", + "cu_": "क्यूबा", + "cv_": "केप वर्दे", + "cx_": "क्रिसमस द्वीप", + "cy_": "साइप्रस", + "cz_": "चेक गणतंत्र", + "de_": "जर्मनी", + "dj_": "जिबूती", + "dk_": "डेनमार्क", + "dm_": "डोमिनिका", + "do_": "डोमिनिकन गणराज्य", + "dz_": "एलजीरिया", + "ec_": "इक्वेडोर", + "ee_": "एस्तोनिया", + "eg_": "मिस्र", + "er_": "इरिट्रिया", + "es_": "स्पेन", + "et_": "इथियोपिया", + "fi_": "फिनलैंड", + "fj_": "फ़िजी", + "fk_": "फ़ॉकलैंड द्वीप (माल्विनास)", + "fm_": "माइक्रोनेशिया, संघीय राज्य माइक्रोनेशिया", + "fo_": "फ़ैरो द्वीप", + "fr_": "फ्रांस", + "ga_": "गैबॉन", + "gb_": "यूनाइटेड किंगडम", + "gd_": "ग्रेनेडा", + "ge_": "जॉर्जिया", + "gf_": "फ्रेंच गयाना", + "gg_": "ग्वेर्नसे", + "gh_": "घाना", + "gi_": "जिब्राल्टर", + "gl_": "ग्रीनलैंड", + "gm_": "गाम्बिया", + "gn_": "गिन्नी", + "gp_": "ग्वाडेलोप", + "gq_": "भूमध्यवर्ती गिनी", + "gr_": "यूनान", + "gs_": "दक्षिण जॉर्जिया और दक्षिण सैंडविच द्वीप समूह", + "gt_": "ग्वाटेमाला", + "gu_": "गुआम", + "gw_": "गिनी-बिसाऊ", + "gy_": "गुयाना", + "hk_": "हांगकांग", + "hn_": "होंडुरस", + "hr_": "क्रोएशिया", + "ht_": "हैती", + "hu_": "हंगरी", + "id_": "इंडोनेशिया", + "ie_": "आयरलैंड", + "il_": "इजराइल", + "im_": "मैन द्वीप", + "in_": "भारत", + "io_": "ब्रिटेन और भारतीय समुद्री क्षेत्र", + "iq_": "इराक", + "ir_": "ईरान, इस्लामी गणतंत्र फ़ारस की खाड़ी", + "is_": "आइसलैंड", + "it_": "इटली", + "je_": "जर्सी", + "jm_": "जमैका", + "jo_": "जॉर्डन", + "jp_": "जापान", + "ke_": "केन्या", + "kg_": "किर्गिज़स्तान", + "kh_": "कंबोडिया", + "ki_": "किरिबाती", + "km_": "कोमोरोस", + "kn_": "संत किट्ट्स और नेविस", + "kp_": "कोरिया, डेमोक्रेटिक पीपुल्स रिपब्लिक ऑफ कोरिया", + "kr_": "कोरिया, दक्षिण कोरिया गणराज्य", + "kw_": "कुवैट", + "ky_": "केमन द्वीपसमूह", + "kz_": "कजाखस्तान", + "la_": "लाओस", + "lb_": "लेबनान", + "lc_": "सेंट लूसिया", + "li_": "लिकटेंस्टाइन", + "lk_": "श्रीलंका", + "lr_": "लाइबेरिया", + "ls_": "लिसोटो", + "lt_": "लिथुआनिया", + "lu_": "लक्समबर्ग", + "lv_": "लातविया", + "ly_": "लीबिया का अरब जमहिरिया", + "ma_": "मोरक्को", + "mc_": "मोनाको", + "md_": "मोलदोवा", + "me_": "मोंटेनेग्रो", + "mf_": "संत मार्टिन", + "mg_": "मेडागास्कर", + "mh_": "मार्शल द्वीपसमूह", + "mk_": "मैसेडोनिया", + "ml_": "माली", + "mm_": "म्यांमार", + "mn_": "मंगोलिया", + "mo_": "मकाओ", + "mp_": "उत्तरी मरीयाना द्वीप समूह", + "mq_": "मार्टीनिक", + "mr_": "मॉरिटानिया", + "ms_": "मोंटेसेराट", + "mt_": "माल्टा", + "mu_": "मॉरीशस", + "mv_": "मालदीव", + "mw_": "मलावी", + "mx_": "मेक्सिको", + "my_": "मलेशिया", + "mz_": "मोजाम्बिक", + "na_": "नामिबिया", + "nc_": "न्यू कैलेडोनिया", + "ne_": "नाइजर", + "nf_": "नॉरफ़ॉक आइलैंड", + "ng_": "नाइजीरिया", + "ni_": "निकारागुआ", + "nl_": "नीदरलैंड", + "no_": "नॉर्वे", + "np_": "नेपाल", + "nr_": "नाउरू", + "nu_": "नियू", + "nz_": "न्यूज़ीलैंड", + "om_": "ओमान", + "pa_": "पनामा", + "pe_": "पेरू", + "pf_": "फ़्रेंच पोलिनेशिया", + "pg_": "पापुआ न्यू गिनी", + "ph_": "फिलीपींस", + "pk_": "पाकिस्तान", + "pl_": "पोलैंड", + "pm_": "सेंट पियरे और मिकेलॉन", + "pn_": "पिटकेर्न", + "pr_": "प्यूर्टो रिको", + "ps_": "अधिकृत फ़िलिस्तीन क्षेत्र", + "pt_": "पुर्तगाल", + "pw_": "पलाउ", + "py_": "परागुआ", + "qa_": "कतर", + "re_": "रीयूनियन", + "ro_": "रोमानिया", + "rs_": "सर्बिया", + "ru_": "रूस", + "rw_": "रवांडा", + "sa_": "सऊदी अरब", + "sb_": "सोलोमन इस्लैंडस", + "sc_": "सेशल्स", + "sd_": "सूडान", + "se_": "स्वीडन", + "sg_": "सिंगापुर", + "sh_": "सेंट हेलेना, एसेंशन और ट्रिस्टन दा कुन्हा", + "si_": "स्लोवेनिया", + "sj_": "स्वालबार्ड और जान मेयन", + "sk_": "स्लोवाकिया", + "sl_": "सेरा लिओन", + "sm_": "सैन मैरीनो", + "sn_": "सेनेगल", + "so_": "सोमालिया", + "sr_": "सूरीनाम", + "ss_": "दक्षिण सूडान", + "st_": "साओ टोमे और प्रिंसिपे", + "sv_": "एल साल्वाडोर", + "sy_": "सीरियाई अरब गणराज्य", + "sz_": "स्वाजीलैंड", + "ta_": "ट्रिस्टन दा कुन्हा", + "tc_": "तुर्क और कैकोस द्वीप समूह", + "td_": "काग़ज़ का टुकड़ा", + "tg_": "जाना", + "th_": "थाईलैंड", + "tj_": "तजाकिस्तान", + "tk_": "टोकेलाऊ", + "tl_": "तिमोर-लेस्ते", + "tm_": "तुर्कमेनिस्तान", + "tn_": "ट्यूनीशिया", + "to_": "टोंगा", + "tr_": "तुर्की", + "tt_": "त्रिनिदाद और टोबैगो", + "tv_": "तुवालू", + "tw_": "ताइवान", + "tz_": "तंजानिया, संयुक्त गणराज्य तंजानिया", + "ua_": "यूक्रेन", + "ug_": "युगांडा", + "us_": "संयुक्त राज्य अमेरिका", + "uy_": "उरुग्वे", + "uz_": "उज़्बेकिस्तान", + "va_": "होली सी (वेटिकन सिटी स्टेट)", + "vc_": "संत विंसेंट अँड थे ग्रेनडीनेस", + "ve_": "वेनेजुएला", + "vg_": "वर्जिन द्वीप समूह, ब्रिटिश", + "vi_": "वर्जिन द्वीप समूह, यू.एस.", + "vn_": "वियतनाम", + "vu_": "वानुअतु", + "wf_": "वाली और फ़्युटुना", + "ws_": "समोआ", + "ye_": "यमन", + "yt_": "मैयट", + "za_": "दक्षिण अफ्रीका", + "zm_": "जाम्बिया", + "zw_": "जिम्बाब्वे" +} \ No newline at end of file diff --git a/lib/l10n/it.arb b/lib/l10n/it.arb new file mode 100644 index 00000000..d14981f0 --- /dev/null +++ b/lib/l10n/it.arb @@ -0,0 +1,254 @@ +{ + "@@locale": "it", + "invalidPhoneNumber": "Numero di telefono invalido", + "invalidCountry": "Paese invalido", + "invalidMobilePhoneNumber": "Numero di cellulare invalido", + "invalidFixedLinePhoneNumber": "Numero di rete fissa invalido", + "requiredPhoneNumber": "Numero di telefono richiesto", + "noResultMessage": "Nessun risultato", + "ac_": "Isola dell'Ascensione", + "ad_": "Andorra", + "ae_": "Emirati Arabi Uniti", + "af_": "Afghanistan", + "ag_": "Antigua e Barbuda", + "ai_": "Anguilla", + "al_": "Albania", + "am_": "Armenia", + "an_": "Antille Olandesi", + "ao_": "Angola", + "aq_": "Antartide", + "ar_": "Argentina", + "as_": "Samoa americane", + "at_": "Austria", + "au_": "Australia", + "aw_": "Aruba", + "ax_": "Isole Aland", + "az_": "Azerbaigian", + "ba_": "Bosnia Erzegovina", + "bb_": "Barbados", + "bd_": "Bangladesh", + "be_": "Belgio", + "bf_": "Burkina Faso", + "bg_": "Bulgaria", + "bh_": "Bahrein", + "bi_": "Burundi", + "bj_": "Benin", + "bl_": "Saint Barthelemy", + "bm_": "Bermuda", + "bn_": "Brunei Darussalam", + "bo_": "Bolivia, Stato plurinazionale di", + "bq_": "Bonaire", + "br_": "Brasile", + "bs_": "Bahamas", + "bt_": "Bhutan", + "bw_": "Botswana", + "by_": "Bielorussia", + "bz_": "Belize", + "ca_": "Canada", + "cc_": "Isole Cocos (Keeling)", + "cd_": "Congo, Repubblica Democratica del Congo", + "cf_": "Repubblica Centrafricana", + "cg_": "Congo", + "ch_": "Svizzera", + "ci_": "Costa d'Avorio", + "ck_": "Isole Cook", + "cl_": "Chile", + "cm_": "Camerun", + "cn_": "Cina", + "co_": "Colombia", + "cr_": "Costa Rica", + "cu_": "Cuba", + "cv_": "capo Verde", + "cx_": "Isola di Natale", + "cy_": "Cipro", + "cz_": "Repubblica Ceca", + "de_": "Germania", + "dj_": "Gibuti", + "dk_": "Danimarca", + "dm_": "Dominica", + "do_": "Repubblica Dominicana", + "dz_": "Algeria", + "ec_": "Ecuador", + "ee_": "Estonia", + "eg_": "Egitto", + "er_": "Eritrea", + "es_": "Spagna", + "et_": "Etiopia", + "fi_": "Finlandia", + "fj_": "Figi", + "fk_": "Isole Falkland (Malvinas)", + "fm_": "Micronesia, Stati Federati di Micronesia", + "fo_": "Isole Faroe", + "fr_": "Francia", + "ga_": "Gabon", + "gb_": "Regno Unito", + "gd_": "Grenada", + "ge_": "Georgia", + "gf_": "Guiana francese", + "gg_": "Guernsey", + "gh_": "Ghana", + "gi_": "Gibilterra", + "gl_": "Groenlandia", + "gm_": "Gambia", + "gn_": "Guinea", + "gp_": "Guadalupa", + "gq_": "Guinea Equatoriale", + "gr_": "Grecia", + "gs_": "Georgia del Sud e isole Sandwich meridionali", + "gt_": "Guatemala", + "gu_": "Guam", + "gw_": "Guinea-Bissau", + "gy_": "Guyana", + "hk_": "Hong Kong", + "hn_": "Honduras", + "hr_": "Croazia", + "ht_": "Haiti", + "hu_": "Ungheria", + "id_": "Indonesia", + "ie_": "Irlanda", + "il_": "Israele", + "im_": "Isola di Man", + "in_": "India", + "io_": "Territorio britannico dell'Oceano Indiano", + "iq_": "Iraq", + "ir_": "Iran, Repubblica islamica del Golfo Persico", + "is_": "Islanda", + "it_": "Italia", + "je_": "Jersey", + "jm_": "Giamaica", + "jo_": "Giordania", + "jp_": "Giappone", + "ke_": "Kenya", + "kg_": "Kirghizistan", + "kh_": "Cambogia", + "ki_": "Kiribati", + "km_": "Comore", + "kn_": "Saint Kitts e Nevis", + "kp_": "Corea, Repubblica Democratica Popolare di Corea", + "kr_": "Corea, Repubblica della Corea del Sud", + "kw_": "Kuwait", + "ky_": "Isole Cayman", + "kz_": "Kazakistan", + "la_": "Laos", + "lb_": "Libano", + "lc_": "Santa Lucia", + "li_": "Liechtenstein", + "lk_": "Sri Lanka", + "lr_": "Liberia", + "ls_": "Lesotho", + "lt_": "Lituania", + "lu_": "Lussemburgo", + "lv_": "Lettonia", + "ly_": "Giamahiria araba libica", + "ma_": "Marocco", + "mc_": "Monaco", + "md_": "Moldova", + "me_": "Montenegro", + "mf_": "Saint Martin", + "mg_": "Madagascar", + "mh_": "Isole Marshall", + "mk_": "Macedonia", + "ml_": "Mali", + "mm_": "Myanmar", + "mn_": "Mongolia", + "mo_": "Macao", + "mp_": "Isole Marianne settentrionali", + "mq_": "Martinica", + "mr_": "Mauritania", + "ms_": "Montserrat", + "mt_": "Malta", + "mu_": "Maurizio", + "mv_": "Maldive", + "mw_": "Malawi", + "mx_": "Messico", + "my_": "Malaysia", + "mz_": "Mozambico", + "na_": "Namibia", + "nc_": "Nuova Caledonia", + "ne_": "Niger", + "nf_": "Isola Norfolk", + "ng_": "Nigeria", + "ni_": "Nicaragua", + "nl_": "Olanda", + "no_": "Norvegia", + "np_": "Nepal", + "nr_": "Nauru", + "nu_": "Niue", + "nz_": "Nuova Zelanda", + "om_": "Oman", + "pa_": "Panama", + "pe_": "Perù", + "pf_": "Polinesia francese", + "pg_": "Papua Nuova Guinea", + "ph_": "Filippine", + "pk_": "Pakistan", + "pl_": "Polonia", + "pm_": "Saint Pierre e Miquelon", + "pn_": "Pitcairn", + "pr_": "Porto Rico", + "ps_": "Territori palestinesi occupati", + "pt_": "Portogallo", + "pw_": "Palau", + "py_": "Paraguay", + "qa_": "Qatar", + "re_": "Riunione", + "ro_": "Romania", + "rs_": "Serbia", + "ru_": "Russia", + "rw_": "Ruanda", + "sa_": "Arabia Saudita", + "sb_": "Isole Salomone", + "sc_": "Seychelles", + "sd_": "Sudan", + "se_": "Svezia", + "sg_": "Singapore", + "sh_": "Sant'Elena, Ascensione e Tristan Da Cunha", + "si_": "Slovenia", + "sj_": "Svalbard e Jan Mayen", + "sk_": "Slovacchia", + "sl_": "Sierra Leone", + "sm_": "San Marino", + "sn_": "Senegal", + "so_": "Somalia", + "sr_": "Suriname", + "ss_": "Sudan del Sud", + "st_": "Sao Tome e Principe", + "sv_": "El Salvador", + "sy_": "Repubblica Araba Siriana", + "sz_": "Swaziland", + "ta_": "Tristan da Cunha", + "tc_": "Isole Turks e Caicos", + "td_": "Chad", + "tg_": "Andare", + "th_": "Tailandia", + "tj_": "Tagikistan", + "tk_": "Tokelau", + "tl_": "Timor-Leste", + "tm_": "Turkmenistan", + "tn_": "Tunisia", + "to_": "Tonga", + "tr_": "tacchino", + "tt_": "Trinidad e Tobago", + "tv_": "Tuvalu", + "tw_": "Taiwan", + "tz_": "Tanzania, Repubblica Unita di Tanzania", + "ua_": "Ucraina", + "ug_": "Uganda", + "us_": "stati Uniti", + "uy_": "Uruguay", + "uz_": "Uzbekistan", + "va_": "Santa Sede (Stato della Città del Vaticano)", + "vc_": "Saint Vincent e Grenadine", + "ve_": "Venezuela", + "vg_": "Isole Vergini britanniche", + "vi_": "Isole Vergini americane", + "vn_": "Vietnam", + "vu_": "Vanuatu", + "wf_": "Wallis e Futuna", + "ws_": "Samoa", + "ye_": "Yemen", + "yt_": "Mayotte", + "za_": "Sud Africa", + "zm_": "Zambia", + "zw_": "Zimbabwe" +} \ No newline at end of file diff --git a/lib/l10n/nb.arb b/lib/l10n/nb.arb new file mode 100644 index 00000000..a1888147 --- /dev/null +++ b/lib/l10n/nb.arb @@ -0,0 +1,252 @@ +{ + "@@locale": "nb", + "invalidPhoneNumber": "Ugyldig telefonnummer", + "invalidCountry": "Ugyldig land", + "invalidMobilePhoneNumber": "Ugyldig mobilnummer", + "invalidFixedLinePhoneNumber": "Ugyldig fasttelefonnummer", + "requiredPhoneNumber": "Telefonnummer er påkrevd", + "noResultMessage": "Ingen resultater", + "ac_": "Ascension Island", + "ad_": "Andorra", + "ae_": "De forente arabiske emirater", + "af_": "Afghanistan", + "ag_": "Antigua og Barbuda", + "ai_": "Anguilla", + "al_": "Albania", + "am_": "Armenia", + "an_": "Nederlandene Antillene", + "ao_": "Angola", + "aq_": "Antarktis", + "ar_": "Argentina", + "as_": "Amerikansk Samoa", + "at_": "Østerrike", + "au_": "Australia", + "aw_": "Aruba", + "ax_": "Åland", + "az_": "Aserbajdsjan", + "ba_": "Bosnia-Hercegovina", + "bb_": "Barbados", + "bd_": "Bangladesh", + "be_": "Belgia", + "bf_": "Burkina Faso", + "bg_": "Bulgaria", + "bh_": "Bahrain", + "bi_": "Burundi", + "bj_": "Benin", + "bl_": "Saint Barthelemy", + "bm_": "Bermuda", + "bn_": "Brunei Darussalam", + "bo_": "Bolivia, den plurinasjonale staten", + "bq_": "Bonaire", + "br_": "Brasil", + "bs_": "Bahamas", + "bt_": "Bhutan", + "bw_": "Botswana", + "by_": "Hviterussland", + "bz_": "Belize", + "ca_": "Canada", + "cc_": "Kokosøyene (Keelingøyene)", + "cd_": "Den demokratiske republikken Kongo", + "cf_": "Den sentralafrikanske republikken", + "cg_": "Kongo", + "ch_": "Sveits", + "ci_": "Elfenbenskysten", + "ck_": "Cookøyene", + "cl_": "Chile", + "cm_": "Kamerun", + "cn_": "Kina", + "co_": "Colombia", + "cr_": "Costa Rica", + "cu_": "Cuba", + "cv_": "Kapp Verde", + "cx_": "Christmas Island", + "cy_": "Kypros", + "cz_": "Tsjekkia", + "de_": "Tyskland", + "dj_": "Djibouti", + "dk_": "Danmark", + "dm_": "Dominica", + "do_": "Den dominikanske republikken", + "dz_": "Algerie", + "ec_": "Ecuador", + "ee_": "Estland", + "eg_": "Egypt", + "er_": "Eritrea", + "es_": "Spania", + "et_": "Etiopia", + "fi_": "Finland", + "fj_": "Fiji", + "fk_": "Falklandsøyene (Malvinas)", + "fm_": "Mikronesia, de føderale statene i Mikronesia", + "fo_": "Færøyene", + "fr_": "Frankrike", + "ga_": "Gabon", + "gb_": "Storbritannia", + "gd_": "Grenada", + "ge_": "Georgia", + "gf_": "Fransk Guyana", + "gg_": "Guernsey", + "gh_": "Ghana", + "gi_": "Gibraltar", + "gl_": "Grønland", + "gm_": "Gambia", + "gn_": "Guinea", + "gp_": "Guadeloupe", + "gq_": "Ekvatorial-Guinea", + "gr_": "Hellas", + "gs_": "Sør-Georgia og Sør-Sandwichøyene", + "gt_": "Guatemala", + "gu_": "Guam", + "gw_": "Guinea-Bissau", + "gy_": "Guyana", + "hk_": "Hong Kong", + "hn_": "Honduras", + "hr_": "Kroatia", + "ht_": "Haiti", + "hu_": "Ungarn", + "id_": "Indonesia", + "ie_": "Irland", + "il_": "Israel", + "im_": "Isle of Man", + "in_": "India", + "io_": "Det britiske territoriet i Indiahavet", + "iq_": "Irak", + "ir_": "Iran, Den islamske republikken", + "is_": "Island", + "it_": "Italia", + "je_": "Jersey", + "jm_": "Jamaica", + "jo_": "Jordan", + "jp_": "Japan", + "ke_": "Kenya", + "kg_": "Kirgisistan", + "kh_": "Kambodsja", + "ki_": "Kiribati", + "km_": "Komorene", + "kn_": "Saint Kitts og Nevis", + "kp_": "Korea, Den demokratiske folkerepublikken Korea", + "kr_": "Korea, Republikken Sør-Korea", + "kw_": "Kuwait", + "ky_": "Caymanøyene", + "kz_": "Kasakhstan", + "la_": "Laos", + "lb_": "Libanon", + "lc_": "Saint Lucia", + "li_": "Liechtenstein", + "lk_": "Sri Lanka", + "lr_": "Liberia", + "ls_": "Lesotho", + "lt_": "Litauen", + "lu_": "Luxembourg", + "lv_": "Latvia", + "ly_": "Libya", + "ma_": "Marokko", + "mc_": "Monaco", + "md_": "Moldova", + "me_": "Montenegro", + "mf_": "Saint Martin", + "mg_": "Madagaskar", + "mh_": "Marshalløyene", + "mk_": "Makedonia", + "ml_": "Mali", + "mm_": "Myanmar", + "mn_": "Mongolia", + "mo_": "Macao", + "mp_": "Nord-Marianene", + "mq_": "Martinique", + "mr_": "Mauritania", + "ms_": "Montserrat", + "mt_": "Malta", + "mu_": "Mauritius", + "mv_": "Maldivene", + "mw_": "Malawi", + "mx_": "Mexico", + "my_": "Malaysia", + "mz_": "Mosambik", + "na_": "Namibia", + "nc_": "Ny-Caledonia", + "ne_": "Niger", + "nf_": "Norfolk Island", + "ng_": "Nigeria", + "ni_": "Nicaragua", + "nl_": "Nederland", + "no_": "Norge", + "np_": "Nepal", + "nr_": "Nauru", + "nu_": "Niue", + "nz_": "New Zealand", + "om_": "Oman", + "pa_": "Panama", + "pe_": "Peru", + "pf_": "Fransk Polynesia", + "pg_": "Papua Ny-Guinea", + "ph_": "Filippinene", + "pk_": "Pakistan", + "pl_": "Polen", + "pm_": "Saint Pierre og Miquelon", + "pn_": "Pitcairn", + "pr_": "Puerto Rico", + "ps_": "Det palestinske området, okkupert", + "pt_": "Portugal", + "pw_": "Palau", + "py_": "Paraguay", + "qa_": "Qatar", + "re_": "Reunion", + "ro_": "Romania", + "rs_": "Serbia", + "ru_": "Russland", + "rw_": "Rwanda", + "sa_": "Saudi-Arabia", + "sb_": "Salomonøyene", + "sc_": "Seychellene", + "sd_": "Sudan", + "se_": "Sverige", + "sg_": "Singapore", + "si_": "Slovenia", + "sk_": "Slovakia", + "sl_": "Sierra Leone", + "sm_": "San Marino", + "sn_": "Senegal", + "so_": "Somalia", + "sr_": "Surinam", + "ss_": "Sør-Sudan", + "st_": "São Tomé og Príncipe", + "sv_": "El Salvador", + "sy_": "Den syriske arabiske republikken", + "sz_": "Swaziland", + "ta_": "Tristan da Cunha", + "tc_": "Turks- og Caicosøyene", + "td_": "Tsjad", + "tg_": "Togo", + "th_": "Thailand", + "tj_": "Tadsjikistan", + "tk_": "Tokelau", + "tl_": "Øst-Timor", + "tm_": "Turkmenistan", + "tn_": "Tunisia", + "to_": "Tonga", + "tr_": "Türkiye", + "tt_": "Trinidad og Tobago", + "tv_": "Tuvalu", + "tw_": "Taiwan", + "tz_": "Tanzania, Den forente republikken Tanzania", + "ua_": "Ukraina", + "ug_": "Uganda", + "us_": "USA", + "uy_": "Uruguay", + "uz_": "Usbekistan", + "va_": "Vatikanstaten (Hellige stol)", + "vc_": "Saint Vincent og Grenadinene", + "ve_": "Venezuela", + "vg_": "De britiske Jomfruøyene", + "vi_": "De amerikanske Jomfruøyene", + "vn_": "Vietnam", + "vu_": "Vanuatu", + "wf_": "Wallis og Futuna", + "ws_": "Samoa", + "ye_": "Jemen", + "yt_": "Mayotte", + "za_": "Sør-Afrika", + "zm_": "Zambia", + "zw_": "Zimbabwe" +} diff --git a/lib/l10n/nl.arb b/lib/l10n/nl.arb new file mode 100644 index 00000000..6487c001 --- /dev/null +++ b/lib/l10n/nl.arb @@ -0,0 +1,254 @@ +{ + "@@locale": "nl", + "invalidPhoneNumber": "Ongeldig telefoonnummer", + "invalidCountry": "Ongeldig land", + "invalidMobilePhoneNumber": "Ongeldig mobiel nummer", + "invalidFixedLinePhoneNumber": "Ongeldig vast nummer", + "requiredPhoneNumber": "Telefoonnummer vereist", + "noResultMessage": "Geen resultaat", + "ac_": "Hemelvaart Eiland", + "ad_": "Andorra", + "ae_": "Verenigde Arabische Emiraten", + "af_": "Afghanistan", + "ag_": "Antigua en Barbuda", + "ai_": "Anguilla", + "al_": "Albanië", + "am_": "Armenië", + "an_": "Nederlandse Antillen", + "ao_": "Angola", + "aq_": "Antarctica", + "ar_": "Argentinië", + "as_": "Amerikaans Samoa", + "at_": "Oostenrijk", + "au_": "Australië", + "aw_": "Aruba", + "ax_": "Aland-eilanden", + "az_": "Azerbeidzjan", + "ba_": "Bosnië-Herzegovina", + "bb_": "Barbados", + "bd_": "Bangladesh", + "be_": "Belgie", + "bf_": "Burkina Faso", + "bg_": "Bulgarije", + "bh_": "Bahrein", + "bi_": "Burundi", + "bj_": "Benin", + "bl_": "Sint-Bartholomeus", + "bm_": "Bermuda", + "bn_": "Brunei Darussalam", + "bo_": "Bolivia, Plurinationale Staat", + "bq_": "Bonaire", + "br_": "Brazilië", + "bs_": "Bahamas", + "bt_": "Bhutan", + "bw_": "Botswana", + "by_": "Wit-Rusland", + "bz_": "Belize", + "ca_": "Canada", + "cc_": "Cocos (Keeling) eilanden", + "cd_": "Congo, de Democratische Republiek Congo", + "cf_": "Centraal Afrikaanse Republiek", + "cg_": "Congo", + "ch_": "Zwitserland", + "ci_": "Ivoorkust", + "ck_": "Cook Eilanden", + "cl_": "Chili", + "cm_": "Kameroen", + "cn_": "China", + "co_": "Colombia", + "cr_": "Costa Rica", + "cu_": "Cuba", + "cv_": "Kaapverdië", + "cx_": "Kersteiland", + "cy_": "Cyprus", + "cz_": "Tsjechië", + "de_": "Duitsland", + "dj_": "Djibouti", + "dk_": "Denemarken", + "dm_": "Dominica", + "do_": "Dominicaanse Republiek", + "dz_": "Algerije", + "ec_": "Ecuador", + "ee_": "Estland", + "eg_": "Egypte", + "er_": "Eritrea", + "es_": "Spanje", + "et_": "Ethiopië", + "fi_": "Finland", + "fj_": "Fiji", + "fk_": "Falklandeilanden (Malvinas)", + "fm_": "Micronesië, Federale Staten van Micronesië", + "fo_": "Faeröer", + "fr_": "Frankrijk", + "ga_": "Gabon", + "gb_": "Verenigd Koningkrijk", + "gd_": "Grenada", + "ge_": "Georgië", + "gf_": "Frans Guyana", + "gg_": "Guernsey", + "gh_": "Ghana", + "gi_": "Gibraltar", + "gl_": "Groenland", + "gm_": "Gambia", + "gn_": "Guinea", + "gp_": "Guadeloupe", + "gq_": "Equatoriaal-Guinea", + "gr_": "Griekenland", + "gs_": "Zuid-Georgië en de Zuidelijke Sandwicheilanden", + "gt_": "Guatemala", + "gu_": "Guam", + "gw_": "Guinee-Bissau", + "gy_": "Guyana", + "hk_": "Hong Kong", + "hn_": "Honduras", + "hr_": "Kroatië", + "ht_": "Haïti", + "hu_": "Hongarije", + "id_": "Indonesië", + "ie_": "Ierland", + "il_": "Israël", + "im_": "Isle of Man", + "in_": "India", + "io_": "Brits-Indisch oceaan gebied", + "iq_": "Irak", + "ir_": "Iran, Islamitische Republiek Perzische Golf", + "is_": "IJsland", + "it_": "Italië", + "je_": "Jersey", + "jm_": "Jamaica", + "jo_": "Jordanië", + "jp_": "Japan", + "ke_": "Kenia", + "kg_": "Kirgizië", + "kh_": "Cambodja", + "ki_": "Kiribati", + "km_": "Comoren", + "kn_": "Saint Kitts en Nevis", + "kp_": "Korea, Democratische Volksrepubliek Korea", + "kr_": "Korea, Republiek Zuid-Korea", + "kw_": "Koeweit", + "ky_": "Kaaiman Eilanden", + "kz_": "Kazachstan", + "la_": "Laos", + "lb_": "Libanon", + "lc_": "Saint Lucia", + "li_": "Liechtenstein", + "lk_": "Sri Lanka", + "lr_": "Liberia", + "ls_": "Lesotho", + "lt_": "Litouwen", + "lu_": "Luxemburg", + "lv_": "Letland", + "ly_": "Libië", + "ma_": "Marokko", + "mc_": "Monaco", + "md_": "Moldavië", + "me_": "Montenegro", + "mf_": "Sint-Maarten", + "mg_": "Madagascar", + "mh_": "Marshall eilanden", + "mk_": "Macedonië", + "ml_": "Mali", + "mm_": "Myanmar", + "mn_": "Mongolië", + "mo_": "Macao", + "mp_": "noordelijke Mariana eilanden", + "mq_": "Martinique", + "mr_": "Mauritanië", + "ms_": "Montserrat", + "mt_": "Malta", + "mu_": "Mauritius", + "mv_": "Maldiven", + "mw_": "Malawi", + "mx_": "Mexico", + "my_": "Maleisië", + "mz_": "Mozambique", + "na_": "Namibië", + "nc_": "Nieuw-Caledonië", + "ne_": "Niger", + "nf_": "Norfolkeiland", + "ng_": "Nigeria", + "ni_": "Nicaragua", + "nl_": "Nederland", + "no_": "Noorwegen", + "np_": "Nepal", + "nr_": "Nauru", + "nu_": "Niue", + "nz_": "Nieuw-Zeeland", + "om_": "Oman", + "pa_": "Panama", + "pe_": "Peru", + "pf_": "Frans-Polynesië", + "pg_": "Papoea-Nieuw-Guinea", + "ph_": "Filippijnen", + "pk_": "Pakistan", + "pl_": "Polen", + "pm_": "Saint Pierre en Miquelon", + "pn_": "Pitcairn", + "pr_": "Puerto Rico", + "ps_": "Palestijns gebied, bezet", + "pt_": "Portugal", + "pw_": "Palau", + "py_": "Paraguay", + "qa_": "Qatar", + "re_": "Bijeenkomst", + "ro_": "Roemenië", + "rs_": "Servië", + "ru_": "Rusland", + "rw_": "Rwanda", + "sa_": "Saoedi-Arabië", + "sb_": "Solomon eilanden", + "sc_": "Seychellen", + "sd_": "Soedan", + "se_": "Zweden", + "sg_": "Singapore", + "sh_": "Sint-Helena, Ascension en Tristan Da Cunha", + "si_": "Slovenië", + "sj_": "Svalbard en Jan Mayen", + "sk_": "Slowakije", + "sl_": "Sierra Leone", + "sm_": "San Marino", + "sn_": "Senegal", + "so_": "Somalië", + "sr_": "Suriname", + "ss_": "Zuid Soedan", + "st_": "Sao Tomé en Principe", + "sv_": "El Salvador", + "sy_": "Syrische Arabische Republiek", + "sz_": "Swaziland", + "ta_": "Tristan da Cunha", + "tc_": "Turks- en Caicoseilanden", + "td_": "Tsjaad", + "tg_": "Gaan", + "th_": "Thailand", + "tj_": "Tadzjikistan", + "tk_": "Tokelau", + "tl_": "Oost-Timor", + "tm_": "Turkmenistan", + "tn_": "Tunesië", + "to_": "Tonga", + "tr_": "kalkoen", + "tt_": "Trinidad en Tobago", + "tv_": "Tuvalu", + "tw_": "Taiwan", + "tz_": "Tanzania, Verenigde Republiek Tanzania", + "ua_": "Oekraïne", + "ug_": "Oeganda", + "us_": "Verenigde Staten", + "uy_": "Uruguay", + "uz_": "Oezbekistan", + "va_": "Heilige Stoel (Vaticaanstad)", + "vc_": "Saint Vincent en de Grenadines", + "ve_": "Venezuela", + "vg_": "Britse Maagdeneilanden", + "vi_": "Maagdeneilanden, VS", + "vn_": "Vietnam", + "vu_": "Vanuatu", + "wf_": "Wallis en Futuna", + "ws_": "Samoa", + "ye_": "Jemen", + "yt_": "Mayotte", + "za_": "Zuid-Afrika", + "zm_": "Zambia", + "zw_": "Zimbabwe" +} \ No newline at end of file diff --git a/lib/l10n/pt.arb b/lib/l10n/pt.arb new file mode 100644 index 00000000..e7dccb8f --- /dev/null +++ b/lib/l10n/pt.arb @@ -0,0 +1,254 @@ +{ + "@@locale": "pt", + "invalidPhoneNumber": "Número de telefone inválido", + "invalidCountry": "País inválido", + "invalidMobilePhoneNumber": "Número de telefone celular inválido", + "invalidFixedLinePhoneNumber": "Número de telefone fixo inválido", + "requiredPhoneNumber": "Número de telefone obrigatório", + "noResultMessage": "Sem resultado", + "ac_": "Ilha da Ascensão", + "ad_": "Andorra", + "ae_": "Emirados Árabes Unidos", + "af_": "Afeganistão", + "ag_": "Antigua e Barbuda", + "ai_": "Anguilla", + "al_": "Albânia", + "am_": "Armênia", + "an_": "Antilhas Holandesas", + "ao_": "Angola", + "aq_": "Antártica", + "ar_": "Argentina", + "as_": "Samoa Americana", + "at_": "Áustria", + "au_": "Austrália", + "aw_": "Aruba", + "ax_": "Ilhas Aland", + "az_": "Azerbaijão", + "ba_": "Bósnia e Herzegovina", + "bb_": "Barbados", + "bd_": "Bangladesh", + "be_": "Bélgica", + "bf_": "Burkina Faso", + "bg_": "Bulgária", + "bh_": "Bahrain", + "bi_": "Burundi", + "bj_": "Benin", + "bl_": "São Bartolomeu", + "bm_": "Bermudas", + "bn_": "Brunei Darussalam", + "bo_": "Bolívia, Estado Plurinacional de", + "bq_": "Bonaire", + "br_": "Brasil", + "bs_": "Bahamas", + "bt_": "Butão", + "bw_": "Botswana", + "by_": "Bielo-Rússia", + "bz_": "Belize", + "ca_": "Canadá", + "cc_": "Ilhas Cocos (Keeling)", + "cd_": "Congo, República Democrática do Congo", + "cf_": "República Centro-Africana", + "cg_": "Congo", + "ch_": "Suíça", + "ci_": "Costa do Marfim", + "ck_": "Ilhas Cook", + "cl_": "Chile", + "cm_": "Camarões", + "cn_": "China", + "co_": "Colômbia", + "cr_": "Costa Rica", + "cu_": "Cuba", + "cv_": "cabo Verde", + "cx_": "Ilha do Natal", + "cy_": "Chipre", + "cz_": "República Checa", + "de_": "Alemanha", + "dj_": "Djibouti", + "dk_": "Dinamarca", + "dm_": "Dominica", + "do_": "República Dominicana", + "dz_": "Argélia", + "ec_": "Equador", + "ee_": "Estônia", + "eg_": "Egito", + "er_": "Eritreia", + "es_": "Espanha", + "et_": "Etiópia", + "fi_": "Finlândia", + "fj_": "Fiji", + "fk_": "Ilhas Falkland (Malvinas)", + "fm_": "Micronésia, Estados Federados da Micronésia", + "fo_": "ilhas Faroe", + "fr_": "França", + "ga_": "Gabão", + "gb_": "Reino Unido", + "gd_": "Grenada", + "ge_": "Georgia", + "gf_": "Guiana Francesa", + "gg_": "Guernsey", + "gh_": "Gana", + "gi_": "Gibraltar", + "gl_": "Groenlândia", + "gm_": "Gâmbia", + "gn_": "Guiné", + "gp_": "Guadalupe", + "gq_": "Guiné Equatorial", + "gr_": "Grécia", + "gs_": "Geórgia do Sul e Ilhas Sandwich do Sul", + "gt_": "Guatemala", + "gu_": "Guam", + "gw_": "Guinea-bissau", + "gy_": "Guiana", + "hk_": "Hong Kong", + "hn_": "Honduras", + "hr_": "Croácia", + "ht_": "Haiti", + "hu_": "Hungria", + "id_": "Indonésia", + "ie_": "Irlanda", + "il_": "Israel", + "im_": "Ilha de Man", + "in_": "Índia", + "io_": "Território Britânico do Oceano Índico", + "iq_": "Iraque", + "ir_": "Irã, República Islâmica do Golfo Pérsico", + "is_": "Islândia", + "it_": "Itália", + "je_": "Jersey", + "jm_": "Jamaica", + "jo_": "Jordânia", + "jp_": "Japão", + "ke_": "Quênia", + "kg_": "Quirguistão", + "kh_": "Camboja", + "ki_": "Kiribati", + "km_": "Comores", + "kn_": "São Cristóvão e Neves", + "kp_": "Coreia, República Popular Democrática da Coreia", + "kr_": "Coreia, República da Coreia do Sul", + "kw_": "Kuwait", + "ky_": "Ilhas Cayman", + "kz_": "Cazaquistão", + "la_": "Laos", + "lb_": "Líbano", + "lc_": "Santa Lúcia", + "li_": "Liechtenstein", + "lk_": "Sri Lanka", + "lr_": "Libéria", + "ls_": "Lesoto", + "lt_": "Lituânia", + "lu_": "Luxemburgo", + "lv_": "Letônia", + "ly_": "Jamahiriya Árabe da Líbia", + "ma_": "Marrocos", + "mc_": "Mônaco", + "md_": "Moldova", + "me_": "Montenegro", + "mf_": "são Martinho", + "mg_": "Madagáscar", + "mh_": "Ilhas Marshall", + "mk_": "Macedonia", + "ml_": "Mali", + "mm_": "Myanmar", + "mn_": "Mongólia", + "mo_": "Macau", + "mp_": "Ilhas Marianas do Norte", + "mq_": "Martinica", + "mr_": "Mauritânia", + "ms_": "Montserrat", + "mt_": "Malta", + "mu_": "Maurício", + "mv_": "Maldivas", + "mw_": "Malawi", + "mx_": "México", + "my_": "Malásia", + "mz_": "Moçambique", + "na_": "Namibia", + "nc_": "Nova Caledônia", + "ne_": "Níger", + "nf_": "Ilha Norfolk", + "ng_": "Nigéria", + "ni_": "Nicarágua", + "nl_": "Países Baixos", + "no_": "Noruega", + "np_": "Nepal", + "nr_": "Nauru", + "nu_": "Niue", + "nz_": "Nova Zelândia", + "om_": "Omã", + "pa_": "Panamá", + "pe_": "Peru", + "pf_": "Polinésia Francesa", + "pg_": "Papua Nova Guiné", + "ph_": "Filipinas", + "pk_": "Paquistão", + "pl_": "Polônia", + "pm_": "São Pedro e Miquelão", + "pn_": "Pitcairn", + "pr_": "Porto Rico", + "ps_": "Território Palestino, Ocupado", + "pt_": "Portugal", + "pw_": "Palau", + "py_": "Paraguai", + "qa_": "Catar", + "re_": "Reunião", + "ro_": "Romênia", + "rs_": "Sérvia", + "ru_": "Rússia", + "rw_": "Ruanda", + "sa_": "Arábia Saudita", + "sb_": "Ilhas Salomão", + "sc_": "Seychelles", + "sd_": "Sudão", + "se_": "Suécia", + "sg_": "Cingapura", + "sh_": "Santa Helena, Ascensão e Tristão da Cunha", + "si_": "Eslovênia", + "sj_": "Svalbard e Jan Mayen", + "sk_": "Eslováquia", + "sl_": "Serra Leoa", + "sm_": "San Marino", + "sn_": "Senegal", + "so_": "Somália", + "sr_": "Suriname", + "ss_": "Sudão do Sul", + "st_": "São Tomé e Príncipe", + "sv_": "El Salvador", + "sy_": "República Árabe da Síria", + "sz_": "Suazilândia", + "ta_": "Tristan da Cunha", + "tc_": "Ilhas Turcas e Caicos", + "td_": "Chade", + "tg_": "Ir", + "th_": "Tailândia", + "tj_": "Tajiquistão", + "tk_": "Tokelau", + "tl_": "Timor-Leste", + "tm_": "Turcomenistão", + "tn_": "Tunísia", + "to_": "Tonga", + "tr_": "Peru", + "tt_": "Trinidad e Tobago", + "tv_": "Tuvalu", + "tw_": "Taiwan", + "tz_": "Tanzânia, República Unida da Tanzânia", + "ua_": "Ucrânia", + "ug_": "Uganda", + "us_": "Estados Unidos", + "uy_": "Uruguai", + "uz_": "Uzbequistão", + "va_": "Santa Sé (Estado da Cidade do Vaticano)", + "vc_": "São Vicente e Granadinas", + "ve_": "Venezuela", + "vg_": "Ilhas Virgens Britânicas", + "vi_": "Ilhas Virgens, EUA", + "vn_": "Vietnã", + "vu_": "Vanuatu", + "wf_": "Wallis e Futuna", + "ws_": "Samoa", + "ye_": "Iémen", + "yt_": "Mayotte", + "za_": "África do Sul", + "zm_": "Zâmbia", + "zw_": "Zimbábue" +} \ No newline at end of file diff --git a/lib/l10n/ru.arb b/lib/l10n/ru.arb new file mode 100644 index 00000000..061d00b6 --- /dev/null +++ b/lib/l10n/ru.arb @@ -0,0 +1,254 @@ +{ + "@@locale": "ru", + "invalidPhoneNumber": "Неправильный номер телефона", + "invalidCountry": "Неверная страна", + "invalidMobilePhoneNumber": "Неверный номер мобильного телефона", + "invalidFixedLinePhoneNumber": "Недействительный номер стационарного телефона", + "requiredPhoneNumber": "Требуется номер телефона", + "noResultMessage": "Безрезультатно", + "ac_": "Остров Вознесения", + "ad_": "Андорра", + "ae_": "Объединенные Арабские Эмираты", + "af_": "Афганистан", + "ag_": "Антигуа и Барбуда", + "ai_": "Ангилья", + "al_": "Албания", + "am_": "Армения", + "an_": "Нидерландские Антильские острова", + "ao_": "Ангола", + "aq_": "Антарктида", + "ar_": "Аргентина", + "as_": "американское Самоа", + "at_": "Австрия", + "au_": "Австралия", + "aw_": "Аруба", + "ax_": "Аландские острова", + "az_": "Азербайджан", + "ba_": "Босния и Герцеговина", + "bb_": "Барбадос", + "bd_": "Бангладеш", + "be_": "Бельгия", + "bf_": "Буркина-Фасо", + "bg_": "Болгария", + "bh_": "Бахрейн", + "bi_": "Бурунди", + "bj_": "Бенин", + "bl_": "Сен-Бартелеми", + "bm_": "Бермудские острова", + "bn_": "Бруней-Даруссалам", + "bo_": "Боливия, Многонациональное Государство", + "bq_": "Бонайре", + "br_": "Бразилия", + "bs_": "Багамы", + "bt_": "Бутан", + "bw_": "Ботсвана", + "by_": "Беларусь", + "bz_": "Белиз", + "ca_": "Канада", + "cc_": "Кокосовые (Килинг) острова", + "cd_": "Конго, Демократическая Республика Конго", + "cf_": "Центрально-Африканская Республика", + "cg_": "Конго", + "ch_": "Швейцария", + "ci_": "Берег Слоновой Кости", + "ck_": "Острова Кука", + "cl_": "Чили", + "cm_": "Камерун", + "cn_": "Китай", + "co_": "Колумбия", + "cr_": "Коста-Рика", + "cu_": "Куба", + "cv_": "Кабо-Верде", + "cx_": "Остров Рождества", + "cy_": "Кипр", + "cz_": "Республика Чехия", + "de_": "Германия", + "dj_": "Джибути", + "dk_": "Дания", + "dm_": "Доминика", + "do_": "Доминиканская Республика", + "dz_": "Алжир", + "ec_": "Эквадор", + "ee_": "Эстония", + "eg_": "Египет", + "er_": "Эритрея", + "es_": "Испания", + "et_": "Эфиопия", + "fi_": "Финляндия", + "fj_": "Фиджи", + "fk_": "Фолклендские (Мальвинские) острова", + "fm_": "Микронезия, Федеративные Штаты Микронезии", + "fo_": "Фарерские острова", + "fr_": "Франция", + "ga_": "Габон", + "gb_": "Великобритания", + "gd_": "Гренада", + "ge_": "Грузия", + "gf_": "Французская Гвиана", + "gg_": "Гернси", + "gh_": "Гана", + "gi_": "Гибралтар", + "gl_": "Гренландия", + "gm_": "Гамбия", + "gn_": "Гвинея", + "gp_": "Гваделупа", + "gq_": "Экваториальная Гвинея", + "gr_": "Греция", + "gs_": "Южная Георгия и Южные Сандвичевы острова", + "gt_": "Гватемала", + "gu_": "Гуам", + "gw_": "Гвинея-Бисау", + "gy_": "Гайана", + "hk_": "Гонконг", + "hn_": "Гондурас", + "hr_": "Хорватия", + "ht_": "Гаити", + "hu_": "Венгрия", + "id_": "Индонезия", + "ie_": "Ирландия", + "il_": "Израиль", + "im_": "Остров Мэн", + "in_": "Индия", + "io_": "Британская территория Индийского океана", + "iq_": "Ирак", + "ir_": "Иран, Исламская Республика Персидский залив", + "is_": "Исландия", + "it_": "Италия", + "je_": "Джерси", + "jm_": "Ямайка", + "jo_": "Иордания", + "jp_": "Япония", + "ke_": "Кения", + "kg_": "Кыргызстан", + "kh_": "Камбоджа", + "ki_": "Кирибати", + "km_": "Коморские острова", + "kn_": "Сент-Китс и Невис", + "kp_": "Корея, Корейская Народно-Демократическая Республика", + "kr_": "Корея, Республика Южная Корея", + "kw_": "Кувейт", + "ky_": "Каймановы острова", + "kz_": "Казахстан", + "la_": "Лаос", + "lb_": "Ливан", + "lc_": "Санкт-Люсия", + "li_": "Лихтенштейн", + "lk_": "Шри-Ланка", + "lr_": "Либерия", + "ls_": "Лесото", + "lt_": "Литва", + "lu_": "Люксембург", + "lv_": "Латвия", + "ly_": "Ливийская арабская джамахирия", + "ma_": "Марокко", + "mc_": "Монако", + "md_": "Молдова", + "me_": "Черногория", + "mf_": "Сен-Мартен", + "mg_": "Мадагаскар", + "mh_": "Маршалловы острова", + "mk_": "Македония", + "ml_": "Мали", + "mm_": "Мьянма", + "mn_": "Монголия", + "mo_": "Макао", + "mp_": "Северные Марианские острова", + "mq_": "Мартиника", + "mr_": "Мавритания", + "ms_": "Монтсеррат", + "mt_": "Мальта", + "mu_": "Маврикий", + "mv_": "Мальдивы", + "mw_": "Малави", + "mx_": "Мексика", + "my_": "Малайзия", + "mz_": "Мозамбик", + "na_": "Намибия", + "nc_": "Новая Каледония", + "ne_": "Нигер", + "nf_": "Остров Норфолк", + "ng_": "Нигерия", + "ni_": "Никарагуа", + "nl_": "Нидерланды", + "no_": "Норвегия", + "np_": "Непал", + "nr_": "Науру", + "nu_": "Ниуэ", + "nz_": "Новая Зеландия", + "om_": "Оман", + "pa_": "Панама", + "pe_": "Перу", + "pf_": "Французская Полинезия", + "pg_": "Папуа - Новая Гвинея", + "ph_": "Филиппины", + "pk_": "Пакистан", + "pl_": "Польша", + "pm_": "Сен-Пьер и Микелон", + "pn_": "Питкэрн", + "pr_": "Пуэрто-Рико", + "ps_": "Палестинская территория, оккупированная", + "pt_": "Португалия", + "pw_": "Палау", + "py_": "Парагвай", + "qa_": "Катар", + "re_": "Воссоединение", + "ro_": "Румыния", + "rs_": "Сербия", + "ru_": "Россия", + "rw_": "Руанда", + "sa_": "Саудовская Аравия", + "sb_": "Соломоновы острова", + "sc_": "Сейшельские острова", + "sd_": "Судан", + "se_": "Швеция", + "sg_": "Сингапур", + "sh_": "Святой Елены, Вознесения и Тристан-да-Кунья", + "si_": "Словения", + "sj_": "Шпицберген и Ян Майен", + "sk_": "Словакия", + "sl_": "Сьерра-Леоне", + "sm_": "Сан-Марино", + "sn_": "Сенегал", + "so_": "Сомали", + "sr_": "Суринам", + "ss_": "южный Судан", + "st_": "Сан-Томе и Принсипи", + "sv_": "Эль Сальвадор", + "sy_": "Сирийская Арабская Республика", + "sz_": "Свазиленд", + "ta_": "Тристан-да-Кунья", + "tc_": "Острова Теркс и Кайкос", + "td_": "Чад", + "tg_": "Идти", + "th_": "Таиланд", + "tj_": "Таджикистан", + "tk_": "Токелау", + "tl_": "Тимор-Лешти", + "tm_": "Туркменистан", + "tn_": "Тунис", + "to_": "Тонга", + "tr_": "Турция", + "tt_": "Тринидад и Тобаго", + "tv_": "Тувалу", + "tw_": "Тайвань", + "tz_": "Танзания, Объединенная Республика Танзания", + "ua_": "Украина", + "ug_": "Уганда", + "us_": "Соединенные Штаты Америки", + "uy_": "Уругвай", + "uz_": "Узбекистан", + "va_": "Святой Престол (государство-город Ватикан)", + "vc_": "Святой Винсент и Гренадины", + "ve_": "Венесуэла", + "vg_": "Виргинские острова, Британские", + "vi_": "Виргинские острова, США", + "vn_": "Вьетнам", + "vu_": "Вануату", + "wf_": "Уоллис и Футуна", + "ws_": "Самоа", + "ye_": "Йемен", + "yt_": "Майотта", + "za_": "Южная Африка", + "zm_": "Замбия", + "zw_": "Зимбабве" +} diff --git a/lib/l10n/sv.arb b/lib/l10n/sv.arb new file mode 100644 index 00000000..674d2bec --- /dev/null +++ b/lib/l10n/sv.arb @@ -0,0 +1,254 @@ +{ + "@@locale": "sv", + "invalidPhoneNumber": "Ogiltigt telefonnummer", + "invalidCountry": "Ogiltigt land", + "invalidMobilePhoneNumber": "Ogiltigt mobilnummer", + "invalidFixedLinePhoneNumber": "Ogiltigt fast telefonnummer", + "requiredPhoneNumber": "Obligatoriskt telefonnummer", + "noResultMessage": "Inget resultat", + "ac_": "Ascension Island", + "ad_": "Andorra", + "ae_": "Förenade Arabemiraten", + "af_": "Afghanistan", + "ag_": "Antigua och Barbuda", + "ai_": "Anguilla", + "al_": "Albanien", + "am_": "Armenien", + "an_": "Nederländska Antillerna", + "ao_": "Angola", + "aq_": "Antarktis", + "ar_": "Argentina", + "as_": "Amerikanska Samoa", + "at_": "Österrike", + "au_": "Australien", + "aw_": "Aruba", + "ax_": "Åland", + "az_": "Azerbajdzjan", + "ba_": "Bosnien och Hercegovina", + "bb_": "Barbados", + "bd_": "Bangladesh", + "be_": "Belgien", + "bf_": "Burkina Faso", + "bg_": "Bulgarien", + "bh_": "Bahrain", + "bi_": "Burundi", + "bj_": "Benin", + "bl_": "S:t Barthélemy", + "bm_": "Bermuda", + "bn_": "Brunei", + "bo_": "Bolivia", + "bq_": "Bonaire", + "br_": "Brasilien", + "bs_": "Bahamas", + "bt_": "Bhutan", + "bw_": "Botswana", + "by_": "Vitryssland", + "bz_": "Belize", + "ca_": "Kanada", + "cc_": "Kokosöarna", + "cd_": "Kongo-Kinshasa", + "cf_": "Centralafrikanska republiken", + "cg_": "Kongo-Brazzaville", + "ch_": "Schweiz", + "ci_": "Côte d’Ivoire", + "ck_": "Cooköarna", + "cl_": "Chile", + "cm_": "Kamerun", + "cn_": "Kina", + "co_": "Colombia", + "cr_": "Costa Rica", + "cu_": "Kuba", + "cv_": "Kap Verde", + "cx_": "Julön", + "cy_": "Cypern", + "cz_": "Tjeckien", + "de_": "Tyskland", + "dj_": "Djibouti", + "dk_": "Danmark", + "dm_": "Dominica", + "do_": "Dominikanska republiken", + "dz_": "Algeriet", + "ec_": "Ecuador", + "ee_": "Estland", + "eg_": "Egypten", + "er_": "Eritrea", + "es_": "Spanien", + "et_": "Etiopien", + "fi_": "Finland", + "fj_": "Fiji", + "fk_": "Falklandsöarna", + "fm_": "Mikronesien", + "fo_": "Färöarna", + "fr_": "Frankrike", + "ga_": "Gabon", + "gb_": "Storbritannien", + "gd_": "Grenada", + "ge_": "Georgien", + "gf_": "Franska Guyana", + "gg_": "Guernsey", + "gh_": "Ghana", + "gi_": "Gibraltar", + "gl_": "Grönland", + "gm_": "Gambia", + "gn_": "Guinea", + "gp_": "Guadeloupe", + "gq_": "Ekvatorialguinea", + "gr_": "Grekland", + "gs_": "Sydgeorgien och Sydsandwichöarna", + "gt_": "Guatemala", + "gu_": "Guam", + "gw_": "Guinea-Bissau", + "gy_": "Guyana", + "hk_": "Hongkong SAR", + "hn_": "Honduras", + "hr_": "Kroatien", + "ht_": "Haiti", + "hu_": "Ungern", + "id_": "Indonesien", + "ie_": "Irland", + "il_": "Israel", + "im_": "Isle of Man", + "in_": "Indien", + "io_": "Brittiska territoriet i Indiska oceanen", + "iq_": "Irak", + "ir_": "Iran", + "is_": "Island", + "it_": "Italien", + "je_": "Jersey", + "jm_": "Jamaica", + "jo_": "Jordanien", + "jp_": "Japan", + "ke_": "Kenya", + "kg_": "Kirgizistan", + "kh_": "Kambodja", + "ki_": "Kiribati", + "km_": "Komorerna", + "kn_": "S:t Kitts och Nevis", + "kp_": "Nordkorea", + "kr_": "Sydkorea", + "kw_": "Kuwait", + "ky_": "Caymanöarna", + "kz_": "Kazakstan", + "la_": "Laos", + "lb_": "Libanon", + "lc_": "S:t Lucia", + "li_": "Liechtenstein", + "lk_": "Sri Lanka", + "lr_": "Liberia", + "ls_": "Lesotho", + "lt_": "Litauen", + "lu_": "Luxemburg", + "lv_": "Lettland", + "ly_": "Libyen", + "ma_": "Marocko", + "mc_": "Monaco", + "md_": "Moldavien", + "me_": "Montenegro", + "mf_": "Saint-Martin", + "mg_": "Madagaskar", + "mh_": "Marshallöarna", + "mk_": "Nordmakedonien", + "ml_": "Mali", + "mm_": "Myanmar (Burma)", + "mn_": "Mongoliet", + "mo_": "Macao SAR", + "mp_": "Nordmarianerna", + "mq_": "Martinique", + "mr_": "Mauretanien", + "ms_": "Montserrat", + "mt_": "Malta", + "mu_": "Mauritius", + "mv_": "Maldiverna", + "mw_": "Malawi", + "mx_": "Mexiko", + "my_": "Malaysia", + "mz_": "Moçambique", + "na_": "Namibia", + "nc_": "Nya Kaledonien", + "ne_": "Niger", + "nf_": "Norfolkön", + "ng_": "Nigeria", + "ni_": "Nicaragua", + "nl_": "Nederländerna", + "no_": "Norge", + "np_": "Nepal", + "nr_": "Nauru", + "nu_": "Niue", + "nz_": "Nya Zeeland", + "om_": "Oman", + "pa_": "Panama", + "pe_": "Peru", + "pf_": "Franska Polynesien", + "pg_": "Papua Nya Guinea", + "ph_": "Filippinerna", + "pk_": "Pakistan", + "pl_": "Polen", + "pm_": "S:t Pierre och Miquelon", + "pn_": "Pitcairnöarna", + "pr_": "Puerto Rico", + "ps_": "Palestinska territorierna", + "pt_": "Portugal", + "pw_": "Palau", + "py_": "Paraguay", + "qa_": "Qatar", + "re_": "Réunion", + "ro_": "Rumänien", + "rs_": "Serbien", + "ru_": "Ryssland", + "rw_": "Rwanda", + "sa_": "Saudiarabien", + "sb_": "Salomonöarna", + "sc_": "Seychellerna", + "sd_": "Sudan", + "se_": "Sverige", + "sg_": "Singapore", + "sh_": "S:t Helena", + "si_": "Slovenien", + "sj_": "Svalbard och Jan Mayen", + "sk_": "Slovakien", + "sl_": "Sierra Leone", + "sm_": "San Marino", + "sn_": "Senegal", + "so_": "Somalia", + "sr_": "Surinam", + "ss_": "Sydsudan", + "st_": "São Tomé och Príncipe", + "sv_": "El Salvador", + "sy_": "Syrien", + "sz_": "Swaziland", + "ta_": "Tristan da Cunha", + "tc_": "Turks- och Caicosöarna", + "td_": "Tchad", + "tg_": "Togo", + "th_": "Thailand", + "tj_": "Tadzjikistan", + "tk_": "Tokelauöarna", + "tl_": "Östtimor", + "tm_": "Turkmenistan", + "tn_": "Tunisien", + "to_": "Tonga", + "tr_": "Turkiet", + "tt_": "Trinidad och Tobago", + "tv_": "Tuvalu", + "tw_": "Taiwan", + "tz_": "Tanzania", + "ua_": "Ukraina", + "ug_": "Uganda", + "us_": "USA", + "uy_": "Uruguay", + "uz_": "Uzbekistan", + "va_": "Vatikanstaten", + "vc_": "S:t Vincent och Grenadinerna", + "ve_": "Venezuela", + "vg_": "Brittiska Jungfruöarna", + "vi_": "Amerikanska Jungfruöarna", + "vn_": "Vietnam", + "vu_": "Vanuatu", + "wf_": "Wallis- och Futunaöarna", + "ws_": "Samoa", + "ye_": "Jemen", + "yt_": "Mayotte", + "za_": "Sydafrika", + "zm_": "Zambia", + "zw_": "Zimbabwe" +} \ No newline at end of file diff --git a/lib/l10n/tr.arb b/lib/l10n/tr.arb new file mode 100644 index 00000000..dd24adcd --- /dev/null +++ b/lib/l10n/tr.arb @@ -0,0 +1,254 @@ +{ + "@@locale": "tr", + "invalidPhoneNumber": "Geçersiz telefon numarası", + "invalidCountry": "Geçersiz ülke", + "invalidMobilePhoneNumber": "Geçersiz cep telefonu numarası", + "invalidFixedLinePhoneNumber": "Geçersiz sabit hat telefon numarası", + "requiredPhoneNumber": "Telefon numarası gerekli", + "noResultMessage": "Sonuç yok", + "ac_": "Yükselme adası", + "ad_": "Andora", + "ae_": "Birleşik Arap Emirlikleri", + "af_": "Afganistan", + "ag_": "Antigua ve Barbuda", + "ai_": "Anguilla", + "al_": "Arnavutluk", + "am_": "Ermenistan", + "an_": "Hollanda Antilleri", + "ao_": "Angola", + "aq_": "Antarktika", + "ar_": "Arjantin", + "as_": "Amerikan Samoası", + "at_": "Avusturya", + "au_": "Avustralya", + "aw_": "Aruba", + "ax_": "Aland Adaları", + "az_": "Azerbaycan", + "ba_": "Bosna Hersek", + "bb_": "Barbados", + "bd_": "Bangladeş", + "be_": "Belçika", + "bf_": "Burkina Faso", + "bg_": "Bulgaristan", + "bh_": "Bahreyn", + "bi_": "Burundi", + "bj_": "Benin", + "bl_": "Saint Barthelemy", + "bm_": "Bermuda", + "bn_": "Brunei Darussalam", + "bo_": "Bolivya", + "bq_": "Bonaire", + "br_": "Brezilya", + "bs_": "Bahamalar", + "bt_": "Butan", + "bw_": "Botsvana", + "by_": "Belarus", + "bz_": "Belize", + "ca_": "Kanada", + "cc_": "Cocos (Keeling) Adaları", + "cd_": "Kongo Demokratik Cumhuriyeti", + "cf_": "Orta Afrika Cumhuriyeti", + "cg_": "Kongo", + "ch_": "İsviçre", + "ci_": "Fildişi Sahili", + "ck_": "Cook Adaları", + "cl_": "Şili", + "cm_": "Kamerun", + "cn_": "Çin", + "co_": "Kolombiya", + "cr_": "Kosta Rika", + "cu_": "Küba", + "cv_": "Cabo Verde", + "cx_": "Christmas Adası", + "cy_": "Kıbrıs", + "cz_": "Çek Cumhuriyeti", + "de_": "Almanya", + "dj_": "Cibuti", + "dk_": "Danimarka", + "dm_": "Dominika", + "do_": "Dominik Cumhuriyeti", + "dz_": "Cezayir", + "ec_": "Ekvador", + "ee_": "Estonya", + "eg_": "Mısır", + "er_": "Eritre", + "es_": "İspanya", + "et_": "Etiyopya", + "fi_": "Finlandiya", + "fj_": "Fiji", + "fk_": "Falkland (Malvina) Adaları ", + "fm_": "Mikronezya, Mikronezya Federal Devletleri", + "fo_": "Faroe Adaları", + "fr_": "Fransa", + "ga_": "Gabon", + "gb_": "Birleşik Krallık", + "gd_": "Grenada", + "ge_": "Gürcistan", + "gf_": "Fransız Guyanası", + "gg_": "Guernsey", + "gh_": "Gana", + "gi_": "Cebelitarık", + "gl_": "Grönland", + "gm_": "Gambiya", + "gn_": "Gine", + "gp_": "Guadeloupe", + "gq_": "Ekvator Ginesi", + "gr_": "Yunanistan", + "gs_": "Güney Georgia ve Güney Sandwich Adaları", + "gt_": "Guatemala", + "gu_": "Guam", + "gw_": "Gine-Bissau", + "gy_": "Guyana", + "hk_": "Hong Kong", + "hn_": "Honduras", + "hr_": "Hırvatistan", + "ht_": "Haiti", + "hu_": "Macaristan", + "id_": "Endonezya", + "ie_": "İrlanda", + "il_": "İsrail", + "im_": "Man Adası", + "in_": "Hindistan", + "io_": "İngiliz Hint Okyanusu Bölgesi", + "iq_": "Irak", + "ir_": "İran", + "is_": "İzlanda", + "it_": "İtalya", + "je_": "Jersey", + "jm_": "Jamaika", + "jo_": "Ürdün", + "jp_": "Japonya", + "ke_": "Kenya", + "kg_": "Kırgızistan", + "kh_": "Kamboçya", + "ki_": "Kiribati", + "km_": "Komorlar", + "kn_": "Saint Kitts ve Nevis", + "kp_": "Kuzey Kore", + "kr_": "Güney Kore", + "kw_": "Kuveyt", + "ky_": "Cayman Adaları", + "kz_": "Kazakistan", + "la_": "Laos", + "lb_": "Lübnan", + "lc_": "Saint Lucia", + "li_": "Liechtenstein", + "lk_": "Sri Lanka", + "lr_": "Liberya", + "ls_": "Lesoto", + "lt_": "Litvanya", + "lu_": "Lüksemburg", + "lv_": "Letonya", + "ly_": "Libya", + "ma_": "Fas", + "mc_": "Monako", + "md_": "Moldova", + "me_": "Karadağ", + "mf_": "Saint Martin", + "mg_": "Madagaskar", + "mh_": "Marşal Adaları", + "mk_": "Makedonya", + "ml_": "Mali", + "mm_": "Myanmar", + "mn_": "Moğolistan", + "mo_": "Macao", + "mp_": "Kuzey Mariana Adaları", + "mq_": "Martinique", + "mr_": "Mauritania", + "ms_": "Montserrat", + "mt_": "Malta", + "mu_": "Mauritius", + "mv_": "Maldivler", + "mw_": "Malawi", + "mx_": "Meksika", + "my_": "Malezya", + "mz_": "Mozambik", + "na_": "Namibya", + "nc_": "Yeni Kaledonya", + "ne_": "Nijer", + "nf_": "Norfolk Adası", + "ng_": "Nijerya", + "ni_": "Nikaragua", + "nl_": "Hollanda", + "no_": "Norveç", + "np_": "Nepal", + "nr_": "Nauru", + "nu_": "Niue", + "nz_": "Yeni Zelanda", + "om_": "Umman", + "pa_": "Panama", + "pe_": "Peru", + "pf_": "Fransız Polinezyası", + "pg_": "Papua Yeni Gine", + "ph_": "Filipinler", + "pk_": "Pakistan", + "pl_": "Polonya", + "pm_": "Saint Pierre ve Miquelon", + "pn_": "Pitcairn Adaları", + "pr_": "Porto Riko", + "ps_": "İşgal Altındaki Filistin Toprakları", + "pt_": "Portekiz", + "pw_": "Palau", + "py_": "Paraguay", + "qa_": "Katar", + "re_": "Reunion", + "ro_": "Romanya", + "rs_": "Sırbistan", + "ru_": "Rusya", + "rw_": "Ruanda", + "sa_": "Suudi Arabistan", + "sb_": "Solomon Adaları", + "sc_": "Seyşeller", + "sd_": "Sudan", + "se_": "İsveç", + "sg_": "Singapur", + "sh_": "Saint Helena, Ascension ve Tristan da Cunha", + "si_": "Slovenya", + "sj_": "Svalbard ve Jan Mayen", + "sk_": "Slovakya", + "sl_": "Sierra Leone", + "sm_": "San Marino", + "sn_": "Senegal", + "so_": "Somali", + "sr_": "Surinam", + "ss_": "Güney Sudan", + "st_": "Sao Tome ve Principe", + "sv_": "El Salvador", + "sy_": "Suriye", + "sz_": "Esvati̇ni̇", + "ta_": "Tristan da Cunha", + "tc_": "Turks ve Caicos Adaları ", + "td_": "Çad", + "tg_": "Togo", + "th_": "Tayland", + "tj_": "Tacikistan", + "tk_": "Tokelau", + "tl_": "Doğu Timor", + "tm_": "Türkmenistan", + "tn_": "Tunus", + "to_": "Tonga", + "tr_": "Türkiye", + "tt_": "Trinidad ve Tobago", + "tv_": "Tuvalu", + "tw_": "Tayvan", + "tz_": "Tanzanya", + "ua_": "Ukrayna", + "ug_": "Uganda", + "us_": "Amerika Birleşik Devletleri", + "uy_": "Uruguay", + "uz_": "Özbekistan", + "va_": "Vatikan", + "vc_": "Saint Vincent ve Grenadinler", + "ve_": "Venezuela", + "vg_": "Britanya Virjin Adaları", + "vi_": "ABD Virjin Adaları", + "vn_": "Vietnam", + "vu_": "Vanuatu", + "wf_": "Wallis ve Futuna", + "ws_": "Samoa", + "ye_": "Yemen", + "yt_": "Mayotte", + "za_": "Güney Afrika", + "zm_": "Zambia", + "zw_": "Zimbabve" +} \ No newline at end of file diff --git a/lib/l10n/uk.arb b/lib/l10n/uk.arb new file mode 100644 index 00000000..6b8502f5 --- /dev/null +++ b/lib/l10n/uk.arb @@ -0,0 +1,252 @@ +{ + "@@locale": "uk", + "invalidPhoneNumber": "Невірний номер телефону", + "invalidCountry": "Недійсна країна", + "invalidMobilePhoneNumber": "Невірний номер мобільного телефону", + "invalidFixedLinePhoneNumber": "Невірний номер стаціонарного телефону", + "requiredPhoneNumber": "Необхідний номер телефону", + "noResultMessage": "Немає результату", + "ac_": "Острів Вознесіння", + "ad_": "Андорра", + "ae_": "Об'єднані Арабські Емірати", + "af_": "Афганістан", + "ag_": "Антигуа і Барбуда", + "ai_": "Ангілья", + "al_": "Албанія", + "am_": "Вірменія", + "an_": "Нідерландські Антильські острови", + "ao_": "Ангола", + "aq_": "Антарктида", + "ar_": "Аргентина", + "as_": "Американське Самоа", + "at_": "Австрія", + "au_": "Австралія", + "aw_": "Аруба", + "ax_": "Аландські острови", + "az_": "Азербайджан", + "ba_": "Боснія і Герцеговина", + "bb_": "Барбадос", + "bd_": "Бангладеш", + "be_": "Бельгія", + "bf_": "Буркіна-Фасо", + "bg_": "Болгарія", + "bh_": "Бахрейн", + "bi_": "Бурунді", + "bj_": "Бенін", + "bl_": "Сен-Бартелемі", + "bm_": "Бермудські острови", + "bn_": "Бруней-Даруссалам", + "bo_": "Болівія, Багатонаціональна Держава", + "bq_": "Бонайре", + "br_": "Бразилія", + "bs_": "Багамські острови", + "bt_": "Бутан", + "bw_": "Ботсвана", + "by_": "Білорусь", + "bz_": "Беліз", + "ca_": "Канада", + "cc_": "Кокосові (Кілінгові) острови", + "cd_": "Конго, Демократична Республіка Конго", + "cf_": "Центральноафриканська Республіка", + "cg_": "Конго", + "ch_": "Швейцарія", + "ci_": "Кот-д'івуар", + "ck_": "Острови Кука", + "cl_": "Чилі", + "cm_": "Камерун", + "cn_": "Китай", + "co_": "Колумбія", + "cr_": "Коста-Ріка", + "cu_": "Куба", + "cv_": "Кабо-Верде", + "cx_": "Острів Різдва", + "cy_": "Кіпр", + "cz_": "Чеська Республіка", + "de_": "Німеччина", + "dj_": "Джибуті", + "dk_": "Данія", + "dm_": "Домініка", + "do_": "Домініканська Республіка", + "dz_": "Алжир", + "ec_": "Еквадор", + "ee_": "Естонія", + "eg_": "Єгипет", + "er_": "Еритрея", + "es_": "Іспанія", + "et_": "Ефіопія", + "fi_": "Фінляндія", + "fj_": "Фіджі", + "fk_": "Фолклендські (Мальвінські) острови", + "fm_": "Мікронезія, Федеративні Штати Мікронезії", + "fo_": "Фарерські острови", + "fr_": "Франція", + "ga_": "Габон", + "gb_": "Великобританія", + "gd_": "Гренада", + "ge_": "Грузія", + "gf_": "Французька Гвіана", + "gg_": "Гернсі", + "gh_": "Гана", + "gi_": "Гібралтар", + "gl_": "Гренландія", + "gm_": "Гамбія", + "gn_": "Гвінея", + "gp_": "Гваделупа", + "gq_": "Екваторіальна Гвінея", + "gr_": "Греція", + "gs_": "Південна Георгія і Південні Сандвічеві острови", + "gt_": "Гватемала", + "gu_": "Гуам", + "gw_": "Гвінея-Бісау", + "gy_": "Гайана", + "hk_": "Гонконг", + "hn_": "Гондурас", + "hr_": "Хорватія", + "ht_": "Гаїті", + "hu_": "Угорщина", + "id_": "Індонезія", + "ie_": "Ірландія", + "il_": "Ізраїль", + "im_": "Острів Мен", + "in_": "Індія", + "io_": "Британська територія в Індійському океані", + "iq_": "Ірак", + "ir_": "Іран, Ісламська Республіка", + "is_": "Ісландія", + "it_": "Італія", + "je_": "Джерсі", + "jm_": "Ямайка", + "jo_": "Йорданія", + "jp_": "Японія", + "ke_": "Кенія", + "kg_": "Киргизстан", + "kh_": "Камбоджа", + "ki_": "Кірібаті", + "km_": "Коморські острови", + "kn_": "Сент-Кітс і Невіс", + "kp_": "Корея, Корейська Народно-Демократична Республіка", + "kr_": "Корея, Республіка Південна Корея", + "kw_": "Кувейт", + "ky_": "Кайманові острови", + "kz_": "Казахстан", + "la_": "Лаос", + "lb_": "Ліван", + "lc_": "Сент-Люсія", + "li_": "Ліхтенштейн", + "lk_": "Шрі-Ланка", + "lr_": "Ліберія", + "ls_": "Лесото", + "lt_": "Литва", + "lu_": "Люксембург", + "lv_": "Латвія", + "ly_": "Лівійська Арабська Джамахірія", + "ma_": "Марокко", + "mc_": "Монако", + "md_": "Молдова", + "me_": "Чорногорія", + "mf_": "Сен-Мартен", + "mg_": "Мадагаскар", + "mh_": "Маршаллові Острови", + "mk_": "Македонія", + "ml_": "Малі", + "mm_": "М'янма", + "mn_": "Монголія", + "mo_": "Макао", + "mp_": "Північні Маріанські острови", + "mq_": "Мартініка", + "mr_": "Мавританія", + "ms_": "Монтсеррат", + "mt_": "Мальта", + "mu_": "Маврикій", + "mv_": "Мальдіви", + "mw_": "Малаві", + "mx_": "Мексика", + "my_": "Малайзія", + "mz_": "Мозамбік", + "na_": "Намібія", + "nc_": "Нова Каледонія", + "ne_": "Нігер", + "nf_": "Острів Норфолк", + "ng_": "Нігерія", + "ni_": "Нікарагуа", + "nl_": "Нідерланди", + "no_": "Норвегія", + "np_": "Непал", + "nr_": "Науру", + "nu_": "Ніуе", + "nz_": "Нова Зеландія", + "om_": "Оман", + "pa_": "Панама", + "pe_": "Перу", + "pf_": "Французька Полінезія", + "pg_": "Папуа-Нова Гвінея", + "ph_": "Філіппіни", + "pk_": "Пакистан", + "pl_": "Польща", + "pm_": "Сен-П'єр і Мікелон", + "pn_": "Піткерн", + "pr_": "Пуерто-Ріко", + "ps_": "Палестинська територія, окупована", + "pt_": "Португалія", + "pw_": "Палау", + "py_": "Парагвай", + "qa_": "Катар", + "re_": "Реюньйон", + "ro_": "Румунія", + "rs_": "Сербія", + "ru_": "Росія", + "rw_": "Руанда", + "sa_": "Саудівська Аравія", + "sb_": "Соломонові острови", + "sc_": "Сейшельські острови", + "sd_": "Судан", + "se_": "Швеція", + "sg_": "Сінгапур", + "si_": "Словенія", + "sk_": "Словаччина", + "sl_": "Сьєрра-Леоне", + "sm_": "Сан-Марино", + "sn_": "Сенегал", + "so_": "Сомалі", + "sr_": "Суринам", + "ss_": "Південний Судан", + "st_": "Сан-Томе і Принсіпі", + "sv_": "Сальвадор", + "sy_": "Сирійська Арабська Республіка", + "sz_": "Свазіленд", + "ta_": "Трістан-да-Кунья", + "tc_": "Турки і Кайкос", + "td_": "Чад", + "tg_": "Того", + "th_": "Таїланд", + "tj_": "Таджикистан", + "tk_": "Токелау", + "tl_": "Тимор-Лешті", + "tm_": "Туркменістан", + "tn_": "Туніс", + "to_": "Тонга", + "tr_": "Туреччина", + "tt_": "Тринідад і Тобаго", + "tv_": "Тувалу", + "tw_": "Тайвань", + "tz_": "Танзанія, Об'єднана Республіка Танзанія", + "ua_": "Україна", + "ug_": "Уганда", + "us_": "Сполучені Штати Америки", + "uy_": "Уругвай", + "uz_": "Узбекистан", + "va_": "Святий Престол (місто-держава Ватикан)", + "vc_": "Сент-Вінсент і Гренадіни", + "ve_": "Венесуела", + "vg_": "Британські Віргінські острови", + "vi_": "Віргінські острови, США", + "vn_": "В'єтнам", + "vu_": "Вануату", + "wf_": "Уолліс і Футуна", + "ws_": "Самоа", + "ye_": "Ємен", + "yt_": "Майотта", + "za_": "Південна Африка", + "zm_": "Замбія", + "zw_": "Зімбабве" +} \ No newline at end of file diff --git a/lib/l10n/uz.arb b/lib/l10n/uz.arb new file mode 100644 index 00000000..3f3cb817 --- /dev/null +++ b/lib/l10n/uz.arb @@ -0,0 +1,252 @@ +{ + "@@locale": "uz", + "invalidPhoneNumber": "Telefon raqami noto‘g‘ri", + "invalidCountry": "Yaroqsiz mamlakat", + "invalidMobilePhoneNumber": "Telfon raqami noto‘g‘ri", + "invalidFixedLinePhoneNumber": "Ruxsat etilgan telefon raqami yaroqsiz", + "requiredPhoneNumber": "Telfon raqami majburiy", + "noResultMessage": "Ma'lumot topilmadi", + "ac_": "Ascension Island", + "ad_": "Andorra", + "ae_": "BAA", + "af_": "Afg'oniston", + "ag_": "Antigua va Barbuda", + "ai_": "Anguilla", + "al_": "Albaniya", + "am_": "Armeniya", + "an_": "Netherlands Antilles", + "ao_": "Angola", + "aq_": "Antarctica", + "ar_": "Argentina", + "as_": "American Samoa", + "at_": "Austria", + "au_": "Australia", + "aw_": "Aruba", + "ax_": "Aland Islands", + "az_": "Ozarbayjon", + "ba_": "Bosnia and Herzegovina", + "bb_": "Barbados", + "bd_": "Bangladesh", + "be_": "Belgiya", + "bf_": "Burkina Faso", + "bg_": "Bolgariya", + "bh_": "Bahrain", + "bi_": "Burundi", + "bj_": "Benin", + "bl_": "Saint Barthelemy", + "bm_": "Bermuda", + "bn_": "Brunei Darussalam", + "bo_": "Bolivia, Plurinational State of", + "bq_": "Bonaire", + "br_": "Braziliya", + "bs_": "Bahamas", + "bt_": "Bhutan", + "bw_": "Botswana", + "by_": "Belarusiya", + "bz_": "Belize", + "ca_": "Kanada", + "cc_": "Cocos (Keeling) Islands", + "cd_": "Congo, The Democratic Republic of the Congo", + "cf_": "Central African Republic", + "cg_": "Congo", + "ch_": "Shveysariya", + "ci_": "Kot-dʼIvuar Respublikasi", + "ck_": "Kuk orollari", + "cl_": "Chili", + "cm_": "Kamerun", + "cn_": "Xitoy", + "co_": "Kolumbiya", + "cr_": "Kosta-Rika", + "cu_": "Kuba", + "cv_": "Cape Verde", + "cx_": "Christmas Island", + "cy_": "Cyprus", + "cz_": "Czech Republic", + "de_": "Germaniya", + "dj_": "Jibuti", + "dk_": "Denmark", + "dm_": "Dominica", + "do_": "Dominika Respublikasi", + "dz_": "Algeria", + "ec_": "Ekvador", + "ee_": "Estoniya", + "eg_": "Misr", + "er_": "Eritreya", + "es_": "Ispaniya", + "et_": "Efiopiya", + "fi_": "Finlandiya", + "fj_": "Fiji", + "fk_": "Folklend orollari", + "fm_": "Micronesia, Federated States of Micronesia", + "fo_": "Faroe Islands", + "fr_": "Fransiya", + "ga_": "Gabon", + "gb_": "Buyuk Britaniya", + "gd_": "Grenada", + "ge_": "Gurjiston", + "gf_": "Fransiya Gvianasi", + "gg_": "Guernsey", + "gh_": "Ghana", + "gi_": "Gibraltar", + "gl_": "Greenland", + "gm_": "Gambia", + "gn_": "Guinea", + "gp_": "Guadeloupe", + "gq_": "Equatorial Guinea", + "gr_": "Greece", + "gs_": "South Georgia and the South Sandwich Islands", + "gt_": "Guatemala", + "gu_": "Guam", + "gw_": "Guinea-Bissau", + "gy_": "Guyana", + "hk_": "Hong Kong", + "hn_": "Honduras", + "hr_": "Croatia", + "ht_": "Gaiti", + "hu_": "Vengriya", + "id_": "Indoneziya", + "ie_": "Irlandiya oroli", + "il_": "Isroil", + "im_": "Isle of Man", + "in_": "Hindiston", + "io_": "British Indian Ocean Territory", + "iq_": "Iroq", + "ir_": "Iran, Islamic Republic of", + "is_": "Islandiya", + "it_": "Italya", + "je_": "Jersey", + "jm_": "Jamaica", + "jo_": "Jordan", + "jp_": "Yaponiya", + "ke_": "Kenya", + "kg_": "Qirgʻiziston", + "kh_": "Kambodja", + "ki_": "Kiribati", + "km_": "Comoros", + "kn_": "Saint Kitts and Nevis", + "kp_": "Shimoliy Korya", + "kr_": "Janubiy Koreya", + "kw_": "Quvayt", + "ky_": "Cayman Islands", + "kz_": "Qozog'iston", + "la_": "Laos", + "lb_": "Livan", + "lc_": "Saint Lucia", + "li_": "Liechtenstein", + "lk_": "Sri Lanka", + "lr_": "Liberia", + "ls_": "Lesotho", + "lt_": "Litva", + "lu_": "Luksemburg", + "lv_": "Latvia", + "ly_": "Libya", + "ma_": "Morocco", + "mc_": "Monaco", + "md_": "Moldova", + "me_": "Montenegro", + "mf_": "Saint Martin", + "mg_": "Madagascar", + "mh_": "Marshall Islands", + "mk_": "Macedonia", + "ml_": "Mali", + "mm_": "Myanmar", + "mn_": "Mongolia", + "mo_": "Macao", + "mp_": "Northern Mariana Islands", + "mq_": "Martinique", + "mr_": "Mauritania", + "ms_": "Montserrat", + "mt_": "Malta", + "mu_": "Mauritius", + "mv_": "Maldiv", + "mw_": "Malavi", + "mx_": "Meksika", + "my_": "Malaziya", + "mz_": "Mozambik", + "na_": "Namibia", + "nc_": "New Caledonia", + "ne_": "Nigerya", + "nf_": "Norfolk Island", + "ng_": "Nigeria", + "ni_": "Nicaragua", + "nl_": "Netherlands", + "no_": "Norway", + "np_": "Nepal", + "nr_": "Nauru", + "nu_": "Niue", + "nz_": "Yangi zelandiya", + "om_": "Oman", + "pa_": "Panama", + "pe_": "Peru", + "pf_": "French Polynesia", + "pg_": "Papua New Guinea", + "ph_": "Philippines", + "pk_": "Pokiston", + "pl_": "Polsha", + "pm_": "Saint Pierre and Miquelon", + "pn_": "Pitcairn", + "pr_": "Puerto Rico", + "ps_": "Palestinian Territory, Occupied", + "pt_": "Portugaliya", + "pw_": "Palau", + "py_": "Paragvay", + "qa_": "Qatar", + "re_": "Reyunion", + "ro_": "Ruminiya", + "rs_": "Serbia", + "ru_": "Rossiya", + "rw_": "Rwanda", + "sa_": "Saudiya Arabistoni", + "sb_": "Solomon Islands", + "sc_": "Seyshel orollari", + "sd_": "Sudan", + "se_": "Shvetsiya", + "sg_": "Singapur", + "si_": "Slovenia", + "sk_": "Slovakia", + "sl_": "Sierra Leone", + "sm_": "San Marino", + "sn_": "Senegal", + "so_": "Somalia", + "sr_": "Suriname", + "ss_": "South Sudan", + "st_": "Sao Tome and Principe", + "sv_": "El Salvador", + "sy_": "Suriya", + "sz_": "Esvatini Qirolligi", + "ta_": "Tristan da Cunha", + "tc_": "Turks and Caicos Islands", + "td_": "Chad", + "tg_": "Togo", + "th_": "Tailand", + "tj_": "Tojikistan", + "tk_": "Tokelau", + "tl_": "Timor-Leste", + "tm_": "Turkmaniston", + "tn_": "Tunisia", + "to_": "Tonga", + "tr_": "Turkiya", + "tt_": "Trinidad and Tobago", + "tv_": "Tuvalu", + "tw_": "Tayvan", + "tz_": "Tanzania, United Republic of Tanzania", + "ua_": "Ukraina", + "ug_": "Uganda", + "us_": "AQSH", + "uy_": "Urugvay", + "uz_": "O'zbekiston", + "va_": "Holy See (Vatican City State)", + "vc_": "Saint Vincent and the Grenadines", + "ve_": "Venesuela", + "vg_": "Virgin Islands, British", + "vi_": "Virgin Islands, U.S.", + "vn_": "Vetnam", + "vu_": "Vanuatu", + "wf_": "Uollis va Futuna", + "ws_": "Samoa", + "ye_": "Yaman", + "yt_": "Mayotte", + "za_": "JAR", + "zm_": "Zambia", + "zw_": "Zimbabwe" +} \ No newline at end of file diff --git a/lib/l10n/zh.arb b/lib/l10n/zh.arb new file mode 100644 index 00000000..5623433f --- /dev/null +++ b/lib/l10n/zh.arb @@ -0,0 +1,254 @@ +{ + "@@locale": "zh", + "invalidPhoneNumber": "无效的电话号码", + "invalidCountry": "无效国家", + "invalidMobilePhoneNumber": "无效的手机号码", + "invalidFixedLinePhoneNumber": "无效的固定电话号码", + "requiredPhoneNumber": "需要电话号码", + "noResultMessage": "没有结果", + "ac_": "阿森松岛", + "ad_": "安道尔", + "ae_": "阿拉伯联合酋长国", + "af_": "阿富汗", + "ag_": "安提瓜和巴布达", + "ai_": "安圭拉岛", + "al_": "阿尔巴尼亚", + "am_": "亚美尼亚", + "an_": "荷属安的列斯", + "ao_": "安哥拉", + "aq_": "南极洲", + "ar_": "阿根廷", + "as_": "美属萨摩亚", + "at_": "奥地利", + "au_": "澳大利亚", + "aw_": "阿鲁巴岛", + "ax_": "奥兰群岛", + "az_": "阿塞拜疆", + "ba_": "波斯尼亚和黑塞哥维那", + "bb_": "巴巴多斯", + "bd_": "孟加拉国", + "be_": "比利时", + "bf_": "布基纳法索", + "bg_": "保加利亚", + "bh_": "巴林", + "bi_": "布隆迪", + "bj_": "贝宁", + "bl_": "圣巴托洛缪岛", + "bm_": "百慕大", + "bn_": "文莱达鲁萨兰国", + "bo_": "玻利维亚多民族国", + "bq_": "博内尔岛", + "br_": "巴西", + "bs_": "巴哈马", + "bt_": "不丹", + "bw_": "博茨瓦纳", + "by_": "白俄罗斯", + "bz_": "伯利兹", + "ca_": "加拿大", + "cc_": "科科斯(基林)群岛", + "cd_": "刚果民主共和国", + "cf_": "中非共和国", + "cg_": "刚果", + "ch_": "瑞士", + "ci_": "科特迪瓦", + "ck_": "库克群岛", + "cl_": "智利", + "cm_": "喀麦隆", + "cn_": "中国", + "co_": "哥伦比亚", + "cr_": "哥斯达黎加", + "cu_": "古巴", + "cv_": "佛得角", + "cx_": "圣诞岛", + "cy_": "塞浦路斯", + "cz_": "捷克共和国", + "de_": "德国", + "dj_": "吉布地", + "dk_": "丹麦", + "dm_": "多米尼加", + "do_": "多明尼加共和国", + "dz_": "阿尔及利亚", + "ec_": "厄瓜多尔", + "ee_": "爱沙尼亚", + "eg_": "埃及", + "er_": "厄立特里亚", + "es_": "西班牙", + "et_": "埃塞俄比亚", + "fi_": "芬兰", + "fj_": "斐济", + "fk_": "福克兰群岛(马尔维纳斯)", + "fm_": "密克罗尼西亚,密克罗尼西亚联邦", + "fo_": "法罗群岛", + "fr_": "法国", + "ga_": "加蓬", + "gb_": "英国", + "gd_": "格林纳达", + "ge_": "乔治亚州", + "gf_": "法属圭亚那", + "gg_": "根西岛", + "gh_": "加纳", + "gi_": "直布罗陀", + "gl_": "格陵兰", + "gm_": "冈比亚", + "gn_": "几内亚", + "gp_": "瓜德罗普岛", + "gq_": "赤道几内亚", + "gr_": "希腊", + "gs_": "南乔治亚岛和南桑威奇群岛", + "gt_": "危地马拉", + "gu_": "关岛", + "gw_": "几内亚比绍", + "gy_": "圭亚那", + "hk_": "香港", + "hn_": "洪都拉斯", + "hr_": "克罗地亚", + "ht_": "海地", + "hu_": "匈牙利", + "id_": "印度尼西亚", + "ie_": "爱尔兰", + "il_": "以色列", + "im_": "马恩岛", + "in_": "印度", + "io_": "英属印度洋领地", + "iq_": "伊拉克", + "ir_": "伊朗,波斯湾伊斯兰共和国", + "is_": "冰岛", + "it_": "意大利", + "je_": "球衣", + "jm_": "的牙买加", + "jo_": "约旦", + "jp_": "日本", + "ke_": "肯尼亚", + "kg_": "吉尔吉斯斯坦", + "kh_": "柬埔寨", + "ki_": "基里巴斯", + "km_": "科摩罗", + "kn_": "圣基茨和尼维斯", + "kp_": "韩国,朝鲜民主主义人民共和国", + "kr_": "大韩民国", + "kw_": "科威特", + "ky_": "开曼群岛", + "kz_": "哈萨克斯坦", + "la_": "老挝", + "lb_": "黎巴嫩的", + "lc_": "圣卢西亚", + "li_": "列支敦士登", + "lk_": "斯里兰卡", + "lr_": "利比里亚", + "ls_": "莱索托", + "lt_": "立陶宛", + "lu_": "卢森堡", + "lv_": "拉脱维亚", + "ly_": "阿拉伯利比亚民众国", + "ma_": "摩洛哥", + "mc_": "摩纳哥", + "md_": "摩尔多瓦", + "me_": "黑山共和国", + "mf_": "圣马丁", + "mg_": "马达加斯加", + "mh_": "马绍尔群岛", + "mk_": "马其顿", + "ml_": "马里", + "mm_": "缅甸", + "mn_": "蒙古", + "mo_": "澳门", + "mp_": "北马里亚纳群岛", + "mq_": "马提尼克岛", + "mr_": "毛里塔尼亚", + "ms_": "蒙特塞拉特", + "mt_": "马耳他", + "mu_": "毛里求斯", + "mv_": "马尔代夫", + "mw_": "马拉维", + "mx_": "墨西哥", + "my_": "马来西亚", + "mz_": "莫桑比克", + "na_": "纳米比亚", + "nc_": "新喀里多尼亚", + "ne_": "尼日尔", + "nf_": "诺福克岛", + "ng_": "奈及利亚", + "ni_": "尼加拉瓜", + "nl_": "荷兰", + "no_": "挪威", + "np_": "尼尼泊尔", + "nr_": "瑙鲁", + "nu_": "纽埃", + "nz_": "新西兰", + "om_": "阿曼", + "pa_": "巴拿马", + "pe_": "秘鲁", + "pf_": "法属波利尼西亚", + "pg_": "巴布亚新几内亚", + "ph_": "菲律宾", + "pk_": "巴基斯坦", + "pl_": "波兰", + "pm_": "圣皮埃尔和密克隆群岛", + "pn_": "皮特凯恩", + "pr_": "波多黎各", + "ps_": "被占领的巴勒斯坦领土", + "pt_": "葡萄牙", + "pw_": "u琉", + "py_": "巴拉圭", + "qa_": "卡塔尔", + "re_": "团圆", + "ro_": "罗马尼亚", + "rs_": "塞尔维亚", + "ru_": "俄罗斯", + "rw_": "卢旺达", + "sa_": "沙特阿拉伯", + "sb_": "所罗门群岛", + "sc_": "塞舌尔", + "sd_": "苏丹", + "se_": "瑞典", + "sg_": "新加坡", + "sh_": "圣海伦娜,升天和特里斯坦·达库纳", + "si_": "斯洛文尼亚", + "sj_": "斯瓦尔巴和扬·马延", + "sk_": "斯洛伐克", + "sl_": "塞拉利昂", + "sm_": "圣马力诺", + "sn_": "塞内加尔", + "so_": "索马里", + "sr_": "苏里南", + "ss_": "南苏丹", + "st_": "圣多美和普林西比", + "sv_": "萨尔瓦多", + "sy_": "阿拉伯叙利亚共和国", + "sz_": "斯威士兰", + "ta_": "特里斯坦达库尼亚", + "tc_": "特克斯和凯科斯群岛", + "td_": "乍得", + "tg_": "多哥", + "th_": "泰国", + "tj_": "塔吉克斯坦", + "tk_": "托克劳", + "tl_": "东帝汶", + "tm_": "土库曼斯坦", + "tn_": "突尼斯", + "to_": "汤加", + "tr_": "火鸡", + "tt_": "特立尼达和多巴哥", + "tv_": "图瓦卢", + "tw_": "台湾", + "tz_": "坦桑尼亚联合共和国坦桑尼亚", + "ua_": "乌克兰", + "ug_": "乌干达", + "us_": "美国", + "uy_": "乌拉圭", + "uz_": "乌兹别克斯坦", + "va_": "罗马教廷(梵蒂冈城国)", + "vc_": "圣文森特和格林纳丁斯", + "ve_": "委内瑞拉", + "vg_": "英属维尔京群岛", + "vi_": "美国维尔京群岛", + "vn_": "越南", + "vu_": "瓦努阿图", + "wf_": "瓦利斯和富图纳群岛", + "ws_": "萨摩亚", + "ye_": "也门", + "yt_": "马约特岛", + "za_": "南非", + "zm_": "赞比亚", + "zw_": "津巴布韦" +} \ No newline at end of file diff --git a/lib/phone_form_field.dart b/lib/phone_form_field.dart index 3316582f..d685b512 100644 --- a/lib/phone_form_field.dart +++ b/lib/phone_form_field.dart @@ -1,11 +1,17 @@ library phone_number_input; -export 'src/phone_form_field.dart'; -export 'src/country_selector_navigator.dart'; -export 'src/country_button.dart'; +export 'src/widgets/phone_form_field.dart'; +export 'src/widgets/country_selector/country_selector_navigator.dart'; +export 'src/widgets/country_selector/country_selector.dart'; +export 'src/widgets/country_code_chip.dart'; export 'src/validation/phone_validator.dart'; -export 'src/localization/localization.dart'; + +export 'l10n/generated/phone_field_localization.dart'; + +export 'src/controllers/phone_controller.dart'; +export 'src/widgets/country_selector/country.dart'; +export 'src/widgets/country_selector/localized_country_registry.dart'; export 'package:phone_numbers_parser/phone_numbers_parser.dart' show PhoneNumber, PhoneNumberType, IsoCode; diff --git a/lib/src/validation/allowed_characters.dart b/lib/src/constants/patterns.dart similarity index 90% rename from lib/src/validation/allowed_characters.dart rename to lib/src/constants/patterns.dart index 78871b29..fa0833a0 100644 --- a/lib/src/validation/allowed_characters.dart +++ b/lib/src/constants/patterns.dart @@ -1,4 +1,4 @@ -class AllowedCharacters { +class Patterns { /// accepted punctuation within a phone number static const String punctuation = r' ()\[\]\-\.\/\\'; static const String plus = r'\++'; diff --git a/lib/src/controllers/phone_controller.dart b/lib/src/controllers/phone_controller.dart new file mode 100644 index 00000000..94c95ecc --- /dev/null +++ b/lib/src/controllers/phone_controller.dart @@ -0,0 +1,28 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; +import 'package:phone_form_field/phone_form_field.dart'; + +class PhoneController extends ValueNotifier { + final PhoneNumber? initialValue; + // when we want to select the national number + final StreamController _selectionRequestController = + StreamController.broadcast(); + Stream get selectionRequestStream => _selectionRequestController.stream; + + PhoneController(this.initialValue) : super(initialValue); + + selectNationalNumber() { + _selectionRequestController.add(null); + } + + reset() { + value = null; + } + + @override + void dispose() { + _selectionRequestController.close(); + super.dispose(); + } +} diff --git a/lib/src/controllers/phone_field_controller.dart b/lib/src/controllers/phone_field_controller.dart new file mode 100644 index 00000000..7ef9e85c --- /dev/null +++ b/lib/src/controllers/phone_field_controller.dart @@ -0,0 +1,64 @@ +import 'package:flutter/material.dart'; +import 'package:phone_form_field/phone_form_field.dart'; + +class PhoneFieldController extends ChangeNotifier { + late final ValueNotifier isoCodeController; + late final TextEditingController nationalNumberController; + + /// focus node of the national number + final FocusNode focusNode; + + IsoCode get isoCode => isoCodeController.value; + String? get national => nationalNumberController.text; + + set isoCode(IsoCode isoCode) => isoCodeController.value = isoCode; + + set national(String? national) { + national = national ?? ''; + final currentSelectionOffset = + nationalNumberController.selection.extentOffset; + final isCursorAtEnd = + currentSelectionOffset == nationalNumberController.text.length; + var offset = national.length; + + if (isCursorAtEnd) { + offset = national.length; + } else if (currentSelectionOffset <= national.length) { + offset = currentSelectionOffset; + } + // when the cursor is at the end we need to preserve that + // since there is formatting going on we need to explicitely do it + nationalNumberController.value = TextEditingValue( + text: national, + selection: TextSelection.fromPosition( + TextPosition(offset: offset), + ), + ); + } + + PhoneFieldController({ + required String? national, + required IsoCode isoCode, + required this.focusNode, + }) { + isoCodeController = ValueNotifier(isoCode); + nationalNumberController = TextEditingController(text: national); + isoCodeController.addListener(notifyListeners); + nationalNumberController.addListener(notifyListeners); + } + + selectNationalNumber() { + nationalNumberController.selection = TextSelection( + baseOffset: 0, + extentOffset: nationalNumberController.value.text.length, + ); + focusNode.requestFocus(); + } + + @override + void dispose() { + isoCodeController.dispose(); + nationalNumberController.dispose(); + super.dispose(); + } +} diff --git a/lib/src/country/country_button.dart b/lib/src/country/country_button.dart deleted file mode 100644 index dcc5286c..00000000 --- a/lib/src/country/country_button.dart +++ /dev/null @@ -1,80 +0,0 @@ -import 'package:circle_flags/circle_flags.dart'; -import 'package:flutter/material.dart'; -import 'package:phone_numbers_parser/phone_numbers_parser.dart'; - -import 'localized_country.dart'; - -@Deprecated('Use [CountryButton] instead') -typedef CountryChip = CountryButton; - -class CountryButton extends StatelessWidget { - final Function()? onTap; - final IsoCode isoCode; - final bool showFlag; - final bool showDialCode; - final TextStyle? textStyle; - final EdgeInsets padding; - final double flagSize; - final TextDirection? textDirection; - final bool showIsoCode; - final bool enabled; - - const CountryButton({ - super.key, - required this.isoCode, - required this.onTap, - this.textStyle, - this.showFlag = true, - this.showDialCode = true, - this.padding = const EdgeInsets.fromLTRB(12, 16, 4, 16), - this.flagSize = 20, - this.textDirection, - this.showIsoCode = false, - this.enabled = true, - }); - - @override - Widget build(BuildContext context) { - final textStyle = this.textStyle ?? - Theme.of(context).textTheme.labelMedium ?? - const TextStyle(); - final country = LocalizedCountry.fromContext(context, isoCode); - return InkWell( - onTap: onTap, - child: Padding( - padding: padding, - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - if (showIsoCode) ...[ - Text( - country.isoCode.name, - style: textStyle.copyWith( - color: enabled ? null : Theme.of(context).disabledColor, - ), - ), - const SizedBox(width: 8), - ], - if (showFlag) ...[ - CircleFlag( - country.isoCode.name, - size: flagSize, - ), - const SizedBox(width: 8), - ], - if (showDialCode) ...[ - Text( - country.formattedCountryDialingCode, - style: textStyle.copyWith( - color: enabled ? null : Theme.of(context).disabledColor, - ), - textDirection: textDirection, - ), - ], - const Icon(Icons.arrow_drop_down), - ], - ), - ), - ); - } -} diff --git a/lib/src/country_button.dart b/lib/src/country_button.dart deleted file mode 100644 index 6b6da824..00000000 --- a/lib/src/country_button.dart +++ /dev/null @@ -1,86 +0,0 @@ -import 'package:circle_flags/circle_flags.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_country_selector/flutter_country_selector.dart'; -import 'package:phone_form_field/phone_form_field.dart'; - -@Deprecated('Use [CountryButton] instead') -typedef CountryChip = CountryButton; - -class CountryButton extends StatelessWidget { - final Function()? onTap; - final IsoCode isoCode; - final bool showFlag; - final bool showDialCode; - final TextStyle? textStyle; - final EdgeInsets padding; - final double flagSize; - final TextDirection? textDirection; - final bool showIsoCode; - final bool enabled; - - const CountryButton({ - super.key, - required this.isoCode, - required this.onTap, - this.textStyle, - this.showFlag = true, - this.showDialCode = true, - this.padding = const EdgeInsets.fromLTRB(12, 16, 4, 16), - this.flagSize = 20, - this.textDirection, - this.showIsoCode = false, - this.enabled = true, - }); - - @override - Widget build(BuildContext context) { - final textStyle = this.textStyle ?? - Theme.of(context).textTheme.labelMedium ?? - const TextStyle(); - final countryLocalization = CountrySelectorLocalization.of(context) ?? - CountrySelectorLocalizationEn(); - final localization = PhoneFieldLocalization.of(context); - final countryName = countryLocalization.countryName(isoCode); - final countryDialCode = '+ ${countryLocalization.countryDialCode(isoCode)}'; - return Semantics( - label: localization.tapToSelectACountry(countryName, countryDialCode), - child: InkWell( - onTap: onTap, - child: Padding( - padding: padding, - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - if (showIsoCode) ...[ - Text( - isoCode.name, - style: textStyle.copyWith( - color: enabled ? null : Theme.of(context).disabledColor, - ), - ), - const SizedBox(width: 8), - ], - if (showFlag) ...[ - CircleFlag( - isoCode.name, - size: flagSize, - ), - const SizedBox(width: 8), - ], - if (showDialCode) ...[ - Text( - countryDialCode, - style: textStyle.copyWith( - color: enabled ? null : Theme.of(context).disabledColor, - ), - textDirection: textDirection, - ), - ], - const Icon(Icons.arrow_drop_down), - ], - ), - ), - ), - ); - } -} diff --git a/lib/src/localization/generated/phone_field_localization_impl.dart b/lib/src/localization/generated/phone_field_localization_impl.dart deleted file mode 100644 index 006cc07a..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl.dart +++ /dev/null @@ -1,267 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/widgets.dart'; -import 'package:flutter_localizations/flutter_localizations.dart'; -import 'package:intl/intl.dart' as intl; - -import 'phone_field_localization_impl_ar.dart'; -import 'phone_field_localization_impl_ckb.dart'; -import 'phone_field_localization_impl_de.dart'; -import 'phone_field_localization_impl_el.dart'; -import 'phone_field_localization_impl_en.dart'; -import 'phone_field_localization_impl_es.dart'; -import 'phone_field_localization_impl_fa.dart'; -import 'phone_field_localization_impl_fr.dart'; -import 'phone_field_localization_impl_hi.dart'; -import 'phone_field_localization_impl_it.dart'; -import 'phone_field_localization_impl_ku.dart'; -import 'phone_field_localization_impl_nb.dart'; -import 'phone_field_localization_impl_nl.dart'; -import 'phone_field_localization_impl_pt.dart'; -import 'phone_field_localization_impl_ru.dart'; -import 'phone_field_localization_impl_sv.dart'; -import 'phone_field_localization_impl_tr.dart'; -import 'phone_field_localization_impl_uk.dart'; -import 'phone_field_localization_impl_uz.dart'; -import 'phone_field_localization_impl_zh.dart'; - -/// Callers can lookup localized strings with an instance of PhoneFieldLocalizationImpl -/// returned by `PhoneFieldLocalizationImpl.of(context)`. -/// -/// Applications need to include `PhoneFieldLocalizationImpl.delegate()` in their app's -/// `localizationDelegates` list, and the locales they support in the app's -/// `supportedLocales` list. For example: -/// -/// ```dart -/// import 'generated/phone_field_localization_impl.dart'; -/// -/// return MaterialApp( -/// localizationsDelegates: PhoneFieldLocalizationImpl.localizationsDelegates, -/// supportedLocales: PhoneFieldLocalizationImpl.supportedLocales, -/// home: MyApplicationHome(), -/// ); -/// ``` -/// -/// ## Update pubspec.yaml -/// -/// Please make sure to update your pubspec.yaml to include the following -/// packages: -/// -/// ```yaml -/// dependencies: -/// # Internationalization support. -/// flutter_localizations: -/// sdk: flutter -/// intl: any # Use the pinned version from flutter_localizations -/// -/// # Rest of dependencies -/// ``` -/// -/// ## iOS Applications -/// -/// iOS applications define key application metadata, including supported -/// locales, in an Info.plist file that is built into the application bundle. -/// To configure the locales supported by your app, you’ll need to edit this -/// file. -/// -/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file. -/// Then, in the Project Navigator, open the Info.plist file under the Runner -/// project’s Runner folder. -/// -/// Next, select the Information Property List item, select Add Item from the -/// Editor menu, then select Localizations from the pop-up menu. -/// -/// Select and expand the newly-created Localizations item then, for each -/// locale your application supports, add a new item and select the locale -/// you wish to add from the pop-up menu in the Value field. This list should -/// be consistent with the languages listed in the PhoneFieldLocalizationImpl.supportedLocales -/// property. -abstract class PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImpl(String locale) - : localeName = intl.Intl.canonicalizedLocale(locale.toString()); - - final String localeName; - - static PhoneFieldLocalizationImpl? of(BuildContext context) { - return Localizations.of( - context, PhoneFieldLocalizationImpl); - } - - static const LocalizationsDelegate delegate = - _PhoneFieldLocalizationImplDelegate(); - - /// A list of this localizations delegate along with the default localizations - /// delegates. - /// - /// Returns a list of localizations delegates containing this delegate along with - /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, - /// and GlobalWidgetsLocalizations.delegate. - /// - /// Additional delegates can be added by appending to this list in - /// MaterialApp. This list does not have to be used at all if a custom list - /// of delegates is preferred or required. - static const List> localizationsDelegates = - >[ - delegate, - GlobalMaterialLocalizations.delegate, - GlobalCupertinoLocalizations.delegate, - GlobalWidgetsLocalizations.delegate, - ]; - - /// A list of this localizations delegate's supported locales. - static const List supportedLocales = [ - Locale('ar'), - Locale('ckb'), - Locale('de'), - Locale('el'), - Locale('en'), - Locale('es'), - Locale('fa'), - Locale('fr'), - Locale('hi'), - Locale('it'), - Locale('ku'), - Locale('nb'), - Locale('nl'), - Locale('pt'), - Locale('ru'), - Locale('sv'), - Locale('tr'), - Locale('uk'), - Locale('uz'), - Locale('zh') - ]; - - /// No description provided for @invalidPhoneNumber. - /// - /// In en, this message translates to: - /// **'Invalid phone number'** - String get invalidPhoneNumber; - - /// No description provided for @invalidCountry. - /// - /// In en, this message translates to: - /// **'Invalid country'** - String get invalidCountry; - - /// No description provided for @invalidMobilePhoneNumber. - /// - /// In en, this message translates to: - /// **'Invalid mobile phone number'** - String get invalidMobilePhoneNumber; - - /// No description provided for @invalidFixedLinePhoneNumber. - /// - /// In en, this message translates to: - /// **'Invalid fixed line phone number'** - String get invalidFixedLinePhoneNumber; - - /// No description provided for @requiredPhoneNumber. - /// - /// In en, this message translates to: - /// **'Required phone number'** - String get requiredPhoneNumber; - - /// semantic description of the country button - /// - /// In en, this message translates to: - /// **'Tap to select a country. Current selection: {countryName} {countryDialCode}'** - String tapToSelectACountry(String countryName, String countryDialCode); - - /// No description provided for @enterPhoneNumber. - /// - /// In en, this message translates to: - /// **'Enter your phone number'** - String get enterPhoneNumber; -} - -class _PhoneFieldLocalizationImplDelegate - extends LocalizationsDelegate { - const _PhoneFieldLocalizationImplDelegate(); - - @override - Future load(Locale locale) { - return SynchronousFuture( - lookupPhoneFieldLocalizationImpl(locale)); - } - - @override - bool isSupported(Locale locale) => [ - 'ar', - 'ckb', - 'de', - 'el', - 'en', - 'es', - 'fa', - 'fr', - 'hi', - 'it', - 'ku', - 'nb', - 'nl', - 'pt', - 'ru', - 'sv', - 'tr', - 'uk', - 'uz', - 'zh' - ].contains(locale.languageCode); - - @override - bool shouldReload(_PhoneFieldLocalizationImplDelegate old) => false; -} - -PhoneFieldLocalizationImpl lookupPhoneFieldLocalizationImpl(Locale locale) { - // Lookup logic when only language code is specified. - switch (locale.languageCode) { - case 'ar': - return PhoneFieldLocalizationImplAr(); - case 'ckb': - return PhoneFieldLocalizationImplCkb(); - case 'de': - return PhoneFieldLocalizationImplDe(); - case 'el': - return PhoneFieldLocalizationImplEl(); - case 'en': - return PhoneFieldLocalizationImplEn(); - case 'es': - return PhoneFieldLocalizationImplEs(); - case 'fa': - return PhoneFieldLocalizationImplFa(); - case 'fr': - return PhoneFieldLocalizationImplFr(); - case 'hi': - return PhoneFieldLocalizationImplHi(); - case 'it': - return PhoneFieldLocalizationImplIt(); - case 'ku': - return PhoneFieldLocalizationImplKu(); - case 'nb': - return PhoneFieldLocalizationImplNb(); - case 'nl': - return PhoneFieldLocalizationImplNl(); - case 'pt': - return PhoneFieldLocalizationImplPt(); - case 'ru': - return PhoneFieldLocalizationImplRu(); - case 'sv': - return PhoneFieldLocalizationImplSv(); - case 'tr': - return PhoneFieldLocalizationImplTr(); - case 'uk': - return PhoneFieldLocalizationImplUk(); - case 'uz': - return PhoneFieldLocalizationImplUz(); - case 'zh': - return PhoneFieldLocalizationImplZh(); - } - - throw FlutterError( - 'PhoneFieldLocalizationImpl.delegate failed to load unsupported locale "$locale". This is likely ' - 'an issue with the localizations generation tool. Please file an issue ' - 'on GitHub with a reproducible sample app and the gen-l10n configuration ' - 'that was used.'); -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_ar.dart b/lib/src/localization/generated/phone_field_localization_impl_ar.dart deleted file mode 100644 index a63202c9..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_ar.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Arabic (`ar`). -class PhoneFieldLocalizationImplAr extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplAr([String locale = 'ar']) : super(locale); - - @override - String get invalidPhoneNumber => 'رقم الهاتف غير صحيح'; - - @override - String get invalidCountry => 'دولة غير صحيح'; - - @override - String get invalidMobilePhoneNumber => 'رقم الهاتف الخلوي غير صحيح'; - - @override - String get invalidFixedLinePhoneNumber => 'رقم الهاتف الثابت غير صحيح'; - - @override - String get requiredPhoneNumber => 'رقم الهاتف مطلوب'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_ckb.dart b/lib/src/localization/generated/phone_field_localization_impl_ckb.dart deleted file mode 100644 index bf8f4183..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_ckb.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Central Kurdish (`ckb`). -class PhoneFieldLocalizationImplCkb extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplCkb([String locale = 'ckb']) : super(locale); - - @override - String get invalidPhoneNumber => 'ژمارەی تەلەفۆنی نادروست'; - - @override - String get invalidCountry => 'وڵاتێکی نادروست'; - - @override - String get invalidMobilePhoneNumber => 'ژمارەی مۆبایل نادروستە'; - - @override - String get invalidFixedLinePhoneNumber => - 'ژمارەی تەلەفۆنی هێڵی جێگیر نادروستە'; - - @override - String get requiredPhoneNumber => 'ژمارەی تەلەفۆنی پێویست'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_de.dart b/lib/src/localization/generated/phone_field_localization_impl_de.dart deleted file mode 100644 index ab7fdfc3..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_de.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for German (`de`). -class PhoneFieldLocalizationImplDe extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplDe([String locale = 'de']) : super(locale); - - @override - String get invalidPhoneNumber => 'Ungültige Telefonnummer'; - - @override - String get invalidCountry => 'Ungültiges Land'; - - @override - String get invalidMobilePhoneNumber => 'Ungültige Handynummer'; - - @override - String get invalidFixedLinePhoneNumber => 'Ungültige Festnetznummer'; - - @override - String get requiredPhoneNumber => 'Telefonnummer erforderlich'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_el.dart b/lib/src/localization/generated/phone_field_localization_impl_el.dart deleted file mode 100644 index 824e88dc..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_el.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Modern Greek (`el`). -class PhoneFieldLocalizationImplEl extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplEl([String locale = 'el']) : super(locale); - - @override - String get invalidPhoneNumber => 'Μη έγκυρος αριθμός τηλεφώνου'; - - @override - String get invalidCountry => 'Μη έγκυρη χώρα'; - - @override - String get invalidMobilePhoneNumber => 'Μη έγκυρος αριθμός κινητού τηλεφώνου'; - - @override - String get invalidFixedLinePhoneNumber => - 'Μη έγκυρος αριθμός σταθερού τηλεφώνου'; - - @override - String get requiredPhoneNumber => 'Απαιτούμενος αριθμός τηλεφώνου'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_en.dart b/lib/src/localization/generated/phone_field_localization_impl_en.dart deleted file mode 100644 index bc499b37..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_en.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for English (`en`). -class PhoneFieldLocalizationImplEn extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplEn([String locale = 'en']) : super(locale); - - @override - String get invalidPhoneNumber => 'Invalid phone number'; - - @override - String get invalidCountry => 'Invalid country'; - - @override - String get invalidMobilePhoneNumber => 'Invalid mobile phone number'; - - @override - String get invalidFixedLinePhoneNumber => 'Invalid fixed line phone number'; - - @override - String get requiredPhoneNumber => 'Required phone number'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_es.dart b/lib/src/localization/generated/phone_field_localization_impl_es.dart deleted file mode 100644 index 9971104d..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_es.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Spanish Castilian (`es`). -class PhoneFieldLocalizationImplEs extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplEs([String locale = 'es']) : super(locale); - - @override - String get invalidPhoneNumber => 'Numero de telefono invalido'; - - @override - String get invalidCountry => 'País invalido'; - - @override - String get invalidMobilePhoneNumber => 'Número de teléfono celular invalido'; - - @override - String get invalidFixedLinePhoneNumber => 'Número de teléfono fijo invalido'; - - @override - String get requiredPhoneNumber => 'Número de teléfono obligatorio'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_fa.dart b/lib/src/localization/generated/phone_field_localization_impl_fa.dart deleted file mode 100644 index b75a0ed4..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_fa.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Persian (`fa`). -class PhoneFieldLocalizationImplFa extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplFa([String locale = 'fa']) : super(locale); - - @override - String get invalidPhoneNumber => 'شماره تلفن نامعتبر است'; - - @override - String get invalidCountry => 'کشور نامعتبر است'; - - @override - String get invalidMobilePhoneNumber => 'شماره تلفن همراه نامعتبر است'; - - @override - String get invalidFixedLinePhoneNumber => 'شماره تلفن ثابت نامعتبر است'; - - @override - String get requiredPhoneNumber => 'شماره تلفن الزامی است'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_fr.dart b/lib/src/localization/generated/phone_field_localization_impl_fr.dart deleted file mode 100644 index 404aa43f..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_fr.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for French (`fr`). -class PhoneFieldLocalizationImplFr extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplFr([String locale = 'fr']) : super(locale); - - @override - String get invalidPhoneNumber => 'Numéro de téléphone invalide'; - - @override - String get invalidCountry => 'Pays invalide'; - - @override - String get invalidMobilePhoneNumber => - 'Numéro de téléphone portable invalide'; - - @override - String get invalidFixedLinePhoneNumber => 'Numéro de téléphone fixe invalide'; - - @override - String get requiredPhoneNumber => 'Numéro de téléphone requis'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_hi.dart b/lib/src/localization/generated/phone_field_localization_impl_hi.dart deleted file mode 100644 index 2989cba5..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_hi.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Hindi (`hi`). -class PhoneFieldLocalizationImplHi extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplHi([String locale = 'hi']) : super(locale); - - @override - String get invalidPhoneNumber => 'अवैध फोन नंबर'; - - @override - String get invalidCountry => 'अवैध देश'; - - @override - String get invalidMobilePhoneNumber => 'अमान्य सेल फ़ोन नंबर'; - - @override - String get invalidFixedLinePhoneNumber => 'अवैध लैंडलाइन नंबर'; - - @override - String get requiredPhoneNumber => 'फ़ोन नंबर आवश्यक'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_it.dart b/lib/src/localization/generated/phone_field_localization_impl_it.dart deleted file mode 100644 index ca7c75b7..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_it.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Italian (`it`). -class PhoneFieldLocalizationImplIt extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplIt([String locale = 'it']) : super(locale); - - @override - String get invalidPhoneNumber => 'Numero di telefono invalido'; - - @override - String get invalidCountry => 'Paese invalido'; - - @override - String get invalidMobilePhoneNumber => 'Numero di cellulare invalido'; - - @override - String get invalidFixedLinePhoneNumber => 'Numero di rete fissa invalido'; - - @override - String get requiredPhoneNumber => 'Numero di telefono richiesto'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_ku.dart b/lib/src/localization/generated/phone_field_localization_impl_ku.dart deleted file mode 100644 index f6b874f3..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_ku.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Kurdish (`ku`). -class PhoneFieldLocalizationImplKu extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplKu([String locale = 'ku']) : super(locale); - - @override - String get invalidPhoneNumber => 'ژمارەی تەلەفۆنی نادروست'; - - @override - String get invalidCountry => 'وڵاتێکی نادروست'; - - @override - String get invalidMobilePhoneNumber => 'ژمارەی مۆبایل نادروستە'; - - @override - String get invalidFixedLinePhoneNumber => - 'ژمارەی تەلەفۆنی هێڵی جێگیر نادروستە'; - - @override - String get requiredPhoneNumber => 'ژمارەی تەلەفۆنی پێویست'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_nb.dart b/lib/src/localization/generated/phone_field_localization_impl_nb.dart deleted file mode 100644 index 557f4c2e..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_nb.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Norwegian Bokmål (`nb`). -class PhoneFieldLocalizationImplNb extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplNb([String locale = 'nb']) : super(locale); - - @override - String get invalidPhoneNumber => 'Ugyldig telefonnummer'; - - @override - String get invalidCountry => 'Ugyldig land'; - - @override - String get invalidMobilePhoneNumber => 'Ugyldig mobilnummer'; - - @override - String get invalidFixedLinePhoneNumber => 'Ugyldig fasttelefonnummer'; - - @override - String get requiredPhoneNumber => 'Telefonnummer er påkrevd'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_nl.dart b/lib/src/localization/generated/phone_field_localization_impl_nl.dart deleted file mode 100644 index 7cdfbd58..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_nl.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Dutch Flemish (`nl`). -class PhoneFieldLocalizationImplNl extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplNl([String locale = 'nl']) : super(locale); - - @override - String get invalidPhoneNumber => 'Ongeldig telefoonnummer'; - - @override - String get invalidCountry => 'Ongeldig land'; - - @override - String get invalidMobilePhoneNumber => 'Ongeldig mobiel nummer'; - - @override - String get invalidFixedLinePhoneNumber => 'Ongeldig vast nummer'; - - @override - String get requiredPhoneNumber => 'Telefoonnummer vereist'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_pt.dart b/lib/src/localization/generated/phone_field_localization_impl_pt.dart deleted file mode 100644 index 595626a7..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_pt.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Portuguese (`pt`). -class PhoneFieldLocalizationImplPt extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplPt([String locale = 'pt']) : super(locale); - - @override - String get invalidPhoneNumber => 'Número de telefone inválido'; - - @override - String get invalidCountry => 'País inválido'; - - @override - String get invalidMobilePhoneNumber => 'Número de telefone celular inválido'; - - @override - String get invalidFixedLinePhoneNumber => 'Número de telefone fixo inválido'; - - @override - String get requiredPhoneNumber => 'Número de telefone obrigatório'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_ru.dart b/lib/src/localization/generated/phone_field_localization_impl_ru.dart deleted file mode 100644 index 638dcba0..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_ru.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Russian (`ru`). -class PhoneFieldLocalizationImplRu extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplRu([String locale = 'ru']) : super(locale); - - @override - String get invalidPhoneNumber => 'Неправильный номер телефона'; - - @override - String get invalidCountry => 'Неверная страна'; - - @override - String get invalidMobilePhoneNumber => 'Неверный номер мобильного телефона'; - - @override - String get invalidFixedLinePhoneNumber => - 'Недействительный номер стационарного телефона'; - - @override - String get requiredPhoneNumber => 'Требуется номер телефона'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_sv.dart b/lib/src/localization/generated/phone_field_localization_impl_sv.dart deleted file mode 100644 index 8657e29a..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_sv.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Swedish (`sv`). -class PhoneFieldLocalizationImplSv extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplSv([String locale = 'sv']) : super(locale); - - @override - String get invalidPhoneNumber => 'Ogiltigt telefonnummer'; - - @override - String get invalidCountry => 'Ogiltigt land'; - - @override - String get invalidMobilePhoneNumber => 'Ogiltigt mobilnummer'; - - @override - String get invalidFixedLinePhoneNumber => 'Ogiltigt fast telefonnummer'; - - @override - String get requiredPhoneNumber => 'Obligatoriskt telefonnummer'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_tr.dart b/lib/src/localization/generated/phone_field_localization_impl_tr.dart deleted file mode 100644 index 3de180db..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_tr.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Turkish (`tr`). -class PhoneFieldLocalizationImplTr extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplTr([String locale = 'tr']) : super(locale); - - @override - String get invalidPhoneNumber => 'Geçersiz telefon numarası'; - - @override - String get invalidCountry => 'Geçersiz ülke'; - - @override - String get invalidMobilePhoneNumber => 'Geçersiz cep telefonu numarası'; - - @override - String get invalidFixedLinePhoneNumber => - 'Geçersiz sabit hat telefon numarası'; - - @override - String get requiredPhoneNumber => 'Telefon numarası gerekli'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_uk.dart b/lib/src/localization/generated/phone_field_localization_impl_uk.dart deleted file mode 100644 index 01de3fe2..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_uk.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Ukrainian (`uk`). -class PhoneFieldLocalizationImplUk extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplUk([String locale = 'uk']) : super(locale); - - @override - String get invalidPhoneNumber => 'Невірний номер телефону'; - - @override - String get invalidCountry => 'Недійсна країна'; - - @override - String get invalidMobilePhoneNumber => 'Невірний номер мобільного телефону'; - - @override - String get invalidFixedLinePhoneNumber => - 'Невірний номер стаціонарного телефону'; - - @override - String get requiredPhoneNumber => 'Необхідний номер телефону'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_uz.dart b/lib/src/localization/generated/phone_field_localization_impl_uz.dart deleted file mode 100644 index cba75598..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_uz.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Uzbek (`uz`). -class PhoneFieldLocalizationImplUz extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplUz([String locale = 'uz']) : super(locale); - - @override - String get invalidPhoneNumber => 'Telefon raqami noto‘g‘ri'; - - @override - String get invalidCountry => 'Yaroqsiz mamlakat'; - - @override - String get invalidMobilePhoneNumber => 'Telfon raqami noto‘g‘ri'; - - @override - String get invalidFixedLinePhoneNumber => - 'Ruxsat etilgan telefon raqami yaroqsiz'; - - @override - String get requiredPhoneNumber => 'Telfon raqami majburiy'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/generated/phone_field_localization_impl_zh.dart b/lib/src/localization/generated/phone_field_localization_impl_zh.dart deleted file mode 100644 index 7af7943f..00000000 --- a/lib/src/localization/generated/phone_field_localization_impl_zh.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'phone_field_localization_impl.dart'; - -/// The translations for Chinese (`zh`). -class PhoneFieldLocalizationImplZh extends PhoneFieldLocalizationImpl { - PhoneFieldLocalizationImplZh([String locale = 'zh']) : super(locale); - - @override - String get invalidPhoneNumber => '无效的电话号码'; - - @override - String get invalidCountry => '无效国家'; - - @override - String get invalidMobilePhoneNumber => '无效的手机号码'; - - @override - String get invalidFixedLinePhoneNumber => '无效的固定电话号码'; - - @override - String get requiredPhoneNumber => '需要电话号码'; - - @override - String tapToSelectACountry(String countryName, String countryDialCode) { - return 'Tap to select a country. Current selection: $countryName $countryDialCode'; - } - - @override - String get enterPhoneNumber => 'Enter your phone number'; -} diff --git a/lib/src/localization/localization.dart b/lib/src/localization/localization.dart deleted file mode 100644 index d1eb6868..00000000 --- a/lib/src/localization/localization.dart +++ /dev/null @@ -1,17 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_country_selector/flutter_country_selector.dart'; - -import 'generated/phone_field_localization_impl.dart'; -import 'generated/phone_field_localization_impl_en.dart'; - -abstract class PhoneFieldLocalization { - static const Set delegates = { - ...CountrySelectorLocalization.localizationsDelegates, - PhoneFieldLocalizationImpl.delegate, - }; - - static PhoneFieldLocalizationImpl of(BuildContext context) { - return PhoneFieldLocalizationImpl.of(context) ?? - PhoneFieldLocalizationImplEn(); - } -} diff --git a/lib/src/phone_controller.dart b/lib/src/phone_controller.dart deleted file mode 100644 index 747897dd..00000000 --- a/lib/src/phone_controller.dart +++ /dev/null @@ -1,108 +0,0 @@ -part of 'phone_form_field.dart'; - -class PhoneController extends ChangeNotifier { - /// focus node of the national number - // final FocusNode focusNode; - final PhoneNumber initialValue; - PhoneNumber _value; - PhoneNumber get value => _value; - - set value(PhoneNumber phoneNumber) { - _value = phoneNumber; - final formattedNsn = _value.formatNsn(); - if (_formattedNationalNumberController.text != formattedNsn) { - changeNationalNumber(formattedNsn); - } else { - notifyListeners(); - } - } - - /// text editing controller of the nsn ( where user types the phone number ) - late final TextEditingController _formattedNationalNumberController; - PhoneController({ - this.initialValue = const PhoneNumber(isoCode: IsoCode.US, nsn: ''), - }) : _value = initialValue, - _formattedNationalNumberController = TextEditingController( - text: initialValue.formatNsn(), - ); - - changeCountry(IsoCode isoCode) { - _value = PhoneNumber.parse( - _value.nsn, - destinationCountry: isoCode, - ); - notifyListeners(); - } - - changeNationalNumber(String? text) { - text = text ?? ''; - var newFormattedText = text; - - // if starts with + then we parse the whole number - final startsWithPlus = - text.startsWith(RegExp('[${AllowedCharacters.plus}]')); - - if (startsWithPlus) { - final phoneNumber = _tryParseWithPlus(text); - // if we could parse the phone number we can change the value inside - // the national number field to remove the "+ country dial code" - if (phoneNumber != null) { - _value = phoneNumber; - newFormattedText = _value.formatNsn(); - } - } else { - final phoneNumber = PhoneNumber.parse( - text, - destinationCountry: _value.isoCode, - ); - _value = phoneNumber; - newFormattedText = phoneNumber.formatNsn(); - } - _formattedNationalNumberController.value = TextEditingValue( - text: newFormattedText, - selection: _computeSelection(text, newFormattedText), - ); - notifyListeners(); - } - - /// When the cursor is at the end of the text we need to preserve that. - /// Since there is formatting going on we need to explicitely do it. - /// We don't want to do it in the middle because the user might have - /// used arrow keys to move inside the text. - TextSelection _computeSelection(String originalText, String newText) { - final currentSelectionOffset = - _formattedNationalNumberController.selection.extentOffset; - final isCursorAtEnd = currentSelectionOffset == originalText.length; - var offset = currentSelectionOffset; - - if (isCursorAtEnd || currentSelectionOffset >= newText.length) { - offset = newText.length; - } - return TextSelection.fromPosition( - TextPosition(offset: offset), - ); - } - - PhoneNumber? _tryParseWithPlus(String text) { - try { - return PhoneNumber.parse(text); - // parsing "+", a country code won't be found - } on PhoneNumberException { - return null; - } - } - - selectNationalNumber() { - _formattedNationalNumberController.selection = TextSelection( - baseOffset: 0, - extentOffset: _formattedNationalNumberController.value.text.length, - ); - notifyListeners(); - } - - @override - void dispose() { - _formattedNationalNumberController.dispose(); - super.dispose(); - } -} diff --git a/lib/src/phone_form_field.dart b/lib/src/phone_form_field.dart deleted file mode 100644 index 6d6f2afd..00000000 --- a/lib/src/phone_form_field.dart +++ /dev/null @@ -1,194 +0,0 @@ -import 'dart:ui' as ui show BoxHeightStyle, BoxWidthStyle; - -import 'package:circle_flags/circle_flags.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:phone_form_field/phone_form_field.dart'; -import 'package:phone_form_field/src/validation/allowed_characters.dart'; -import 'package:phone_numbers_parser/phone_numbers_parser.dart'; - -part 'phone_controller.dart'; -part 'phone_form_field_state.dart'; - -/// Phone input extending form field. -/// -/// ### controller: -/// {@template controller} -/// Use a [PhoneController] for PhoneFormField when you need to dynamically -/// change the value. -/// -/// Whenever the user modifies the phone field with an -/// associated [controller], the phone field updates -/// the display value and the controller notifies its listeners. -/// {@endtemplate} -/// -/// You can also use an [initialValue]: -/// {@template initialValue} -/// The initial value used. -/// -/// Only one of [initialValue] and [controller] can be specified. -/// If [controller] is specified the [initialValue] will be -/// the first value of the [PhoneController] -/// {@endtemplate} -class PhoneFormField extends FormField { - /// {@macro controller} - final PhoneController? controller; - - final bool shouldFormat; - - /// callback called when the input value changes - final Function(PhoneNumber)? onChanged; - - /// country that is displayed when there is no value - final IsoCode defaultCountry; - - /// the focusNode of the national number - final FocusNode? focusNode; - - /// how to display the country selection - final CountrySelectorNavigator countrySelectorNavigator; - - /// padding inside country button, - /// this can be used to align the country button with the phone number - /// and is mostly useful when using [isCountryButtonPersistent] as true. - final EdgeInsets? countryButtonPadding; - - /// whether the user can select a new country when pressing the country button - final bool isCountrySelectionEnabled; - - /// This controls wether the country button is alway shown or is hidden by - /// the label when the national number is empty. In flutter terms this controls - /// whether the country button is shown as a prefix or prefixIcon inside - /// the text field. - final bool isCountryButtonPersistent; - - /// show Dial Code or not in the country button - final bool showDialCode; - - /// show selected iso code or not in the country button - final bool showIsoCodeInInput; - - /// The size of the flag inside the country button - final double flagSize; - - /// whether the flag is shown inside the country button - final bool showFlagInInput; - - // textfield inputs - final InputDecoration decoration; - final TextInputType keyboardType; - final TextInputAction? textInputAction; - final TextStyle? style; - final TextStyle? countryCodeStyle; - final StrutStyle? strutStyle; - final TextAlign textAlign; - final TextAlignVertical? textAlignVertical; - final bool autofocus; - final String obscuringCharacter; - final bool obscureText; - final bool autocorrect; - final SmartDashesType? smartDashesType; - final SmartQuotesType? smartQuotesType; - final bool enableSuggestions; - final Widget Function(BuildContext, EditableTextState)? contextMenuBuilder; - final bool? showCursor; - final VoidCallback? onEditingComplete; - final ValueChanged? onSubmitted; - final AppPrivateCommandCallback? onAppPrivateCommand; - final Function(PointerDownEvent)? onTapOutside; - final double cursorWidth; - final double? cursorHeight; - final Radius? cursorRadius; - final Color? cursorColor; - final ui.BoxHeightStyle selectionHeightStyle; - final ui.BoxWidthStyle selectionWidthStyle; - final Brightness? keyboardAppearance; - final EdgeInsets scrollPadding; - final bool enableInteractiveSelection; - final TextSelectionControls? selectionControls; - bool get selectionEnabled => enableInteractiveSelection; - final MouseCursor? mouseCursor; - final ScrollPhysics? scrollPhysics; - final ScrollController? scrollController; - final Iterable? autofillHints; - final bool enableIMEPersonalizedLearning; - final List? inputFormatters; - - PhoneFormField({ - super.key, - this.controller, - @Deprecated('This is now always true and has no effect anymore') - this.shouldFormat = true, - this.onChanged, - this.focusNode, - this.showFlagInInput = true, - this.countrySelectorNavigator = const CountrySelectorNavigator.page(), - @Deprecated( - 'Use [initialValue] or [controller] to set the initial phone number') - this.defaultCountry = IsoCode.US, - this.flagSize = 16, - this.isCountrySelectionEnabled = true, - bool? isCountryButtonPersistent, - @Deprecated('Use [isCountryButtonPersistent]') - bool? isCountryChipPersistent, - this.showDialCode = true, - this.showIsoCodeInInput = false, - this.countryButtonPadding, - // form field inputs - super.validator, - super.initialValue, - super.onSaved, - super.autovalidateMode = AutovalidateMode.onUserInteraction, - super.restorationId, - super.enabled = true, - // textfield inputs - this.decoration = const InputDecoration(), - this.keyboardType = TextInputType.phone, - this.textInputAction, - this.style, - this.countryCodeStyle, - this.strutStyle, - this.textAlign = TextAlign.start, - this.textAlignVertical, - this.autofocus = false, - this.obscuringCharacter = '*', - this.obscureText = false, - this.autocorrect = true, - this.smartDashesType, - this.smartQuotesType, - this.enableSuggestions = true, - this.contextMenuBuilder, - this.showCursor, - this.onEditingComplete, - this.onSubmitted, - this.onAppPrivateCommand, - this.onTapOutside, - this.inputFormatters, - this.cursorWidth = 2.0, - this.cursorHeight, - this.cursorRadius, - this.cursorColor, - this.selectionHeightStyle = ui.BoxHeightStyle.tight, - this.selectionWidthStyle = ui.BoxWidthStyle.tight, - this.keyboardAppearance, - this.scrollPadding = const EdgeInsets.all(20.0), - this.enableInteractiveSelection = true, - this.selectionControls, - this.mouseCursor, - this.scrollPhysics, - this.scrollController, - this.autofillHints, - this.enableIMEPersonalizedLearning = true, - }) : assert( - initialValue == null || controller == null, - 'One of initialValue or controller can be specified at a time', - ), - isCountryButtonPersistent = - isCountryButtonPersistent ?? isCountryChipPersistent ?? true, - super( - builder: (state) => (state as PhoneFormFieldState).builder(), - ); - - @override - PhoneFormFieldState createState() => PhoneFormFieldState(); -} diff --git a/lib/src/phone_form_field_state.dart b/lib/src/phone_form_field_state.dart deleted file mode 100644 index 6868bcae..00000000 --- a/lib/src/phone_form_field_state.dart +++ /dev/null @@ -1,200 +0,0 @@ -part of 'phone_form_field.dart'; - -class PhoneFormFieldState extends FormFieldState { - late final PhoneController controller; - late final FocusNode focusNode; - - @override - PhoneFormField get widget => super.widget as PhoneFormField; - - @override - void initState() { - super.initState(); - - controller = widget.controller ?? - PhoneController( - initialValue: widget.initialValue ?? - // remove this line when defaultCountry is removed (now deprecated) - // and just use the US default country if no initialValue is set - PhoneNumber(isoCode: widget.defaultCountry, nsn: ''), - ); - controller.addListener(_onControllerValueChanged); - focusNode = widget.focusNode ?? FocusNode(); - _preloadFlagsInMemory(); - } - - void _preloadFlagsInMemory() { - CircleFlag.preload(IsoCode.values.map((isoCode) => isoCode.name).toList()); - } - - @override - void dispose() { - controller.removeListener(_onControllerValueChanged); - super.dispose(); - } - - // overriding method from FormFieldState - @override - void didChange(PhoneNumber? value) { - if (value == null) { - return; - } - super.didChange(value); - - if (controller.value != value) { - controller.value = value; - } - } - - void _onControllerValueChanged() { - /// when the controller changes because the user called - /// controller.value = x we need to change the value of the form field - if (controller.value != value) { - didChange(controller.value); - } - } - - void _onTextfieldChanged(String value) { - controller.changeNationalNumber(value); - didChange(controller.value); - widget.onChanged?.call(controller.value); - } - - // overriding method of form field, so when the user resets a form, - // and subsequently every form field descendant, the controller is updated - @override - void reset() { - controller.value = controller.initialValue; - super.reset(); - } - - void _selectCountry() async { - if (!widget.isCountrySelectionEnabled) { - return; - } - final selected = await widget.countrySelectorNavigator.show(context); - if (selected != null) { - controller.changeCountry(selected); - } - focusNode.requestFocus(); - } - - Widget builder() { - final localization = PhoneFieldLocalization.of(context); - return Semantics( - label: localization.enterPhoneNumber, - child: TextField( - decoration: widget.decoration.copyWith( - errorText: errorText, - prefixIcon: widget.isCountryButtonPersistent - ? _getCountryCodeChip(context) - : null, - prefix: widget.isCountryButtonPersistent - ? null - : _getCountryCodeChip(context), - ), - controller: controller._formattedNationalNumberController, - focusNode: focusNode, - enabled: widget.enabled, - inputFormatters: widget.inputFormatters ?? - [ - FilteringTextInputFormatter.allow(RegExp( - '[${AllowedCharacters.plus}${AllowedCharacters.digits}${AllowedCharacters.punctuation}]')), - ], - onChanged: _onTextfieldChanged, - autofillHints: widget.autofillHints, - keyboardType: widget.keyboardType, - textInputAction: widget.textInputAction, - style: widget.style, - strutStyle: widget.strutStyle, - textAlign: widget.textAlign, - textAlignVertical: widget.textAlignVertical, - autofocus: widget.autofocus, - obscuringCharacter: widget.obscuringCharacter, - obscureText: widget.obscureText, - autocorrect: widget.autocorrect, - smartDashesType: widget.smartDashesType, - smartQuotesType: widget.smartQuotesType, - enableSuggestions: widget.enableSuggestions, - showCursor: widget.showCursor, - onEditingComplete: widget.onEditingComplete, - onAppPrivateCommand: widget.onAppPrivateCommand, - cursorWidth: widget.cursorWidth, - cursorHeight: widget.cursorHeight, - cursorRadius: widget.cursorRadius, - cursorColor: widget.cursorColor, - onTapOutside: widget.onTapOutside, - selectionHeightStyle: widget.selectionHeightStyle, - selectionWidthStyle: widget.selectionWidthStyle, - keyboardAppearance: widget.keyboardAppearance, - scrollPadding: widget.scrollPadding, - enableInteractiveSelection: widget.enableInteractiveSelection, - selectionControls: widget.selectionControls, - mouseCursor: widget.mouseCursor, - scrollController: widget.scrollController, - scrollPhysics: widget.scrollPhysics, - restorationId: widget.restorationId, - enableIMEPersonalizedLearning: widget.enableIMEPersonalizedLearning, - ), - ); - } - - Widget _getCountryCodeChip(BuildContext context) { - return AnimatedBuilder( - animation: controller, - builder: (context, _) => CountryButton( - key: const ValueKey('country-code-chip'), - isoCode: controller.value.isoCode, - onTap: widget.enabled ? _selectCountry : null, - padding: _computeCountryButtonPadding(context), - showFlag: widget.showFlagInInput, - showIsoCode: widget.showIsoCodeInInput, - showDialCode: widget.showDialCode, - textStyle: widget.countryCodeStyle ?? - widget.decoration.labelStyle ?? - TextStyle( - fontSize: 16, - color: Theme.of(context).textTheme.bodySmall?.color, - ), - flagSize: widget.flagSize, - enabled: widget.enabled, - ), - ); - } - - /// computes the padding inside the country button - /// this is used to align the flag and dial code with the rest - /// of the phone number. - /// The padding must work for this matrix: - /// - has label or not - /// - is border underline or outline - /// - is country button shown as a prefix or prefixIcon (isCountryChipPersistent) - /// - text direction - EdgeInsets _computeCountryButtonPadding(BuildContext context) { - final countryButtonPadding = widget.countryButtonPadding; - final isUnderline = widget.decoration.border is UnderlineInputBorder; - final hasLabel = - widget.decoration.label != null || widget.decoration.labelText != null; - final isLtr = Directionality.of(context) == TextDirection.ltr; - - EdgeInsets padding = isLtr - ? const EdgeInsets.fromLTRB(12, 16, 4, 16) - : const EdgeInsets.fromLTRB(4, 16, 12, 16); - if (countryButtonPadding != null) { - padding = countryButtonPadding; - } else if (!widget.isCountryButtonPersistent) { - padding = isLtr - ? const EdgeInsets.only(right: 4, left: 12) - : const EdgeInsets.only(left: 4, right: 12); - } else if (isUnderline && hasLabel) { - padding = isLtr - ? const EdgeInsets.fromLTRB(12, 25, 4, 7) - : const EdgeInsets.fromLTRB(4, 25, 12, 7); - } else if (isUnderline && !hasLabel) { - padding = isLtr - ? const EdgeInsets.fromLTRB(12, 2, 4, 0) - : const EdgeInsets.fromLTRB(4, 2, 12, 0); - } - return padding; - } -} diff --git a/lib/src/validation/localized_validation_error.dart b/lib/src/validation/localized_validation_error.dart deleted file mode 100644 index 7da57585..00000000 --- a/lib/src/validation/localized_validation_error.dart +++ /dev/null @@ -1,3 +0,0 @@ -// we do not have access to context inside a validator, -// thus we return an error code, and localize that code in the view -// where it is easier to access the context \ No newline at end of file diff --git a/lib/src/validation/phone_validator.dart b/lib/src/validation/phone_validator.dart index 30a88de9..2f62ff45 100644 --- a/lib/src/validation/phone_validator.dart +++ b/lib/src/validation/phone_validator.dart @@ -1,9 +1,8 @@ -import 'package:flutter/material.dart'; import 'package:phone_form_field/phone_form_field.dart'; typedef PhoneNumberInputValidator = String? Function(PhoneNumber? phoneNumber); -abstract class PhoneValidator { +class PhoneValidator { /// allow to compose several validators /// Note that validator list order is important as first /// validator failing will return according message. @@ -21,107 +20,174 @@ abstract class PhoneValidator { }; } - static PhoneNumberInputValidator required( - BuildContext context, { + static PhoneNumberInputValidator required({ /// custom error message String? errorText, }) { return (PhoneNumber? valueCandidate) { if (valueCandidate == null || (valueCandidate.nsn.trim().isEmpty)) { - return errorText ?? - PhoneFieldLocalization.of(context).requiredPhoneNumber; + return errorText ?? 'requiredPhoneNumber'; } return null; }; } - static PhoneNumberInputValidator valid( - BuildContext context, { + static PhoneNumberInputValidator invalid({ /// custom error message String? errorText, + + /// determine whether a missing value should be reported as invalid + bool allowEmpty = true, + }) => + valid(errorText: errorText, allowEmpty: allowEmpty); + + static PhoneNumberInputValidator valid({ + /// custom error message + String? errorText, + + /// determine whether a missing value should be reported as invalid + bool allowEmpty = true, }) { + return (PhoneNumber? valueCandidate) { + if (valueCandidate == null && !allowEmpty) { + return errorText ?? 'invalidPhoneNumber'; + } if (valueCandidate != null && - valueCandidate.nsn.isNotEmpty && + (!allowEmpty || valueCandidate.nsn.isNotEmpty) && !valueCandidate.isValid()) { - return errorText ?? - PhoneFieldLocalization.of(context).invalidPhoneNumber; + return errorText ?? 'invalidPhoneNumber'; } return null; }; } - static PhoneNumberInputValidator validType( - BuildContext context, + @Deprecated('use validType, invalid type naming was backward') + static PhoneNumberInputValidator invalidType( + /// expected phonetype + PhoneNumberType expectedType, { + /// custom error message + String? errorText, + /// determine whether a missing value should be reported as invalid + bool allowEmpty = true, + }) => + validType( + expectedType, + errorText: errorText, + allowEmpty: allowEmpty, + ); + + static PhoneNumberInputValidator validType( /// expected phonetype PhoneNumberType expectedType, { /// custom error message String? errorText, + + /// determine whether a missing value should be reported as invalid + bool allowEmpty = true, }) { + final defaultMessage = expectedType == PhoneNumberType.mobile + ? 'invalidMobilePhoneNumber' + : 'invalidFixedLinePhoneNumber'; return (PhoneNumber? valueCandidate) { if (valueCandidate != null && - valueCandidate.nsn.isNotEmpty && + (!allowEmpty || valueCandidate.nsn.isNotEmpty) && !valueCandidate.isValid(type: expectedType)) { - if (expectedType == PhoneNumberType.mobile) { - return errorText ?? - PhoneFieldLocalization.of(context).invalidMobilePhoneNumber; - } else if (expectedType == PhoneNumberType.fixedLine) { - return errorText ?? - PhoneFieldLocalization.of(context).invalidFixedLinePhoneNumber; - } - return errorText ?? - PhoneFieldLocalization.of(context).invalidPhoneNumber; + return errorText ?? defaultMessage; } return null; }; } + @Deprecated('use validFixedLine, naming was backward') + static PhoneNumberInputValidator invalidFixedLine({ + /// custom error message + String? errorText, + + /// determine whether a missing value should be reported as invalid + bool allowEmpty = true, + }) => + validFixedLine(errorText: errorText, allowEmpty: allowEmpty); + /// convenience shortcut method for /// invalidType(context, PhoneNumberType.fixedLine, ...) - static PhoneNumberInputValidator validFixedLine( - BuildContext context, { + static PhoneNumberInputValidator validFixedLine({ /// custom error message String? errorText, + + /// determine whether a missing value should be reported as invalid + bool allowEmpty = true, }) => validType( - context, PhoneNumberType.fixedLine, errorText: errorText, + allowEmpty: allowEmpty, + ); + + @Deprecated('Use validMobile, naming was backward') + static PhoneNumberInputValidator invalidMobile({ + /// custom error message + String? errorText, + + /// determine whether a missing value should be reported as invalid + bool allowEmpty = true, + }) => + validMobile( + errorText: errorText, + allowEmpty: allowEmpty, ); /// convenience shortcut method for /// invalidType(context, PhoneNumberType.mobile, ...) - static PhoneNumberInputValidator validMobile( - BuildContext context, { + static PhoneNumberInputValidator validMobile({ /// custom error message String? errorText, + + /// determine whether a missing value should be reported as invalid + bool allowEmpty = true, }) => validType( - context, PhoneNumberType.mobile, errorText: errorText, + allowEmpty: allowEmpty, ); - static PhoneNumberInputValidator validCountry( - BuildContext context, + @Deprecated('Use valid country, naming was backward') + static invalidCountry( + /// list of valid country isocode + List expectedCountries, { + /// custom error message + String? errorText, + /// determine whether a missing value should be reported as invalid + bool allowEmpty = true, + }) => + validCountry( + expectedCountries, + errorText: errorText, + allowEmpty: allowEmpty, + ); + + static PhoneNumberInputValidator validCountry( /// list of valid country isocode List expectedCountries, { /// custom error message String? errorText, + + /// determine whether a missing value should be reported as invalid + bool allowEmpty = true, }) { return (PhoneNumber? valueCandidate) { if (valueCandidate != null && - (valueCandidate.nsn.isNotEmpty) && + (!allowEmpty || valueCandidate.nsn.isNotEmpty) && !expectedCountries.contains(valueCandidate.isoCode)) { - return errorText ?? PhoneFieldLocalization.of(context).invalidCountry; + return errorText ?? 'invalidCountry'; } return null; }; } - @Deprecated('Use null instead') static PhoneNumberInputValidator get none => (PhoneNumber? valueCandidate) { return null; }; diff --git a/lib/src/validation/validator_translator.dart b/lib/src/validation/validator_translator.dart new file mode 100644 index 00000000..a8ee7af4 --- /dev/null +++ b/lib/src/validation/validator_translator.dart @@ -0,0 +1,45 @@ +import 'package:flutter/material.dart'; +import 'package:phone_form_field/l10n/generated/phone_field_localization.dart'; + +typedef _PhoneValidatorMessageDelegate = String? Function(BuildContext context); + +class ValidatorTranslator { + static final Map _validatorMessages = + { + 'invalidPhoneNumber': (ctx) => + PhoneFieldLocalization.of(ctx)?.invalidPhoneNumber, + 'invalidCountry': (ctx) => PhoneFieldLocalization.of(ctx)?.invalidCountry, + 'invalidMobilePhoneNumber': (ctx) => + PhoneFieldLocalization.of(ctx)?.invalidMobilePhoneNumber, + 'invalidFixedLinePhoneNumber': (ctx) => + PhoneFieldLocalization.of(ctx)?.invalidFixedLinePhoneNumber, + 'requiredPhoneNumber': (ctx) => + PhoneFieldLocalization.of(ctx)?.requiredPhoneNumber, + }; + + static final Map _defaults = { + 'invalidPhoneNumber': 'Invalid phone number', + 'invalidCountry': 'Invalid country', + 'invalidMobilePhoneNumber': 'Invalid mobile phone number', + 'invalidFixedLinePhoneNumber': 'Invalid fixedline phone number', + 'requiredPhoneNumber': 'required phone number', + }; + + /// Localised name depending on the current application locale + /// If you have many LocalisedName to handle in a same context, consider + /// supplying the second optional PhoneFieldLocalization to avoid + /// walking up the widget to get [PhoneFieldLocalization] instance + /// for each call. + static String message( + BuildContext context, + String key, + ) { + String? name = getMessageFromKey(context, key); + return name ?? _defaults[key] ?? key; + } + + static String? getMessageFromKey(BuildContext ctx, String key) { + final _PhoneValidatorMessageDelegate? translateFn = _validatorMessages[key]; + return translateFn?.call(ctx); + } +} diff --git a/lib/src/widgets/country_code_chip.dart b/lib/src/widgets/country_code_chip.dart new file mode 100644 index 00000000..97e35f50 --- /dev/null +++ b/lib/src/widgets/country_code_chip.dart @@ -0,0 +1,57 @@ +import 'package:circle_flags/circle_flags.dart'; +import 'package:flutter/material.dart'; +import 'package:phone_numbers_parser/phone_numbers_parser.dart'; + +import 'country_selector/country.dart'; + +class CountryCodeChip extends StatelessWidget { + final Country country; + final bool showFlag; + final bool showDialCode; + final TextStyle textStyle; + final EdgeInsets padding; + final double flagSize; + final TextDirection? textDirection; + final bool showIsoCode; + + CountryCodeChip({ + super.key, + required IsoCode isoCode, + this.textStyle = const TextStyle(), + this.showFlag = true, + this.showDialCode = true, + this.padding = const EdgeInsets.all(20), + this.flagSize = 20, + this.textDirection, + this.showIsoCode = false, + }) : country = Country(isoCode, ''); + + @override + Widget build(BuildContext context) { + return Row( + mainAxisSize: MainAxisSize.min, + children: [ + if (showIsoCode) ...[ + Text( + country.isoCode.name, + style: textStyle, + ), + const SizedBox(width: 8), + ], + if (showFlag) ...[ + CircleFlag( + country.isoCode.name, + size: flagSize, + ), + const SizedBox(width: 8), + ], + if (showDialCode) + Text( + country.displayCountryCode, + style: textStyle, + textDirection: textDirection, + ), + ], + ); + } +} diff --git a/lib/src/widgets/country_selector/country.dart b/lib/src/widgets/country_selector/country.dart new file mode 100644 index 00000000..cc978241 --- /dev/null +++ b/lib/src/widgets/country_selector/country.dart @@ -0,0 +1,35 @@ +import 'package:phone_numbers_parser/metadata.dart'; +import 'package:phone_numbers_parser/phone_numbers_parser.dart'; + +/// Country regroup informations for displaying a list of countries +class Country { + /// Country alpha-2 iso code + final IsoCode isoCode; + + /// localized name of the country + final String name; + + /// country dialing code to call them internationally + final String countryCode; + + /// returns "+ [countryCode]" + String get displayCountryCode => '+ $countryCode'; + + Country(this.isoCode, this.name) + : countryCode = metadataByIsoCode[isoCode]?.countryCode ?? ''; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is Country && + runtimeType == other.runtimeType && + isoCode == other.isoCode; + + @override + int get hashCode => isoCode.hashCode; + + @override + String toString() { + return 'Country{isoCode: $isoCode}'; + } +} diff --git a/lib/src/widgets/country_selector/country_finder.dart b/lib/src/widgets/country_selector/country_finder.dart new file mode 100644 index 00000000..00788f8b --- /dev/null +++ b/lib/src/widgets/country_selector/country_finder.dart @@ -0,0 +1,81 @@ +// responsible of searching through the country list + +import 'package:diacritic/diacritic.dart'; +import 'package:phone_form_field/phone_form_field.dart'; + +class CountryFinder { + late final List _allCountries; + late List _filteredCountries; + List get filteredCountries => _filteredCountries; + + bool get isNotEmpty => _filteredCountries.isNotEmpty; + String _searchedText = ''; + String get searchedText => _searchedText; + + CountryFinder(List allCountries, {bool sort = true}) { + _allCountries = [...allCountries]; + if (sort) { + _allCountries.sort((a, b) => a.name.compareTo(b.name)); + } + _filteredCountries = [..._allCountries]; + } + + // filter a + void filter(String txt) { + if (txt == _searchedText) { + return; + } + _searchedText = txt; + // reset search + if (txt.isEmpty) { + _filteredCountries = [..._allCountries]; + } + + // if the txt is a number we check the country code instead + final asInt = int.tryParse(txt); + final isInt = asInt != null; + if (isInt) { + // toString to remove any + in front if its an int + _filterByCountryCallingCode(txt); + } else { + _filterByName(txt); + } + } + + void _filterByCountryCallingCode(String countryCallingCode) { + int getSortPoint(Country country) => + country.countryCode == countryCallingCode ? 1 : 0; + + _filteredCountries = _allCountries + .where((country) => country.countryCode.contains(countryCallingCode)) + .toList() + // puts the closest match at the top + ..sort((a, b) => getSortPoint(b) - getSortPoint(a)); + } + + void _filterByName(String searchTxt) { + searchTxt = removeDiacritics(searchTxt.toLowerCase()); + // since we keep countries that contain the searched text, + // we need to put the countries that start with that text in front. + int getSortPoint(String name, IsoCode isoCode) { + bool isStartOfString = name.startsWith(searchTxt) || + isoCode.name.toLowerCase().startsWith(searchTxt); + return isStartOfString ? 1 : 0; + } + + int compareCountries(Country a, Country b) { + final sortPoint = + getSortPoint(b.name, b.isoCode) - getSortPoint(a.name, a.isoCode); + // sort alphabetically when comparison with search term get same result + return sortPoint == 0 ? a.name.compareTo(b.name) : sortPoint; + } + + _filteredCountries = _allCountries.where((country) { + final countryName = removeDiacritics(country.name.toLowerCase()); + return countryName.contains(searchTxt) || + country.isoCode.name.toLowerCase().contains(searchTxt); + }).toList() + // puts the ones that begin by txt first + ..sort(compareCountries); + } +} diff --git a/lib/src/widgets/country_selector/country_list.dart b/lib/src/widgets/country_selector/country_list.dart new file mode 100644 index 00000000..613ccff9 --- /dev/null +++ b/lib/src/widgets/country_selector/country_list.dart @@ -0,0 +1,110 @@ +import 'package:circle_flags/circle_flags.dart'; +import 'package:flutter/material.dart'; + +import '../../../l10n/generated/phone_field_localization.dart'; +import 'country.dart'; + +class CountryList extends StatelessWidget { + /// Callback function triggered when user select a country + final Function(Country) onTap; + + /// List of countries to display + final List countries; + final double flagSize; + + /// list of favorite countries to display at the top + final List favorites; + + /// proxy to the ListView.builder controller (ie: [ScrollView.controller]) + final ScrollController? scrollController; + + /// The [ScrollPhysics] of the Country List + final ScrollPhysics? scrollPhysics; + + /// whether the country dialcode should be displayed as the [ListTile.subtitle] + final bool showDialCode; + + final String? noResultMessage; + + late final List _allListElement; + + final TextStyle? subtitleStyle; + final TextStyle? titleStyle; + final FlagCache? flagCache; + + CountryList({ + super.key, + required this.countries, + required this.favorites, + required this.onTap, + required this.noResultMessage, + required this.flagCache, + this.scrollController, + this.scrollPhysics, + this.showDialCode = true, + this.flagSize = 40, + this.subtitleStyle, + this.titleStyle, + }) { + _allListElement = [ + ...favorites, + if (favorites.isNotEmpty) null, // delimiter + ...countries, + ]; + } + + @override + Widget build(BuildContext context) { + if (_allListElement.isEmpty) { + return Center( + child: Text( + noResultMessage ?? + PhoneFieldLocalization.of(context)?.noResultMessage ?? + 'No result found', + key: const ValueKey('no-result'), + ), + ); + } + return ListView.builder( + physics: scrollPhysics, + controller: scrollController, + itemCount: _allListElement.length, + itemBuilder: (BuildContext context, int index) { + final country = _allListElement[index]; + if (country == null) { + return const Divider(key: ValueKey('countryListSeparator')); + } + + return ListTile( + key: ValueKey(country.isoCode.name), + leading: CircleFlag( + country.isoCode.name, + key: ValueKey('circle-flag-${country.isoCode.name}'), + size: flagSize, + cache: flagCache, + ), + title: Align( + alignment: AlignmentDirectional.centerStart, + child: Text( + country.name, + textAlign: TextAlign.start, + style: titleStyle, + ), + ), + subtitle: showDialCode + ? Align( + alignment: AlignmentDirectional.centerStart, + child: Text( + country.displayCountryCode, + textDirection: TextDirection.ltr, + textAlign: TextAlign.start, + style: subtitleStyle, + ), + ) + : null, + onTap: () => onTap(country), + ); + }, + ); + } +} diff --git a/lib/src/widgets/country_selector/country_selector.dart b/lib/src/widgets/country_selector/country_selector.dart new file mode 100644 index 00000000..4771b89b --- /dev/null +++ b/lib/src/widgets/country_selector/country_selector.dart @@ -0,0 +1,167 @@ +import 'package:circle_flags/circle_flags.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:phone_form_field/l10n/generated/phone_field_localization.dart'; +import 'package:phone_form_field/l10n/generated/phone_field_localization_en.dart'; +import 'package:phone_form_field/src/widgets/country_selector/localized_country_registry.dart'; +import 'package:phone_numbers_parser/phone_numbers_parser.dart'; + +import 'country_finder.dart'; +import 'country.dart'; +import 'country_list.dart'; +import 'search_box.dart'; + +class CountrySelector extends StatefulWidget { + /// List of countries to display in the selector + /// Value optional in constructor. + /// when omitted, the full country list is displayed + final List? countries; + + /// Callback triggered when user select a country + final ValueChanged onCountrySelected; + + /// ListView.builder scroll controller (ie: [ScrollView.controller]) + final ScrollController? scrollController; + + /// The [ScrollPhysics] of the Country List + final ScrollPhysics? scrollPhysics; + + /// Determine the countries to be displayed on top of the list + /// Check [addFavoritesSeparator] property to enable/disable adding a + /// list divider between favorites and others defaults countries + final List favoriteCountries; + + /// Whether to add a list divider between favorites & defaults + /// countries. + final bool addFavoritesSeparator; + + /// Whether to show the country country code (ie: +1 / +33 /...) + /// as a listTile subtitle + final bool showCountryCode; + + /// The message displayed instead of the list when the search has no results + final String? noResultMessage; + + /// whether the search input is auto focussed + final bool searchAutofocus; + + /// The [TextStyle] of the country subtitle + final TextStyle? subtitleStyle; + + /// The [TextStyle] of the country title + final TextStyle? titleStyle; + + /// The [InputDecoration] of the Search Box + final InputDecoration? searchBoxDecoration; + + /// The [TextStyle] of the Search Box + final TextStyle? searchBoxTextStyle; + + /// The [Color] of the Search Icon in the Search Box + final Color? searchBoxIconColor; + final double flagSize; + final FlagCache flagCache; + + const CountrySelector({ + super.key, + required this.onCountrySelected, + required this.flagCache, + this.scrollController, + this.scrollPhysics, + this.addFavoritesSeparator = true, + this.showCountryCode = false, + this.noResultMessage, + this.favoriteCountries = const [], + this.countries, + this.searchAutofocus = kIsWeb, + this.subtitleStyle, + this.titleStyle, + this.searchBoxDecoration, + this.searchBoxTextStyle, + this.searchBoxIconColor, + this.flagSize = 40, + }); + + @override + CountrySelectorState createState() => CountrySelectorState(); +} + +class CountrySelectorState extends State { + late CountryFinder _countryFinder; + late CountryFinder _favoriteCountryFinder; + + @override + didChangeDependencies() { + super.didChangeDependencies(); + final localization = + PhoneFieldLocalization.of(context) ?? PhoneFieldLocalizationEn(); + final isoCodes = widget.countries ?? IsoCode.values; + final countryRegistry = LocalizedCountryRegistry.cached(localization); + final notFavoriteCountries = + countryRegistry.whereIsoIn(isoCodes, omit: widget.favoriteCountries); + final favoriteCountries = + countryRegistry.whereIsoIn(widget.favoriteCountries); + _countryFinder = CountryFinder(notFavoriteCountries); + _favoriteCountryFinder = CountryFinder(favoriteCountries, sort: false); + } + + _onSearch(String searchedText) { + _countryFinder.filter(searchedText); + _favoriteCountryFinder.filter(searchedText); + setState(() {}); + } + + onSubmitted() { + if (_favoriteCountryFinder.filteredCountries.isNotEmpty) { + widget.onCountrySelected(_favoriteCountryFinder.filteredCountries.first); + } else if (_countryFinder.filteredCountries.isNotEmpty) { + widget.onCountrySelected(_countryFinder.filteredCountries.first); + } + } + + @override + Widget build(BuildContext context) { + return Column( + children: [ + const SizedBox(height: 8), + Container( + width: 50, + height: 4, + decoration: BoxDecoration( + color: Theme.of(context).colorScheme.secondary, + borderRadius: BorderRadius.circular(8), + ), + ), + SizedBox( + height: 70, + width: double.infinity, + child: SearchBox( + autofocus: widget.searchAutofocus, + onChanged: _onSearch, + onSubmitted: onSubmitted, + decoration: widget.searchBoxDecoration, + style: widget.searchBoxTextStyle, + searchIconColor: widget.searchBoxIconColor, + ), + ), + const SizedBox(height: 16), + const Divider(height: 0, thickness: 1.2), + Flexible( + child: CountryList( + favorites: _favoriteCountryFinder.filteredCountries, + countries: _countryFinder.filteredCountries, + showDialCode: widget.showCountryCode, + onTap: widget.onCountrySelected, + flagSize: widget.flagSize, + scrollController: widget.scrollController, + scrollPhysics: widget.scrollPhysics, + noResultMessage: widget.noResultMessage, + titleStyle: widget.titleStyle, + subtitleStyle: widget.subtitleStyle, + flagCache: widget.flagCache, + ), + ), + ], + ); + } +} diff --git a/lib/src/country_selector_navigator.dart b/lib/src/widgets/country_selector/country_selector_navigator.dart similarity index 71% rename from lib/src/country_selector_navigator.dart rename to lib/src/widgets/country_selector/country_selector_navigator.dart index 74f61a29..9c2070e6 100644 --- a/lib/src/country_selector_navigator.dart +++ b/lib/src/widgets/country_selector/country_selector_navigator.dart @@ -1,11 +1,14 @@ +import 'package:circle_flags/circle_flags.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_country_selector/flutter_country_selector.dart'; +import 'package:phone_form_field/phone_form_field.dart'; +import 'package:phone_form_field/src/widgets/country_selector/country_selector_page.dart'; abstract class CountrySelectorNavigator { final List? countries; final List? favorites; - final bool showDialCode; + final bool addSeparator; + final bool showCountryCode; final bool sortCountries; final String? noResultMessage; final bool searchAutofocus; @@ -21,10 +24,8 @@ abstract class CountrySelectorNavigator { const CountrySelectorNavigator({ this.countries, this.favorites, - @Deprecated('This is always on by default, this can be safely removed') - bool addSeparator = true, - @Deprecated('Use [showDialCode] instead') bool? showCountryCode, - bool? showDialCode, + this.addSeparator = true, + this.showCountryCode = true, this.sortCountries = false, this.noResultMessage, required this.searchAutofocus, @@ -36,22 +37,21 @@ abstract class CountrySelectorNavigator { this.scrollPhysics, this.flagSize = 40, this.useRootNavigator = true, - }) : showDialCode = showDialCode ?? showCountryCode ?? true; - - @Deprecated('Use [show] instead') - Future navigate(BuildContext context) => show(context); + }); - Future show(BuildContext context); + Future navigate(BuildContext context, FlagCache flagCache); - CountrySelectorSheet _getCountrySelector({ - required ValueChanged onCountrySelected, + CountrySelector _getCountrySelector({ + required ValueChanged onCountrySelected, + required FlagCache flagCache, ScrollController? scrollController, }) { - return CountrySelector.sheet( - countries: countries ?? IsoCode.values, - favoriteCountries: favorites ?? [], + return CountrySelector( + countries: countries, onCountrySelected: onCountrySelected, - showDialCode: showDialCode, + favoriteCountries: favorites ?? [], + addFavoritesSeparator: addSeparator, + showCountryCode: showCountryCode, noResultMessage: noResultMessage, scrollController: scrollController, searchAutofocus: searchAutofocus, @@ -62,6 +62,7 @@ abstract class CountrySelectorNavigator { searchBoxIconColor: searchBoxIconColor, scrollPhysics: scrollPhysics, flagSize: flagSize, + flagCache: flagCache, ); } @@ -83,23 +84,21 @@ abstract class CountrySelectorNavigator { ScrollPhysics? scrollPhysics, }) = DialogNavigator._; - @Deprecated('Use [CountrySelectorNavigator.page] instead') - const factory CountrySelectorNavigator.searchDelegate() = - CountrySelectorNavigator.page; - - const factory CountrySelectorNavigator.page({ + const factory CountrySelectorNavigator.searchDelegate({ + List? countries, + List? favorites, bool addSeparator, bool showCountryCode, bool sortCountries, String? noResultMessage, + bool searchAutofocus, TextStyle? subtitleStyle, TextStyle? titleStyle, InputDecoration? searchBoxDecoration, TextStyle? searchBoxTextStyle, Color? searchBoxIconColor, ScrollPhysics? scrollPhysics, - ThemeData? appBarTheme, - }) = PageNavigator._; + }) = SearchDelegateNavigator._; const factory CountrySelectorNavigator.bottomSheet({ List? countries, @@ -179,7 +178,7 @@ class DialogNavigator extends CountrySelectorNavigator { }); @override - Future show(BuildContext context) { + Future navigate(BuildContext context, FlagCache flagCache) { return showDialog( context: context, builder: (_) => Dialog( @@ -189,6 +188,7 @@ class DialogNavigator extends CountrySelectorNavigator { child: _getCountrySelector( onCountrySelected: (country) => Navigator.of(context, rootNavigator: true).pop(country), + flagCache: flagCache, ), ), ), @@ -196,8 +196,8 @@ class DialogNavigator extends CountrySelectorNavigator { } } -class PageNavigator extends CountrySelectorNavigator { - const PageNavigator._({ +class SearchDelegateNavigator extends CountrySelectorNavigator { + const SearchDelegateNavigator._({ super.countries, super.favorites, super.addSeparator, @@ -211,37 +211,34 @@ class PageNavigator extends CountrySelectorNavigator { super.searchBoxTextStyle, super.searchBoxIconColor, super.scrollPhysics, - this.appBarTheme, }); - final ThemeData? appBarTheme; - - CountrySelectorPage _getCountrySelectorPage({ - required ValueChanged onCountrySelected, + CountrySelectorSearchDelegate _getCountrySelectorSearchDelegate({ + required ValueChanged onCountrySelected, + required FlagCache flagCache, ScrollController? scrollController, }) { - return CountrySelector.page( - onCountrySelected: onCountrySelected, - scrollController: scrollController, - countries: countries ?? IsoCode.values, - favoriteCountries: favorites ?? [], - noResultMessage: noResultMessage, - searchAutofocus: searchAutofocus, - showDialCode: showDialCode, - titleStyle: titleStyle, - subtitleStyle: subtitleStyle, - ); + return CountrySelectorSearchDelegate( + onCountrySelected: onCountrySelected, + scrollController: scrollController, + addFavoritesSeparator: addSeparator, + countries: countries, + favoriteCountries: favorites ?? [], + noResultMessage: noResultMessage, + searchAutofocus: searchAutofocus, + showCountryCode: showCountryCode, + titleStyle: titleStyle, + subtitleStyle: subtitleStyle, + flagCache: flagCache); } @override - Future show( - BuildContext context, - ) { - return Navigator.of(context).push( - MaterialPageRoute( - builder: (ctx) => _getCountrySelectorPage( - onCountrySelected: (country) => Navigator.pop(context, country), - ), + Future navigate(BuildContext context, FlagCache flagCache) { + return showSearch( + context: context, + delegate: _getCountrySelectorSearchDelegate( + onCountrySelected: (country) => Navigator.pop(context, country), + flagCache: flagCache, ), ); } @@ -265,10 +262,8 @@ class BottomSheetNavigator extends CountrySelectorNavigator { }); @override - Future show( - BuildContext context, - ) { - IsoCode? selected; + Future navigate(BuildContext context, FlagCache flagCache) { + Country? selected; final ctrl = showBottomSheet( context: context, builder: (_) => MediaQuery( @@ -279,6 +274,7 @@ class BottomSheetNavigator extends CountrySelectorNavigator { selected = country; Navigator.pop(context, country); }, + flagCache: flagCache, ), ), ), @@ -308,15 +304,17 @@ class ModalBottomSheetNavigator extends CountrySelectorNavigator { }); @override - Future show( + Future navigate( BuildContext context, + FlagCache flagCache, ) { - return showModalBottomSheet( + return showModalBottomSheet( context: context, builder: (_) => SizedBox( height: height ?? MediaQuery.of(context).size.height - 90, child: _getCountrySelector( onCountrySelected: (country) => Navigator.pop(context, country), + flagCache: flagCache, ), ), isScrollControlled: true, @@ -353,14 +351,13 @@ class DraggableModalBottomSheetNavigator extends CountrySelectorNavigator { }); @override - Future show(BuildContext context) { + Future navigate(BuildContext context, FlagCache flagCache) { final effectiveBorderRadius = borderRadius ?? const BorderRadius.only( topLeft: Radius.circular(16), topRight: Radius.circular(16), ); - - return showModalBottomSheet( + return showModalBottomSheet( context: context, shape: RoundedRectangleBorder( borderRadius: effectiveBorderRadius, @@ -371,12 +368,17 @@ class DraggableModalBottomSheetNavigator extends CountrySelectorNavigator { maxChildSize: maxChildSize, expand: false, builder: (context, scrollController) { - return _CountrySelectorWidget( - scrollController: scrollController, - borderRadius: effectiveBorderRadius, + return Container( + decoration: ShapeDecoration( + color: Theme.of(context).canvasColor, + shape: RoundedRectangleBorder( + borderRadius: effectiveBorderRadius, + ), + ), child: _getCountrySelector( onCountrySelected: (country) => Navigator.pop(context, country), scrollController: scrollController, + flagCache: flagCache, ), ); }, @@ -386,49 +388,3 @@ class DraggableModalBottomSheetNavigator extends CountrySelectorNavigator { ); } } - -class _CountrySelectorWidget extends StatefulWidget { - final ScrollController scrollController; - final BorderRadiusGeometry borderRadius; - final Widget child; - - const _CountrySelectorWidget({ - required this.scrollController, - required this.child, - required this.borderRadius, - }); - - @override - State<_CountrySelectorWidget> createState() => _CountrySelectorWidgetState(); -} - -class _CountrySelectorWidgetState extends State<_CountrySelectorWidget> { - @override - initState() { - super.initState(); - widget.scrollController.addListener(_onScrollListener); - } - - @override - dispose() { - widget.scrollController.removeListener(_onScrollListener); - super.dispose(); - } - - _onScrollListener() { - FocusManager.instance.primaryFocus?.unfocus(); - } - - @override - Widget build(BuildContext context) { - return Container( - decoration: ShapeDecoration( - color: Theme.of(context).canvasColor, - shape: RoundedRectangleBorder( - borderRadius: widget.borderRadius, - ), - ), - child: widget.child, - ); - } -} diff --git a/lib/src/widgets/country_selector/country_selector_page.dart b/lib/src/widgets/country_selector/country_selector_page.dart new file mode 100644 index 00000000..7a322c36 --- /dev/null +++ b/lib/src/widgets/country_selector/country_selector_page.dart @@ -0,0 +1,143 @@ +import 'package:circle_flags/circle_flags.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:phone_form_field/l10n/generated/phone_field_localization.dart'; +import 'package:phone_form_field/l10n/generated/phone_field_localization_en.dart'; +import 'package:phone_form_field/src/widgets/country_selector/localized_country_registry.dart'; +import 'package:phone_numbers_parser/phone_numbers_parser.dart'; + +import 'country_finder.dart'; +import 'country.dart'; +import 'country_list.dart'; + +class CountrySelectorSearchDelegate extends SearchDelegate { + late CountryFinder _countryFinder; + late CountryFinder _favoriteCountryFinder; + + /// List of countries to display in the selector + /// Value optional in constructor. + /// when omitted, the full country list is displayed + final List countriesIso; + + /// Callback triggered when user select a country + final ValueChanged onCountrySelected; + + /// ListView.builder scroll controller (ie: [ScrollView.controller]) + final ScrollController? scrollController; + + /// The [ScrollPhysics] of the Country List + final ScrollPhysics? scrollPhysics; + + /// Determine the countries to be displayed on top of the list + /// Check [addFavoritesSeparator] property to enable/disable adding a + /// list divider between favorites and others defaults countries + final List favoriteCountriesIso; + + /// Whether to add a list divider between favorites & defaults + /// countries. + final bool addFavoritesSeparator; + + /// Whether to show the country country code (ie: +1 / +33 /...) + /// as a listTile subtitle + final bool showCountryCode; + + /// The message displayed instead of the list when the search has no results + final String? noResultMessage; + + /// whether the search input is auto focussed + final bool searchAutofocus; + final double flagSize; + + LocalizedCountryRegistry? _localizedCountryRegistry; + + /// Override default title TextStyle + final TextStyle? titleStyle; + + /// Override default subtitle TextStyle + final TextStyle? subtitleStyle; + + final FlagCache? flagCache; + + CountrySelectorSearchDelegate({ + Key? key, + required this.onCountrySelected, + required this.flagCache, + this.scrollController, + this.scrollPhysics, + this.addFavoritesSeparator = true, + this.showCountryCode = false, + this.noResultMessage, + List favoriteCountries = const [], + List? countries, + this.searchAutofocus = kIsWeb, + this.flagSize = 40, + this.titleStyle, + this.subtitleStyle, + }) : countriesIso = countries ?? IsoCode.values, + favoriteCountriesIso = favoriteCountries; + + @override + List? buildActions(BuildContext context) { + return [ + IconButton( + onPressed: () => query = '', + icon: const Icon(Icons.clear), + ), + ]; + } + + void _initIfRequired(BuildContext context) { + final localization = + PhoneFieldLocalization.of(context) ?? PhoneFieldLocalizationEn(); + final countryRegistry = LocalizedCountryRegistry.cached(localization); + // if localization has not changed no need to do anything + if (countryRegistry == _localizedCountryRegistry) { + return; + } + _localizedCountryRegistry = countryRegistry; + final notFavoriteCountries = countryRegistry.whereIsoIn( + countriesIso, + omit: favoriteCountriesIso, + ); + final favoriteCountries = countryRegistry.whereIsoIn(favoriteCountriesIso); + _countryFinder = CountryFinder(notFavoriteCountries); + _favoriteCountryFinder = CountryFinder(favoriteCountries, sort: false); + } + + void _updateList() { + _countryFinder.filter(query); + _favoriteCountryFinder.filter(query); + } + + @override + Widget? buildLeading(BuildContext context) { + return BackButton( + onPressed: () => Navigator.of(context).pop(), + ); + } + + @override + Widget buildSuggestions(BuildContext context) { + _initIfRequired(context); + _updateList(); + + return CountryList( + favorites: _favoriteCountryFinder.filteredCountries, + countries: _countryFinder.filteredCountries, + showDialCode: showCountryCode, + onTap: onCountrySelected, + flagSize: flagSize, + scrollController: scrollController, + scrollPhysics: scrollPhysics, + noResultMessage: noResultMessage, + titleStyle: titleStyle, + subtitleStyle: subtitleStyle, + flagCache: flagCache, + ); + } + + @override + Widget buildResults(BuildContext context) { + return buildSuggestions(context); + } +} diff --git a/lib/src/widgets/country_selector/localized_country_registry.dart b/lib/src/widgets/country_selector/localized_country_registry.dart new file mode 100644 index 00000000..3418e157 --- /dev/null +++ b/lib/src/widgets/country_selector/localized_country_registry.dart @@ -0,0 +1,287 @@ +import 'package:phone_form_field/phone_form_field.dart'; + +// NOTE: this is ugly, something else needs to be used. +// If someone has the hearth for some refactor... + +/// this saves the localized countries for each country +/// for a given language in a cache, so it does not +/// have to be recreated + +class LocalizedCountryRegistry { + final PhoneFieldLocalization _localization; + + static LocalizedCountryRegistry? _instance; + + late final Map _localizedCountries = Map.fromIterable( + // remove iso codes that do not have a traduction yet.. + IsoCode.values.where((iso) => _names.containsKey(iso)), + value: (isoCode) => Country(isoCode, _names[isoCode]!), + ); + + LocalizedCountryRegistry._(this._localization); + + factory LocalizedCountryRegistry.cached(PhoneFieldLocalization localization) { + final instance = _instance; + if (instance != null && instance._localization == localization) { + return instance; + } + return LocalizedCountryRegistry._(localization); + } + + Country? find(IsoCode isoCode) => _localizedCountries[isoCode]; + + /// gets localized countries from isocodes + List whereIsoIn( + List isoCodes, { + List omit = const [], + }) { + final omitSet = Set.from(omit); + return isoCodes + .where((isoCode) => !omitSet.contains(isoCode)) + .where((isoCode) => _localizedCountries.containsKey(isoCode)) + .map((iso) => _localizedCountries[iso]!) + .toList(); + } + + late final Map _names = { + IsoCode.AC: _localization.ac_, + IsoCode.AD: _localization.ad_, + IsoCode.AE: _localization.ae_, + IsoCode.AF: _localization.af_, + IsoCode.AG: _localization.ag_, + IsoCode.AI: _localization.ai_, + IsoCode.AL: _localization.al_, + IsoCode.AM: _localization.am_, + IsoCode.AO: _localization.ao_, + IsoCode.AR: _localization.ar_, + IsoCode.AS: _localization.as_, + IsoCode.AT: _localization.at_, + IsoCode.AU: _localization.au_, + IsoCode.AW: _localization.aw_, + IsoCode.AX: _localization.ax_, + IsoCode.AZ: _localization.az_, + IsoCode.BA: _localization.ba_, + IsoCode.BB: _localization.bb_, + IsoCode.BD: _localization.bd_, + IsoCode.BE: _localization.be_, + IsoCode.BF: _localization.bf_, + IsoCode.BG: _localization.bg_, + IsoCode.BH: _localization.bh_, + IsoCode.BI: _localization.bi_, + IsoCode.BJ: _localization.bj_, + IsoCode.BL: _localization.bl_, + IsoCode.BM: _localization.bm_, + IsoCode.BN: _localization.bn_, + IsoCode.BO: _localization.bo_, + IsoCode.BQ: _localization.bq_, + IsoCode.BR: _localization.br_, + IsoCode.BS: _localization.bs_, + IsoCode.BT: _localization.bt_, + IsoCode.BW: _localization.bw_, + IsoCode.BY: _localization.by_, + IsoCode.BZ: _localization.bz_, + IsoCode.CA: _localization.ca_, + IsoCode.CC: _localization.cc_, + IsoCode.CD: _localization.cd_, + IsoCode.CF: _localization.cf_, + IsoCode.CG: _localization.cg_, + IsoCode.CH: _localization.ch_, + IsoCode.CI: _localization.ci_, + IsoCode.CK: _localization.ck_, + IsoCode.CL: _localization.cl_, + IsoCode.CM: _localization.cm_, + IsoCode.CN: _localization.cn_, + IsoCode.CO: _localization.co_, + IsoCode.CR: _localization.cr_, + IsoCode.CU: _localization.cu_, + IsoCode.CV: _localization.cv_, + IsoCode.CX: _localization.cx_, + IsoCode.CY: _localization.cy_, + IsoCode.CZ: _localization.cz_, + IsoCode.DE: _localization.de_, + IsoCode.DJ: _localization.dj_, + IsoCode.DK: _localization.dk_, + IsoCode.DM: _localization.dm_, + IsoCode.DO: _localization.do_, + IsoCode.DZ: _localization.dz_, + IsoCode.EC: _localization.ec_, + IsoCode.EE: _localization.ee_, + IsoCode.EG: _localization.eg_, + IsoCode.ER: _localization.er_, + IsoCode.ES: _localization.es_, + IsoCode.ET: _localization.et_, + IsoCode.FI: _localization.fi_, + IsoCode.FJ: _localization.fj_, + IsoCode.FK: _localization.fk_, + IsoCode.FM: _localization.fm_, + IsoCode.FO: _localization.fo_, + IsoCode.FR: _localization.fr_, + IsoCode.GA: _localization.ga_, + IsoCode.GB: _localization.gb_, + IsoCode.GD: _localization.gd_, + IsoCode.GE: _localization.ge_, + IsoCode.GF: _localization.gf_, + IsoCode.GG: _localization.gg_, + IsoCode.GH: _localization.gh_, + IsoCode.GI: _localization.gi_, + IsoCode.GL: _localization.gl_, + IsoCode.GM: _localization.gm_, + IsoCode.GN: _localization.gn_, + IsoCode.GP: _localization.gp_, + IsoCode.GQ: _localization.gq_, + IsoCode.GR: _localization.gr_, + IsoCode.GT: _localization.gt_, + IsoCode.GU: _localization.gu_, + IsoCode.GW: _localization.gw_, + IsoCode.GY: _localization.gy_, + IsoCode.HK: _localization.hk_, + IsoCode.HN: _localization.hn_, + IsoCode.HR: _localization.hr_, + IsoCode.HT: _localization.ht_, + IsoCode.HU: _localization.hu_, + IsoCode.ID: _localization.id_, + IsoCode.IE: _localization.ie_, + IsoCode.IL: _localization.il_, + IsoCode.IM: _localization.im_, + IsoCode.IN: _localization.in_, + IsoCode.IO: _localization.io_, + IsoCode.IQ: _localization.iq_, + IsoCode.IR: _localization.ir_, + IsoCode.IS: _localization.is_, + IsoCode.IT: _localization.it_, + IsoCode.JE: _localization.je_, + IsoCode.JM: _localization.jm_, + IsoCode.JO: _localization.jo_, + IsoCode.JP: _localization.jp_, + IsoCode.KE: _localization.ke_, + IsoCode.KG: _localization.kg_, + IsoCode.KH: _localization.kh_, + IsoCode.KI: _localization.ki_, + IsoCode.KM: _localization.km_, + IsoCode.KN: _localization.kn_, + IsoCode.KP: _localization.kp_, + IsoCode.KR: _localization.kr_, + IsoCode.KW: _localization.kw_, + IsoCode.KY: _localization.ky_, + IsoCode.KZ: _localization.kz_, + IsoCode.LA: _localization.la_, + IsoCode.LB: _localization.lb_, + IsoCode.LC: _localization.lc_, + IsoCode.LI: _localization.li_, + IsoCode.LK: _localization.lk_, + IsoCode.LR: _localization.lr_, + IsoCode.LS: _localization.ls_, + IsoCode.LT: _localization.lt_, + IsoCode.LU: _localization.lu_, + IsoCode.LV: _localization.lv_, + IsoCode.LY: _localization.ly_, + IsoCode.MA: _localization.ma_, + IsoCode.MC: _localization.mc_, + IsoCode.MD: _localization.md_, + IsoCode.ME: _localization.me_, + IsoCode.MF: _localization.mf_, + IsoCode.MG: _localization.mg_, + IsoCode.MH: _localization.mh_, + IsoCode.MK: _localization.mk_, + IsoCode.ML: _localization.ml_, + IsoCode.MM: _localization.mm_, + IsoCode.MN: _localization.mn_, + IsoCode.MO: _localization.mo_, + IsoCode.MP: _localization.mp_, + IsoCode.MQ: _localization.mq_, + IsoCode.MR: _localization.mr_, + IsoCode.MS: _localization.ms_, + IsoCode.MT: _localization.mt_, + IsoCode.MU: _localization.mu_, + IsoCode.MV: _localization.mv_, + IsoCode.MW: _localization.mw_, + IsoCode.MX: _localization.mx_, + IsoCode.MY: _localization.my_, + IsoCode.MZ: _localization.mz_, + IsoCode.NA: _localization.na_, + IsoCode.NC: _localization.nc_, + IsoCode.NE: _localization.ne_, + IsoCode.NF: _localization.nf_, + IsoCode.NG: _localization.ng_, + IsoCode.NI: _localization.ni_, + IsoCode.NL: _localization.nl_, + IsoCode.NO: _localization.no_, + IsoCode.NP: _localization.np_, + IsoCode.NR: _localization.nr_, + IsoCode.NU: _localization.nu_, + IsoCode.NZ: _localization.nz_, + IsoCode.OM: _localization.om_, + IsoCode.PA: _localization.pa_, + IsoCode.PE: _localization.pe_, + IsoCode.PF: _localization.pf_, + IsoCode.PG: _localization.pg_, + IsoCode.PH: _localization.ph_, + IsoCode.PK: _localization.pk_, + IsoCode.PL: _localization.pl_, + IsoCode.PM: _localization.pm_, + IsoCode.PR: _localization.pr_, + IsoCode.PS: _localization.ps_, + IsoCode.PT: _localization.pt_, + IsoCode.PW: _localization.pw_, + IsoCode.PY: _localization.py_, + IsoCode.QA: _localization.qa_, + IsoCode.RE: _localization.re_, + IsoCode.RO: _localization.ro_, + IsoCode.RS: _localization.rs_, + IsoCode.RU: _localization.ru_, + IsoCode.RW: _localization.rw_, + IsoCode.SA: _localization.sa_, + IsoCode.SB: _localization.sb_, + IsoCode.SC: _localization.sc_, + IsoCode.SD: _localization.sd_, + IsoCode.SE: _localization.se_, + IsoCode.SG: _localization.sg_, + IsoCode.SI: _localization.si_, + IsoCode.SK: _localization.sk_, + IsoCode.SL: _localization.sl_, + IsoCode.SM: _localization.sm_, + IsoCode.SN: _localization.sn_, + IsoCode.SO: _localization.so_, + IsoCode.SR: _localization.sr_, + IsoCode.SS: _localization.ss_, + IsoCode.ST: _localization.st_, + IsoCode.SV: _localization.sv_, + IsoCode.SY: _localization.sy_, + IsoCode.SZ: _localization.sz_, + IsoCode.TA: _localization.ta_, + IsoCode.TC: _localization.tc_, + IsoCode.TD: _localization.td_, + IsoCode.TG: _localization.tg_, + IsoCode.TH: _localization.th_, + IsoCode.TJ: _localization.tj_, + IsoCode.TK: _localization.tk_, + IsoCode.TL: _localization.tl_, + IsoCode.TM: _localization.tm_, + IsoCode.TN: _localization.tn_, + IsoCode.TO: _localization.to_, + IsoCode.TR: _localization.tr_, + IsoCode.TT: _localization.tt_, + IsoCode.TV: _localization.tv_, + IsoCode.TW: _localization.tw_, + IsoCode.TZ: _localization.tz_, + IsoCode.UA: _localization.ua_, + IsoCode.UG: _localization.ug_, + IsoCode.US: _localization.us_, + IsoCode.UY: _localization.uy_, + IsoCode.UZ: _localization.uz_, + IsoCode.VA: _localization.va_, + IsoCode.VC: _localization.vc_, + IsoCode.VE: _localization.ve_, + IsoCode.VG: _localization.vg_, + IsoCode.VI: _localization.vi_, + IsoCode.VN: _localization.vn_, + IsoCode.VU: _localization.vu_, + IsoCode.WF: _localization.wf_, + IsoCode.WS: _localization.ws_, + IsoCode.YE: _localization.ye_, + IsoCode.YT: _localization.yt_, + IsoCode.ZA: _localization.za_, + IsoCode.ZM: _localization.zm_, + IsoCode.ZW: _localization.zw_ + }; +} diff --git a/lib/src/widgets/country_selector/search_box.dart b/lib/src/widgets/country_selector/search_box.dart new file mode 100644 index 00000000..ec1ec5e7 --- /dev/null +++ b/lib/src/widgets/country_selector/search_box.dart @@ -0,0 +1,50 @@ +import 'package:flutter/material.dart'; + +class SearchBox extends StatelessWidget { + final Function(String) onChanged; + final Function() onSubmitted; + final bool autofocus; + final InputDecoration? decoration; + final TextStyle? style; + final Color? searchIconColor; + + const SearchBox({ + super.key, + required this.onChanged, + required this.onSubmitted, + required this.autofocus, + this.decoration, + this.style, + this.searchIconColor, + }); + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.fromLTRB(16, 16, 16, 0), + child: TextField( + autofocus: autofocus, + onChanged: onChanged, + onSubmitted: (_) => onSubmitted(), + cursorColor: style?.color, + style: style, + decoration: decoration ?? + InputDecoration( + prefixIcon: Icon( + Icons.search, + color: searchIconColor ?? + (Theme.of(context).brightness == Brightness.dark + ? Colors.white54 + : Colors.black38), + ), + filled: true, + isDense: true, + border: OutlineInputBorder( + borderSide: BorderSide.none, + borderRadius: BorderRadius.circular(20), + ), + ), + ), + ); + } +} diff --git a/lib/src/widgets/phone_field.dart b/lib/src/widgets/phone_field.dart new file mode 100644 index 00000000..70cdbf6e --- /dev/null +++ b/lib/src/widgets/phone_field.dart @@ -0,0 +1,127 @@ +import 'dart:ui' as ui show BoxHeightStyle, BoxWidthStyle; + +import 'package:circle_flags/circle_flags.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:phone_form_field/src/constants/patterns.dart'; +import 'package:phone_form_field/src/controllers/phone_field_controller.dart'; + +import '../../phone_form_field.dart'; + +part 'phone_field_state.dart'; + +/// Phone field +/// +/// This deals with mostly UI and has no dependency on any phone parser library +class PhoneField extends StatefulWidget { + final PhoneFieldController controller; + final bool showFlagInInput; + final bool showIsoCodeInInput; + final bool showDialCode; + final String? errorText; + final double flagSize; + final InputDecoration decoration; + final bool isCountrySelectionEnabled; + final bool isCountryChipPersistent; + + /// configures the way the country picker selector is shown + final CountrySelectorNavigator selectorNavigator; + + // textfield inputs + final TextInputType keyboardType; + final TextInputAction? textInputAction; + final TextStyle? style; + final TextStyle? countryCodeStyle; + final StrutStyle? strutStyle; + final TextAlign textAlign; + final TextAlignVertical? textAlignVertical; + final bool autofocus; + final String obscuringCharacter; + final bool obscureText; + final bool autocorrect; + final SmartDashesType? smartDashesType; + final SmartQuotesType? smartQuotesType; + final bool enableSuggestions; + final Widget Function(BuildContext, EditableTextState)? contextMenuBuilder; + final bool? showCursor; + final VoidCallback? onEditingComplete; + final ValueChanged? onSubmitted; + final AppPrivateCommandCallback? onAppPrivateCommand; + final Function(PointerDownEvent)? onTapOutside; + final bool? enabled; + final double cursorWidth; + final double? cursorHeight; + final Radius? cursorRadius; + final Color? cursorColor; + final ui.BoxHeightStyle selectionHeightStyle; + final ui.BoxWidthStyle selectionWidthStyle; + final Brightness? keyboardAppearance; + final EdgeInsets scrollPadding; + final bool enableInteractiveSelection; + final TextSelectionControls? selectionControls; + bool get selectionEnabled => enableInteractiveSelection; + final MouseCursor? mouseCursor; + final ScrollPhysics? scrollPhysics; + final ScrollController? scrollController; + final Iterable? autofillHints; + final String? restorationId; + final bool enableIMEPersonalizedLearning; + final List? inputFormatters; + + const PhoneField({ + // form field params + super.key, + required this.controller, + required this.showFlagInInput, + required this.selectorNavigator, + required this.flagSize, + required this.errorText, + required this.decoration, + required this.isCountrySelectionEnabled, + required this.isCountryChipPersistent, + // textfield inputs + required this.keyboardType, + required this.textInputAction, + required this.style, + required this.countryCodeStyle, + required this.strutStyle, + required this.textAlign, + required this.textAlignVertical, + required this.autofocus, + required this.obscuringCharacter, + required this.obscureText, + required this.autocorrect, + required this.smartDashesType, + required this.smartQuotesType, + required this.enableSuggestions, + required this.contextMenuBuilder, + required this.showCursor, + required this.onEditingComplete, + required this.onSubmitted, + required this.onAppPrivateCommand, + required this.enabled, + required this.cursorWidth, + required this.cursorHeight, + required this.cursorRadius, + required this.cursorColor, + required this.selectionHeightStyle, + required this.selectionWidthStyle, + required this.keyboardAppearance, + required this.scrollPadding, + required this.enableInteractiveSelection, + required this.selectionControls, + required this.mouseCursor, + required this.scrollPhysics, + required this.scrollController, + required this.autofillHints, + required this.restorationId, + required this.enableIMEPersonalizedLearning, + required this.inputFormatters, + required this.showDialCode, + required this.showIsoCodeInInput, + required this.onTapOutside, + }); + + @override + PhoneFieldState createState() => PhoneFieldState(); +} diff --git a/lib/src/widgets/phone_field_state.dart b/lib/src/widgets/phone_field_state.dart new file mode 100644 index 00000000..e6c4ea18 --- /dev/null +++ b/lib/src/widgets/phone_field_state.dart @@ -0,0 +1,185 @@ +part of 'phone_field.dart'; + +class PhoneFieldState extends State { + PhoneFieldController get controller => widget.controller; + final _flagCache = FlagCache(); + PhoneFieldState(); + + @override + void initState() { + controller.focusNode.addListener(onFocusChange); + _preloadFlagsInMemory(); + super.initState(); + } + + void _preloadFlagsInMemory() { + _flagCache.preload(IsoCode.values.map((isoCode) => isoCode.name)); + } + + void onFocusChange() { + setState(() {}); + } + + @override + void dispose() { + controller.focusNode.removeListener(onFocusChange); + super.dispose(); + } + + void selectCountry() async { + if (!widget.isCountrySelectionEnabled) { + return; + } + SystemChannels.textInput.invokeMethod('TextInput.hide'); + final selected = + await widget.selectorNavigator.navigate(context, _flagCache); + if (selected != null) { + controller.isoCode = selected.isoCode; + } + controller.focusNode.requestFocus(); + SystemChannels.textInput.invokeMethod('TextInput.show'); + } + + @override + Widget build(BuildContext context) { + // the idea here is to have a mouse region that surround the input which + // contains a flag button and a text field. The text field is surrounded + // by padding so we want to request focus even when clicking outside of the + // inner field. + // When the country chip is not shown it request focus to the inner text + // field which doesn't span the whole input + // When the country chip is shown, clicking on it request country selection + return MouseRegion( + cursor: SystemMouseCursors.text, + child: GestureDetector( + onTap: controller.focusNode.requestFocus, + // absorb pointer when the country chip is not shown, else flutter + // still allows the country chip to be clicked even though it is not shown + child: InputDecorator( + decoration: _getOutterInputDecoration(), + isFocused: controller.focusNode.hasFocus, + isEmpty: _isEffectivelyEmpty(), + child: TextField( + focusNode: controller.focusNode, + controller: controller.nationalNumberController, + enabled: widget.enabled, + decoration: _getInnerInputDecoration(), + inputFormatters: widget.inputFormatters ?? + [ + FilteringTextInputFormatter.allow(RegExp( + '[${Patterns.plus}${Patterns.digits}${Patterns.punctuation}]')), + ], + autofillHints: widget.autofillHints, + keyboardType: widget.keyboardType, + textInputAction: widget.textInputAction, + style: widget.style, + strutStyle: widget.strutStyle, + textAlign: widget.textAlign, + textAlignVertical: widget.textAlignVertical, + autofocus: widget.autofocus, + obscuringCharacter: widget.obscuringCharacter, + obscureText: widget.obscureText, + autocorrect: widget.autocorrect, + smartDashesType: widget.smartDashesType, + smartQuotesType: widget.smartQuotesType, + enableSuggestions: widget.enableSuggestions, + contextMenuBuilder: widget.contextMenuBuilder, + showCursor: widget.showCursor, + onEditingComplete: widget.onEditingComplete, + onSubmitted: widget.onSubmitted, + onAppPrivateCommand: widget.onAppPrivateCommand, + cursorWidth: widget.cursorWidth, + cursorHeight: widget.cursorHeight, + cursorRadius: widget.cursorRadius, + cursorColor: widget.cursorColor, + onTapOutside: widget.onTapOutside, + selectionHeightStyle: widget.selectionHeightStyle, + selectionWidthStyle: widget.selectionWidthStyle, + keyboardAppearance: widget.keyboardAppearance, + scrollPadding: widget.scrollPadding, + enableInteractiveSelection: widget.enableInteractiveSelection, + selectionControls: widget.selectionControls, + mouseCursor: widget.mouseCursor, + scrollController: widget.scrollController, + scrollPhysics: widget.scrollPhysics, + restorationId: widget.restorationId, + enableIMEPersonalizedLearning: widget.enableIMEPersonalizedLearning, + ), + ), + ), + ); + } + + Widget _getCountryCodeChip() { + return Directionality( + textDirection: TextDirection.ltr, + child: MouseRegion( + cursor: SystemMouseCursors.click, + child: GestureDetector( + onTap: selectCountry, + // material here else the click pass through empty spaces + child: Material( + color: Colors.transparent, + child: Padding( + padding: !widget.showDialCode && !widget.showFlagInInput + ? EdgeInsets.zero + : const EdgeInsetsDirectional.fromSTEB(8, 0, 8, 0), + child: CountryCodeChip( + key: const ValueKey('country-code-chip'), + isoCode: controller.isoCode, + showFlag: widget.showFlagInInput, + showIsoCode: widget.showIsoCodeInInput, + showDialCode: widget.showDialCode, + textStyle: widget.countryCodeStyle ?? + widget.decoration.labelStyle ?? + TextStyle( + fontSize: 16, + color: Theme.of(context).textTheme.bodySmall?.color, + ), + flagSize: widget.flagSize, + ), + ), + ), + ), + ), + ); + } + + InputDecoration _getInnerInputDecoration() { + return InputDecoration.collapsed( + hintText: widget.decoration.hintText, + hintStyle: widget.decoration.hintStyle, + ).copyWith( + focusedBorder: InputBorder.none, + errorBorder: InputBorder.none, + disabledBorder: InputBorder.none, + enabledBorder: InputBorder.none, + focusedErrorBorder: InputBorder.none, + ); + } + + InputDecoration _getOutterInputDecoration() { + final directionality = Directionality.of(context); + + return widget.decoration.copyWith( + hintText: null, + errorText: widget.errorText, + prefix: + directionality == TextDirection.ltr ? _getCountryCodeChip() : null, + suffix: + directionality == TextDirection.rtl ? _getCountryCodeChip() : null, + ); + } + + bool _isEffectivelyEmpty() { + if (widget.isCountryChipPersistent) return false; + final outterDecoration = _getOutterInputDecoration(); + // when there is not label and an hint text we need to have + // isEmpty false so the country code is displayed along the + // hint text to not have the hint text in the middle + if (outterDecoration.label == null && outterDecoration.hintText != null) { + return false; + } + return controller.nationalNumberController.text.isEmpty; + } +} diff --git a/lib/src/widgets/phone_form_field.dart b/lib/src/widgets/phone_form_field.dart new file mode 100644 index 00000000..254ca9ea --- /dev/null +++ b/lib/src/widgets/phone_form_field.dart @@ -0,0 +1,229 @@ +import 'dart:async'; +import 'dart:ui' as ui show BoxHeightStyle, BoxWidthStyle; + +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:phone_numbers_parser/phone_numbers_parser.dart'; + +import '../constants/patterns.dart'; +import '../controllers/phone_controller.dart'; +import '../controllers/phone_field_controller.dart'; +import '../validation/phone_validator.dart'; +import '../validation/validator_translator.dart'; +import 'country_selector/country_selector_navigator.dart'; +import 'phone_field.dart'; + +part 'phone_form_field_state.dart'; + +/// Phone input extending form field. +/// +/// ### controller: +/// {@template controller} +/// Use a [PhoneController] for PhoneFormField when you need to dynamically +/// change the value. +/// +/// Whenever the user modifies the phone field with an +/// associated [controller], the phone field updates +/// the display value and the controller notifies its listeners. +/// {@endtemplate} +/// +/// You can also use an [initialValue]: +/// {@template initialValue} +/// The initial value used. +/// +/// Only one of [initialValue] and [controller] can be specified. +/// If [controller] is specified the [initialValue] will be +/// the first value of the [PhoneController] +/// {@endtemplate} +/// +/// ### formatting: +/// {@template shouldFormat} +/// Specify whether the field will format the national number with [shouldFormat] = true (default) +/// eg: +33677784455 will be displayed as +33 6 77 78 44 55. +/// +/// The formats are localized for the country code. +/// eg: +1 677-784-455 & +33 6 77 78 44 55 +/// +/// +/// This does not affect the output value, only the display. +/// Therefor [onSizeFound] will still return a [PhoneNumber] +/// with nsn of 677784455. +/// {@endtemplate} +/// +/// ### phoneNumberType: +/// {@template phoneNumberType} +/// specify the type of phone number with [phoneNumberType]. +/// +/// accepted values are: +/// - null (can be mobile or fixedLine) +/// - mobile +/// - fixedLine +/// {@endtemplate} +/// +/// +/// ### Country picker: +/// +/// {@template selectorNavigator} +/// specify which type of country selector will be shown with [selectorNavigator]. +/// +/// Uses one of: +/// - const BottomSheetNavigator() +/// - const DraggableModalBottomSheetNavigator() +/// - const ModalBottomSheetNavigator() +/// - const DialogNavigator() +/// {@endtemplate} +/// +/// ### Country Code visibility: +/// +/// The country dial code will be visible when: +/// - the field is focussed. +/// - the field has a value for national number. +/// - the field has no label obstructing the view. +class PhoneFormField extends FormField { + /// {@macro controller} + final PhoneController? controller; + + /// {@macro shouldFormat} + final bool shouldFormat; + + /// callback called when the input value changes + final ValueChanged? onChanged; + + /// country that is displayed when there is no value + final IsoCode defaultCountry; + + /// the focusNode of the national number + final FocusNode? focusNode; + + /// show Dial Code or not + final bool showDialCode; + + /// show selected iso code or not + final bool showIsoCodeInInput; + + PhoneFormField({ + super.key, + this.controller, + this.shouldFormat = true, + this.onChanged, + this.focusNode, + bool showFlagInInput = true, + CountrySelectorNavigator countrySelectorNavigator = + const CountrySelectorNavigator.searchDelegate(), + Function(PhoneNumber?)? super.onSaved, + this.defaultCountry = IsoCode.US, + InputDecoration decoration = + const InputDecoration(border: UnderlineInputBorder()), + AutovalidateMode super.autovalidateMode = AutovalidateMode.onUserInteraction, + PhoneNumber? initialValue, + double flagSize = 16, + PhoneNumberInputValidator? validator, + bool isCountrySelectionEnabled = true, + bool isCountryChipPersistent = true, + // textfield inputs + TextInputType keyboardType = TextInputType.phone, + TextInputAction? textInputAction, + TextStyle? style, + TextStyle? countryCodeStyle, + StrutStyle? strutStyle, + TextAlign textAlign = TextAlign.start, + TextAlignVertical? textAlignVertical, + bool autofocus = false, + String obscuringCharacter = '*', + bool obscureText = false, + bool autocorrect = true, + SmartDashesType? smartDashesType, + SmartQuotesType? smartQuotesType, + bool enableSuggestions = true, + Widget Function(BuildContext, EditableTextState)? contextMenuBuilder, + bool? showCursor, + VoidCallback? onEditingComplete, + ValueChanged? onSubmitted, + AppPrivateCommandCallback? onAppPrivateCommand, + Function(PointerDownEvent)? onTapOutside, + List? inputFormatters, + super.enabled, + double cursorWidth = 2.0, + double? cursorHeight, + Radius? cursorRadius, + Color? cursorColor, + ui.BoxHeightStyle selectionHeightStyle = ui.BoxHeightStyle.tight, + ui.BoxWidthStyle selectionWidthStyle = ui.BoxWidthStyle.tight, + Brightness? keyboardAppearance, + EdgeInsets scrollPadding = const EdgeInsets.all(20.0), + bool enableInteractiveSelection = true, + TextSelectionControls? selectionControls, + MouseCursor? mouseCursor, + ScrollPhysics? scrollPhysics, + ScrollController? scrollController, + Iterable? autofillHints, + super.restorationId, + bool enableIMEPersonalizedLearning = true, + this.showDialCode = true, + this.showIsoCodeInInput = false, + }) : assert( + initialValue == null || controller == null, + 'One of initialValue or controller can be specified at a time', + ), + super( + initialValue: controller != null ? controller.value : initialValue, + validator: validator ?? PhoneValidator.valid(), + builder: (state) { + final field = state as PhoneFormFieldState; + return PhoneField( + controller: field._childController, + showFlagInInput: showFlagInInput, + showIsoCodeInInput: showIsoCodeInInput, + selectorNavigator: countrySelectorNavigator, + errorText: field.getErrorText(), + showDialCode: showDialCode, + flagSize: flagSize, + decoration: decoration, + enabled: enabled, + isCountrySelectionEnabled: isCountrySelectionEnabled, + isCountryChipPersistent: isCountryChipPersistent, + // textfield params + autofillHints: autofillHints, + keyboardType: keyboardType, + textInputAction: textInputAction, + style: style, + countryCodeStyle: countryCodeStyle, + strutStyle: strutStyle, + textAlign: textAlign, + textAlignVertical: textAlignVertical, + autofocus: autofocus, + obscuringCharacter: obscuringCharacter, + obscureText: obscureText, + autocorrect: autocorrect, + smartDashesType: smartDashesType, + smartQuotesType: smartQuotesType, + enableSuggestions: enableSuggestions, + contextMenuBuilder: contextMenuBuilder, + showCursor: showCursor, + onEditingComplete: onEditingComplete, + onSubmitted: onSubmitted, + onAppPrivateCommand: onAppPrivateCommand, + onTapOutside: onTapOutside, + cursorWidth: cursorWidth, + cursorHeight: cursorHeight, + cursorRadius: cursorRadius, + cursorColor: cursorColor, + selectionHeightStyle: selectionHeightStyle, + selectionWidthStyle: selectionWidthStyle, + keyboardAppearance: keyboardAppearance, + scrollPadding: scrollPadding, + enableInteractiveSelection: enableInteractiveSelection, + selectionControls: selectionControls, + mouseCursor: mouseCursor, + scrollController: scrollController, + scrollPhysics: scrollPhysics, + restorationId: restorationId, + enableIMEPersonalizedLearning: enableIMEPersonalizedLearning, + inputFormatters: inputFormatters, + ); + }, + ); + + @override + PhoneFormFieldState createState() => PhoneFormFieldState(); +} diff --git a/lib/src/widgets/phone_form_field_state.dart b/lib/src/widgets/phone_form_field_state.dart new file mode 100644 index 00000000..7fada3e1 --- /dev/null +++ b/lib/src/widgets/phone_form_field_state.dart @@ -0,0 +1,114 @@ +part of 'phone_form_field.dart'; + +class PhoneFormFieldState extends FormFieldState { + late final PhoneController _controller; + late final PhoneFieldController _childController; + late final StreamSubscription _selectionSubscription; + + @override + PhoneFormField get widget => super.widget as PhoneFormField; + + @override + void initState() { + super.initState(); + _controller = widget.controller ?? PhoneController(value); + _childController = PhoneFieldController( + isoCode: _controller.value?.isoCode ?? widget.defaultCountry, + national: _getFormattedNsn(), + focusNode: widget.focusNode ?? FocusNode(), + ); + _controller.addListener(_onControllerChange); + _childController.addListener(() => _onChildControllerChange()); + // to expose text selection of national number + _selectionSubscription = _controller.selectionRequestStream + .listen((event) => _childController.selectNationalNumber()); + } + + @override + void dispose() { + super.dispose(); + _childController.dispose(); + _selectionSubscription.cancel(); + _controller.removeListener(_onControllerChange); + // dispose the controller only when it's initialised in this instance + // otherwise this should be done where instance is created + if (widget.controller == null) { + _controller.dispose(); + } + } + + @override + void reset() { + _controller.value = widget.initialValue; + super.reset(); + } + + /// when the controller changes this function will + /// update the childController so the [PhoneField] which + /// deals with the UI can display the correct value. + void _onControllerChange() { + final phone = _controller.value; + + widget.onChanged?.call(phone); + didChange(phone); + final formatted = _getFormattedNsn(); + if (_childController.national != formatted) { + _childController.national = formatted; + } + if (_childController.isoCode != phone?.isoCode) { + _childController.isoCode = phone?.isoCode ?? widget.defaultCountry; + } + } + + /// when the base controller changes (when the user manually input something) + /// then we need to update the local controller's value. + void _onChildControllerChange() { + if (_childController.national == _controller.value?.nsn && + _childController.isoCode == _controller.value?.isoCode) { + return; + } + + if (_childController.national == null) { + return _controller.value = null; + } + // we convert the multiple controllers from the child controller + // to a full blown PhoneNumber to access validation, formatting etc. + PhoneNumber phoneNumber; + // when the nsn input change we check if its not a whole number + // to allow for copy pasting and auto fill. If it is one then + // we parse it accordingly. + // we assume it's a whole phone number if it starts with + + final childNsn = _childController.national; + if (childNsn != null && childNsn.startsWith(RegExp('[${Patterns.plus}]'))) { + // if starts with + then we parse the whole number + // to figure out the country code + final international = childNsn; + try { + phoneNumber = PhoneNumber.parse(international); + } on PhoneNumberException { + return; + } + } else { + phoneNumber = PhoneNumber.parse( + childNsn ?? '', + destinationCountry: _childController.isoCode, + ); + } + _controller.value = phoneNumber; + } + + String? _getFormattedNsn() { + if (widget.shouldFormat) { + return _controller.value?.getFormattedNsn(); + } + return _controller.value?.nsn; + } + + /// gets the localized error text if any + String? getErrorText() { + if (errorText != null) { + return ValidatorTranslator.message(context, errorText!); + } + return null; + } +} diff --git a/pubspec.yaml b/pubspec.yaml index a4f6a9ec..7b8cd3e8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,18 +10,15 @@ environment: dependencies: flutter: sdk: flutter - flutter_localizations: + flutter_localizations: # Add this line sdk: flutter - intl: ">=0.18.1 <=1.0.0" - flutter_country_selector: ^1.0.2 - circle_flags: ^4.0.0 - phone_numbers_parser: ^8.1.3 - diacritic: ^0.1.5 + + circle_flags: ^3.0.1 + phone_numbers_parser: ^8.1.0 + intl: ">=0.17.0 <=1.0.0" + diacritic: ^0.1.3 dev_dependencies: flutter_test: sdk: flutter flutter_lints: ^3.0.1 - -flutter: - generate: true diff --git a/test/country_selector_navigator_test.dart b/test/_country_selector_navigator_test.dart similarity index 61% rename from test/country_selector_navigator_test.dart rename to test/_country_selector_navigator_test.dart index 6601c1bf..c1462e75 100644 --- a/test/country_selector_navigator_test.dart +++ b/test/_country_selector_navigator_test.dart @@ -1,5 +1,5 @@ +import 'package:circle_flags/circle_flags.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_country_selector/flutter_country_selector.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:phone_form_field/phone_form_field.dart'; @@ -16,44 +16,36 @@ void main() { ), ); - testWidgets('should navigate to page', (tester) async { - const nav = CountrySelectorNavigator.page(); - await tester.pumpWidget(getApp((ctx) => nav.show(ctx))); - await tester.tap(find.byType(ElevatedButton)); - await tester.pumpAndSettle(); - expect(find.byType(CountrySelectorPage), findsOneWidget); - }); - testWidgets('should navigate to dialog', (tester) async { const nav = CountrySelectorNavigator.dialog(); - await tester.pumpWidget(getApp((ctx) => nav.show(ctx))); + await tester.pumpWidget(getApp((ctx) => nav.navigate(ctx, FlagCache()))); await tester.tap(find.byType(ElevatedButton)); await tester.pumpAndSettle(); - expect(find.byType(CountrySelectorSheet), findsOneWidget); + expect(find.byType(CountrySelector), findsOneWidget); }); testWidgets('should navigate to modal bottom sheet', (tester) async { const nav = CountrySelectorNavigator.modalBottomSheet(); - await tester.pumpWidget(getApp((ctx) => nav.show(ctx))); + await tester.pumpWidget(getApp((ctx) => nav.navigate(ctx, FlagCache()))); await tester.tap(find.byType(ElevatedButton)); await tester.pump(const Duration(seconds: 1)); - expect(find.byType(CountrySelectorSheet), findsOneWidget); + expect(find.byType(CountrySelector), findsOneWidget); }); testWidgets('should navigate to bottom sheet', (tester) async { const nav = CountrySelectorNavigator.bottomSheet(); - await tester.pumpWidget(getApp((ctx) => nav.show(ctx))); + await tester.pumpWidget(getApp((ctx) => nav.navigate(ctx, FlagCache()))); await tester.tap(find.byType(ElevatedButton)); await tester.pump(const Duration(seconds: 1)); - expect(find.byType(CountrySelectorSheet), findsOneWidget); + expect(find.byType(CountrySelector), findsOneWidget); }); testWidgets('should navigate to draggable sheet', (tester) async { const nav = CountrySelectorNavigator.draggableBottomSheet(); - await tester.pumpWidget(getApp((ctx) => nav.show(ctx))); + await tester.pumpWidget(getApp((ctx) => nav.navigate(ctx, FlagCache()))); await tester.tap(find.byType(ElevatedButton)); await tester.pump(const Duration(seconds: 1)); - expect(find.byType(CountrySelectorSheet), findsOneWidget); + expect(find.byType(CountrySelector), findsOneWidget); }); }); } diff --git a/test/_country_selector_test.dart b/test/_country_selector_test.dart new file mode 100644 index 00000000..5d97bd7a --- /dev/null +++ b/test/_country_selector_test.dart @@ -0,0 +1,251 @@ +import 'package:circle_flags/circle_flags.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_localizations/flutter_localizations.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:phone_form_field/phone_form_field.dart'; +import 'package:phone_form_field/src/widgets/country_selector/search_box.dart'; + +void main() { + group('CountrySelector', () { + group('Without internationalization', () { + final app = MaterialApp( + home: Scaffold( + body: CountrySelector( + onCountrySelected: (c) {}, + flagCache: FlagCache(), + ), + ), + ); + + testWidgets('Should filter with text', (tester) async { + await tester.pumpWidget(app); + await tester.pumpAndSettle(); + final txtFound = find.byType(SearchBox); + expect(txtFound, findsOneWidget); + await tester.enterText(txtFound, 'sp'); + await tester.pumpAndSettle(); + final tiles = find.byType(ListTile); + expect(tiles, findsWidgets); + expect( + tester.widget(tiles.first).key, equals(const Key('ES'))); + // not the right language (we let english go through tho) + await tester.enterText(txtFound, 'Espagne'); + await tester.pumpAndSettle(); + expect(tiles, findsNothing); + await tester.pumpAndSettle(); + // country codes + await tester.enterText(txtFound, '33'); + await tester.pumpAndSettle(); + expect(tiles, findsWidgets); + expect( + tester.widget(tiles.first).key, equals(const Key('FR'))); + }); + }); + + group('With internationalization', () { + final app = MaterialApp( + locale: const Locale('es', ''), + localizationsDelegates: const [ + ...GlobalMaterialLocalizations.delegates, + PhoneFieldLocalization.delegate, + ], + supportedLocales: const [Locale('es', '')], + home: Scaffold( + body: CountrySelector( + onCountrySelected: (c) {}, + flagCache: FlagCache(), + ), + ), + ); + + testWidgets('Should filter with text', (tester) async { + await tester.pumpWidget(app); + await tester.pump(const Duration(seconds: 1)); + final txtFound = find.byType(SearchBox); + expect(txtFound, findsOneWidget); + await tester.enterText(txtFound, 'esp'); + await tester.pump(const Duration(seconds: 1)); + final tiles = find.byType(ListTile); + expect(tiles, findsWidgets); + expect( + tester.widget(tiles.first).key, equals(const Key('ES'))); + // not the right language (we let english go through tho) + await tester.enterText(txtFound, 'Espagne'); + await tester.pump(const Duration(seconds: 1)); + expect(tiles, findsNothing); + await tester.pump(const Duration(seconds: 1)); + // country codes + await tester.enterText(txtFound, '33'); + await tester.pump(const Duration(seconds: 1)); + expect(tiles, findsWidgets); + expect( + tester.widget(tiles.first).key, equals(const Key('FR'))); + }); + }); + + group('sorted countries with or without favorites', () { + Widget builder({ + List? favorites, + bool addFavoritesSeparator = false, + }) => + MaterialApp( + locale: const Locale('fr'), + localizationsDelegates: const [ + PhoneFieldLocalization.delegate, + ...GlobalMaterialLocalizations.delegates, + ], + supportedLocales: const [Locale('fr')], + home: Scaffold( + body: CountrySelector( + onCountrySelected: (c) {}, + addFavoritesSeparator: addFavoritesSeparator, + favoriteCountries: favorites ?? const [], + flagCache: FlagCache(), + ), + ), + ); + + testWidgets('should be properly sorted without favorites', + (tester) async { + await tester.pumpWidget(builder()); + await tester.pump(const Duration(seconds: 1)); + final allTiles = find.byType(ListTile); + expect(allTiles, findsWidgets); + // expect(tester.widget(allTiles.first).key, equals(Key('AF'))); + }); + + testWidgets('should be properly sorted with favorites', (tester) async { + await tester.pumpWidget(builder(favorites: [IsoCode.GU, IsoCode.GY])); + await tester.pump(const Duration(seconds: 1)); + final allTiles = find.byType(ListTile, skipOffstage: false); + expect(allTiles, findsWidgets); + expect(tester.widget(allTiles.at(0)).key, + equals(Key(IsoCode.GU.name))); + expect(tester.widget(allTiles.at(1)).key, + equals(Key(IsoCode.GY.name))); + + final txtFound = find.byType(SearchBox); + expect(txtFound, findsOneWidget); + await tester.enterText(txtFound, 'guy'); + await tester.pumpAndSettle(); + final filteredTiles = find.byType(ListTile); + expect(filteredTiles, findsWidgets); + expect(filteredTiles.evaluate().length, equals(2)); + }); + + testWidgets('should display/hide separator', (tester) async { + await tester.pumpWidget(builder( + favorites: [IsoCode.GU, IsoCode.GY], + addFavoritesSeparator: true, + )); + await tester.pump(const Duration(seconds: 1)); + final list = find.byType(ListView); + expect(list, findsOneWidget); + final allTiles = find.descendant( + of: list, + matching: find.byWidgetPredicate( + (Widget widget) => widget is ListTile || widget is Divider, + ), + ); + + expect(allTiles, findsWidgets); + expect( + tester.widget(allTiles.at(2)), + isA(), + reason: 'separator should be visible after the favorites countries', + ); + + final txtFound = find.byType(SearchBox); + expect(txtFound, findsOneWidget); + await tester.enterText(txtFound, 'guy'); + await tester.pump(const Duration(seconds: 1)); + final tiles = find.byType(ListTile); + expect(tiles, findsWidgets); + expect( + tiles.evaluate().length, + equals(2), + reason: 'Separator should be hidden as all elements' + 'found are in favorites', + ); + }); + }); + + group('Empty search result', () { + Widget builder({ + String? noResultMessage, + }) => + MaterialApp( + locale: const Locale('fr'), + localizationsDelegates: const [ + PhoneFieldLocalization.delegate, + ...GlobalMaterialLocalizations.delegates, + ], + supportedLocales: const [Locale('fr')], + home: Scaffold( + body: CountrySelector( + onCountrySelected: (c) {}, + noResultMessage: noResultMessage, + flagCache: FlagCache(), + ), + ), + ); + + testWidgets('should display default untranslated no result message', + (tester) async { + await tester.pumpWidget(MaterialApp( + home: Scaffold( + body: CountrySelector( + onCountrySelected: (c) {}, + flagCache: FlagCache(), + ), + ), + )); + + final txtFound = find.byType(SearchBox); + expect(txtFound, findsOneWidget); + await tester.enterText(txtFound, 'fake search with no result'); + await tester.pumpAndSettle(); + + // no listitem should be displayed when no result found + final allTiles = find.byType(ListTile); + expect(allTiles, findsNothing); + + final noResultWidget = find.text('No result found'); + expect(noResultWidget, findsOneWidget); + }); + + testWidgets('should display default translated no result message', + (tester) async { + await tester.pumpWidget(builder()); + + final txtFound = find.byType(SearchBox); + expect(txtFound, findsOneWidget); + await tester.enterText(txtFound, 'fake search with no result'); + await tester.pumpAndSettle(); + + // no listitem should be displayed when no result found + final allTiles = find.byType(ListTile); + expect(allTiles, findsNothing); + + final noResultWidget = find.text('Aucun résultat'); + expect(noResultWidget, findsOneWidget); + }); + + testWidgets('should display custom no result message', (tester) async { + await tester.pumpWidget(builder(noResultMessage: 'Bad news !')); + + final txtFound = find.byType(SearchBox); + expect(txtFound, findsOneWidget); + await tester.enterText(txtFound, 'fake search with no result'); + await tester.pumpAndSettle(); + + // no listitem should be displayed when no result found + final allTiles = find.byType(ListTile); + expect(allTiles, findsNothing); + + final noResultWidget = find.text('Bad news !'); + expect(noResultWidget, findsOneWidget); + }); + }); + }); +} diff --git a/test/phone_form_field_test.dart b/test/phone_form_field_test.dart index 0a1884ca..b79ca0f4 100644 --- a/test/phone_form_field_test.dart +++ b/test/phone_form_field_test.dart @@ -1,15 +1,14 @@ import 'package:circle_flags/circle_flags.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_country_selector/flutter_country_selector.dart'; +import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:phone_form_field/phone_form_field.dart'; -import 'package:phone_form_field/src/localization/generated/phone_field_localization_impl_en.dart'; +import 'package:phone_form_field/src/widgets/country_selector/country_list.dart'; void main() { group('PhoneFormField', () { final formKey = GlobalKey(); final phoneKey = GlobalKey>(); - Widget getWidget({ Function(PhoneNumber?)? onChanged, Function(PhoneNumber?)? onSaved, @@ -18,89 +17,82 @@ void main() { PhoneController? controller, bool showFlagInInput = true, bool showDialCode = true, - PhoneNumberInputValidator Function(BuildContext)? validatorBuilder, - bool enabled = true, + IsoCode defaultCountry = IsoCode.US, + bool shouldFormat = false, + PhoneNumberInputValidator? validator, }) => MaterialApp( - localizationsDelegates: PhoneFieldLocalization.delegates, + localizationsDelegates: const [ + GlobalMaterialLocalizations.delegate, + PhoneFieldLocalization.delegate, + ], supportedLocales: const [Locale('en')], home: Scaffold( - body: Builder(builder: (context) { - return Form( - key: formKey, - child: PhoneFormField( - key: phoneKey, - initialValue: initialValue, - onChanged: onChanged, - onSaved: onSaved, - onTapOutside: onTapOutside, - showFlagInInput: showFlagInInput, - showDialCode: showDialCode, - controller: controller, - validator: validatorBuilder?.call(context), - enabled: enabled, - autovalidateMode: AutovalidateMode.onUserInteraction, - ), - ); - }), + body: Form( + key: formKey, + child: PhoneFormField( + key: phoneKey, + initialValue: initialValue, + onChanged: onChanged, + onSaved: onSaved, + onTapOutside: onTapOutside, + showFlagInInput: showFlagInInput, + showDialCode: showDialCode, + controller: controller, + defaultCountry: defaultCountry, + shouldFormat: shouldFormat, + validator: validator, + ), + ), ), ); - testWidgets('Should display input', (tester) async { - await tester.pumpWidget( - getWidget(initialValue: PhoneNumber.parse('+33')), - ); - expect(find.byType(PhoneFormField), findsOneWidget); - }); - - testWidgets('Should display country code', (tester) async { - await tester.pumpWidget(getWidget()); - expect(find.byType(CountryButton), findsWidgets); - }); - - testWidgets('Should display flag', (tester) async { - await tester.pumpWidget(getWidget()); - expect(find.byType(CircleFlag), findsWidgets); - }); - - testWidgets( - 'Should not show country selection when disabled and country chip is tapped', - (tester) async { - await tester.pumpWidget(getWidget(enabled: false)); - final countryChip = - tester.widget(find.byType(CountryButton)); - expect(countryChip.enabled, false); + group('display', () { + testWidgets('Should display input', (tester) async { + await tester.pumpWidget(getWidget()); + expect(find.byType(TextField), findsOneWidget); + }); - await tester.tap(find.byType(CountryButton), warnIfMissed: false); - await tester.pumpAndSettle(); + testWidgets('Should display country code', (tester) async { + await tester.pumpWidget(getWidget()); + expect(find.byType(CountryCodeChip), findsWidgets); + }); - expect(find.byType(CountrySelectorSheet), findsNothing); - expect(find.byType(CountrySelectorPage), findsNothing); + testWidgets('Should display flag', (tester) async { + await tester.pumpWidget(getWidget()); + expect(find.byType(CircleFlag), findsWidgets); + }); }); group('Country code', () { testWidgets('Should open dialog when country code is clicked', (tester) async { await tester.pumpWidget(getWidget()); - expect(find.byType(CountrySelectorPage), findsNothing); + expect(find.byType(CountryList), findsNothing); await tester.tap(find.byType(PhoneFormField)); await tester.pump(const Duration(seconds: 1)); - await tester.tap(find.byType(CountryButton)); + await tester.tap(find.byType(CountryCodeChip)); await tester.pumpAndSettle(); - expect(find.byType(CountrySelectorPage), findsOneWidget); + expect(find.byType(CountryList), findsOneWidget); + }); + testWidgets('Should have a default country', (tester) async { + await tester.pumpWidget(getWidget(defaultCountry: IsoCode.FR)); + expect(find.text('+ 33'), findsWidgets); }); + testWidgets('Should hide flag', (tester) async { await tester.pumpWidget(getWidget(showFlagInInput: false)); expect(find.byType(CircleFlag), findsNothing); }); - testWidgets('Should format phone number', (tester) async { + testWidgets('Should format when shouldFormat is true', (tester) async { PhoneNumber? phoneNumber = PhoneNumber.parse( '', destinationCountry: IsoCode.FR, ); - await tester.pumpWidget(getWidget(initialValue: phoneNumber)); + await tester.pumpWidget( + getWidget(initialValue: phoneNumber, shouldFormat: true)); await tester.pump(const Duration(seconds: 1)); final phoneField = find.byType(PhoneFormField); await tester.enterText(phoneField, '677777777'); @@ -110,313 +102,219 @@ void main() { testWidgets('Should show dial code when showDialCode is true', (tester) async { - PhoneNumber phoneNumber = PhoneNumber.parse('+33'); + PhoneNumber? phoneNumber = PhoneNumber.parse( + '', + destinationCountry: IsoCode.FR, + ); - await tester.pumpWidget( - getWidget( + await tester.pumpWidget(getWidget( initialValue: phoneNumber, showDialCode: true, - ), - ); + defaultCountry: IsoCode.FR)); await tester.pump(const Duration(seconds: 1)); expect(find.text('+ 33'), findsOneWidget); }); testWidgets('Should hide dial code when showDialCode is false', (tester) async { - PhoneNumber phoneNumber = PhoneNumber.parse('+33'); + PhoneNumber? phoneNumber = PhoneNumber.parse( + '', + destinationCountry: IsoCode.FR, + ); - await tester.pumpWidget( - getWidget( + await tester.pumpWidget(getWidget( initialValue: phoneNumber, showDialCode: false, - ), - ); + defaultCountry: IsoCode.FR)); await tester.pump(const Duration(seconds: 1)); expect(find.text('+ 33'), findsNothing); }); }); - testWidgets('Should display initial value', (tester) async { - await tester.pumpWidget( - getWidget( - initialValue: PhoneNumber.parse('+33478787827'), - ), - ); - await tester.pumpAndSettle(); - expect(find.text('+ 33'), findsWidgets); - expect(find.text('4 78 78 78 27'), findsOneWidget); - }); - - testWidgets('Should change value of controller', (tester) async { - final controller = PhoneController( - initialValue: PhoneNumber.parse('+1'), - ); - PhoneNumber? newValue; - controller.addListener(() { - newValue = controller.value; + group('value changes', () { + testWidgets('Should display initial value', (tester) async { + await tester.pumpWidget(getWidget( + initialValue: PhoneNumber.parse('478787827', + destinationCountry: IsoCode.FR))); + expect(find.text('+ 33'), findsWidgets); + expect(find.text('478787827'), findsOneWidget); }); - await tester.pumpWidget(getWidget(controller: controller)); - final phoneField = find.byType(PhoneFormField); - await tester.tap(phoneField); - // non digits should not work - await tester.enterText(phoneField, '123456789'); - expect( - newValue, - equals(PhoneNumber.parse('+1 123456789')), - ); - }); - - testWidgets('Should change value of input when controller changes', - (tester) async { - final controller = PhoneController(); - await tester.pumpWidget(getWidget(controller: controller)); - controller.value = PhoneNumber.parse('+33488997722'); - await tester.pumpAndSettle(); - - expect(find.text('+ 33'), findsWidgets); - expect(find.text(controller.value.formatNsn()), findsOneWidget); - }); + testWidgets('Should change value of controller', (tester) async { + final controller = PhoneController(null); + PhoneNumber? newValue; + controller.addListener(() { + newValue = controller.value; + }); + await tester.pumpWidget( + getWidget(controller: controller, defaultCountry: IsoCode.US)); + final phoneField = find.byType(PhoneFormField); + await tester.tap(phoneField); + // non digits should not work + await tester.enterText(phoneField, '123456789'); + expect( + newValue, + equals( + PhoneNumber.parse( + '123456789', + destinationCountry: IsoCode.US, + ), + ), + ); + }); - testWidgets( - 'Should change value of country code chip when full number copy pasted', - (tester) async { - final controller = PhoneController(); - // ignore: unused_local_variable - PhoneNumber? newValue; - controller.addListener(() { - newValue = controller.value; + testWidgets('Should change value of input when controller changes', + (tester) async { + final controller = PhoneController(null); + // ignore: unused_local_variable + PhoneNumber? newValue; + controller.addListener(() { + newValue = controller.value; + }); + await tester.pumpWidget( + getWidget(controller: controller, defaultCountry: IsoCode.US)); + controller.value = + PhoneNumber.parse('488997722', destinationCountry: IsoCode.FR); + await tester.pump(const Duration(seconds: 1)); + expect(find.text('+ 33'), findsWidgets); + expect(find.text('488997722'), findsOneWidget); + }); + testWidgets( + 'Should change value of country code chip when full number copy pasted', + (tester) async { + final controller = PhoneController(null); + // ignore: unused_local_variable + PhoneNumber? newValue; + controller.addListener(() { + newValue = controller.value; + }); + await tester.pumpWidget( + getWidget(controller: controller, defaultCountry: IsoCode.US)); + final phoneField = find.byType(PhoneFormField); + await tester.tap(phoneField); + // non digits should not work + await tester.enterText(phoneField, '+33 0488 99 77 22'); + await tester.pump(); + expect(controller.value?.isoCode, equals(IsoCode.FR)); + expect(controller.value?.nsn, equals('488997722')); }); - await tester.pumpWidget(getWidget(controller: controller)); - final phoneField = find.byType(PhoneFormField); - await tester.tap(phoneField); - // non digits should not work - await tester.enterText(phoneField, '+33 0488 99 77 22'); - await tester.pump(); - expect(controller.value.isoCode, equals(IsoCode.FR)); - expect(controller.value.nsn, equals('488997722')); - }); - testWidgets('Should call onChange', (tester) async { - bool changed = false; - PhoneNumber? phoneNumber = - PhoneNumber.parse('', destinationCountry: IsoCode.FR); - void onChanged(PhoneNumber? p) { - changed = true; - phoneNumber = p; - } - - await tester.pumpWidget( - getWidget( - initialValue: phoneNumber, - onChanged: onChanged, - ), - ); - final phoneField = find.byType(PhoneFormField); - await tester.tap(phoneField); - // non digits should not work - await tester.enterText(phoneField, 'aaa'); - await tester.pump(const Duration(seconds: 1)); - expect(changed, equals(false)); - await tester.enterText(phoneField, '123'); - await tester.pump(const Duration(seconds: 1)); - expect(changed, equals(true)); - expect( - phoneNumber, - equals(PhoneNumber.parse('123', destinationCountry: IsoCode.FR)), - ); - }); + testWidgets('Should call onChange', (tester) async { + bool changed = false; + PhoneNumber? phoneNumber = + PhoneNumber.parse('', destinationCountry: IsoCode.FR); + void onChanged(PhoneNumber? p) { + changed = true; + phoneNumber = p; + } - group('validator', () { - testWidgets( - 'Should display invalid message when PhoneValidator.valid is used ' - 'and the phone number is invalid', (tester) async { - PhoneNumber? phoneNumber = PhoneNumber.parse('+33'); await tester.pumpWidget( getWidget( initialValue: phoneNumber, - validatorBuilder: (context) => PhoneValidator.valid(context), + onChanged: onChanged, ), ); final phoneField = find.byType(PhoneFormField); - await tester.enterText(phoneField, '9984'); - await tester.pumpAndSettle(const Duration(seconds: 1)); + await tester.tap(phoneField); + // non digits should not work + await tester.enterText(phoneField, 'aaa'); + await tester.pump(const Duration(seconds: 1)); + expect(changed, equals(false)); + await tester.enterText(phoneField, '123'); + await tester.pump(const Duration(seconds: 1)); + expect(changed, equals(true)); + expect(phoneNumber, + equals(PhoneNumber.parse('123', destinationCountry: IsoCode.FR))); + }); + }); - expect( - find.text(PhoneFieldLocalizationImplEn().invalidPhoneNumber), - findsOneWidget, + group('validity', () { + testWidgets('Should tell when a phone number is not valid', + (tester) async { + PhoneNumber? phoneNumber = PhoneNumber.parse( + '', + destinationCountry: IsoCode.FR, ); + await tester.pumpWidget(getWidget(initialValue: phoneNumber)); + final phoneField = find.byType(PhoneFormField); + await tester.enterText(phoneField, '9984'); + await tester.pump(const Duration(seconds: 1)); + + expect(find.text('Invalid phone number'), findsOneWidget); }); testWidgets( - 'Should display invalid mobile phone when PhoneValidator.validMobile' - ' is used and the phone number is not a mobile phone number', + 'Should tell when a phone number is not valid for a given phone number type', (tester) async { - PhoneNumber? phoneNumber = PhoneNumber.parse('+33'); + PhoneNumber? phoneNumber = PhoneNumber.parse( + '', + destinationCountry: IsoCode.BE, + ); + // valid fixed line await tester.pumpWidget(getWidget( initialValue: phoneNumber, - validatorBuilder: (context) => PhoneValidator.validMobile(context), + validator: PhoneValidator.validFixedLine(), )); final phoneField = find.byType(PhoneFormField); - await tester.enterText(phoneField, '6 99 99 99 99'); + await tester.enterText(phoneField, '77777777'); await tester.pumpAndSettle(); - expect( - find.text(PhoneFieldLocalizationImplEn().invalidMobilePhoneNumber), - findsNothing, - ); - await tester.enterText(phoneField, '777'); - await tester.pumpAndSettle(); - expect( - find.text(PhoneFieldLocalizationImplEn().invalidMobilePhoneNumber), - findsOneWidget, - ); - }); - - testWidgets( - 'Should display invalid fixed line phone when PhoneValidator.validFixedLine' - ' is used and the phone number is not a fixed line phone number', - (tester) async { - PhoneNumber? phoneNumber = PhoneNumber.parse('+32'); + expect(find.text('Invalid'), findsNothing); + // invalid mobile await tester.pumpWidget(getWidget( initialValue: phoneNumber, - validatorBuilder: (context) => PhoneValidator.validFixedLine(context), + validator: PhoneValidator.validMobile( + errorText: 'Invalid phone number', + ), )); - final phoneField = find.byType(PhoneFormField); - await tester.enterText(phoneField, '67777777'); + final phoneField2 = find.byType(PhoneFormField); await tester.pumpAndSettle(); - expect( - find.text(PhoneFieldLocalizationImplEn().invalidFixedLinePhoneNumber), - findsNothing, - ); - await tester.enterText(phoneField, '777'); + await tester.enterText(phoneField2, '77777777'); await tester.pumpAndSettle(); - expect( - find.text(PhoneFieldLocalizationImplEn().invalidFixedLinePhoneNumber), - findsOneWidget, - ); - }); + expect(find.text('Invalid phone number'), findsOneWidget); - testWidgets( - 'should display error when PhoneValidator.required is used and the nsn is empty', - (WidgetTester tester) async { - final controller = - PhoneController(initialValue: PhoneNumber.parse('+32 444')); + // valid mobile await tester.pumpWidget(getWidget( - controller: controller, - validatorBuilder: (context) => PhoneValidator.required(context), + initialValue: phoneNumber, + validator: PhoneValidator.validMobile( + errorText: 'Invalid phone number', + ), )); - controller.changeNationalNumber(''); + final phoneField3 = find.byType(PhoneFormField); + await tester.enterText(phoneField3, '477668899'); await tester.pumpAndSettle(); - - expect( - find.text(PhoneFieldLocalizationImplEn().requiredPhoneNumber), - findsOneWidget, - ); + expect(find.text('Invalid'), findsNothing); }); + }); - testWidgets( - 'should show error message when PhoneValidator.validCountry ' - 'is used and the current country is invalid', - (WidgetTester tester) async { - final controller = - PhoneController(initialValue: PhoneNumber.parse('+32 444')); - await tester.pumpWidget(getWidget( - controller: controller, - validatorBuilder: (context) => - PhoneValidator.validCountry(context, [IsoCode.FR, IsoCode.BE]), - )); - controller.changeCountry(IsoCode.US); - await tester.pumpAndSettle(); - expect( - find.text(PhoneFieldLocalizationImplEn().invalidCountry), - findsOneWidget, - ); - }, - ); - - testWidgets('should validate against all validators when compose is used', - (WidgetTester tester) async { - bool first = false; - bool second = false; - bool last = false; - - final validator = PhoneValidator.compose([ - (PhoneNumber? p) { - first = true; - return null; - }, - (PhoneNumber? p) { - second = true; - return null; - }, - (PhoneNumber? p) { - last = true; - return null; - }, - ]); - - await tester.pumpWidget( - getWidget( - initialValue: PhoneNumber.parse('+33'), - validatorBuilder: (context) => validator, - ), + group('Format', () { + testWidgets('Should format when shouldFormat is true', (tester) async { + PhoneNumber? phoneNumber = PhoneNumber.parse( + '', + destinationCountry: IsoCode.FR, ); - final phoneField = find.byType(PhoneFormField); - await tester.enterText(phoneField, '9999'); - await tester.pumpAndSettle(); - expect(first, isTrue); - expect(second, isTrue); - expect(last, isTrue); - }); - testWidgets( - 'should stop and return first validator failure when compose is used', - (WidgetTester tester) async { - bool firstValidationDone = false; - bool lastValidationDone = false; - final validator = PhoneValidator.compose([ - (PhoneNumber? p) { - firstValidationDone = true; - return null; - }, - (PhoneNumber? p) { - return 'validation failed'; - }, - (PhoneNumber? p) { - lastValidationDone = true; - return null; - }, - ]); await tester.pumpWidget( - getWidget( - initialValue: PhoneNumber.parse('+33'), - validatorBuilder: (context) => validator, - ), - ); + getWidget(initialValue: phoneNumber, shouldFormat: true)); + await tester.pump(const Duration(seconds: 1)); final phoneField = find.byType(PhoneFormField); - await tester.enterText(phoneField, '9999'); - await tester.pumpAndSettle(); - - expect(find.text('validation failed'), findsOneWidget); - expect(firstValidationDone, isTrue); - expect(lastValidationDone, isFalse); + await tester.enterText(phoneField, '677777777'); + await tester.pump(const Duration(seconds: 1)); + expect(find.text('6 77 77 77 77'), findsOneWidget); }); - }); - - group('Format', () { - testWidgets('Should format when shouldFormat is true', (tester) async { + testWidgets('Should not format when shouldFormat is false', + (tester) async { PhoneNumber? phoneNumber = PhoneNumber.parse( '', destinationCountry: IsoCode.FR, ); - await tester.pumpWidget(getWidget(initialValue: phoneNumber)); + await tester.pumpWidget( + getWidget(initialValue: phoneNumber, shouldFormat: false)); await tester.pump(const Duration(seconds: 1)); final phoneField = find.byType(PhoneFormField); await tester.enterText(phoneField, '677777777'); await tester.pump(const Duration(seconds: 1)); - expect(find.text('6 77 77 77 77'), findsOneWidget); + expect(find.text('677777777'), findsOneWidget); }); }); @@ -437,22 +335,18 @@ void main() { onSaved: onSaved, )); final phoneField = find.byType(PhoneFormField); - await tester.enterText(phoneField, '477889922'); + await tester.enterText(phoneField, '479281938'); await tester.pump(const Duration(seconds: 1)); formKey.currentState?.save(); await tester.pump(const Duration(seconds: 1)); expect(saved, isTrue); expect( - phoneNumber, - equals( - PhoneNumber.parse( - '477 88 99 22', + phoneNumber, + equals(PhoneNumber.parse( + '479281938', destinationCountry: IsoCode.FR, - ), - ), - ); + ))); }); - testWidgets('Should call onTapOutside', (tester) async { PhoneNumber? phoneNumber = PhoneNumber.parse( '', @@ -476,7 +370,7 @@ void main() { // Tap on the PhoneFormField to focus it final phoneField = find.byType(PhoneFormField); - await tester.enterText(phoneField, '488 22 33 44'); + await tester.enterText(phoneField, '479281938'); await tester.pump(const Duration(seconds: 1)); // Verify that the PhoneFormField has focus @@ -522,18 +416,20 @@ void main() { ); }); - testWidgets('Should reset with form state', (tester) async { - PhoneNumber? phoneNumber = PhoneNumber.parse('+32'); + testWidgets('Should reset', (tester) async { + PhoneNumber? phoneNumber = PhoneNumber.parse( + '', + destinationCountry: IsoCode.FR, + ); await tester.pumpWidget(getWidget(initialValue: phoneNumber)); await tester.pump(const Duration(seconds: 1)); - const national = '477 88 99 22'; + const national = '123456'; final phoneField = find.byType(PhoneFormField); await tester.enterText(phoneField, national); - await tester.pumpAndSettle(); expect(find.text(national), findsOneWidget); formKey.currentState?.reset(); - await tester.pumpAndSettle(); + await tester.pump(const Duration(seconds: 1)); expect(find.text(national), findsNothing); }); }); diff --git a/test/phone_validator_test.dart b/test/phone_validator_test.dart new file mode 100644 index 00000000..c246e9e5 --- /dev/null +++ b/test/phone_validator_test.dart @@ -0,0 +1,203 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:phone_form_field/phone_form_field.dart'; + +void main() async { + group('PhoneValidator.compose', () { + testWidgets('compose should test each validator', + (WidgetTester tester) async { + bool first = false; + bool second = false; + bool last = false; + + final validator = PhoneValidator.compose([ + (PhoneNumber? p) { + first = true; + return null; + }, + (PhoneNumber? p) { + second = true; + return null; + }, + (PhoneNumber? p) { + last = true; + return null; + }, + ]); + + expect( + validator(const PhoneNumber(isoCode: IsoCode.FR, nsn: '')), isNull); + expect(first, isTrue); + expect(second, isTrue); + expect(last, isTrue); + }); + + testWidgets('compose should stop and return first validator failure', + (WidgetTester tester) async { + bool firstValidationDone = false; + bool lastValidationDone = false; + final validator = PhoneValidator.compose([ + (PhoneNumber? p) { + firstValidationDone = true; + return null; + }, + (PhoneNumber? p) { + return 'validation failed'; + }, + (PhoneNumber? p) { + lastValidationDone = true; + return null; + }, + ]); + expect(validator(const PhoneNumber(isoCode: IsoCode.FR, nsn: '')), + equals('validation failed')); + expect(firstValidationDone, isTrue); + expect(lastValidationDone, isFalse); + }); + }); + + group('PhoneValidator.required', () { + testWidgets('should be required value', (WidgetTester tester) async { + final validator = PhoneValidator.required(); + expect( + validator(const PhoneNumber(isoCode: IsoCode.US, nsn: '')), + equals('requiredPhoneNumber'), + ); + + final validatorWithText = PhoneValidator.required( + errorText: 'custom message', + ); + expect( + validatorWithText(const PhoneNumber(isoCode: IsoCode.US, nsn: '')), + equals('custom message'), + ); + }); + }); + + group('PhoneValidator.invalid', () { + testWidgets('should be invalid', (WidgetTester tester) async { + final validator = PhoneValidator.valid(); + expect( + validator(const PhoneNumber(isoCode: IsoCode.FR, nsn: '123')), + equals('invalidPhoneNumber'), + ); + + final validatorWithText = PhoneValidator.valid( + errorText: 'custom message', + ); + expect( + validatorWithText(const PhoneNumber(isoCode: IsoCode.FR, nsn: '123')), + equals('custom message'), + ); + }); + + testWidgets('should (not) be invalid when (no) value entered', + (WidgetTester tester) async { + final validator = PhoneValidator.valid(); + expect( + validator(const PhoneNumber(isoCode: IsoCode.FR, nsn: '')), + isNull, + ); + + final validatorNotEmpty = PhoneValidator.valid(allowEmpty: false); + expect( + validatorNotEmpty(const PhoneNumber(isoCode: IsoCode.FR, nsn: '')), + equals('invalidPhoneNumber'), + ); + }); + }); + + group('PhoneValidator.type', () { + testWidgets('should be invalid mobile type', (WidgetTester tester) async { + final validator = PhoneValidator.validMobile(); + expect( + validator(const PhoneNumber(isoCode: IsoCode.FR, nsn: '412345678')), + equals('invalidMobilePhoneNumber'), + ); + + final validatorWithText = PhoneValidator.validMobile( + errorText: 'custom type message', + ); + expect( + validatorWithText( + const PhoneNumber(isoCode: IsoCode.FR, nsn: '412345678')), + equals('custom type message'), + ); + }); + + testWidgets('should (not) be invalid mobile type when (no) value entered', + (WidgetTester tester) async { + final validator = PhoneValidator.validMobile(); + expect( + validator(const PhoneNumber(isoCode: IsoCode.FR, nsn: '')), + isNull, + ); + + final validatorNotEmpty = PhoneValidator.validMobile(allowEmpty: false); + expect( + validatorNotEmpty(const PhoneNumber(isoCode: IsoCode.FR, nsn: '')), + equals('invalidMobilePhoneNumber'), + ); + }); + + testWidgets('should be invalid fixed line type', + (WidgetTester tester) async { + final validator = PhoneValidator.validFixedLine(); + expect( + validator(const PhoneNumber(isoCode: IsoCode.FR, nsn: '612345678')), + equals('invalidFixedLinePhoneNumber'), + ); + + final validatorWithText = PhoneValidator.validFixedLine( + errorText: 'custom fixed type message', + ); + expect( + validatorWithText( + const PhoneNumber(isoCode: IsoCode.FR, nsn: '612345678')), + equals('custom fixed type message'), + ); + }); + + testWidgets( + 'should (not) be invalid fixed line type when (no) value entered', + (WidgetTester tester) async { + final validator = PhoneValidator.validFixedLine(); + expect( + validator(const PhoneNumber(isoCode: IsoCode.FR, nsn: '')), isNull); + + final validatorNotEmpty = + PhoneValidator.validFixedLine(allowEmpty: false); + expect( + validatorNotEmpty(const PhoneNumber(isoCode: IsoCode.FR, nsn: '')), + equals('invalidFixedLinePhoneNumber'), + ); + }); + }); + + group('PhoneValidator.country', () { + testWidgets('should be invalid country', (WidgetTester tester) async { + final validator = PhoneValidator.validCountry([IsoCode.FR, IsoCode.BE]); + expect( + validator(const PhoneNumber(isoCode: IsoCode.US, nsn: '112')), + equals('invalidCountry'), + ); + }); + + testWidgets('should (not) be invalid country when (no) value entered', + (WidgetTester tester) async { + final validator = PhoneValidator.validCountry([IsoCode.US, IsoCode.BE]); + expect( + validator(const PhoneNumber(isoCode: IsoCode.FR, nsn: '')), + isNull, + ); + + final validatorNotEmpty = PhoneValidator.validCountry( + [IsoCode.US, IsoCode.BE], + allowEmpty: false, + ); + expect( + validatorNotEmpty(const PhoneNumber(isoCode: IsoCode.FR, nsn: '')), + equals('invalidCountry'), + ); + }); + }); +}