Php 非动态数据的翻译

Php 非动态数据的翻译,php,mysql,language-translation,Php,Mysql,Language Translation,我目前正在制作一个网页,其中包含来自数据库(餐厅菜单)的动态内容,其中存储了商品名称、价格、雅达雅达。这家餐馆通常供应英语和日语。我已经在数据库中以英语和日语存储了项目的标题,但是当涉及到项目类型时,例如,类型:饮料,饮料类型:咖啡,我显然可以将项目类型存储在数据库中的项目旁边,但是,在数据库中将它存储为两种不同语言的两倍似乎不值得,这也会使表单添加新项成为一件痛苦的事情 翻译诸如“咖啡”、“葡萄酒”、“单击此处”、“菜单”等细小信息并在页面上使用它们的最佳方式是什么?我会用两种语言存储这些信息

我目前正在制作一个网页,其中包含来自数据库(餐厅菜单)的动态内容,其中存储了商品名称、价格、雅达雅达。这家餐馆通常供应英语和日语。我已经在数据库中以英语和日语存储了项目的标题,但是当涉及到项目类型时,例如,类型:饮料,饮料类型:咖啡,我显然可以将项目类型存储在数据库中的项目旁边,但是,在数据库中将它存储为两种不同语言的两倍似乎不值得,这也会使表单添加新项成为一件痛苦的事情


翻译诸如“咖啡”、“葡萄酒”、“单击此处”、“菜单”等细小信息并在页面上使用它们的最佳方式是什么?

我会用两种语言存储这些信息,这对我来说最有意义。我不明白为什么每次你想显示菜单中的任何页面时,你都会去请求翻译系统


如果您使用的是您真正信任的自动翻译系统,那么您可以在添加新项目以提出建议时使用它。因此,用户在表单上输入英文单词后,会自动尝试将其翻译成日语并将其放入日语字段。如果用户对翻译感到满意,则该任务到此为止,否则他/她将使用更好的翻译输入

您可以使用gettext扩展来翻译网页上的静态或预定义信息

参见手册


示例

如果您使用的是任何基于phph5的框架,那么主要框架都具有像zend has zend_Locale那样的本地化支持
如果您想要自己的翻译词典,请将键值对数据保留在数据库表中,并在应用程序和数据库之间进行memcached,这样静态数据将在特定的过期时间内进行缓存,数据库负载将减少,数据的快速检索

从一种非简单的方式来看,这似乎非常简单。我喜欢,所以我要试一试。我正要开始制作一个包含所有需要翻译的文本的XML文件!噩梦。不过,用两种语言存储将是多余的。我知道冗余在编程时是有用的,但存储这两种冗余将是荒谬的。此外,数据库中还有其他几列是英文的,比如项目是否可用。我不会有一个英文专栏,答案是肯定的,答案是否定的あります 列はい 对于同一件事,答案是多次的。在我看来,您担心的冗余是在数据库模式中,而不是在维护翻译中。我从未建议你多次保存翻译。这取决于您如何存储它,无论它是存储在英语数据旁边,还是创建一个单独的“翻译”表。为什么要多次存储?无论如何,你要么要做自动翻译(冒着出错的风险,每次都要做额外的请求),要么把翻译好的单词存储在某个地方。我不确定你希望得到什么样的选择,这不是其中之一。