{"id":16644219,"url":"https://github.com/75lb/linguist","last_synced_at":"2025-03-12T07:17:11.270Z","repository":{"id":13827973,"uuid":"16524659","full_name":"75lb/linguist","owner":"75lb","description":"Translate strings or JSON from Node.js or the command line","archived":false,"fork":false,"pushed_at":"2021-08-12T10:47:01.000Z","size":28,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-14T12:17:12.888Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/75lb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-02-04T20:31:00.000Z","updated_at":"2021-09-24T00:38:48.000Z","dependencies_parsed_at":"2022-08-28T10:41:31.601Z","dependency_job_id":null,"html_url":"https://github.com/75lb/linguist","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/75lb%2Flinguist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/75lb%2Flinguist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/75lb%2Flinguist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/75lb%2Flinguist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/75lb","download_url":"https://codeload.github.com/75lb/linguist/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243172100,"owners_count":20247887,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T08:10:49.056Z","updated_at":"2025-03-12T07:17:11.246Z","avatar_url":"https://github.com/75lb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![view on npm](https://badgen.net/npm/v/linguist)](https://www.npmjs.org/package/linguist)\n[![npm module downloads](https://badgen.net/npm/dt/linguist)](https://www.npmjs.org/package/linguist)\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://github.com/feross/standard)\n\n# linguist\n\nTranslate strings or JSON (e.g. internationalisation resource files) from Node.js or the command line. \n\n## Command line\n### Install\n\n```sh\n$ npm install -g linguist\n```\n\n### Usage\n\n```\n$ translate [--from \u003cstring\u003e] [--to \u003cstring\u003e] \u003ctext\u003e \u003ctext\u003e ...\n$ translate [--from \u003cstring\u003e] [--to \u003cstring\u003e] --input \u003cfilename\u003e --output \u003cfilename\u003e\n\n-f, --from        The language to translate from (default: 'en')\n-t, --to          The language to translate to (default: 'en')\n-i, --input       A valid JSON file to translate\n-o, --output      The output JSON file with input JSON values (but not keys) translated\n-h, --help        Print usage instructions\n```\n\n#### translate text at the command line\n\n```sh\n$ translate --from en --to it \"hello, how are you\" \"this is a nice cat\"\nciao, come stai\nquesto è un bel gatto\n```\n\n```sh\n$ translate \"I would like the rabbit please\" -t cs\nJá bych králíka prosím\n```\n\n#### translate the values in a json file\n\nAn input file like this:\n\n```json\n{\n    \"content\": {\n        \"Terms\": \"Terms and Conditions\",\n        \"More\": {\n            \"Account\": \"Some Account\",\n            \"Products\": {\n                \"One\": \"Some Product\"\n            }\n        }\n    }\n}\n```\n\n...and this command:\n\n```sh\n$ translate --input input.json --output output.json --from en --to it\n```\n\n...would produce this output file: \n\n```json\n{\n    \"content\": {\n        \"Terms\": \"Termini e Condizioni\",\n        \"More\": {\n            \"Account\": \"Alcuni Account\",\n            \"Products\": {\n                \"One\": \"Alcune Prodotto\"\n            }\n        }\n    }\n}\n```\n\n## Library\n### Install\n\n```sh\n$ npm install linguist --save\n```\n\n### Usage\n\n```js\nvar linguist = require(\"linguist\");\n\nlinguist.translate(\"hello, how are you\", \"en\", \"it\", function(translation){\n    console.log(translation);\n});\n```\n\n## Supported Languages\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth\u003eLanguage\u003c/th\u003e\u003cth colspan=4\u003eDirections\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\n            ar (Arabic)\u003cbr\u003e\n            az (Azerbaijani)\u003cbr\u003e\n            be (Belarusian)\u003cbr\u003e\n            bg (Bulgarian)\u003cbr\u003e\n            ca (Catalan)\u003cbr\u003e\n            cs (Czech)\u003cbr\u003e\n            da (Danish)\u003cbr\u003e\n            de (German)\u003cbr\u003e\n            el (Greek)\u003cbr\u003e\n            en (English)\u003cbr\u003e\n            es (Spanish)\u003cbr\u003e\n            et (Estonian)\u003cbr\u003e\n            fi (Finnish)\u003cbr\u003e\n            fr (French)\u003cbr\u003e\n            he (Hebrew)\u003cbr\u003e\n            hr (Croatian)\u003cbr\u003e\n            hu (Hungarian)\u003cbr\u003e\n            hy (Armenian)\u003cbr\u003e\n            it (Italian)\u003cbr\u003e\n            ka (Georgian)\u003cbr\u003e\n            lt (Lithuanian)\u003cbr\u003e\n            lv (Latvian)\u003cbr\u003e\n            mk (Macedonian)\u003cbr\u003e\n            nl (Dutch)\u003cbr\u003e\n            no (Norwegian)\u003cbr\u003e\n            pl (Polish)\u003cbr\u003e\n            pt (Portuguese)\u003cbr\u003e\n            ro (Romanian)\u003cbr\u003e\n            ru (Russian)\u003cbr\u003e\n            sk (Slovak)\u003cbr\u003e\n            sl (Slovenian)\u003cbr\u003e\n            sq (Albanian)\u003cbr\u003e\n            sr (Serbian)\u003cbr\u003e\n            sv (Swedish)\u003cbr\u003e\n            tr (Turkish)\u003cbr\u003e\n            uk (Ukrainian)\u003cbr\u003e\n        \u003c/td\u003e\n        \u003ctd\u003e\n            az-ru\u003cbr\u003e\n            be-bg\u003cbr\u003e\n            be-cs\u003cbr\u003e\n            be-de\u003cbr\u003e\n            be-en\u003cbr\u003e\n            be-es\u003cbr\u003e\n            be-fr\u003cbr\u003e\n            be-it\u003cbr\u003e\n            be-pl\u003cbr\u003e\n            be-ro\u003cbr\u003e\n            be-ru\u003cbr\u003e\n            be-sr\u003cbr\u003e\n            be-tr\u003cbr\u003e\n            bg-be\u003cbr\u003e\n            bg-ru\u003cbr\u003e\n            bg-uk\u003cbr\u003e\n            ca-en\u003cbr\u003e\n            ca-ru\u003cbr\u003e\n            cs-be\u003cbr\u003e\n            cs-en\u003cbr\u003e\n            cs-ru\u003cbr\u003e\n            cs-uk\u003cbr\u003e\n            da-en\u003cbr\u003e\n            da-ru\u003cbr\u003e\n            de-be\u003cbr\u003e\n            de-en\u003cbr\u003e\n            de-es\u003cbr\u003e\n            de-fr\u003cbr\u003e\n            de-it\u003cbr\u003e\n            de-ru\u003cbr\u003e\n            de-tr\u003cbr\u003e\n            de-uk\u003cbr\u003e\n            el-en\u003cbr\u003e\n            el-ru\u003cbr\u003e\n            en-be\u003cbr\u003e\n            en-ca\u003cbr\u003e\n            en-cs\u003cbr\u003e\n            en-da\u003cbr\u003e\n            en-de\u003cbr\u003e\n            en-el\u003cbr\u003e\n            en-es\u003cbr\u003e\n        \u003c/td\u003e\n        \u003ctd\u003e\n            en-et\u003cbr\u003e\n            en-fi\u003cbr\u003e\n            en-fr\u003cbr\u003e\n            en-hu\u003cbr\u003e\n            en-it\u003cbr\u003e\n            en-lt\u003cbr\u003e\n            en-lv\u003cbr\u003e\n            en-mk\u003cbr\u003e\n            en-nl\u003cbr\u003e\n            en-no\u003cbr\u003e\n            en-pt\u003cbr\u003e\n            en-ru\u003cbr\u003e\n            en-sk\u003cbr\u003e\n            en-sl\u003cbr\u003e\n            en-sq\u003cbr\u003e\n            en-sv\u003cbr\u003e\n            en-tr\u003cbr\u003e\n            en-uk\u003cbr\u003e\n            es-be\u003cbr\u003e\n            es-de\u003cbr\u003e\n            es-en\u003cbr\u003e\n            es-ru\u003cbr\u003e\n            es-uk\u003cbr\u003e\n            et-en\u003cbr\u003e\n            et-ru\u003cbr\u003e\n            fi-en\u003cbr\u003e\n            fi-ru\u003cbr\u003e\n            fr-be\u003cbr\u003e\n            fr-de\u003cbr\u003e\n            fr-en\u003cbr\u003e\n            fr-ru\u003cbr\u003e\n            fr-uk\u003cbr\u003e\n            hr-ru\u003cbr\u003e\n            hu-en\u003cbr\u003e\n            hu-ru\u003cbr\u003e\n            hy-ru\u003cbr\u003e\n            it-be\u003cbr\u003e\n            it-de\u003cbr\u003e\n            it-en\u003cbr\u003e\n            it-ru\u003cbr\u003e\n            it-uk\u003cbr\u003e\n        \u003c/td\u003e\n        \u003ctd\u003e\n            lt-en\u003cbr\u003e\n            lt-ru\u003cbr\u003e\n            lv-en\u003cbr\u003e\n            lv-ru\u003cbr\u003e\n            mk-en\u003cbr\u003e\n            mk-ru\u003cbr\u003e\n            nl-en\u003cbr\u003e\n            nl-ru\u003cbr\u003e\n            no-en\u003cbr\u003e\n            no-ru\u003cbr\u003e\n            pl-be\u003cbr\u003e\n            pl-ru\u003cbr\u003e\n            pl-uk\u003cbr\u003e\n            pt-en\u003cbr\u003e\n            pt-ru\u003cbr\u003e\n            ro-be\u003cbr\u003e\n            ro-ru\u003cbr\u003e\n            ro-uk\u003cbr\u003e\n            ru-az\u003cbr\u003e\n            ru-be\u003cbr\u003e\n            ru-bg\u003cbr\u003e\n            ru-ca\u003cbr\u003e\n            ru-cs\u003cbr\u003e\n            ru-da\u003cbr\u003e\n            ru-de\u003cbr\u003e\n            ru-el\u003cbr\u003e\n            ru-en\u003cbr\u003e\n            ru-es\u003cbr\u003e\n            ru-et\u003cbr\u003e\n            ru-fi\u003cbr\u003e\n            ru-fr\u003cbr\u003e\n            ru-hr\u003cbr\u003e\n            ru-hu\u003cbr\u003e\n            ru-hy\u003cbr\u003e\n            ru-it\u003cbr\u003e\n            ru-lt\u003cbr\u003e\n            ru-lv\u003cbr\u003e\n            ru-mk\u003cbr\u003e\n            ru-nl\u003cbr\u003e\n            ru-no\u003cbr\u003e\n            ru-pl\u003cbr\u003e\n        \u003c/td\u003e\n        \u003ctd\u003e\n            ru-pt\u003cbr\u003e\n            ru-ro\u003cbr\u003e\n            ru-sk\u003cbr\u003e\n            ru-sl\u003cbr\u003e\n            ru-sq\u003cbr\u003e\n            ru-sr\u003cbr\u003e\n            ru-sv\u003cbr\u003e\n            ru-tr\u003cbr\u003e\n            ru-uk\u003cbr\u003e\n            sk-en\u003cbr\u003e\n            sk-ru\u003cbr\u003e\n            sl-en\u003cbr\u003e\n            sl-ru\u003cbr\u003e\n            sq-en\u003cbr\u003e\n            sq-ru\u003cbr\u003e\n            sr-be\u003cbr\u003e\n            sr-ru\u003cbr\u003e\n            sr-uk\u003cbr\u003e\n            sv-en\u003cbr\u003e\n            sv-ru\u003cbr\u003e\n            tr-be\u003cbr\u003e\n            tr-de\u003cbr\u003e\n            tr-en\u003cbr\u003e\n            tr-ru\u003cbr\u003e\n            tr-uk\u003cbr\u003e\n            uk-bg\u003cbr\u003e\n            uk-cs\u003cbr\u003e\n            uk-de\u003cbr\u003e\n            uk-en\u003cbr\u003e\n            uk-es\u003cbr\u003e\n            uk-fr\u003cbr\u003e\n            uk-it\u003cbr\u003e\n            uk-pl\u003cbr\u003e\n            uk-ro\u003cbr\u003e\n            uk-ru\u003cbr\u003e\n            uk-sr\u003cbr\u003e\n            uk-tr\u003cbr\u003e\n        \u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n[Yandex terms of use](http://legal.yandex.com/translate_api/)\n\n* * *\n\n\u0026copy; 2014-21 Lloyd Brookes \\\u003c75pound@gmail.com\\\u003e.\n\nTested by [test-runner](https://github.com/test-runner-js/test-runner).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F75lb%2Flinguist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F75lb%2Flinguist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F75lb%2Flinguist/lists"}