Meteor 使用tap-i18n实现错误代码国际化

Meteor 使用tap-i18n实现错误代码国际化,meteor,internationalization,Meteor,Internationalization,我目前正在使用该软件包开发一个多语言应用程序。我想知道如何翻译错误 我可以抓取代码,然后显示一条自定义消息,我以前会将其写入翻译文件 但我在上看到了另一个i18n软件包有更好的实现方法 有人知道有没有像tap-i18n这样的方法 编辑:现在我正在做这样的事情: Meteor.call('createNewUser', newUser, function (error, ret) { if (!error) displayError(TAPi18n.__('success

我目前正在使用该软件包开发一个多语言应用程序。我想知道如何翻译错误
我可以抓取代码,然后显示一条自定义消息,我以前会将其写入翻译文件
但我在上看到了另一个i18n软件包有更好的实现方法

有人知道有没有像tap-i18n这样的方法


编辑:现在我正在做这样的事情:

Meteor.call('createNewUser', newUser, function (error, ret)
{
    if (!error)
        displayError(TAPi18n.__('success'), TAPi18n.__('new_user_success'), TAPi18n.__('ok'), "btn-success btn-lg", "success-popup");
    else
    {
        switch (error.error)
        {
            case 403:
                displayError(TAPi18n.__('danger'), TAPi18n.__('new_user_already_exist'), TAPi18n.__('ok'), "btn-danger btn-lg", "danger-popup");
                break;
            default:
                displayError(TAPi18n.__('danger'), TAPi18n.__('new_user_error'), TAPi18n.__('ok'), "btn-danger btn-lg", "danger-popup");
                break;
        }
    }
});

我的回答可能有点离题,但你是说应用程序错误吗?如果是这样的话,你就不应该将这些信息返回给用户,因为这可能会构成一个安全漏洞,给他们提供太多的信息

从OWASP:

因此,您可能希望处理错误,并准确地向用户提供您希望他们知道的内容

只需在翻译中包含错误消息,然后像处理普通字符串一样继续翻译

我希望这能有所帮助:)

编辑: 我现在明白你的意思了。据我所知,没有像just-i18n那样的选项。建议稍微取消代码浮动,您可以使用一个助手函数,例如:

function t(keyToTranslate){
  return TAPi18n.__(keyToTranslate)
}
在守则中:

displayError(t('danger'), t('new_user_already_exist'), t('ok'), "btn-danger btn-lg", "danger-popup");

有点天真的建议,但据我所知,这个包中没有映射错误的功能。你的处理方式对我来说似乎是正确的。

嗯。。。我的帖子可能有点模糊。我尝试了Account.createUser并得到了一个错误,例如当用户名已经被使用时。必须警告用户此错误,我在另一篇文章中看到,您可以使用just-i18n定义错误代码翻译。没问题,很乐意帮助:)