aws-amplify / amplify-ui

Amplify UI is a collection of accessible, themeable, performant React (and more!) components that can connect directly to the cloud.
https://ui.docs.amplify.aws
Apache License 2.0
876 stars 278 forks source link

Missing Translation on Account recovery screen #292

Closed Adam966 closed 2 years ago

Adam966 commented 3 years ago

Before opening, please confirm:

JavaScript Framework

Angular

Amplify APIs

Internationalization

Amplify Categories

No response

Environment information

System: OS: Windows 10 10.0.19041 CPU: (4) x64 Intel(R) Core(TM) i5-4310M CPU @ 2.70GHz Memory: 7.88 GB / 15.91 GB Binaries: Node: 14.15.4 - C:\Program Files\nodejs\node.EXE npm: 6.14.10 - C:\Program Files\nodejs\npm.CMD Browsers: Edge: Spartan (44.19041.1023.0), Chromium (91.0.864.59) Internet Explorer: 11.0.19041.1 npmPackages: @agm/core: 3.0.0-beta.0 => 3.0.0-beta.0 @angular-builders/jest: 10.0.1 => 10.0.1 @angular-devkit/architect: ^0.1102.13 => 0.1102.13 (0.1002.3, 0.1001.7) @angular-devkit/build-angular: ^0.1102.13 => 0.1102.13 @angular-devkit/core: ^11.2.13 => 11.2.13 (10.2.3, 10.1.7) @angular-devkit/schematics: ^11.2.13 => 11.2.13 (10.1.7) @angular/animations: ^11.0.2 => 11.2.14 @angular/animations/browser: undefined () @angular/animations/browser/testing: undefined () @angular/cdk: ^11.0.1 => 11.2.13 @angular/cdk/a11y: undefined () @angular/cdk/accordion: undefined () @angular/cdk/bidi: undefined () @angular/cdk/clipboard: undefined () @angular/cdk/coercion: undefined () @angular/cdk/collections: undefined () @angular/cdk/drag-drop: undefined () @angular/cdk/keycodes: undefined () @angular/cdk/layout: undefined () @angular/cdk/observers: undefined () @angular/cdk/overlay: undefined () @angular/cdk/platform: undefined () @angular/cdk/portal: undefined () @angular/cdk/scrolling: undefined () @angular/cdk/stepper: undefined () @angular/cdk/table: undefined () @angular/cdk/testing: undefined () @angular/cdk/testing/protractor: undefined () @angular/cdk/testing/testbed: undefined () @angular/cdk/text-field: undefined () @angular/cdk/tree: undefined () @angular/cli: ^11.0.2 => 11.2.13 @angular/common: ^11.0.2 => 11.2.14 @angular/common/http: undefined () @angular/common/http/testing: undefined () @angular/common/testing: undefined () @angular/common/upgrade: undefined () @angular/compiler: ^11.0.2 => 11.2.14 @angular/compiler-cli: ^11.0.2 => 11.2.14 @angular/compiler/testing: undefined () @angular/core: ^11.0.2 => 11.2.14 @angular/core/testing: undefined () @angular/flex-layout: 10.0.0-beta.32 => 10.0.0-beta.32 @angular/flex-layout/core: undefined () @angular/flex-layout/extended: undefined () @angular/flex-layout/flex: undefined () @angular/flex-layout/grid: undefined () @angular/flex-layout/server: undefined () @angular/forms: ^11.0.2 => 11.2.14 @angular/language-service: ^11.0.2 => 11.2.14 @angular/material: ^11.0.1 => 11.2.13 @angular/material-moment-adapter: ^11.0.2 => 11.2.13 @angular/material/autocomplete: undefined () @angular/material/autocomplete/testing: undefined () @angular/material/badge: undefined () @angular/material/badge/testing: undefined () @angular/material/bottom-sheet: undefined () @angular/material/bottom-sheet/testing: undefined () @angular/material/button: undefined () @angular/material/button-toggle: undefined () @angular/material/button-toggle/testing: undefined () @angular/material/button/testing: undefined () @angular/material/card: undefined () @angular/material/card/testing: undefined () @angular/material/checkbox: undefined () @angular/material/checkbox/testing: undefined () @angular/material/chips: undefined () @angular/material/chips/testing: undefined () @angular/material/core: undefined () @angular/material/core/testing: undefined () @angular/material/datepicker: undefined () @angular/material/datepicker/testing: undefined () @angular/material/dialog: undefined () @angular/material/dialog/testing: undefined () @angular/material/divider: undefined () @angular/material/divider/testing: undefined () @angular/material/expansion: undefined () @angular/material/expansion/testing: undefined () @angular/material/form-field: undefined () @angular/material/form-field/testing: undefined () @angular/material/form-field/testing/control: undefined () @angular/material/grid-list: undefined () @angular/material/grid-list/testing: undefined () @angular/material/icon: undefined () @angular/material/icon/testing: undefined () @angular/material/input: undefined () @angular/material/input/testing: undefined () @angular/material/list: undefined () @angular/material/list/testing: undefined () @angular/material/menu: undefined () @angular/material/menu/testing: undefined () @angular/material/paginator: undefined () @angular/material/paginator/testing: undefined () @angular/material/progress-bar: undefined () @angular/material/progress-bar/testing: undefined () @angular/material/progress-spinner: undefined () @angular/material/progress-spinner/testing: undefined () @angular/material/radio: undefined () @angular/material/radio/testing: undefined () @angular/material/select: undefined () @angular/material/select/testing: undefined () @angular/material/sidenav: undefined () @angular/material/sidenav/testing: undefined () @angular/material/slide-toggle: undefined () @angular/material/slide-toggle/testing: undefined () @angular/material/slider: undefined () @angular/material/slider/testing: undefined () @angular/material/snack-bar: undefined () @angular/material/snack-bar/testing: undefined () @angular/material/sort: undefined () @angular/material/sort/testing: undefined () @angular/material/stepper: undefined () @angular/material/stepper/testing: undefined () @angular/material/table: undefined () @angular/material/table/testing: undefined () @angular/material/tabs: undefined () @angular/material/tabs/testing: undefined () @angular/material/toolbar: undefined () @angular/material/toolbar/testing: undefined () @angular/material/tooltip: undefined () @angular/material/tooltip/testing: undefined () @angular/material/tree: undefined () @angular/material/tree/testing: undefined () @angular/platform-browser: ^11.0.2 => 11.2.14 @angular/platform-browser-dynamic: ^11.0.2 => 11.2.14 @angular/platform-browser-dynamic/testing: undefined () @angular/platform-browser/animations: undefined () @angular/platform-browser/testing: undefined () @angular/router: ^11.0.2 => 11.2.14 @angular/router/testing: undefined () @angular/router/upgrade: undefined () @angular/service-worker: ^11.0.2 => 11.2.14 @angular/service-worker/config: undefined () @aws-amplify/ui-angular: ^1.0.3 => 1.0.10 @capacitor-community/firebase-analytics: ^1.0.0 => 1.0.0 @capacitor-community/firebase-crashlytics: ^1.0.0 => 1.0.0 @capacitor/android: ^3.0.1 => 3.0.1 @capacitor/app: ^1.0.1 => 1.0.1 @capacitor/cli: ^3.0.1 => 3.0.1 @capacitor/core: ^3.0.1 => 3.0.1 @capacitor/device: ^1.0.1 => 1.0.1 @capacitor/geolocation: ^1.0.1 => 1.0.1 @capacitor/ios: ^3.0.1 => 3.0.1 @capacitor/network: ^1.0.1 => 1.0.1 @capacitor/push-notifications: ^1.0.1 => 1.0.1 @capacitor/splash-screen: ^1.0.1 => 1.0.1 @ionic-native/android-permissions: ^5.32.1 => 5.33.0 @ionic-native/core: ^5.32.0 => 5.33.0 @ionic-native/in-app-browser: ^5.33.0 => 5.33.0 @ionic-native/location-accuracy: ^5.32.1 => 5.33.0 @ionic-native/open-native-settings: ^5.33.1 => 5.33.1 @ionic/angular: ^5.6.1 => 5.6.7 @ionic/angular-toolkit: ^3.1.1 => 3.1.1 @ionic/pwa-elements: ^3.0.2 => 3.0.2 @ionic/storage-angular: ^3.0.6 => 3.0.6 @ngneat/until-destroy: ^8.0.3 => 8.0.4 @ngx-translate/core: 13.0.0 => 13.0.0 @ngx-translate/http-loader: 6.0.0 => 6.0.0 @ngxs-labs/dispatch-decorator: 2.1.0 => 2.1.0 @ngxs/devtools-plugin: ^3.7.1 => 3.7.2 @ngxs/logger-plugin: ^3.7.1 => 3.7.2 @ngxs/storage-plugin: ^3.7.1 => 3.7.2 @ngxs/store: ^3.7.1 => 3.7.2 @ngxs/store/internals: undefined () @ngxs/store/operators: undefined () @nrwl/angular: ^10.4.4 => 10.4.15 @nrwl/angular/testing: undefined () @nrwl/cli: ^10.4.4 => 10.4.15 @nrwl/cypress: ^10.4.15 => 10.4.15 @nrwl/jest: ^10.4.4 => 10.4.15 @nrwl/workspace: ^10.4.15 => 10.4.15 @nxtend/capacitor: ^2.0.2 => 2.0.2 @openapitools/openapi-generator-cli: ^2.1.26 => 2.3.3 @types/file-saver: 2.0.1 => 2.0.1 @types/googlemaps: 3.39.12 => 3.39.12 @types/graphql: ^14.5.0 => 14.5.0 @types/jest: ^26.0.22 => 26.0.23 @types/lodash: ^4.14.168 => 4.14.170 @types/lodash-es: ^4.17.4 => 4.17.4 @types/node: ^14.14.10 => 14.17.1 @typescript-eslint/eslint-plugin: ^4.16.1 => 4.25.0 @typescript-eslint/parser: ^4.16.1 => 4.25.0 (3.10.1) @zxing/browser: ^0.0.5 => 0.0.5 @zxing/library: ^0.18.5 => 0.18.5 @zxing/ngx-scanner: 3.1.3 => 3.1.3 angular-material-css-vars: ^1.1.1 => 1.2.0 angularx-qrcode: ^10.0.11 => 10.0.12 aws-amplify: ^3.3.21 => 3.4.3 change-case: 4.1.1 => 4.1.1 cordova-open-native-settings: ^1.5.5 => 1.5.5 cordova-plugin-android-permissions: ^1.1.2 => 1.1.2 cordova-plugin-inappbrowser: ^5.0.0 => 5.0.0 cordova-plugin-request-location-accuracy: ^2.3.0 => 2.3.0 crypto-js: ^4.0.0 => 4.0.0 cypress: ^5.3.0 => 5.6.0 eslint: ^7.21.0 => 7.27.0 eslint-config-airbnb-base: ^14.2.1 => 14.2.1 eslint-plugin-import: ^2.22.1 => 2.23.3 example-typescript: 1.0.0 file-saver: ^2.0.5 => 2.0.5 graphql: ^15.5.0 => 15.5.0 (14.0.0) guid-typescript: 1.0.9 => 1.0.9 gzipper: ^4.3.0 => 4.5.0 html2canvas: 1.0.0-rc.7 => 1.0.0-rc.7 immer: ^8.0.1 => 8.0.4 (8.0.1) ionicpwaelements-loader: undefined () jest: ^26.6.3 => 26.6.3 jest-junit-reporter: 1.1.0 => 1.1.0 jest-marbles: 2.5.1 => 2.5.1 jest-preset-angular: ^8.3.2 => 8.4.0 jwt-decode: ^3.1.2 => 3.1.2 lib: 0.0.1 lodash-es: ^4.17.21 => 4.17.21 moment: ^2.29.1 => 2.29.1 ng-node-environment: 1.1.1 => 1.1.1 ng2-pdf-viewer: 7.0.1 => 7.0.1 ngx-order-pipe: ^2.1.1 => 2.1.1 ngx-translate-testing: 5.0.0 => 5.0.0 nx: ^10.4.4 => 10.4.15 onscan.js: 1.5.2 => 1.5.2 pdfjs-dist: ~2.7.570 => 2.7.570 postcss: ^8.3.0 => 8.3.0 (8.2.14, 7.0.35) prettier: ^2.2.0 => 2.3.0 prettier-eslint: ^12.0.0 => 12.0.0 process: ^0.11.10 => 0.11.10 protractor: 7.0.0 => 7.0.0 resolve-url-loader: ^5.0.0-alpha.1 => 5.0.0-alpha.1 (4.0.0) rxjs: 6.6.3 => 6.6.3 (6.6.2, 6.6.7, 7.1.0) rxjs/ajax: undefined () rxjs/fetch: undefined () rxjs/internal-compatibility: undefined () rxjs/operators: undefined () rxjs/testing: undefined () rxjs/webSocket: undefined () stylelint-config-standard: 22.0.0 => 22.0.0 stylelint-scss: 3.19.0 => 3.19.0 ts-jest: ^26.4.4 => 26.5.6 ts-node: 9.0.0 => 9.0.0 tslib: ^2.0.3 => 2.2.0 (1.14.1, 2.1.0, 1.13.0) typescript: ~4.0.5 => 4.0.7 (4.1.5, 3.9.9) worker-loader: ^3.0.7 => 3.0.8 zone-mix: undefined () zone-node: undefined () zone-testing: undefined () zone.js: ^0.11.3 => 0.11.4 zone.js/async-test: undefined () zone.js/async-test.min: undefined () zone.js/fake-async-test: undefined () zone.js/fake-async-test.min: undefined () zone.js/jasmine-patch: undefined () zone.js/jasmine-patch.min: undefined () zone.js/long-stack-trace-zone: undefined () zone.js/long-stack-trace-zone.min: undefined () zone.js/mocha-patch: undefined () zone.js/mocha-patch.min: undefined () zone.js/proxy: undefined () zone.js/proxy.min: undefined () zone.js/sync-test: undefined () zone.js/sync-test.min: undefined () zone.js/task-tracking: undefined () zone.js/task-tracking.min: undefined () zone.js/webapis-media-query: undefined () zone.js/webapis-media-query.min: undefined () zone.js/webapis-notification: undefined () zone.js/webapis-notification.min: undefined () zone.js/webapis-rtc-peer-connection: undefined () zone.js/webapis-rtc-peer-connection.min: undefined () zone.js/webapis-shadydom: undefined () zone.js/webapis-shadydom.min: undefined () zone.js/wtf: undefined () zone.js/wtf.min: undefined () zone.js/zone-bluebird: undefined () zone.js/zone-bluebird.min: undefined () zone.js/zone-error: undefined () zone.js/zone-error.min: undefined () zone.js/zone-legacy: undefined () zone.js/zone-legacy.min: undefined () zone.js/zone-patch-canvas: undefined () zone.js/zone-patch-canvas.min: undefined () zone.js/zone-patch-cordova: undefined () zone.js/zone-patch-cordova.min: undefined () zone.js/zone-patch-electron: undefined () zone.js/zone-patch-electron.min: undefined () zone.js/zone-patch-fetch: undefined () zone.js/zone-patch-fetch.min: undefined () zone.js/zone-patch-jsonp: undefined () zone.js/zone-patch-jsonp.min: undefined () zone.js/zone-patch-message-port: undefined () zone.js/zone-patch-message-port.min: undefined () zone.js/zone-patch-promise-test: undefined () zone.js/zone-patch-promise-test.min: undefined () zone.js/zone-patch-resize-observer: undefined () zone.js/zone-patch-resize-observer.min: undefined () zone.js/zone-patch-rxjs: undefined () zone.js/zone-patch-rxjs-fake-async: undefined () zone.js/zone-patch-rxjs-fake-async.min: undefined () zone.js/zone-patch-rxjs.min: undefined () zone.js/zone-patch-socket-io: undefined () zone.js/zone-patch-socket-io.min: undefined () zone.js/zone-patch-user-media: undefined () zone.js/zone-patch-user-media.min: undefined () npmGlobalPackages: @angular/cli: 11.0.7 @ionic/cli: 6.16.3 npm-check: 5.9.2

Describe the bug

On the Account recovery screen, the word 'Skip' is not possible to translate, also it's missing from the translations file https://github.com/aws-amplify/amplify-js/blob/main/packages/amplify-ui-components/src/common/Translations.ts screenshoot QA_env_not_transled_Skip_key

Expected behavior

Word 'Skip' should be possible to translate.

Reproduction steps

  1. add 'Skip': Omitir, to vocabulary
  2. set language to es-US

Code Snippet

// Put your code below this line.

Log output

``` // Put your logs below this line ```

aws-exports.js

No response

Manual configuration

No response

Additional configuration

No response

Mobile Device

No response

Mobile Operating System

No response

Mobile Browser

No response

Mobile Browser Version

No response

Additional information and screenshots

No response

eddiekeller commented 2 years ago

I believe we have this fixed in the new version of the Authenticator - https://github.com/aws-amplify/amplify-ui/blob/main/packages/ui/src/i18n/translations.ts#L190

If you want to give the new Authenticator a try, here is a link to our developer preview docs page - https://ui.docs.amplify.aws/ui/getting-started/installation?platform=react

eddiekeller commented 2 years ago

Updated the old authenticator to use translation text for Skip as well - https://github.com/aws-amplify/amplify-js/pull/8993

@Adam966 let me know if using either the new authenticator or this new update to the old authenticator fixes your issue!

eddiekeller commented 2 years ago

Closing this issue as the old authenticator has been updated with translation for that SKIP text, and this is also present in the new authenticator. Please open a new issue if this does not solve your needs.