Javascript 在node.js中检测字符串的语言
我使用从到我的项目的函数 函数在新用户注册时发送欢迎电子邮件,在删除用户帐户时发送再见电子邮件。该函数正在加载到Firebase云函数 我试图补充代码,这样它就可以根据用户的姓名确定他需要用什么语言发送消息 示例: 如果用户的名称是用希伯来语输入的,则函数会向用户发送一条希伯来语消息 如果用户的姓名是用俄语输入的,则函数会向用户发送一条俄语消息 如果用户的名称是用英语输入的,则函数会向用户发送一条英语消息 注意: 这不会连接到浏览器,因为用户将从android应用程序注册。在Firebase上进行用户身份验证后,他将从Firebase云功能获得一条消息 在node.js中,下面的代码不起作用Javascript 在node.js中检测字符串的语言,javascript,node.js,google-cloud-functions,Javascript,Node.js,Google Cloud Functions,我使用从到我的项目的函数 函数在新用户注册时发送欢迎电子邮件,在删除用户帐户时发送再见电子邮件。该函数正在加载到Firebase云函数 我试图补充代码,这样它就可以根据用户的姓名确定他需要用什么语言发送消息 示例: 如果用户的名称是用希伯来语输入的,则函数会向用户发送一条希伯来语消息 如果用户的姓名是用俄语输入的,则函数会向用户发送一条俄语消息 如果用户的名称是用英语输入的,则函数会向用户发送一条英语消息 注意: 这不会连接到浏览器,因为用户将从android应用程序注册。在Firebase上进
if (/^[a-zA-Z]+$/.test(text)) //if the English language
{
...
}
else //if the not English language
{
...
}
我很乐意帮助你
也许还有另一种解决方案来本地化消息
谢谢 您可以使用node.js库来检测字符串的语言
但是,由于您的要求是根据用户的语言发送消息,因此最好为用户提供一个选择其首选语言的选项,或者使用javascript通过navigator.language
你可以使用谷歌翻译api
您可以使用franc和langs npm来检测语言。 但首先,您需要安装franc和langs 安装: 在bash中编写此代码
$node i franc langs
在名为index.js的js文件中编写此代码
const franc = require('franc');
const langs = require('langs');
const input = process.argv[2];
const langcode=franc(input);
if(langcode==='und'){
console.log("Sorry couldnot find the language");}
else{
const language=langs.where("3",langcode);
console.log(`Our guess : ${language.name}`);}
如何在bash中运行文件?
$ node {filename}.js '{sentence}'
您是否考虑过让用户选择所提供的语言?否,因为该功能是通过触发器工作的:注册并注销。浏览器(用户在其中进行交互)是否不知道自己的区域设置,然后可以在某些HTTP头属性中传播。。。例如,根据一个名字来假设某种语言是一种糟糕的假设。例如,我的姓氏来源于意大利,但并不意味着我会说。俄罗斯使用西里尔语,但其他语言也使用西里尔语。如果要猜测语言,请使用
Accept language
-。这就是为什么浏览器在(几乎)每个请求中都发送它的原因。这是可行的,但我不明白如何使用它。我用我的名字Yury Matatov做了一个实验。我在第一个职位上没有学英语。为什么?从句子中识别语言是很容易的,因为名字是专有名词,它们很有可能被误认为是不同的语言。正如我所说,最好向用户提供语言偏好。如果您需要更高的准确性,您可以尝试付费的google translate API示例代码,可以在中找到,可能可以在拉丁字母或西里尔字母之间检测到,该代码可以检测浏览器语言,不是文本语言考虑的边缘情况下,我使用和打字的阿拉伯语,我的浏览器语言是英语。