# @theorchard/frontend-cli-i18n

## 2.1.7

### Patch Changes

-   SEC: form-data from 4.0.5 to 4.0.6

## 2.1.6

### Patch Changes

-   Updated dependencies
    -   @theorchard/frontend-cli-core@3.1.0

## 2.1.5

### Patch Changes

-   SEC: lodash from 4.17.23 to 4.18.1
-   Updated dependencies
    -   @theorchard/frontend-cli-core@3.0.2

## 2.1.4

### Patch Changes

-   SEC: lodash-es from 4.17.23 to 4.18.1
-   Updated dependencies
    -   @theorchard/frontend-cli-core@3.0.1

## 2.1.3

### Patch Changes

-   Updated dependencies
    -   @theorchard/frontend-cli-core@3.0.0

## 2.1.2

### Patch Changes

-   Updated dependencies
    -   @theorchard/frontend-cli-core@2.1.1

## 2.1.1

### Patch Changes

-   Updated dependencies
    -   @theorchard/frontend-cli-core@2.1.0

## 2.1.0

### Minor Changes

-   Set minimal node version requirement to v20

## 2.0.9

### Patch Changes

-   Updated dependencies
    -   @theorchard/frontend-cli-core@2.0.2

## 2.0.8

### Patch Changes

-   Fix fragment population in root directories

## 2.0.7

### Patch Changes

-   React 18 support for built-in and generated i18n types

## 2.0.6

### Patch Changes

-   Updated dependencies
    -   @theorchard/field-validator@1.5.4

## 2.0.5

### Patch Changes

-   Updated dependencies
    -   @theorchard/field-validator@1.5.3

## 2.0.4

### Patch Changes

-   Updated dependencies
    -   @theorchard/field-validator@1.5.2

## 2.0.3

### Patch Changes

-   Added named export of the "locales" map from the locale index file.

## 2.0.2

### Patch Changes

-   Updated dependencies
    -   @theorchard/field-validator@1.5.1

## 2.0.1

### Patch Changes

-   Updated dependencies
    -   @theorchard/frontend-cli-core@2.0.1

## 2.0.0

### Major Changes

-   Restricted to NodeJS >= 18
-   Package is exposed as an ESM module.
-   Updated dependencies
    -   @theorchard/frontend-cli-core@2.0.0

## 1.17.3

### Patch Changes

-   Updated dependencies
    -   @theorchard/frontend-cli-core@1.1.3

## 1.17.2

### Patch Changes

-   Updated dependencies
    -   @theorchard/frontend-cli-core@1.1.2

## 1.17.1

### Patch Changes

-   Fixed a bug in the fragment key PascalCase support, where some keys were not transformed.

## 1.17.0

### Minor Changes

-   Adds support to output i18n fragment keys in PascalCase

## 1.16.0

### Minor Changes

-   Added a "i18n:download" task that downloads remote translations.

## 1.15.6

### Patch Changes

-   Enable "globalScope" by default.

## 1.15.5

### Patch Changes

-   Added warning about deprecated options and a note on how to enable global formatter functions.
-   Removed the i18n:init task since it is always executed through the init hook.

## 1.15.4

### Patch Changes

-   Fixed a bug where the POEditor sync did not always succeed because of invalid post body.

## 1.15.3

### Patch Changes

-   Updated dependencies
    -   @theorchard/frontend-cli-core@1.1.1

## 1.15.2

### Patch Changes

-   Updated dependencies
    -   @theorchard/frontend-cli-core@1.1.0

## 1.15.1

### Patch Changes

-   Updated dependencies
    -   @theorchard/frontend-cli-core@1.0.1

## 1.15.0

### Minor Changes

-   Adds support to be used as a frontend-cli plugin.
-   Reuses shared utils, types from frontend-cli-core.

## 1.14.0

### Minor Changes

-   Added new options:
    -   "enableInlineFragments": If enabled, will output translations and index files in the same folder as the fragment.

## 1.13.0

### Minor Changes

-   Added new options:
    -   "disableFragmentMeta": If enabled, will skip outputting the meta field in fragments.
    -   "enableGlobalFormatters": If enabled, will output the types for the global $t and $tx format functions. This option is enabled by default if the "globalScope" option is set.
-   Fixed a bug where the init command would fail if the locale/default.json file did not exist.

## 1.12.1

### Patch Changes

-   Fix cache issue causing types not being written using the latest "default.json" content.

## 1.12.0

### Minor Changes

-   Added new option "mergeDefault". If true, default.json is merged with i18n.json fragments. If false (the default), default.json is replaced.

## 1.11.0

### Minor Changes

-   The "fragmentKeyByFolder" option may now two available values. "self" and "self-and-parents". "self" use the folder name the file is stored in. "self-and-parents" will include all the folder names up to the root.

## 1.10.0

### Minor Changes

-   Added new option "fragmentKeyByFilename" to enable or disable using i18n fragment file names as key. This option is enabled by default.
-   Enabling the "fragmentKeyByFolder" option, will now include all the folder names up to the root.
-   Changed the number of spaces from 2 to 4 when writing the default.json file. This is to match our shared Prettier config.

## 1.9.2

### Patch Changes

-   Write empty language files.

## 1.9.1

### Patch Changes

-   Fix issues with how fragments were keyed in default.json.
-   Fix issue were sync would try to write fragments even when the "disableFragmentOutput" was enabled.

## 1.9.0

### Minor Changes

-   Added new option "disableFragmentOutput".
    If true, will not output fragments to the locales/fragments folder.
-   Added new option "fragmentKeyByInputFolder".
    Using it will key any i18n.json terms with the outer input folder name.
-   Exports the "loadConfig" function to load i18n.config.js file.

## 1.8.5

### Patch Changes

-   Disable plural argument check in type generation

## 1.8.4

### Patch Changes

-   Updated dependencies
    -   @theorchard/field-validator@1.5.0

## 1.8.3

### Patch Changes

-   Updated dependencies
    -   @theorchard/field-validator@1.4.0

## 1.8.2

### Patch Changes

-   Updated dependencies
    -   @theorchard/field-validator@1.3.0

## 1.8.1

### Patch Changes

-   Add option to enable watch mode to the exported initWorkspace function.

## 1.8.0

### Minor Changes

-   Puts fragments into folders and creates index files for each.

## 1.7.0

### Minor Changes

-   Automatically retries failed upload requests (2 times). If it still failes, then it only warns about the error.

## 1.6.0

### Minor Changes

-   Add support for using markdown or other text based i18n fragments.

## 1.5.2

### Patch Changes

-   Handle invalid arguments.
-   Enforce required term arguments in the global format functions.

## 1.5.1

### Patch Changes

-   Fix type generation for plural terms.

## 1.5.0

### Minor Changes

-   Add support for watching default.json for changes.

## 1.4.0

### Minor Changes

-   Enable type generation for non fragmented workspaces.
-   Outputs global type-safe formatting functions.

## 1.3.1

### Patch Changes

-   Do not create fragments folder if not needed.
-   Fix wrong env name for POEDITOR_API_TOKEN.

## 1.3.0

### Minor Changes

-   Updated type generation to include arguments.

## 1.2.3

### Patch Changes

-   Fix casing of generated interfaces.

## 1.2.2

### Patch Changes

-   Treat plural/singular forms

## 1.2.1

### Patch Changes

-   Added fuzzy trigger option in sync. This marks existing translations in other languages for review.

## 1.2.0

### Minor Changes

-   Outputs types.ts file with all terms defined.
-   Adds a new meta property to the fragment json files, describing the key and locale.
-   Adds the concept of a "fragment root key". Root terms without a fragment key will be automatically added to the root key. Defaults to 'app'.

## 1.1.1

### Patch Changes

-   Improved error handling and logging.
-   Added tests for cli tasks and utils.

## 1.1.0

### Minor Changes

-   Use i18n.json files
-   Support watch mode

## 1.0.1

### Patch Changes

-   Do not store empty translation files
