生成Yii翻译消息文件

Gih*_*han 14 php bash internationalization yii

我很想知道是否有一个脚本或其他可用于收集和生成控制器/项目中的Yii翻译消息

例如.如果我在控制器中有以下代码

Yii::t('blog', 'Your name');
Yii::t('category', 'Category name');
Run Code Online (Sandbox Code Playgroud)

它应该生成英文翻译消息文件blog.php和category.php以及消息目录中的上述字符串.如果有人知道某种方式,请告诉我.谢谢

ada*_*ors 21

没有必要重新发明轮子.您可以使用yiic它(如果您转到框架文件夹并输入,yiic help message您将获得有关它的使用所需的所有信息).为方便起见,我打算将它粘贴在这里.

使用yiic消息路径/到/ config/file

说明此命令搜索要在指定源文件中转换的消息,并将它们编译为PHP数组作为消息源.

参数*config-file:必需,配置文件的路径.您可以在framework/messages/config.php中找到一个示例.

该文件可以放在任何位置,并且必须是一个有效的PHP脚本,它返回一组名称 - 值对.每个名称 - 值对代表一个配置选项.

可以使用以下选项:

  • sourcePath:string,所有源文件的根目录.
  • messagePath:string,包含消息转换的根目录.
  • languages:array,提取的消息应转换为的语言代码列表.例如,数组('zh_cn','en_au').
  • fileTypes:array,文件扩展名列表(例如'php','xml').只处理在此列表中可以找到其扩展名的文件.如果为空,则将处理所有文件.
  • exclude:array,目录和文件排除列表.每个排除可以是名称或路径.如果文件或目录名称或路径与排除项匹配,则不会复制它.例如,排除'.svn'将排除名称为'.svn'的所有文件和目录.排除'/ a/b'将排除文件或目录'sourcePath/a/b'.
  • translator:用于翻译消息的函数的名称.默认为'Yii :: t'.这用作标记以查找要翻译的消息.
  • 覆盖:如果必须用合并的消息覆盖消息文件.
  • removeOld:如果消息不再需要翻译,它将被删除,而不是被包含在一对"@@"标记之间.

您应该修改(并移动)示例配置文件,并且您已完成设置.一定要使用完整路径(即C:\path\to\project在Windows或/var/www/your/project*nix上)