CakePHP自动化i18n从批处理文件中提取shell进程

tra*_*nte 1 php cakephp batch-file internationalization cakephp-2.0

要为CakePHP 2.3 i18n创建默认的pot文件,在Windows中我创建了一个这样的bat文件.

CD F:\mywork\app\View
F:\mywork\lib\Cake\Console\cake.bat i18n extract
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

Your database configuration was not found. Take a moment to create one.
---------------------------------------------------------------
Database Configuration:
---------------------------------------------------------------
Name:
[default] >
Run Code Online (Sandbox Code Playgroud)

但在app\Config\database.php文件内部我有数据库配置,它们运行良好.所以我删除了提取参数.

我创建了一个像这样的新bat文件.

CD F:\mywork\app\View
F:\mywork\lib\Cake\Console\cake.bat i18n
Run Code Online (Sandbox Code Playgroud)

当我运行bat文件时,我得到了这个:

[E]xtract POT file from sources
[I]nitialize i18n database table
[H]elp
[Q]uit
What would you like to do? (E/I/H/Q)
Run Code Online (Sandbox Code Playgroud)

我选择ê.我明白了:

Current paths: None
What is the path you would like to extract?
[Q]uit [D]one
[F:\mywork\app\View\] >
Run Code Online (Sandbox Code Playgroud)

我按Enter键.我明白了:

Current paths: F:\mywork\app\View\
What is the path you would like to extract?
[Q]uit [D]one
[D] >
Run Code Online (Sandbox Code Playgroud)

我按Enter键.我明白了:

Would you like to extract the messages from the CakePHP core? (y/n)
[n] >
Run Code Online (Sandbox Code Playgroud)

我按Enter键.我明白了:

What is the path you would like to output?
[Q]uit
[F:\mywork\app\View\Locale] >
Run Code Online (Sandbox Code Playgroud)

我粘贴这个:F:\mywork\app\Locale\eng\LC_MESSAGES.比我得到这个:

Would you like to merge all domains strings into the default.pot file? (y/n)
[n] >
Run Code Online (Sandbox Code Playgroud)

我按Enter键.cake开始处理所有View文件.创建pot文件.然后我明白了:

[E]xtract POT file from sources
[I]nitialize i18n database table
[H]elp
[Q]uit
What would you like to do? (E/I/H/Q)
Run Code Online (Sandbox Code Playgroud)

我按Q和程序结束.

是否可以自动化此过程?预先设置路径而不是手动选择选项?

小智 5

刚刚处理同样的问题.你需要开始

cake.bat i18n extract
Run Code Online (Sandbox Code Playgroud)

来自/ app路径而不是视图路径.可以为逗号分隔的文件列表自动执行该过程:

cake i18n extract --files %ListOfFiles% --ignore-model-validation --output .\Locale\eng\LC_MESSAGES\ --paths .\View  --overwrite no --extract-core no --merge no
Run Code Online (Sandbox Code Playgroud)

还应该在没有文件列表的情况下工作:

cake i18n extract --ignore-model-validation --output .\Locale\eng\LC_MESSAGES --paths .\View  --overwrite no --extract-core no --merge no
Run Code Online (Sandbox Code Playgroud)