很好的问题,虽然它有点笼统。
正如@Paweł Dylda 所说,要求编号 0 是对所有内容使用 UTF-8。如果您已经明白这些天必须这样做,那没关系;出于某种原因,很多人仍然没有。
另一个元提示是让您的应用程序非常清楚地知道它显示的是哪种语言。例如,在 HTML 中,到处使用 lang 和 dir 属性。如果不是 HTML,请创建某种全局变量,告诉应用程序它正在显示语言 X,首选字体是 Y。您可能还需要明确区分用户界面的语言和内容。(要查看示例,请访问英语维基百科,开设一个帐户,然后转到首选项并选择法语作为您的语言 - 您会看到英语文章和法语菜单。很多人觉得这很舒服,而且实现起来一点也不难。)
然后你需要了解你的目标语言。如果您想针对所有这些人,那真的很棒,尽管它可能具有挑战性。
对于拉丁语,您很可能不必费力地将语言分成“西方”、“东欧”、“南欧”、“土耳其语”、“越南语”等组。这是在常见的网络浏览器中完成的和文字处理器,但实际上这种方法已经过时了。你可以找到一个很好的字体,它涵盖了德语、法语、波兰语、土耳其语,甚至是越南语和非洲语,这些语言使用了很多变音符号。试试 SIL 的 Gentium 和 Doulos 以及 GNU Free Fonts。他们都是免费的。
从理论上讲,阿拉伯文字也可以这样说,但显然,阿拉伯文、波斯文和乌尔都文有一些不同的要求,尽管它们都使用相同的书写系统。通常,您可能必须为阿拉伯语使用通用阿拉伯语字体,并为乌尔都语提供不同的字体(例如,Nafees)。在这里,也可以使用母语人士进行测试。
对于西里尔文,尽量使用不仅包含俄语字母,还包含乌克兰语、塞尔维亚语和哈萨克语的字体,因为使用这些语言的国家/地区需要对它们提供良好的支持。这是西里尔文的最低要求,但您可以通过找到一种也支持俄罗斯其他语言(如萨哈语和阿布哈兹语)的字体来帮助自己和许多其他人。GNU Free Font 也可以在这里为您服务,但又一次 - 与人们一起测试它。
印度的语言是个大麻烦——那里有很多书写系统和字体。好消息是,Fedora 和 Ubuntu 等 Linux 发行版中的大多数都包含字体,并且它们可以免费在其他应用程序中重复使用。Lohit 家族涵盖了印度的大多数语言;看看马拉雅拉姆语的 Meera 和 Rachana。
我不太了解东南亚语言,如泰语、缅甸语、高棉语和老挝语,但也尝试支持这些语言。自 Windows NT 4 以来的大多数操作系统都很好地支持泰语,但对其他语言的支持非常不完整,因此假设操作系统在这里没有帮助您。
我的最后一个提示是查看 jquery.webfonts 库和相应的 MediaWiki 扩展“通用语言选择器”(又名 ULS):* https://github.com/wikimedia/jquery.webfonts
* https://www .mediawiki.org/wiki/Extension:UniversalLanguageSelector
它提供了可移植的技术,可以轻松地将 webfonts 添加到您的 web 应用程序中。如果您不是在开发 Web 应用程序,或者由于其他原因无法使用该库,您仍然可以使用在存储库中找到的字体 - 它们涵盖了很多语言并且它们都是免费的。
(免责声明:我参与开发这些库。)