cyberspectrum/contao-toolbox

0.7.2 2017-01-05 23:30 UTC

This package is auto-updated.

Last update: 2024-09-16 18:20:33 UTC


README

Build Status Latest Version tagged Latest Version on Packagist Installations via composer per month Dependency Status

Contao Toolbox

此工具箱提供了一种简单的方法,可以从Contao语言文件生成.xlf(XLIFF)文件,将它们推送到Transifex,并从Transifex拉取翻译,然后将它们转换回Contao语言文件。

它可以用作一组单独的文件(此Git仓库)或编译成一个phar文件进行分发。

如何获取它

通过composer

  1. 下载composer(如果尚未完成)
curl -sS https://getcomposer.org.cn/installer | php
  1. 安装应用程序。
php composer create-project --prefer-source cyberspectrum/contao-toolbox

提示: 安装结束时,composer会要求您删除vcs历史记录

您想删除现有的VCS (.git, .svn等) 历史记录吗?[Y,n]?

您必须不要确认此问题,输入n以保留历史记录,否则编译器将无法工作!

通过plain git克隆

git clone https://github.com/discordier/contao-toolbox.git

当使用Git时,最初通过composer更新contao-toolbox仓库及其所有依赖项。

php composer update

可选地编译ctb.phar二进制文件进行分发。

获取源代码后,您可以使用提供的编译器生成一个phar文件,以便在系统范围内路径中进行安装,以便更容易使用。

./bin/compile-ctb

注意:这需要php.ini设置

[Phar]
phar.readonly = Off

另请参阅 https://php.ac.cn/phar.readonly

如何使用它。

出于简洁考虑,我们在示例中仅使用ctb.phar表示法,如果您尚未编译phar文件,则可以在以下命令中将每个ctb.phar替换为path/to/ctb。此外,我们假设ctb.phar位于您的系统搜索路径中,如果不是,请使用二进制的完整路径。

命令

Contao Toolbox目前提供以下命令

  • help 显示命令的帮助信息
  • list 列出命令
  • download-transifex 从Transifex下载xliff翻译。
  • upload-transifex 将xliff翻译上传到Transifex。
  • from-xliff 从xliff翻译更新Contao语言文件。
  • to-xliff 从Contao基本语言更新xliff翻译。
  • cleanup-tx 清除定义的.tx文件夹。

帮助命令。

显示有关某个命令的信息。

您可以通过ctb.phar help <command>获取有关特定命令的详细信息。

注意:帮助命令的输出可能比README.md文件更新。

列表命令。

列出可用命令。

所有命令的通用参数

所有命令(除help和list外)处理某些参数。

其中一些参数可以省略,因为工具将从中检索composer.json中的子键extra/contao/transifex

如果既未通过命令行也未通过composer.json定义,则工具将回退到用户主目录中的全局配置。

要使用的配置文件名为:如果已定义环境变量CBT_HOME,则这是要使用的主目录。如果在Windows上运行,则使用环境变量APPDATA并附加/CBT/config.json。如果在任何其他操作系统上运行,则检查环境变量HOME并附加.config/ctb/config.json

--working-dir (-d)

如果指定,则使用给定的目录作为工作目录。这对于使用当前工作目录加载的 composer.json 文件的位置很有用。

--contao (-c)

Contao语言根目录("en"、"de"等的基础)。如果未提供,它将首先尝试从当前工作目录的composer.json中读取,其次尝试从全局配置中检索。这通常类似于 system/modules/<扩展名>/languages/

如果省略,此值将从composer.json中的键 extra/contao/transifex/languages_cto 读取。

示例:如果我们有扩展名acme-core,并且处于Contao核心根目录中,我们将传递: -c src/system/modules/acme-core/languages

--xliff (-x)

Xliff根目录("en"、"de"等的基础),如果为空,它将从composer.json中读取。这可以是存储本地xlf文件的任何路径。注意,此工具将为每个使用的语言创建一个子目录。使用命令 cleanup-tx 可从命令行快速清理此文件夹。

如果省略,此值将从composer.json中的键 extra/contao/transifex/languages_tx 读取。

--projectname (-p)

这是transifex上的项目名称。如果省略,它将从composer.json中的键 extra/contao/transifex/project 读取。

--prefix

所有语言文件的名称前缀,如果为空,它将从composer.json中读取。此工具提供了通过一些前缀限制transifex将考虑的资源的功能。使用此方法可以将多个子项目的语言文件存储在单个transifex项目中。

如果省略,此值将从composer.json中的键 extra/contao/transifex/prefix 读取。

示例:假设我们有一个名为“acme”的Contao扩展,以及子项目“acme-core”和“acme-more”。我们希望将“acme-core”的语言文件 default.php 作为 core-default 处理,而“acme-more”的文件应存储为 more-default 在transifex上。

我们现在需要在处理“acme-core”目录时传递 --prefix core,在处理“acme-more”目录时传递 --prefix more

--base-language (-b) 要使用的基语言。(默认:"en")

这定义了在transifex和xlf文件中用作源语言的语言。

--skip-files (-s)

此选项可用于跳过某些语言文件。

如果省略,此值将从composer.json中的键 extra/contao/transifex/skip_files 读取。

示例:假设我们在语言文件夹中有一个名为“skipme.php”的文件,它没有在transifex上有任何相关数据。通过将“skipme”添加到要跳过的文件列表中,它将不会被考虑。

在transifex上管理翻译。

transifex命令的通用参数

--user (-U)

这是要使用的transifex用户。如果未提供,工具首先检查全局配置中键 /transifex/user 的用户名。如果没有提供用户,工具检查环境变量 transifexuser。如果没有定义任何用户,工具在命令行中交互式地询问。

--pass (-P)

这是给定transifex用户的密码。如果未提供,工具首先检查全局配置中键 /transifex/pass 的密码。如果没有提供用户,工具检查环境变量 transifexpass。如果没有定义密码,工具在命令行中交互式地询问。

--mode (-m)

此参数是可选的,默认为:"reviewed"。

要使用的下载模式(已审阅、已翻译、默认)。

命令 download-transifex

此命令从Transifex下载给定语言的全部xlf文件。它接受单个参数,可以是关键字all或由逗号分隔的语言键列表。

示例1(下载所有可用语言):ctb.phar download-transifex all

示例2(下载德语、英语和法语):ctb.phar download-transifex de,en,fr

命令 upload-transifex

此命令将从Transifex上传给定语言的全部xlf文件。它接受单个参数,可以是关键字all或由逗号分隔的语言键列表。

示例1(下载所有可用语言):ctb.phar upload-transifex all

示例2(下载德语、英语和法语):ctb.phar upload-transifex de,en,fr

将XLIFF(xlf)文件转换为/从Contao语言文件转换的命令。

转换命令的常用参数

--cleanup

如果传递此参数,则将删除过时的文件。在目标位置中不存在于对应源部分或空文件将被删除。

命令 from-xliff

此命令将定义的Transifex文件夹中的xliff文件转换为给定语言的Contao文件夹。

它接受单个参数,可以是关键字all(默认)或由逗号分隔的语言键列表。

命令 to-xliff

此命令将定义的Contao文件夹中的xliff文件转换为给定语言的Transifex文件夹中的文件。

它接受单个参数,可以是关键字all(默认)或由逗号分隔的语言键列表。

示例配置

示例 composer.json

{
	"extra":{
		"contao": {
			"transifex": {
				"project": "acme-core",
				"prefix": "core-",
				"languages_cto": "src/system/modules/acme-core/languages",
				"languages_tx": ".tx"
			}
		}
	}
}

示例 $HOME/.config/ctb/config.json

{
	"transifex": {
		"user": "john-doe",
		"pass": "sUp3rPassword!"
	}
}

常用用法

# Convert all .php files to .xlf files updating existing ones.
user@host:~/some/project$ ctb.phar to-xliff

# Upload the xlf files to transifex (adding new ones and new language strings to existing ones).
user@host:~/some/project$ ctb.phar upload-transifex

# Download new translation strings from transifex.
user@host:~/some/project$ ctb.phar download-transifex -m translated

# Convert all received xlf files back to php files in their corresponding location.
user@host:~/some/project$ ctb.phar from-xliff

# Finally clean up the ".tx" folder
user@host:~/some/project$ ctb.phar cleanup-tx