translocate

Crates.iotranslocate
lib.rstranslocate
version0.8.0
sourcesrc
created_at2023-10-27 21:53:55.610474
updated_at2024-01-10 05:21:38.788917
descriptiontranslocate is a high performance converter that takes CSV translation files and outputs corresponding JSON translation files.
homepage
repositoryhttps://code.orbitsolutions.dev/orb-it-solutions/translocate
max_upload_size
id1016485
size54,596
O. Bennett (illogic-al)

documentation

https://docs.rs/translocate

README

translocate - convert CSV translation files to JSON

translocate is a high performance (blazingly fast) CSV translation file to JSON translation file transformer. It takes .csv or .tsv files as input, and will output one file for each language listed as a CSV column.

Requirements for use

There are one main requirements which should be followed for this crate to work optimally:

  • The first line of the input CSV (or TSV) file should be the heading column.

translocate has two internal methods used to transform your localized strings into JSON. The faster and more permissive method only requires that a heading line is present. translocate automatically tries the faster conversion method and, if it fails, will fall back to the stricter, slower strategy.

The alternate, stricter method attempts to deserialize input files based on a predefined list of languages. For this alternate mode the language identifiers in the heading should be in the format xx_YY or xx-YY — e.g. en_US or en-US. The very first heading should be named id, this will provide the translation keys. The current list of languages is da_DK, de_DE, en_US, es_ES, fr_FR, it_IT, nl_NL, pt_BR, pt_PT and sv_SE. An example of the heading in a CSV with all supported languages is shown below:

id,da_DK,de_DE,en_US,es_ES,fr_FR,it_IT,nl_NL,pt_BR,pt_PT,sv_SE

If your particular requirements are not being served, you are encouraged to make a pull request which adds support. Alternatively you may fork the repository and modify for your specific needs; the license is quite permissive.

If you need to do some processing of your CSV before passing to translocate because of failures during the transformation from CSV to JSON, consider checking out the qsv or xsv crates.

Commit count: 0

cargo fmt