我是否必须加载 60 种字体才能在网站中支持 60 种语言?

Do I have to load 60 fonts to support 60 language in website?

我正在用 React 制作一个支持 60 种语言的网站。但我不确定如何开发该网站。我是否必须在我的网站中加载 60 种字体(例如通过 CDN 链接)以便它正确支持所有语言?或者还有其他更好的方法吗?

根据您需要支持的语言和希望使用的字体,您可能需要使用多种字体,尽管有许多字体涵盖了很多不同的语言和排版。

Google Noto font 是尝试支持尽可能多的语言的字体示例

TL;DR 不,你不知道。只需使用支持大多数拉丁语言的字体 + 用于中文等特殊情况的字体。不要包含第三方链接来加载您的资源!

准确解释

首先:你可能知道,世界上大多数语言都使用拉丁字母+一些额外的字母。如果您有一种支持此字母表 + 额外字母 (ASCII) 的字体,您还可以支持大多数语言,如法语、德语、英语等。因此,对于 60 种语言,您不需要正好 60 种字体。仅 1 个用于拉丁语言,所有需要的字母 + 特殊字体。

其次您可能会考虑针对其他特殊语言优化您的ui,这些语言的母语者习惯于以不同于英语等国家/地区的方式阅读他们的信件(从上到下到左-右,或从右-左到上-下阅读)。

第三:不要使用链接从第三方加载资源。如果您使用此链接,您可能没问题,但随着您在该 uri 后面获得的资源消失,您的 ui 可能无法正常工作。最佳做法是:从 Google fonts 下载字体并将它们放在应用程序的资源文件夹中。如果发生反应,请将其放在 src/fonts/someOtherDirForLanguagesMaybe.

原因:React 可以将“src”中的资源与 webpack 捆绑在一起,并且可以大大减少网络流量。并且只加载用户真正需要的字体。所以母语为英语的人不会使用任何中文字母。

第四:当你开发你的网站时,你不应该试图一次支持所有语言。首先做一个关于您的网站的概念并构建您的 ui 好。从基本语言开始,如 English/German/Spanish/Frensh(所有基于拉丁语的语言),并使用一些有用的功能,然后如果您认为支持其他一些语言可能有用,请尝试其他语言。

希望这能深入解答您的问题。 :)