其他语言的firebase身份验证错误
Posted
技术标签:
【中文标题】其他语言的firebase身份验证错误【英文标题】:firebase authentication error in other languages 【发布时间】:2018-01-14 23:45:45 【问题描述】:我目前正在用 Swift 开发一个应用程序,并且我已经链接了 firebase 以便用户注册和登录。该应用程序应该是西班牙语,但我找不到将身份验证错误翻译成西班牙语的方法。 firebase 控制台或 plist 中是否有启用其他语言的选项。任何帮助表示赞赏。
【问题讨论】:
哪些错误,例如? i.stack.imgur.com/QBTeT.png 【参考方案1】:这是一个示例,您可以如何为任何类型的错误类型进行自定义错误描述
import Foundation
import Firebase
extension AuthErrorCode
var description: String?
switch self
case .emailAlreadyInUse:
return "Este correo ya está siendo usado por otro usuario"
case .userDisabled:
return "Este usuario ha sido deshabilitado"
case .operationNotAllowed:
return "Operación no permitida"
case .invalidEmail:
return "Correo electrónico no valido"
case .wrongPassword:
return "Contraseña incorrecta"
case .userNotFound:
return "No se encontró cuenta del usuario con el correo especificado"
case .networkError:
return "Promblema al intentar conectar al servidor"
case .weakPassword:
return "Contraseña muy debil o no válida"
case .missingEmail:
return "Hace falta registrar un correo electrónico"
case .internalError:
return "Error interno"
case .invalidCustomToken:
return "Token personalizado invalido"
case .tooManyRequests:
return "Ya se han enviado muchas solicitudes al servidor"
default:
return nil
extension FirestoreErrorCode
var description: String?
switch self
case .cancelled:
return "Operación cancelada"
case .unknown:
return "Error desconocido"
case .invalidArgument:
return "Argumento no valido"
case .notFound:
return "No se encotró el documento"
case .alreadyExists:
return "El documento que se pretende crear, ya existe"
case .permissionDenied:
return "No tienes permisos para realizar esta operación"
case .aborted:
return "Operación abortada"
case .outOfRange:
return "Rango invalido"
case .unimplemented:
return "Esta operación no ha sido implementada o no es soportada aún"
case .internal:
return "Error interno"
case .unavailable:
return "Por el momento el servicio no está disponible, intenta más tarde"
case .unauthenticated:
return "Usuario no autenticado"
default:
return nil
extension StorageErrorCode
var description: String?
switch self
case .unknown:
return "Error desconocido"
case .quotaExceeded:
return "El espacio para guardar archivos ha sido sobrepasado"
case .unauthenticated:
return "Usuario no autenticado"
case .unauthorized:
return "Usuario no autorizado para realizar esta operación"
case .retryLimitExceeded:
return "Tiempo de espera excedido. Favor de intentar de nuevo"
case .downloadSizeExceeded:
return "El tamaño de descarga excede el espacio en memoria"
case .cancelled:
return "Operación cancelada"
default:
return nil
public extension Error
var localizedDescription: String
let error = self as NSError
if error.domain == AuthErrorDomain
if let code = AuthErrorCode(rawValue: error.code)
if let errorString = code.description
return errorString
else if error.domain == FirestoreErrorDomain
if let code = FirestoreErrorCode(rawValue: error.code)
if let errorString = code.description
return errorString
else if error.domain == StorageErrorDomain
if let code = StorageErrorCode(rawValue: error.code)
if let errorString = code.description
return errorString
return error.localizedDescription
【讨论】:
【参考方案2】:Firebase 错误未本地化。你可以request a feature for this via Firebase support。
您可以做的是根据提供的错误代码创建自己的本地化消息。这就是 FirebaseUI 的作用:
FirebaseUI-ios
FirebaseUI-web
或者您可以简单地使用 FirebaseUI-ios。这将为您节省大量时间和精力。
【讨论】:
以上是关于其他语言的firebase身份验证错误的主要内容,如果未能解决你的问题,请参考以下文章
Firebase Facebook 身份验证:格式错误或过期的身份验证凭据