{"id":21813261,"url":"https://github.com/morficus/grunt-transifex-keyvaluejson","last_synced_at":"2026-05-20T10:07:39.175Z","repository":{"id":31406719,"uuid":"34970005","full_name":"morficus/grunt-transifex-keyvaluejson","owner":"morficus","description":"Grunt task that downloads string translations from Transifex in JSON format, maintaining original (nested) structure","archived":false,"fork":false,"pushed_at":"2016-02-21T17:43:20.000Z","size":140,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-26T19:17:39.074Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/morficus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-03T01:45:29.000Z","updated_at":"2015-05-04T21:03:48.000Z","dependencies_parsed_at":"2022-09-04T23:00:22.798Z","dependency_job_id":null,"html_url":"https://github.com/morficus/grunt-transifex-keyvaluejson","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morficus%2Fgrunt-transifex-keyvaluejson","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morficus%2Fgrunt-transifex-keyvaluejson/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morficus%2Fgrunt-transifex-keyvaluejson/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morficus%2Fgrunt-transifex-keyvaluejson/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/morficus","download_url":"https://codeload.github.com/morficus/grunt-transifex-keyvaluejson/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244768308,"owners_count":20507225,"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-11-27T14:28:15.174Z","updated_at":"2026-05-20T10:07:34.139Z","avatar_url":"https://github.com/morficus.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/morficus/grunt-transifex-keyvaluejson.svg)](https://travis-ci.org/morficus/grunt-transifex-keyvaluejson)\n# grunt-transifex-keyvaluejson\n\n\u003e Grunt task that downloads string translations from Transifex in JSON format, maintaining original (nested) structure using the Transifex [Translation](http://docs.transifex.com/developer/api/translations#uploading-and-downloading-translations) and [Resoureces](http://docs.transifex.com/developer/api/resources#uploading-and-downloading-resources) API  \n\nInspired by [grunt-transifex](https://github.com/erasys/grunt-transifex)\n\n## Getting Started\nThis plugin requires Grunt.\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-transifex-keyvaluejson --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-transifex-keyvaluejson');\n```\n\n## The \"transifex_keyvaluejson\" task\n\n### Overview\nIn your project's Gruntfile, add a section named `transifex_keyvaluejson` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  transifex_keyvaluejson: {\n    options: {\n      project: '',\n      resource: '',\n      locales: '*',\n      dest: '/translations',\n      mode: 'default',\n      showStats: true\n    },\n    your_target: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n})\n```\n\n### Options\n\n#### options.project\nType: `String`  \nMandatory: yes  \nDefault value: `''`\n\nProject slug for the Transifex project you are interested in ([more info](http://docs.transifex.com/developer/introduction/#project))\n\n#### options.resource  \nType: `String`  \n  Mandatory: yes  \nDefault value: `''`\n\nResource slug for the resource under the Transifex project ([more info](http://docs.transifex.com/developer/introduction/#resource))\n\n#### options.locales\nType: `Array` or `String`  \n Mandatory: no  \nDefault value: `'*'`\n\nList of locales to download. i.e.: en, en_US, es_PA, de_DE, etc\n\n#### options.dest  \nType: `String`  \nMandatory: no  \nDefault value: `'/translations'`\n\nOutput directory where the translated strings will be saved.  \nThe path will always be taken as relative to the projects root directory.\n\n#### options.mode\nType: `String`  \nMandatory: no  \nDefault value: `'default'`\n\n\nDirectly related to the `mode` parameter in the Transifex API ([more info](http://docs.transifex.com/developer/api/translations#get))  \nIt's basically a filter to indicate what translated strings should be downloaded.  \nAvailable options are:\n\n* `default`: to include all translated strings in the response.  \n* `reviewed`: to include only reviewed strings in the response  \n* `translator`: to get a response suitable for offline translations.  \n* `onlytranslated`: to get a response that will include the translated strings and the untranslated ones will be returned empty.  \n* `onlyreviewed`: to get a response that will include the only the reviewed strings and the rest (translated or not) will be returned empty.  \n\n## Transifex credentials\n(the code for this has been leveraged from the [grunt-transifex](https://github.com/erasys/grunt-transifex) project)\n\nWhen the plugin runs for the first time, it will prompt the user for a Transifex username and password.\nIt will store this information in a `.transifexrc` file created in the current directory. \n\nOn subsequent executions, the user won't be prompted again. Transifex credentials will be read from `.transifexrc`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorficus%2Fgrunt-transifex-keyvaluejson","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmorficus%2Fgrunt-transifex-keyvaluejson","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorficus%2Fgrunt-transifex-keyvaluejson/lists"}