您可以在文本中使用字符串变量而不是%
使用字符串变量(除非您正在编写某种动态的东西,允许人们像 CMS 一样添加自己的变量)。您可以使变量来自数据库或其他类似语言的数据库。例子:
$name = 'Bob';
$salutation = "Hello, $name.";
$order_count = '2';
if ($order_count == '1'){
$ordertext = "You have $order_count order.";
} else{
$ordertext = "You have $order_count orders.";
}
$forgot = 'forgot';
$link = 'http://www.domain.com/reset/password';
$forgotphrase = "If you $forgot your password click <a href='$link'>here</a>!";
$message = $salutation.$ordertext.$forgotphrase;
输出
Hello, Bob. You have 2 orders. If you forgot your password click here!
更新
要在更大范围内执行此操作,您可以拥有一个名为“短语”的数据库表。
id,salutation,ordertext_plur,ordertext_sing,forgot,link,forgotphrase,language,updated
所以在 MySQL 中可能看起来像这样:
1,
'Hello, $name.',
'You have $order_count orders.',
'You have $order_count order.',
'forgot',
'http://www.domain.com/reset/password/en',
'If you $forgot your password click <a href='$link'>here</a>!',
'EN',
'2013-04-23 00:00:00'
您的 SQL 语句如下所示:
select * from phrasing where language='EN';
然后,您将根据输出分配适当的变量。您将不得不更多地考虑如何实现这一点以及数据库应该有多大。
其他想法您可能会考虑在您的页面上使用类似谷歌翻译小工具来翻译 HTML 代码,而不是将翻译硬编码到数据库中。他们的翻译数据库每天更新。我的一些大型国际客户使用它而不是花钱翻译成每种语言。此外,它还可以更轻松地更改一种语言的代码,而不必担心在其他语言中会丢失它。