angular – 不同语言的Firebase错误消息?

前端之家收集整理的这篇文章主要介绍了angular – 不同语言的Firebase错误消息?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在视图中显示Firebase错误消息(error.message)会导致英语错误说明(例如,对于身份验证错误,如果用户凭据包含错误).

您将如何以不同语言显示消息(最佳情况:使用手机语言)?

解决方法

现在这是不可能的.我建议使用错误代码(error.code),这是一个独特的错误代码,您可以创建一些东西将此错误代码绑定到您自己的文本/语言.
Firebase文档中有一个可用页面,其中包含可能对您有所帮助的错误代码列表.
看看这些链接https://firebase.google.com/docs/reference/js/firebase.auth.Auth
  https://firebase.google.com/docs/reference/js/firebase.auth.Error
https://firebase.google.com/docs/auth/admin/errors?hl=en

编辑:
为了解决这个问题,我自己翻译了(用PT-BR,我的语言)并使用以下步骤实现(在TypeScript中):

我创建了一个接口来保存索引的字符串数组:

export interface MessagesIndex {
    [index: string]: string;
}

然后在一些UI或错误服务中,我已将此变量声明为上面的接口:

params = {
        'invalid-argument': 'Erro: Um argumento inválido foi fornecido.','invalid-disabled-field': 'Erro: O valor fornecido para a 
          propriedade de usuário é inválido.',/* ADD HERE THE OTHERs IDs AND THE CORRESPONDING MESSAGEs */

    } as MessagesIndex;

在那之后,我创建了一个函数来通过给定的代码(来自Firebase)打印它,记得拆分,因为error.code属性就像“auth / error-id”,我们这里只需要“错误 – id“,如果找不到错误代码,那么你可以返回一些”未知错误“并打印error.code,如果你想:

public printErrorByCode(code: string): string {
        code = code.split('/')[1];
        if (this.params[code]) {
            return (this.params[code]);
        } else {
            return ('Ocorreu algum erro desconhecido! \n Codigo erro: ' + code);
        }
    }

这不是最好的代码,但我希望它有所帮助!

猜你在找的Angularjs相关文章