想要添加泛型代码,如#define



我想添加翻译到我的网站到各种语言。我想用不同的语言文件定义代码块,是否有可能以这种方式创建单独的文件进行翻译?:

通用文件:

// index.php
// say $_SESSION['lang'] = rtlLANG;
<?php include($_SESSION['lang'].".php");?>
<html>
 <body>
  <?php MAIN_WELCOME_MESSAGE; ?>
 </body>
</html>
// some rtlLANG.php
define("MAIN_WELCOME_MESSAGE","
 echo '<table style="direction:ltr;">';
 echo 'welcome rtl language readers';
");

// some ltrLANG.php
define("MAIN_WELCOME_MESSAGE","
 echo '<table style="direction:rtl;">';
 echo 'welcome rtl language readers';
");

是否有可能以某种方式定义这些代码块?(我知道这至少不是事实)

如何为每种语言实现不同的内容布局?

使用标准(跨语言)库gettext。http://php.net/gettext

有许多实现多语言支持的方法。我的建议是:

根据我使用html/css的经验,最好创建两个版本的设计- rtl和ltr.如果你使用MVC,你可以为视图(或模板)设置一个目录。

你应该有一个语言列表,对于每一种语言,你需要说明它是LTR还是rtl。

现在为实际翻译:在您的视图/模板或HTML代码/错误和通知消息中,您可以加载实际文本。您可以编写自己的代码,或者(我建议)使用gettext (http://www.gnu.org/s/gettext/)

最新更新