{"id":20562282,"url":"https://github.com/sjsanc/i18next-webpack-locale-sync","last_synced_at":"2026-04-16T16:32:57.935Z","repository":{"id":40320690,"uuid":"455530793","full_name":"sjsanc/i18next-webpack-locale-sync","owner":"sjsanc","description":"Syncs i18next translations files against a master locale","archived":false,"fork":false,"pushed_at":"2022-05-15T10:17:04.000Z","size":546,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-16T19:27:18.106Z","etag":null,"topics":["i18next","translation","typescript","webpack","webpack-plugin"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/sjsanc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2022-02-04T11:58:42.000Z","updated_at":"2022-02-18T09:31:58.000Z","dependencies_parsed_at":"2022-08-09T17:10:55.443Z","dependency_job_id":null,"html_url":"https://github.com/sjsanc/i18next-webpack-locale-sync","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjsanc%2Fi18next-webpack-locale-sync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjsanc%2Fi18next-webpack-locale-sync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjsanc%2Fi18next-webpack-locale-sync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjsanc%2Fi18next-webpack-locale-sync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sjsanc","download_url":"https://codeload.github.com/sjsanc/i18next-webpack-locale-sync/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242171483,"owners_count":20083558,"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":["i18next","translation","typescript","webpack","webpack-plugin"],"created_at":"2024-11-16T04:10:30.157Z","updated_at":"2026-04-16T16:32:57.887Z","avatar_url":"https://github.com/sjsanc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# i18next-webpack-locale-sync\n\nSyncs i18next translations files against a master locale.\n\n## Install\n\n```console\nyarn add 18next-webpack-locale-sync --dev\n```\n\n**webpack.config.js**\n\n```js\nimport i18nextWebpackLocaleSync from \"i18next-webpack-locale-sync\"\n\nnew i18nextWebpackLocaleSync({ masterLocale: 'en' }),\n```\n\nThe plugin expects your translation files to be in `/public/locales`. The master locale must match a folder name in this directory.\n\n## Generating a CSV\n\nA CSV with the combined translations for all your locales can be generated, organised with their object paths as dotnested strings. This is useful for comparisons, or if your translators prefer spreadsheets.\n\n```console\ncommon.hello,hello,hola,hallo\n```\n\nMissing entries will be skipped\n\n```console\nvalidation.invalid.chars,not enough cowbell,,Nicht genug Kuhglocke\n```\n\n## Options\n\n```js\ninterface PluginOptions {\n  masterLocale: string; // The locale against which all others are compared\n  produceCSV?: boolean; // Generates a CSV of all the translation keys. Default false\n  csvOutDir?: string; // The CSV output filepath. Default is the root folder\n  csvOutFile?: string; // The CSV filename. Default is output.csv\n  verbose?: boolean; // Outputs information during the compilation phase\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsjsanc%2Fi18next-webpack-locale-sync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsjsanc%2Fi18next-webpack-locale-sync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsjsanc%2Fi18next-webpack-locale-sync/lists"}