我目前面临二维翻译的需要。这个概念是我自己命名的,让我从例子中解释我的需要。
我们假设网站提供英语和法语。
让我们假设这个网站是玩家可以玩人或矮人的游戏。
玩家拥有战争单位。战争单位的名称可以转换为英语或法语,但也可以转换为人或 dwarf 。例如,矮人的距离单位称为弩手,而人类称之为弓箭手,但仍然是数据库中的同一单位。
为简化起见,这里是所描述映射的JSON表示:
"units": {
"english": {
"human": "Archer",
"dwarf": "Crossbowman"
},
"french": {
"human": "Archer",
"dwarf": "Arbalétrier"
}
}
因此,在检查他的距离单位时,法国矮人队员会看到Arbalétrier,而英国矮人队员会看到 Archer 。我称之为二维翻译。
存在许多解决方案,我想到了很多。我可以将同一实体(unit.dist.dwarf
,unit.dist.human
)的翻译密钥相乘。我可以编写自定义服务并根据存储的JSON映射处理第二个转换。所有这些都可行,但这将是一种临时工作。
是否有一种优雅的Symfonycal方法来实现这一目标?