模块的语言

2021-09-27 10:58:45
admin
1435
最后编辑:admin 于 2021-09-28 17:14:36

每个模块下可以创建一个名为 lang 的文件夹,存放各个语言的文件。在模块的 lang 目录下:

  • 中文存为 zh-cn.php

  • 英语存为 en.php

  • 繁体存为 zh-tw.php

在一个页面中显示的所有内容,除了从数据库中获取的,其他的基本都是在 lang 中定义的。我们在编写 view 里的模板视图页面时,不要直接插入要显示的文本内容,而是调用 lang 对象。

这里以中文的 zh-cn.php 为例,在该文件中设置该模块下会用到的界面显示的内容。使用方法很简单:

在全局语言对象 $lang 中,以当前模块名为属性名先创建一个该模块的语言对象,然后通过设置该类的属性来控制该模块中视图页面里会用到的显示内容。

<?php
$lang->modulename = new stdclass();
$lang->modulename->prop = "value";
……

例如:下面是 shop 模块里的语言设置:

<?php
$lang->shop = new stdclass();
$lang->shop->username = "用户名:";
$lang->shop->password = "密码:";

然后,我们就可以在 control 和 view 层使用该语言对象了,例如:

<?php include '../../common/view/header.html.php';?>
<div class="container">
  <div class="center-block" width="300px">
<form action="<?php echo $this->createLink("shop","index") ?>" method="post">
<?php echo $this->lang->shop->username; ?><?php echo html::input('username'); ?><br/>
<?php echo $this->lang->shop->password; ?><?php echo html::password('password'); ?><br/>
<?php echo html::submitButton($this->lang->shop->submit,$class='btn btn-primary')?>
<?php echo $loginError?$loginError:null;?>
</form>
  </div>
</div>
<?php include '../../common/view/footer.html.php';?>

image.png