diff options
| author | AAGaming <aagaming@riseup.net> | 2024-07-08 17:33:09 -0400 |
|---|---|---|
| committer | AAGaming <aagaming@riseup.net> | 2024-07-08 17:33:09 -0400 |
| commit | 68c6eedb8154a8483bdbf2b5c3320d1368fc4504 (patch) | |
| tree | 12792e74f475de5a9d2185eb30e3d38900a4f350 /frontend | |
| parent | 7e0ec279e7f9184fdedbe237cba06b2724378801 (diff) | |
| download | decky-loader-68c6eedb8154a8483bdbf2b5c3320d1368fc4504.tar.gz decky-loader-68c6eedb8154a8483bdbf2b5c3320d1368fc4504.zip | |
fix(i18n): fix i18next-parser configuration
i can't wait to fix the weblate conflicts this one causes
Diffstat (limited to 'frontend')
| -rw-r--r-- | frontend/i18next-parser.config.mjs | 200 |
1 files changed, 101 insertions, 99 deletions
diff --git a/frontend/i18next-parser.config.mjs b/frontend/i18next-parser.config.mjs index 0e36964d..c2c4f194 100644 --- a/frontend/i18next-parser.config.mjs +++ b/frontend/i18next-parser.config.mjs @@ -1,100 +1,102 @@ +import { readdir } from "fs/promises"; + export default { - contextSeparator: '_', - // Key separator used in your translation keys - - createOldCatalogs: false, - // Save the \_old files - - defaultNamespace: 'translation', - // Default namespace used in your i18next config - - defaultValue: '', - // Default value to give to keys with no value - // You may also specify a function accepting the locale, namespace, key, and value as arguments - - indentation: 2, - // Indentation of the catalog files - - keepRemoved: true, - // Keep keys from the catalog that are no longer in code - - keySeparator: '.', - // Key separator used in your translation keys - // If you want to use plain english keys, separators such as `.` and `:` will conflict. You might want to set `keySeparator: false` and `namespaceSeparator: false`. That way, `t('Status: Loading...')` will not think that there are a namespace and three separator dots for instance. - - // see below for more details - lexers: { - mjs: ['JavascriptLexer'], - js: ['JavascriptLexer'], // if you're writing jsx inside .js files, change this to JsxLexer - ts: ['JavascriptLexer'], - jsx: ['JsxLexer'], - tsx: ['JsxLexer'], - - default: ['JavascriptLexer'], - }, - - lineEnding: 'auto', - // Control the line ending. See options at https://github.com/ryanve/eol - - locales: ['en-US'], - // An array of the locales in your applications - - namespaceSeparator: false, - // Namespace separator used in your translation keys - // If you want to use plain english keys, separators such as `.` and `:` will conflict. You might want to set `keySeparator: false` and `namespaceSeparator: false`. That way, `t('Status: Loading...')` will not think that there are a namespace and three separator dots for instance. - - output: '../backend/decky_loader/locales/$LOCALE.json', - // Supports $LOCALE and $NAMESPACE injection - // Supports JSON (.json) and YAML (.yml) file formats - // Where to write the locale files relative to process.cwd() - - pluralSeparator: '_', - // Plural separator used in your translation keys - // If you want to use plain english keys, separators such as `_` might conflict. You might want to set `pluralSeparator` to a different string that does not occur in your keys. - - input: './src/**/*.{ts,tsx}', - // An array of globs that describe where to look for source files - // relative to the location of the configuration file - - sort: true, - // Whether or not to sort the catalog. Can also be a [compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#parameters) - - verbose: false, - // Display info about the parsing including some stats - - failOnWarnings: false, - // Exit with an exit code of 1 on warnings - - failOnUpdate: false, - // Exit with an exit code of 1 when translations are updated (for CI purpose) - - customValueTemplate: null, - // If you wish to customize the value output the value as an object, you can set your own format. - // ${defaultValue} is the default value you set in your translation function. - // Any other custom property will be automatically extracted. - // - // Example: - // { - // message: "${defaultValue}", - // description: "${maxLength}", // t('my-key', {maxLength: 150}) - // } - - resetDefaultValueLocale: null, - // The locale to compare with default values to determine whether a default value has been changed. - // If this is set and a default value differs from a translation in the specified locale, all entries - // for that key across locales are reset to the default value, and existing translations are moved to - // the `_old` file. - - i18nextOptions: null, - // If you wish to customize options in internally used i18next instance, you can define an object with any - // configuration property supported by i18next (https://www.i18next.com/overview/configuration-options). - // { compatibilityJSON: 'v3' } can be used to generate v3 compatible plurals. - - yamlOptions: null, - // If you wish to customize options for yaml output, you can define an object here. - // Configuration options are here (https://github.com/nodeca/js-yaml#dump-object---options-). - // Example: - // { - // lineWidth: -1, - // } - } + contextSeparator: '_', + // Key separator used in your translation keys + + createOldCatalogs: false, + // Save the \_old files + + defaultNamespace: 'translation', + // Default namespace used in your i18next config + + defaultValue: '', + // Default value to give to keys with no value + // You may also specify a function accepting the locale, namespace, key, and value as arguments + + indentation: 4, + // Indentation of the catalog files. Weblate seems to like 4. + + keepRemoved: true, + // Keep keys from the catalog that are no longer in code + + keySeparator: '.', + // Key separator used in your translation keys + // If you want to use plain english keys, separators such as `.` and `:` will conflict. You might want to set `keySeparator: false` and `namespaceSeparator: false`. That way, `t('Status: Loading...')` will not think that there are a namespace and three separator dots for instance. + + // see below for more details + lexers: { + mjs: ['JavascriptLexer'], + js: ['JavascriptLexer'], // if you're writing jsx inside .js files, change this to JsxLexer + ts: ['JavascriptLexer'], + jsx: ['JsxLexer'], + tsx: ['JsxLexer'], + + default: ['JavascriptLexer'], + }, + + lineEnding: 'auto', + // Control the line ending. See options at https://github.com/ryanve/eol + + locales: (await readdir('../backend/decky_loader/locales/')).map(lang => lang.replace(".json", "")), + // An array of the locales in your applications + + namespaceSeparator: false, + // Namespace separator used in your translation keys + // If you want to use plain english keys, separators such as `.` and `:` will conflict. You might want to set `keySeparator: false` and `namespaceSeparator: false`. That way, `t('Status: Loading...')` will not think that there are a namespace and three separator dots for instance. + + output: '../backend/decky_loader/locales/$LOCALE.json', + // Supports $LOCALE and $NAMESPACE injection + // Supports JSON (.json) and YAML (.yml) file formats + // Where to write the locale files relative to process.cwd() + + pluralSeparator: '_', + // Plural separator used in your translation keys + // If you want to use plain english keys, separators such as `_` might conflict. You might want to set `pluralSeparator` to a different string that does not occur in your keys. + + input: './src/**/*.{ts,tsx}', + // An array of globs that describe where to look for source files + // relative to the location of the configuration file + + sort: true, + // Whether or not to sort the catalog. Can also be a [compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#parameters) + + verbose: false, + // Display info about the parsing including some stats + + failOnWarnings: false, + // Exit with an exit code of 1 on warnings + + failOnUpdate: false, + // Exit with an exit code of 1 when translations are updated (for CI purpose) + + customValueTemplate: null, + // If you wish to customize the value output the value as an object, you can set your own format. + // ${defaultValue} is the default value you set in your translation function. + // Any other custom property will be automatically extracted. + // + // Example: + // { + // message: "${defaultValue}", + // description: "${maxLength}", // t('my-key', {maxLength: 150}) + // } + + resetDefaultValueLocale: null, + // The locale to compare with default values to determine whether a default value has been changed. + // If this is set and a default value differs from a translation in the specified locale, all entries + // for that key across locales are reset to the default value, and existing translations are moved to + // the `_old` file. + + i18nextOptions: null, + // If you wish to customize options in internally used i18next instance, you can define an object with any + // configuration property supported by i18next (https://www.i18next.com/overview/configuration-options). + // { compatibilityJSON: 'v3' } can be used to generate v3 compatible plurals. + + yamlOptions: null, + // If you wish to customize options for yaml output, you can define an object here. + // Configuration options are here (https://github.com/nodeca/js-yaml#dump-object---options-). + // Example: + // { + // lineWidth: -1, + // } +} |
