55 lines
1.4 KiB
JavaScript
55 lines
1.4 KiB
JavaScript
module.exports = {
|
|
input: [
|
|
"src/**/*.{js,jsx}",
|
|
// Use ! to filter out files or directories
|
|
"!src/**/*.test.{js,jsx}",
|
|
"!src/i18n/**",
|
|
"!**/node_modules/**",
|
|
],
|
|
output: "./",
|
|
options: {
|
|
debug: true,
|
|
func: {
|
|
list: ["i18next.t", "i18n.t", "t"],
|
|
extensions: [".js", ".jsx"],
|
|
},
|
|
trans: {
|
|
component: "Trans",
|
|
i18nKey: "i18nKey",
|
|
defaultsKey: "defaults",
|
|
extensions: [".js", ".jsx"],
|
|
fallbackKey: function (ns, value) {
|
|
return value;
|
|
},
|
|
acorn: {
|
|
ecmaVersion: 10, // defaults to 10
|
|
sourceType: "module", // defaults to 'module'
|
|
// Check out https://github.com/acornjs/acorn/tree/master/acorn#interface for additional options
|
|
},
|
|
},
|
|
lngs: ["en", "fr"],
|
|
ns: ["locale", "resource"],
|
|
defaultLng: "en",
|
|
defaultNs: "resource",
|
|
defaultValue: function (lng, ns, key) {
|
|
if (lng === "en") {
|
|
// Return key as the default value for English language
|
|
return key;
|
|
}
|
|
// Return the string '__NOT_TRANSLATED__' for other languages
|
|
return `${lng}__${key}__`;
|
|
},
|
|
resource: {
|
|
loadPath: "src/i18n/{{lng}}.json",
|
|
savePath: "src/i18n/{{lng}}.json",
|
|
jsonIndent: 2,
|
|
lineEnding: "\n",
|
|
},
|
|
nsSeparator: false, // namespace separator
|
|
keySeparator: false, // key separator
|
|
interpolation: {
|
|
prefix: "{{",
|
|
suffix: "}}",
|
|
},
|
|
},
|
|
};
|