В моем приложении Ionic я реализовал директиву по умолчанию, которая дает вам все необходимые формы регистрации / входа.
Единственное, что мне нравится переводить все строки. Согласно документации Amplify, это возможно стам модуль i18n: https://aws -amplify.github.io / docs / js / i18n
Так что на моем home.page.ts у меня есть:
....
import { I18n } from '@aws-amplify/core';
@Component({
selector: 'app-page-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss']
})
export class HomePage implements AfterContentInit {
authState: any;
signUpConfig: any;
// including AuthGuardService here so that it's available to listen to
auth events
authService: AuthGuardService;
amplifyService: AmplifyService;
constructor(
public events: Events,
public guard: AuthGuardService,
public amplify: AmplifyService,
) {
this.authState = { loggedIn: false };
this.authService = guard;
this.amplifyService = amplify;
this.amplifyService.authStateChange$.subscribe(authState => {
this.authState.loggedIn = authState.state === 'signedIn';
this.events.publish('data:AuthState', this.authState);
});
const dict = {
'nl': {
'Sign In': 'Inloggen',
'Sign Up': 'Account aanmaken',
'No account?': 'Geen account?'
}
};
I18n.putVocabularies(dict);
I18n.setLanguage('nl');
this.signUpConfig = {
header: 'Welkom!',
hideAllDefaults: true,
signUpFields: [
{
label: 'Gebruikersnaam',
key: 'username',
required: true,
displayOrder: 1,
type: 'string',
},
{
label: 'Wachtwoord',
key: 'password',
required: true,
displayOrder: 2,
type: 'password',
},
{
label: 'Email',
key: 'email',
required: true,
displayOrder: 3,
type: 'email',
}
]
};
}
ngAfterContentInit() {
this.events.publish('data:AuthState', this.authState);
}
}
В данный момент это не имеет никакого эффекта.
В моем home.page.html директива реализована, но как узнать о существовании класса I18N?
<amplify-authenticator framework="ionic" [signUpConfig]="signUpConfig"></amplify-authenticator>