语言翻译语法

时间:2017-12-04 08:17:25

标签: php mysql

我正在尝试为我的项目添加另一种语言。

I am using database table for words. Like this screenshot.

我们知道语言可以显示主语和谓语的差异。 例如:

英语: Mustafa 今天和他的朋友 ahmet 一起去了电影院。

土耳其语: Mustafa 错误arkadaşı ahmet ile birlikte sinemaya gitti。

英语 - 土耳其语

today => bugün

sinema =>电影院

birlikte =>与

gitti =>去

Mustafa和ahmet是来自users表的用户名。我的问题是如何用优秀的语法展示单词?

如果我想在我的语言表中添加我的示例单词,我该怎么办?我问这个是因为这个例子:

$username => Mustafa,

$friendname => ahmet

英语:<?php echo $username;?>今天和他的朋友<?php echo $friendname;?>去了电影院。

土耳其语:<?php echo $username;?>bugünarkadaşı<?php echo $friendname;?> ile birlikte sinemaya gitti。

如您所见,特殊名称位于不同的位置。如何在不回显表的情况下显示表中的用户名?

1 个答案:

答案 0 :(得分:5)

为什么不在定义的句子上使用占位符。

$sentences = array();
$sentences[ "en" ] = "{{USERNAME}} went to the cinema with his friend {{FRIENDNAME}} today.";
$sentences[ "tu" ] = "{{USERNAME}} bugün arkadaşı {{FRIENDNAME}} ile birlikte sinemaya gitti.";

将名称和占位符放在数组

$placeHolder    = [ "{{USERNAME}}", "{{FRIENDNAME}}" ];
$name           = [ "Mustafa", "ahmet" ];

如果您选择打印EN

echo str_replace($placeHolder, $name, $sentences[ "en" ]);

将导致: Mustafa今天和他的朋友ahmet一起去了电影院。

如果您选择打印TU

echo str_replace($placeHolder, $name, $sentences[ "tu" ]);

将导致:Mustafabugünarkadaşıahmetile birlikte sinemaya gitti。