Provides Babel extractors and translation methods for standards like OCDS or BODS
Project description
This Python package provides Babel extractors and translation methods for standards like the Open Contracting Data Standard (OCDS) or Beneficial Ownership Data Standard (BODS).
Examples
Babel extractors
Babel extractors can be specified in configuration files.
For OCDS, you can specify:
[ocds_codelist: schema/*/codelists/*.csv] headers = Title,Description,Extension ignore = currency.csv
in babel_ocds_codelist.cfg, and:
[ocds_schema: schema/*/*-schema.json]
in babel_ocds_schema.cfg.
For BODS, you can specify:
[ocds_codelist: schema/codelists/*.csv] headers = title,description,technical note
in babel_bods_codelist.cfg, and:
[ocds_schema: schema/*.json]
in babel_bods_schema.cfg.
Translation methods
In the Sphinx build configuration file (conf.py), you can use translate
to translate codelist CSV files and JSON Schema files:
import os
from glob import glob
from pathlib import Path
from ocds_babel.translate import translate
def setup(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
automatically determines the translation method to used based on filenames. The arguments to translate
are:
A list of tuples. Each tuple has three values:
Input files (a list of paths of files to translate)
Output directory (the path of the directory in which to write translated files)
Gettext domain (the filename without extension of the message catalog to use)
Locale directory (the path of the directory containing message catalog files)
Target language (the code of the language to translate to)
Optional keyword arguments to replace {{marker}} markers with values, e.g.
version='1.1'
Methods are also available for translating extension.json and for translating Markdown-to-Markdown. If the latter, you must install Sphinx 1.5.1, with either:
pip install ocds-babel[markdown]
or:
pip install 'Sphinx==1.5.1'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ocds-babel-0.1.0.tar.gz
.
File metadata
- Download URL: ocds-babel-0.1.0.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec18143516806bfac7df9d6fa13e74df9900aa13e612f842b16da75d9963e954 |
|
MD5 | bfbc481f29ecc36803a899ae387d2054 |
|
BLAKE2b-256 | e26b29e585b2d5bf49822947b31d19f1715eb3783a36bdcca14e7d69bcf5f700 |