2012-10-30 48 views
0

我想这个问题有一个标准的解决方案,但我找不到它..管理动态语言数据的数据库结构

我有一些表存储用户数据。包含文本数据的列可以转换为不同的语言。

我想我必须创建一个表,其中包含像“fr”,“en”这样的语言ID和另一个PER用户的内容表,它将翻译,关联语言和外键存储到用户的行中内容表。

问题是,此解决方案强制为每个用户的内容表添加一个languageTranslation表(因为外键列不能指向不同的表)。

有没有更简单的解决方案?

+0

描述你的软件栈。也许有一些现有的库可以缓解这种痛苦。 –

+0

这是一个Web应用程序,它将在PHP/MYSQL中使用Symfony 2 – Leto

回答

0

你必须决定什么是可翻译的,哪些不可翻译。

如果您可以决定将用相应语言的字符串替换的“键”或“标记”,这将有所帮助。

它可以帮助您构建形式schema.table_name.column_name.value形式的键,所以你有一些结构(有点像Windows注册表路径)。

但是,这是很多工作,并没有真正的任何捷径。

-

既然你已经告诉我们您正在使用的Symfony 2,也许下面的链接将帮助您?

http://symfony.com/doc/2.0/book/translation.html

http://api.symfony.com/2.0/Symfony/Component/Translation/Loader/LoaderInterface.html