Skip to content

Latest commit

 

History

History
143 lines (93 loc) · 6.18 KB

README.md

File metadata and controls

143 lines (93 loc) · 6.18 KB

npm GitHub code size in bytes GitHub contributors npm GitHub last commit npms.io (final) MIT License

i18n-json-to-xlsx-converter CLI

About

i18n JSON to XLSX Converter is a CLI tool runs in a terminal, and helps you to convert a JSON file(s) to EXCEL sheet(s) including keys column defined as nested with dot notation, and the values column for those keys. Also, the CLI tool converts an EXCEL sheet to JSON file(s) by considering its values columns as individual files.

Installation

Install i18n JSON to XLSX Converter with npm

  npm install i18n-json-to-xlsx-converter

Usage/Examples

If you have installed i18n JSON to XLSX Converter you can use it with the command

   i18n-json-to-xlsx-converter --convert 'file path of the JSON or XLSX file'

If you haven't installed i18n JSON to XLSX Converter you can use it with the command

   npx i18n-json-to-xlsx-converter --convert 'file path of the JSON or XLSX file'

i18n JSON to XLSX Converter examines and understands your XLSX files if it has multiple language value columns, then it creates one or multiple JSON files from that translation columns provided.


If you want to convert multiple JSON files at once, use comma between each file paths provided

   npx i18n-json-to-xlsx-converter --convert 'filePathOne.json, filePathTwo.json'

Running Tests

To run tests, run the following command

  npm run test

Details

i18n JSON to XLSX Converter created for helping developers for generating an EXCEL file from their JSON file which is used for i18n translations. Also, developers can create one, or many JSON files from an EXCEL file for their project, as well.

Features

  • It can convert nested i18n JSON file to an EXCEL sheet
  • It can convert an EXCEL sheet to JSON file(s) easily
  • It runs in a terminal
  • Well tested, and documented

Reason behind converting a JSON file to an XLSX sheet

A multilingual application, needs translation files in the project to support multiple languages. Hence, developers need language files in JSON file format, and these JSON files need to have translation values for each key.

Assume that we have a JSON file name as en.json, and it has a content as

    {
      "nestedObject": {
        "nameOfTheArea": {
          "title": "Title",
          "subTitle": "Subtitle",
          "context": "Context"
        }
      }
    }

Since different teams are handling the translations, and they can't work on the JSON files because they are not specialized on the app development, most of them can work on an EXCEL sheet easily.

i18n JSON to XLSX Converter CLI tool helps developers to provide an EXCEL sheet ready to include translations for the other teams. It can be filled as an EXCEL file with one, or many translation columns they want to provide, and when the translation value implementation is finished, developers can get back the sheet, and convert the EXCEL sheet into JSON format again, easily.

If the provided EXCEL sheet has only one translation value column, the output JSON file will be only one, and it will have the column title as file name. In this case it'll be en.json

If the translation team fill out the values in the EXCEL sheet for only one language column for example EN, in this case the sheet needs to be in the format of

Key EN
nestedObject.nameOfTheArea.title Title
nestedObject.nameOfTheArea.title Subtitle
nestedObject.nameOfTheArea.title Context

If the provided EXCEL sheet has multiple translation value columns, the output JSON files will be multiple, and they will have the column titles as file names. In this case they'll be en.json, nl.json, de.json,

If the translation team fill out the values in the EXCEL sheet for multiple language column for example EN, NL, DE, in this case the sheet needs to be in the format of

Key EN NL DE
nestedObject.nameOfTheArea.title Title Titel Titel
nestedObject.nameOfTheArea.title Subtitle Ondertitel Untertitel
nestedObject.nameOfTheArea.title Context Context Kontext

i18n JSON to XLSX Converter will remove the manual labor for developers to create JSON file(s) from an EXCEL sheet, also will help developers to create one or more EXCEL sheet(s) from a JSON file(s) for the translation teams, easily.

Demo

Author

@ofcyln

For support, email [email protected]

🔗 Links

linkedin twitter

License

MIT