为ocd或bod等标准提供babel提取器和翻译方法。

ocds-babel的Python项目详细描述


PyPI VersionBuild StatusCoverage StatusPython Version

这个python包为诸如开放承包数据标准(ocd)或实益所有权数据标准(bods)等标准提供了Babel extractors和转换方法。

示例

巴别塔提取器

可以在配置文件中指定babel提取器。

对于OCD,您可以指定:

[ocds_codelist: schema/*/codelists/*.csv]
headers = Title,Description,Extension
ignore = currency.csv

babel_ocds_codelist.cfg,和:

[ocds_schema: schema/*/*-schema.json]

babel_ocds_schema.cfg中。

对于BOD,可以指定:

[ocds_codelist: schema/codelists/*.csv]
headers = title,description,technical note

babel_bods_codelist.cfg,和:

[ocds_schema: schema/*.json]

babel_bods_schema.cfg中。

翻译方法

在sphinx构建配置文件(conf.py)中,可以使用translate来转换代码列表csv文件和json架构文件:

importosfromglobimportglobfrompathlibimportPathfromocds_babel.translateimporttranslatedefsetup(app):basedir=Path(os.path.realpath(__file__)).parents[1]localedir=basedir/'locale'language=app.config.overrides.get('language','en')headers=['Title','Description','Extension']translate([(glob(str(basedir/'schema'/'*-schema.json')),basedir/'build'/language,'schema'),(glob(str(basedir/'schema'/'codelists')),basedir/'build'/language,'codelists'),],localedir,language,headers)

translate根据文件名自动确定要使用的转换方法。translate的参数是:

  1. 元组列表。每个元组有三个值:
    1. 输入文件(要翻译的文件路径列表)
    2. 输出目录(要在其中写入翻译文件的目录的路径)
    3. gettext域(不带要使用的消息目录扩展名的文件名)
  2. 区域设置目录(包含消息目录文件的目录的路径)
  3. 目标语言(要翻译的语言的代码)
  4. 用值替换{{marker}}标记的可选关键字参数,例如version='1.1'

方法还可用于将extension.json转换和将标记转换为标记。如果是后者,则必须安装Sphinx 1.5.1,其中之一是:

pip install ocds-babel[markdown]

或:

pip install 'Sphinx==1.5.1'

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

推荐PyPI第三方库


热门话题
java如何在SQL Server中使用TDE加密?   java如何从数学上证明Nginx平滑权重负载平衡算法?   Java将LinkedList插入现有LinkedList   每当我使用imageview时,java Android应用程序就会崩溃,而且该图标在Nexus AVD上不起作用   java如何将活动链接到菜单并访问它们   java根据第一个单词的长度反转字符串   java设置Neo4j缓存   java配置单元表在Spark 2.1.1中不可见   使用Selenium(Java),当下拉列表元素具有有限的可识别属性时,如何从下拉列表中选择值?   java能否使内部类的方法只能由外部类访问?   游戏引擎Java隐藏方法   JavaSQLLite平均分数   derby Java SQL异常无效游标状态无当前行   java如何处理相互依赖的JUnit测试?   在Java中重载和重写静态和非静态方法   排序如何在Java中按一列对二维数组进行排序   考虑到成本和性能,使用AWS调度器的最佳方法是什么   c#CRC643F46942D9DD1FF9。FormsSeekBar。设置按下的窗体seekbar。java,第63行java。互操作。JavaLocationException:在xamarin中抛出。形式   在Selenium 3 Java中启动Firefox线程本地驱动程序