我在 Symfony2 中创建了一个网站,使用 website.com/_locale/xxxxxxxx 路由将静态数据翻译成两种语言。此实现成功,但我希望更进一步。我想为其他几个国家/地区运行这个网站,为了将这些国家(使用不同语言)管理到一个网站中,需要进行适当的转换。
假设我有一个商店实体。创建的每个对象都有一些变量,如地址、业务类型、设备等。这允许用户用自己的语言创建一个条目,但所有条目将在表中混合。该表将包含意大利语、英语、西班牙语数据,当有人从不同位置进入网站时,我们很遗憾必须查看其他语言的数据。
我希望用户能够以两种语言创建新商店:英语和他自己的语言。我想到的解决方案是:
- 我将在同一个表中创建一个新列,例如“original_language”,每个条目都将存储一个区域设置:en_US、es_SP 等。当网站想要检索一行时,将通过一个表搜索数千个条目。
- 我将用另一种语言创建另一个表,它将作为原始表的镜像。这意味着我将有一个 Shops 表/实体、一个 Shops_it、一个 Shops_es、一个 Shops_br 等。不幸的是,这个解决方案需要我创建几个表以及其他链接表之间的关系。
- 我将为每个字段在同一行中创建另一列。Shops.description、Shops.address 等还将包括 Shops.description_en、Shops.description_br、Shops.address_en、Shops.address_br 等。
什么是做我想做的最安全、最快和更专业的方法?