如何转换Firebase身份验证中的错误代码?

时间:2019-03-09 09:35:48

标签: android firebase kotlin 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中找不到方法。这是我使用电子邮件和密码创建用户时使用的代码:

    FirebaseAuth.getInstance().createUserWithEmailAndPassword(email,password)
        .addOnCompleteListener { result ->

       }.addOnFailureListener { exception ->

          // want to translate the error in here

       }

java没问题。

1 个答案:

答案 0 :(得分:0)

下面的代码行:

exception.getMessage();

在以下代码行中获取英语的异常消息:

exception.getLocalizedMessage();

获取本地化消息。根据有关Throwable的getLocalizedMessage()方法的官方文档:

  

创建此throwable的本地化描述。子类可以重写此方法,以生成特定于语言环境的消息。对于不覆盖此方法的子类,默认实现返回与getMessage()相同的结果。