1.14 设置本地化字符串

1.14.1 关于本地文件和方法

Solar内置了基于PHP数组的本地化系统,数组的键是标识符,值是替换字符串。Solar中的每一个类都有一个Locale/ 子目录;里面是以语言和国家命名的翻译文件,默认的是en_US.php。本地化文件是按需加载的。

Solar中的每个类都有一个locale()方法,该方法用于把本地数组的键翻译成相应替换字符串。和Solar中的其他事物一样,本地化文件也是可继承的。因此,如果你查找一个存在于父类中的本地化数组的键,Solar会启用继承机制,直到找到为止。

在视图中,你可以使用getText()辅助函数获取本地化字符串。(在视图中的其他对象中,你可以使用locale()方法获取本地化字符串。译者注:这里尚未测试,故可能表达不准确。

1.14.2 修改本地化文件

为博客应用修改本地化文件,查找并打开Blog/Locale/en_US.php文件。

$ vim Blog/Locale/en_US.php

把文件内容修改成下面这个样子:

<?php return array(
    'ERR_NO_ID_SPECIFIED'    => 'No ID was specified',
    'ERR_NO_RECORDS'         => 'No records found.',
    'ERR_NO_SUCH_ITEM'       => 'That item does not exist.',
    'HEADING_ADD'            => 'Add New Article',
    'HEADING_DELETE'         => 'Delete This Article?',
    'HEADING_DRAFTS'         => 'Draft Articles',
    'HEADING_EDIT'           => 'Edit Article',
    'HEADING_INDEX'          => 'Published Articles',
    'TEXT_DELETED'           => 'Deleted the article.',
    'TITLE_ADD'              => 'Blog : Add New Article',
    'TITLE_DELETE'           => 'Blog : Delete Article',
    'TITLE_DRAFTS'           => 'Blog : Draft Articles',
    'TITLE_EDIT'             => 'Blog : Edit Article',
    'TITLE_INDEX'            => 'Blog : Published Articles',
);

现在,你再次浏览博客应用,你将会看到翻译过的本地化字符串。