【问题标题】:Why Node.js is not finding French locale on my Debian 8?为什么 Node.js 在我的 Debian 8 上找不到法语语言环境?
【发布时间】:2017-01-23 03:34:39
【问题描述】:

我现在正在为约会而苦苦挣扎。我有一个带有节点的快速应用程序,我使用date.toLocaleDateString('fr', {"month": "long"}) 将日期转换为人类可读的日期,使用法语语言环境。

它在我的本地计算机(Mac 10.12.2)上运行良好,但是当我将网站推送到 Debian 8 服务器时,它似乎不支持该语言环境。

预期结果(和我电脑上的结果):15 décembre 2016

实际结果:2016 M12 15.

但是,当我将语言环境设置为英语时,日期会正确显示,这让我认为法语语言环境不受支持/安装/连接到节点。

以下是一些命令的结果:

$ locale
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE=fr_FR.UTF-8
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=

$ node -pe process.versions.icu 
57.1

你有解决这个问题的想法吗?感谢您的帮助!

【问题讨论】:

  • 这对你有帮助吗askubuntu.com/questions/76013/…
  • @Sridhar 感谢您的评论。但是,我认为节点的问题比语言环境的问题更大,正如您在“语言环境”命令的输出中所看到的那样。我在您链接的帖子中运行命令,但没有结果:(

标签: node.js date debian


【解决方案1】:

这就是 Node.js 的构建方式。默认情况下,只有 en_US 捆绑在节点本身中,以使 Node.js 更轻。如果您想支持其他语言环境,您需要使用正确的icu 标志构建您自己的节点版本(参见此处https://nodejs.org/api/intl.html),或者,您可以将此 npm 包添加到您的项目https://github.com/unicode-org/full-icu-npm,但它会增长部署包约 50MB...

【讨论】:

    猜你喜欢
    • 2011-01-22
    • 2023-04-04
    • 2017-11-06
    • 2019-09-04
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    相关资源
    最近更新 更多