Localization¶
The texts of the native prompt are set with a LocalizationModel. Set it once, for example when your widget is created, and again whenever the language of your app changes. The latest model is used for every following prompt.
import 'package:flutter_local_authentication/localization_model.dart';
auth.setLocalizationModel(
LocalizationModel(
promptDialogTitle: 'Unlock your vault',
promptDialogReason: 'Confirm that it is you',
cancelButtonTitle: 'Cancel',
),
);
Where each text is shown¶
| Field | Android | iOS / macOS | Windows | Linux |
|---|---|---|---|---|
promptDialogTitle |
Title of the prompt | Not used, the system sets the title | Not used | — |
promptDialogReason |
Subtitle of the prompt | Reason shown in the prompt | Message shown in the prompt | — |
cancelButtonTitle |
Negative button1 | Cancel button | System-provided cancel action | — |
1 Android does not show a negative button when the device credential is an allowed authenticator (biometricsOrDeviceCredential and deviceCredentialOnly). The system provides its own way to cancel.
Defaults¶
Without a model the prompt uses the title "Biometric Prompt" (Android), the reason "Validate that you have access to this device." and the cancel button "Cancel".
Android needs a title
Android rejects a prompt with an empty title, and an empty negative button when that button is shown. Always give promptDialogTitle and cancelButtonTitle a text.
Face ID
On iOS the text of the Face ID permission alert comes from NSFaceIDUsageDescription in your Info.plist, not from the model. Localize it with an InfoPlist.strings file.