[英]how to translate the error code from Firebase Authentication?
当我使用 Firebase 注册帐户时,有时会发生错误,我想将一些错误翻译成另一种语言。 在 IOS 我可以做这样的事情
Auth.auth().createUser(withEmail: emailTextField.text!, password: passwordTextField.text!) { (user, error) in
if let error = error {
if let errorCode = AuthErrorCode(rawValue: error._code) {
SVProgressHUD.dismiss()
switch errorCode {
case .networkError : self.showAlert(alertTitle: "Mohon Maaf", alertMessage: "Koneksi Internet bermasalah", actionTitle: "Kembali")
case .emailAlreadyInUse : self.showAlert(alertTitle: "Mohon Maaf", alertMessage: "Email yang anda masukan sudah pernah digunakan, silahkan gunakan email yang lain", actionTitle: "Kembali")
case .weakPassword : self.showAlert(alertTitle: "Mohon Maaf", alertMessage: "Password minimal harus memiliki 6 huruf", actionTitle: "Kembali")
case .invalidEmail : self.showAlert(alertTitle: "Mohon Maaf", alertMessage: "Format email yang anda masukan tidak valid, mohon diperiksa kembali.", actionTitle: "Kembali")
default : self.showAlert(alertTitle: "Sorry", alertMessage: "\(error.localizedDescription)", actionTitle: "Back")
}
}
}
}
我正在尝试将错误从英语切换到另一种语言。 我已经尝试过,但在 Android 中找不到方法。 这是我使用 email 和密码创建用户时使用的代码:
FirebaseAuth.getInstance().createUserWithEmailAndPassword(email,password)
.addOnCompleteListener { result ->
}.addOnFailureListener { exception ->
// want to translate the error in here
}
java 没问题。
下面的代码行:
exception.getMessage();
在以下代码行中获取英语的异常消息:
exception.getLocalizedMessage();
获取本地化消息。 根据有关Throwable的getLocalizedMessage()方法的官方文档:
创建此throwable的本地化描述。 子类可以重写此方法,以生成特定于语言环境的消息。 对于不覆盖此方法的子类,默认实现返回与getMessage()相同的结果。
在我看来
FirebaseAuth.getInstance().createUserWithEmailAndPassword(email,password)
.addOnCompleteListener { result ->
if(result.isSuccessful){
//Do something here
}
}.addOnFailureListener { exception ->
val errorCode = (e as FirebaseAuthException?)!!.errorCode
when(errorCode){
"ERROR_WEAK_PASSWORD" -> {
//Do something here
}
else -> {
//Do something here
}
}
}
如果您需要更多内容,请查看此链接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.