summaryrefslogtreecommitdiff
path: root/frontend/i18next-parser.config.mjs
blob: 9d4b114daabef9257104be80609f5759d3e87433 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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', 'it-IT'],
    // 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/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,
    // }
  }