如何更改 Firebase 身份验证中发送消息的语言

2 firebase firebase-authentication

当我想在应用程序中重置密码时,我需要根据浏览器的语言更改发送消息的语言。这是我的 onSubmit 函数,我在提交表单上调用它来发送消息。我从状态中获取值并将其放入 languageCode 中。我用的是redux

onSubmit = () => {
    let error = {}

    if (!this.state.email)
        error.email = <FormattedMessage id='common.error.empty' />

    if (Object.keys(error).length) {
        this.setState({error})

        return
    }

    this.props.languageCode(this.props.locale)

    this.props.doPasswordReset(this.state.email).then(() => {
        this.setState({openDialog: true})
    }).catch(error => {
        this.setState({
            error: {
                ...this.state.error,
                email: error.message,
            },
        })
    })
}
Run Code Online (Sandbox Code Playgroud)

tab*_*ena 5

感谢@Frank van Puffelen、@Miyo Alp\xc3\xadzar @Frederiko Cesar 在这个问题这个问题中的回答

\n
\n

Firebase 的错误消息是针对应用程序开发人员的,因此仅提供英文版本。虽然我们很乐意以与我们提供文档相同的语言提供它们,但这永远不会涵盖您用户的所有语言。

\n

因此,您必须检测代码中的错误,将错误记录到中央系统,您可以在其中检查问题,然后向用户显示本地化的错误消息。

\n

据我所知,Angular 中没有标准化的方法来做到这一点。但即使有,也与 Firebase 无关。

\n
\n


mir*_*iro 5

对于 Javascript - 版本 9

import { getAuth } from "firebase/auth"
const auth = getAuth()
auth.useDeviceLanguage() // detects language from user's device
Run Code Online (Sandbox Code Playgroud)

或者你可以手动设置

auth.languageCode = 'sk' // change messages to Slovak language
Run Code Online (Sandbox Code Playgroud)

https://firebase.google.com/docs/reference/js/auth.auth.md#authlanguagecode