Skip to content

andraaspar/i18next-json-csv-converter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

i18next-json-csv-converter

Converts i18next format JSON files to CSV (to be imported to Excel) and back.

Install

$ npm i -g i18next-json-csv-converter

Or with Yarn:

$ yarn global add i18next-json-csv-converter

CLI

Convert JSON to CSV

$ i18next-json-csv-converter ./en-EN.json ./en-EN.csv

Convert CSV to JSON

Requirements: Encoding must be UTF-8, separator must be comma ( , ) lines must be separated by line breaks and all fields must be quoted.

$ i18next-json-csv-converter ./en-EN.csv ./en-EN.json

Note: As of this writing, Excel can't export a proper CSV for this (UTF-8 issues). LibreOffice Calc can.

Diff two CSV files

$ i18next-json-csv-converter ./en-EN-old.csv ./en-EN-new.csv ./en-EN-diff.csv

Diff two CSV files and put the original labels in an extra column

$ i18next-json-csv-converter ./en-EN-old.csv ./en-EN-new.csv ./en-EN-diff.csv ./hu-HU-new.csv

API

json2Csv(json: object): string

Takes an object parsed from JSON and outputs CSV string.

csv2Json(csv: string): object

Takes a CSV string and outputs an object ready for stringifying to JSON.

separator: string = '┊'

The separator used for separating key levels in CSV.

diffCsv(oldCsv: string, newCsv: string, originalCsv?: string): string

Takes two CSV strings and outputs a CSV string with an extra "CHANGED" column. If the original argument is provided, labels with matching keys will be added as an extra column in the output, to aid translators.

Known issues

  • Line breaks in strings are not currently supported.
  • Arrays are not currently supported.

License

MIT

Changes

0.1.0 Initial version.

0.1.1 Added license.

0.2.0 diffCsv.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published