This eslint plugin helps you identify what locales keys are not included in your locales files.
Considering the follow scenario:
--locales/
----en-us.json
----es-pe.json
----pt-br.json
--src/
-----components/
-------header.js
In your header.js
you have a call to your i18n
function to get the localized value of the string logout: translate('logout')
The i18n-checker
will verify if the logout
is defined in each locale file you have.
npm i --save-dev '@naturacosmeticos/eslint-plugin-i18n-checker'
yarn add -D '@naturacosmeticos/eslint-plugin-i18n-checker'
In your eslintrc file you need to add @naturacosmeticos/i18n-checker
in the plugins
section.
You can configure the following options:
- localesPath - string - your locales relative path (default is
/locales/
) - messagesBasePath - string - if your locales files has a base path you can pass it (default is undefined)
- translationFunctionName - string - the name of your translation function (default is
translate
)
Example:
"@naturacosmeticos/i18n-checker/path-in-locales": ['error',
{
localesPath: 'public/locales/',
messagesBasePath: 'translations',
translationFunctionName: 't'
}
]
You can contribute submitting pull requests.
Install the dependencies running yarn
in the project folder.
Just run yarn lint
You can run the following commands:
yarn test
yarn test:watch