命令行工具,用于检查Commcare应用程序的大容量翻译文件在翻译过程中是否具有一致的<output value…/>标记。

CommcareTranslationChecker的Python项目详细描述


CommcareTranslationChecker
===========


https://github.com/dimagi/CommcareTranslationChecker

a command-line tool to check multiple columns of a[批量翻译文件](https://confluence.dimagi.com/display/commcarePublic/form+bulk+translation)for other,以确保在列之间一致地使用输出值标记。


安装
安装python和"pip"。这个工具是用python 2.7和3.6进行测试的。通过'pip`

````
$pip安装CommcareTranslationChecker
````



基本命令行用法
----


命令行工具的基本用法与保存的Excel文件一起使用。这可以配置为[表单转换](https://confluence.dimagi.com/display/commcarepublic/form+bulk+translation)或[应用程序转换](https://confluence.dimagi.com/display/commcarepublic/bulk+application+translations)

````
$commcaretransionchecker<;relative或翻译文件的绝对路径>;
```

如果在任何列中的"输出值"标记列表之间发现任何差异,将在"CommcareTranslationChecker_Output"文件夹中生成文件。如果相对于当前路径不存在此类文件夹,则将创建该文件夹。此文件将是输入文件中数据的精确副本,并在每张工作表中附加一列"mismatchflag"。此列将在检测到dispreparency的所有行中标记为"y",否则标记为"n"。此外,所有"输出值"标记与最左边的列不同的单元格都将用红色填充,以便于视觉参考。

附加到工作簿中某个工作表的名称。否则,输出文件"工作表名称"列中的相应单元格将亮显为红色。

```
>;>import openpyxl
>;>回溯(最近一次调用时间):
file"<;stdin>;",第1行,在<;module>;
file"commcaretransionchecker/commcaretransionchecker.py",第527行,在validate嫒工作簿中
引发fatal error("某些致命错误消息")
commcaretransionchecker.exceptions.fatalerror:一些致命的错误消息。
>;>;消息
['以下工作表有问题:',工作簿中缺少u'modulex\u formy。']
````


高级命令行用法
f提供更多定制体验的可选参数。

```
$commcaretransionchecker--要检查的列<;逗号分隔的列名列表>;\
--要比较的基列<;列名,如果与lef不同t-most>;\
--输出文件夹<;保存输出文件的文件夹的相对或绝对路径>;\
--忽略顺序\
--详细\
--无输出文件\
--配置表<;表名包含工作簿中其他工作表的元信息>;\
--配置工作表列<;配置工作表中包含预期工作表标题的列的名称>;\
--输出不匹配类型\
--格式检查\
--格式检查字符<;其计数将通过格式检查进行比较的字符序列>;\
--格式检查字符将<;要添加到当前格式检查字符列表的字符序列>;\


```


eter描述如下:
**--忽略顺序**如果通过,则在比较单元格时将不考虑输出值标记出现的顺序。如果由于所涉及语言之间的字顺序不同,列之间的输出值标记的顺序不同,则此选项非常有用。
**--verbose**如果通过,则输出将打印到屏幕上,指出文件中哪些行有问题。
**--no output file**如果通过,则不会创建输出文件。
***--输出不匹配类型**如果通过,将在输出中包含有关不匹配的进一步信息。如果生成输出文件,则此信息将作为每个工作表中包含错误的每个语言列的附加列追加。如果传递了**--verbose**标志,则此信息将添加到每行输出中。
**--format check**如果传递,则将添加额外的检查以比较列之间任何特殊字符的计数。默认字符列表是~ `!@#$%^&;*(?-+={[}]\\:;\"'<;,>;?/

有关选项的完整列表,请参阅"CommCareTranslationChecker--帮助"。





release process
----


1\。为版本创建一个标记

```
$git tag-a"x.yy.0"-m"release x.yy.0"
$git push--tags
````

2\.创建源发行版

确保存档具有正确的版本号(与标记名匹配)。
````
$python setup.py sdist
````

3\.创建控制盘--universal上传到pypi

```
$pip install tween
$tween upload dist/commcare translationchecker-x.yy.0*
````

5\。验证上传

https://pypi.python.org/pypi/commcaretransionchecker

6\。在github上创建一个版本


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

推荐PyPI第三方库


热门话题
netbeans根据命名约定返回布尔类的getter的Java名称   java如何在MessageFormat中使用单引号   java如何在整数数组中只对奇数排序,而将偶数保留在其原始位置?   自定义ArrayAdapter中未定义java构造函数   java joda时间格式化程序解析yyyyymmdd(额外一小时)   java Spring引导控制器测试始终返回404   java如何提取类文件以获取该类文件中的类?   JTable java列不会显示   java Selenium Web驱动程序输出错误的Web表行数   当应用程序在mac上打开时,java SWT选项卡项会从页面上消失   java如何将html文件映射到过滤器   swing Java计算一段时间内两点之间的转换   javawebsphere和javax。xml。ws。spi。提供者:提供者组织。阿帕奇。axis2。jaxws。spi。提供者不是子类型   For循环在Java中没有按预期继续?   java如何配置gson以排除0个整数值   java读取一个由tab分隔的文件,并将单词放入ArrayList中   java我需要做什么才能让LiveConnect重新工作?   sqlservermerge2xml&使用java提取这些数据并将其存储在db表中   java如何在模型中添加新对象时通知网格