Php I18N、L10N和数据库,如何实现?

Php I18N、L10N和数据库,如何实现?,php,zend-framework,database-design,localization,internationalization,Php,Zend Framework,Database Design,Localization,Internationalization,我将更新/重写现有的硬编码网站 我需要本地化,但应用程序将根据国家/语言提供不同的内容 处理这个问题的最佳方法是什么 我想在数据库中为每个本地化创建的内容添加一列,例如“locale=en_GB”,或者为每个应用程序使用不同的数据库 有什么反馈吗 编辑 比如说一个应用程序。嗯 我希望此应用程序具有相同的功能,但在不同的国家 内容是由社区提供的,因此无法翻译,也不是应用程序范围的内容,只能用于配置为与国家/地区C合作的应用程序 国家/地区=一个域名=特定内容=与其他域名相同的功能 我知道我可以将

我将更新/重写现有的硬编码网站

我需要本地化,但应用程序将根据国家/语言提供不同的内容

处理这个问题的最佳方法是什么

我想在数据库中为每个本地化创建的内容添加一列,例如“locale=en_GB”,或者为每个应用程序使用不同的数据库

有什么反馈吗


编辑

比如说一个应用程序。嗯

我希望此应用程序具有相同的功能,但在不同的国家

内容是由社区提供的,因此无法翻译,也不是应用程序范围的内容,只能用于配置为与国家/地区C合作的应用程序

国家/地区=一个域名=特定内容=与其他域名相同的功能

我知道我可以将每个应用程序配置为使用不同的数据库,但我想如果我需要添加一列来添加功能,我必须在每个国家/地区都这样做

如果我添加一个列来本地化内容,那么无论应用程序是什么,我都可以通过指定当前使用的区域设置来获取本地化内容

我将使用Zend_Locale&Zend_Translate/gettext,这样我就知道如何在php中实现它


这两种解决方案都有各自的优缺点,但我在这类应用程序中没有足够的经验来选择正确的方法。

区域设置很少是数据库的一部分

区域设置是数据库中数据表示的一部分

因此,每个用户都提供自己的区域设置

您的应用程序使用普通本地化来翻译数字和日期


应用程序使用普通的i18n库将数据库文本和应用程序消息转换为本地化文本。

区域设置很少是数据库的一部分

区域设置是数据库中数据表示的一部分

因此,每个用户都提供自己的区域设置

您的应用程序使用普通本地化来翻译数字和日期


您的应用程序使用普通的i18n库将数据库文本和应用程序消息转换为本地化文本。

我采用第一种方法:用特定列标记每种不同的语言。与管理不同的数据库/表相比,更易于管理且更灵活


在布局上:您可以使用PHP函数,或者如果需要,可以为每种语言创建不同的模板。

我采用第一种方法:用特定列标记每种不同的语言。与管理不同的数据库/表相比,更易于管理且更灵活


关于布局:您可以使用PHP的函数,也可以根据需要为每种语言创建不同的模板。

问题非常广泛。您能否提供更多关于哪些内容应被视为本地化内容的详细信息。更重要的是,如何向应用程序提供本地化内容?例如:这是否是一种CMS设置,内容管理器将能够为应用程序插入本地化内容?问题非常广泛。您能否提供更多关于哪些内容应被视为本地化内容的详细信息。更重要的是,如何向应用程序提供本地化内容?例如:这是一种CMS设置,内容管理器将能够为应用程序插入本地化内容吗?
该区域设置很少是数据库的一部分。
除非是CMS设置,否则内容管理器将能够为应用程序输入本地化内容。@fireyedboy:True。但这不是“我的数据库中每个本地化创建内容的列”,是吗?正如我对提问者所评论的那样;这个问题太宽泛了,不可能弄清楚OP到底在想什么。所以我真的不知道。可能是OP在找类似的东西。如果不是,那么我同意你的回答。
区域设置很少是数据库的一部分。
除非是CMS设置,内容管理器将能够为应用程序输入本地化内容。@fireyedboy:True。但这不是“我的数据库中每个本地化创建内容的列”,是吗?正如我对提问者所评论的那样;这个问题太宽泛了,不可能弄清楚OP到底在想什么。所以我真的不知道。可能是OP在找类似的东西。如果没有,那么我同意你的回答。