Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数据库中字符串的本地化_Php_Mysql_Database_Localization_Internationalization - Fatal编程技术网

Php 数据库中字符串的本地化

Php 数据库中字符串的本地化,php,mysql,database,localization,internationalization,Php,Mysql,Database,Localization,Internationalization,我有一个用PHP编写的应用程序,后面是MySQL。最初,这个应用程序使用的是定制语言类,效率很低,所以我将所有内容都改为使用gettext。 问题是数据库中有很多字符串,存储在表中,这些表是从数据库中读取时从不更改的。好的是,每个安装都只使用一种语言 为了提供不同语言的字符串,以前使用过不同的数据库。有database_en、database_fr等,每个新安装都使用适当的本地化数据库。我想为所有语言更改这个数据库 我正在考虑将所有特定于语言的内容从数据库移到配置文件中,以便再次使用gettex

我有一个用PHP编写的应用程序,后面是MySQL。最初,这个应用程序使用的是定制语言类,效率很低,所以我将所有内容都改为使用gettext。 问题是数据库中有很多字符串,存储在表中,这些表是从数据库中读取时从不更改的。好的是,每个安装都只使用一种语言

为了提供不同语言的字符串,以前使用过不同的数据库。有database_en、database_fr等,每个新安装都使用适当的本地化数据库。我想为所有语言更改这个数据库

我正在考虑将所有特定于语言的内容从数据库移到配置文件中,以便再次使用gettext


您认为这是一个好主意,还是您将继续为不同的安装使用不同的数据库?你能推荐更好的吗?

我建议在前端使用google translation api,并使用unicode数据类型的单一数据库。

这取决于您的项目更改/发展的程度和频率。在开发新功能时拥有多个数据库会增加额外的工作,并可能带来额外的错误。因此,通常只有一个多语言数据库更干净,但这在很大程度上取决于项目的特点。不要认为这个问题有一个明确而正确的答案,看,这是什么样的文本?长的,像文章一样的文本或只是几个单词的短片段max?“我个人处理这些问题的方式不同,”丹曼说,“这是一个绝对正确的问题。最长的文本约为100个单词,大多数字符串仅为1-2个单词。我在想,如果将它们存储在数据库中是否合理,因为即使我从文件中加载内存中的所有内容,也可能比执行连接更快。@DanMan我不认为这是链接问题的重复,因为链接的问题假定翻译将存储在SQL数据库中,并且这个问题明确地考虑了替代方案。不过,这可能应该以过于宽泛或主要以观点为基础而加以封闭;我对此持怀疑态度,倾向于置之不理。