crowdin.com的命令行客户端

crowdin-cli-p的Python项目详细描述


#crowdin cli py---0.95.6
[![构建状态](https://travis-ci.org/paulgregor/crowdin-cli.svg?branch=master)(https://travis ci.org/paulgregor/crowdin cli)

[crowdin integration utility主页](https://crowdin.com/page/cli tool)
[支持](https://crowdin.com/contacts)
[crowdin.com主页](https://crowdin.com)

它是跨平台的,可以在终端(Linux、MacOS X)或cmd.exe(Windows)中运行。

![截图](http://i.imgur.com/uzduvpt.png)

>;**警告**:这是一个开发版本:它包含最新的更改,但也可能有几个已知问题,包括崩溃和数据丢失情况。实际上,它可能根本不起作用。

source=source=files)
>安装后需要使用以下命令从pypi获取最新版本的pypi安装后需要使用以下命令:
`````
/>pip安装crowdin cli py
````

配置

安装工具时,必须配置项目。基本上,"crowdin cli py"会遍历项目目录,查找包含项目信息的"crowdin.yaml"文件。

e_path:/path/to/your/project

files:
-
source:/locale/en/lc_messages/messages.po
translation:/locale/%two_letters_code%/lc_messages/%original_file_name%
````br/>
*`api_key`-crowdin project api key
*`project_identifier`-crowdin project name
*`base_url`-(默认值:https://api.crowdin*`基本路径`-定义必须扫描的目录(默认:当前目录)
*`files`
*`source`-仅定义应上载为源的文件
*`translation`-定义下载后应放置翻译的位置(还必须检查路径以检测和上载现有翻译)


使用以下占位符将适当的变量放入生成的文件名中:
*`%language%`-语言名称(即乌克兰语)
*`%2个字母/u code%`-语言代码ISO 639-1(即英国)
*`%3个字母/u code%`-语言代码ISO 639-2/t(即英国)
*`%locale%`-语言环境(如英国UA)
*`%带下划线的locale_%`-locale(即UK_UA)
*`%original_file_name%`-original file name
*`%android_code%`-用于命名"值"的android locale标识符-"directories
*`%original_path%`-在crowdin project中使用父文件夹名称来生成文件路径,结果绑定
*`%file_extension%`-o原始文件扩展名
*`%file_name%`-不带扩展名的文件名
*`%os x_code%`-用于命名".lproj"目录的OS X区域设置标识符
*`%osx_xliff%`-用于命名XLiff文件(即uk.xliff)的OS X区域设置

Android项目示例:
````
/值-%android_code%/%orig最终文件名:
````
gettext项目示例:
```
/locale/%two_letters_code%/lc_messages/%original_file_name%
```

还可以添加和上载与模式匹配的所有目录,包括所有嵌套文件和可本地化文件。

上面的ed具有"source"和"translation"属性,其中包含标准通配符(也称为全局模式),以使工作更容易对于多个文件。

只有星号和其他字符组成的glob将匹配目录中的所有文件。如果指定了`*.json',它将包括所有文件,如"messages.json"、"about-us.json"和任何以`.json`.c*结尾的文件都将匹配以c开头的所有文件;`*c'将匹配以c结尾的所有文件;`*c*将匹配其中包含c的所有文件(包括开头或结尾)。与regexp中的`/.*/x`等价。

*`**`(双星)


递归匹配所有目录。请注意,可以在"source"和"translation"模式中使用"**"。在"translation"模式中使用"**"时,它将始终包含特定文件的"source"子路径。掩码`**`在模式中只能使用一次,并且必须用反斜杠`/`.

*`?`(问号)

匹配任意一个字符。

*`[集合]`

匹配集合中的任意一个字符。行为与"regexp"中的字符集完全相同,包括集合取反(`[^a-z]`)。

*```(反斜杠)

转义下一个元字符。

`翻译`模式将是`/translat/%2个字母的翻译`/translat/%2个字母的代码%/**/%原版的文件名`。


请看下面的示例配置:
`` ` `
-

项目标识符:test
api键:keeptheaphipikekekekekesecret
基网址:https://api.crowdin.com
base-base-u-path/path/to/your/project





/>文件:
->-
-
>>-
来源:
:br/>翻译:/locale/%2个英文字母_code%/**/%original_file_name%
````



35 35 35 35 35 35 35 35 35 35 \ 35 环境变量的api证书



/>br/>
如果混合,"api_key"and"项目标识符"具有优先权:

```
api_key_env:crowdin_api_key低优先级
project_identifier_env:crowdin_project低优先级
api_key:xxx高优先级
project_identifier:yyy高优先级
```

credentials

"crowdin.yaml"文件包含特定于项目的配置和用户凭据(`api_key`,`project_identifier`)。
这意味着您不能在代码存储库中提交此文件,因为api密钥会泄漏给其他用户。` crowdin cli"允许2个配置文件:

*特定于项目,位于项目目录(必需)
*特定于用户,可能位于`$home/.crowdin.yaml`(可选)


**注意**:特定于用户的配置文件中的用户凭据的优先级高于特定于项目的。

/>通常,软件项目具有区域设置目录的自定义名称。` crowdin cli"允许您将自己的语言映射到crowdin可以理解的语言中。

它们都可以用`%two_letters_code%`占位符表示。不过,您还有一个名为"zh_ch"的目录。为了使它在不更改项目的情况下与"crowdin cli"一起工作,您可以将"languages\u mapping"部分添加到文件集中。下面的配置示例如下:


````
--
br/>project\u-identifier:test
api-key:keeptheaphipikekekekekekesecret
base-url:https://api.crowdin.com
base-key-key-key-key-keeptheaphipikekekekekekekekekesecret

base-base-url:
-
source
-
-
-
source-br/>-
source/br/>-source/local/local/en/locale/en/**/
-source/source/source/乙r/>两个字母u代码:
crowdin_语言代码:local_name
ru:ros
uk:ukr
````
映射格式如下:`crowdin_语言代码:code_use_use`.

check[可用于映射的Crowdin语言代码的完整列表](https://crowdin.com/page/api/language-codes)。

不希望在crowdin上转换的文件和目录。
可以将本地每个文件的规则添加到项目的配置文件中。

````
-
文件:
-
源位置/locale/en/**/*.po
转换:/locale/%two_-letters_-code%/**/%original_-file_-name%
忽略:
-/locale/en/templates
-/locale/en/**/test-*.po
-/locale/en/**/[^abc]*.po

`````

您需要在crowdin和本地保持目录结构不变,您可以在配置文件的主要部分添加"preserve_hierarchy:true"选项。


配置示例如下:

````
--
project_identifier:test
api_key:keeptheapikeysecret
base_url:https:///api.crowdin.com
base-pu-path/path/to/your/project
preserve-pu-hierarchy层次结构:true
````



````
``通过api上传csv文件通过api

```````
project-pu-identififier:test
api-key:keeptheapheaikekekesecret
base-url:http://api.crowdin.com
br/>base-base-project-identifier:test
api-api-key:api-key:keeptheaptheaphe是的/>文件:
-
源:'/*.csv'
转换:'%two_letters_code%/%original_file_name%'
ng.
方案:"标识符,源短语,翻译,上下文,最大长度"
```

_短语,上下文,乌克兰语,俄语,法语
ident1,源1,上下文1,,,
ident2,源2,上下文2,,,,
ident3,源3,上下文3,,
``````


配置文件示例:
````
文件:
-
源:multicolumn.csv
翻译:multicolumn.csv
第一行_包含"头:true
>方案:"标识符,源短语,上下文,英国,英国,俄罗斯,法国"
>多语种电子表格:true


````





>多语种电子表格:true









>项目````

>项目```````
>项目``````

>项目````标识符:test
api关键:keeptheaphiaphikekesecret
base
base库```>
乌尔L:https://api.crowdin.com
基本路径:/路径/to/your/project


文件:
-
来源:'/locale/en/**/*.po'
翻译:'/locale/%two_letters_code%/lc_messages/%original_file_name%'
语言映射:
两个字母u代码:
'zh cn':'zh ch'
"fr qc":"fr"
````





```````



项目标识符:test
api-key:keeptheapikekekekesecret
base-url:https://api.crowdin.com
base-base-路径:/路径/to/to/you/project



>
-


:来源:'/res/res/values/values/*.xml'



`````````>翻译:'/res/值-%android_code%/%original_file_name%'
语言映射:
android_code:
我们需要此映射,因为crowdin希望目录名像"values uk rua"
根据规范而不仅仅是"uk"
de:de
ru:ru
```

e要crowdin的文件:
``
$crowdin cli py upload sources
```

upload existing translations to crowdincrowdin项目(翻译将同步):
```
$crowdin cli py upload translations
````


从crowdin下载最新翻译:
`````
$crowdin cli py download
````

build最新crowdin项目配置:
````
$crowdin cli py build
```

列出当前项目中已存在的文件的信息:
```
$crowdin cli py list project
````

列出当前项目中与通配符模式匹配的源文件的信息:
`````
$crowdin cli py list sources
``

列出当前项目中与通配符模式匹配的翻译文件的相关信息:
``
$crowdin cli py list translations
```


oad
```



使用随应用程序提供的"帮助"或"-h"获取有关可用命令和选项的更多信息。




计算

1。分叉
2.创建功能分支(`git checkout-b my new feature`)
3。提交更改(`git commit-am'添加了一些功能'`)
4。推到分支(`git push origin my new feature`)
5。创建新的拉取请求

din.com/articles/versions management/

**0.95.3**-20.04.2016:


*下载过程中,如果不存在翻译文件,将创建翻译文件目录。

**0.95.2**-19.11.2015:

*在python 2.7上查找翻译文件路径时出错已修复。

**版本0.95.1**-2015年3月4日:

*非ascii字符错误和导入问题已修复。

**版本0.94.5**-2015年2月28日:

*已实现对python 3.2+的支持。
*API凭据的环境变量。

作者:Paul Gregor(comixan@gmail.com)


欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用Java实现OpenCV视频捕获   java中泛型的组合和继承是确保类型和避免原始类型的正确方法   java转换错误未在类别中返回全名   Java正则表达式问题:###tag1@@@value1###tag2@@@value2###tag3@@@value3###   运行扫描程序的java   用于返回集合集合的java Neo4j查询   java从第行拆分(“[\t]”)的是什么   行在应该旋转时不会重叠   encryption Java AES Decryption获取解密的十六进制而不是解密的字符串   java分配给同名的静态final字段   java如何获取表的索引值?   java classnotfound异常,但看起来一切正常。有人能告诉我启动功能是否错误吗?   如何使用JavaApachePOI将表放在word的头中?   对一个将Json转换为XML的程序进行改进,并在Java中使用viceversa   java如何检索firestore并将其绘制成图表