diff --git a/src/bin/keycloakify/generateResources/generateMessageProperties.ts b/src/bin/keycloakify/generateResources/generateMessageProperties.ts index fc0b859c..613cb6f8 100644 --- a/src/bin/keycloakify/generateResources/generateMessageProperties.ts +++ b/src/bin/keycloakify/generateResources/generateMessageProperties.ts @@ -9,6 +9,8 @@ import * as babelParser from "@babel/parser"; import babelGenerate from "@babel/generator"; import * as babelTypes from "@babel/types"; import { escapeStringForPropertiesFile } from "../../tools/escapeStringForPropertiesFile"; +import { getThisCodebaseRootDirPath } from "../../tools/getThisCodebaseRootDirPath"; +import * as fs from "fs"; export function generateMessageProperties(params: { themeSrcDirPath: string; @@ -39,10 +41,6 @@ export function generateMessageProperties(params: { readFileSync(file).toString("utf8").includes("createUseI18n") ); - if (files.length === 0) { - return []; - } - const extraMessages = files .map(file => { const root = recast.parse(readFileSync(file).toString("utf8"), { @@ -99,15 +97,28 @@ export function generateMessageProperties(params: { return extraMessages; }); - const languageTags = extraMessages - .map(extraMessage => Object.keys(extraMessage)) - .flat() - .reduce(...removeDuplicates()); + const languageTags = [ + ...extraMessages.map(extraMessage => Object.keys(extraMessage)).flat(), + ...fs + .readdirSync( + pathJoin( + getThisCodebaseRootDirPath(), + "src", + themeType, + "i18n", + "baseMessages" + ) + ) + .filter(baseName => baseName !== "index.ts") + .map(baseName => baseName.replace(/\.ts$/, "")) + ].reduce(...removeDuplicates()); const keyValueMapByLanguageTag: Record> = {}; for (const languageTag of languageTags) { - const keyValueMap: Record = {}; + const keyValueMap: Record = { + termsText: "" + }; for (const extraMessage of extraMessages) { const keyValueMap_i = extraMessage[languageTag]; @@ -152,14 +163,9 @@ export function generateMessageProperties(params: { out.push({ languageTag, - propertiesFileSource: [ - "# This file was generated by keycloakify", - "", - "parent=base", - "", - propertiesFileSource, - "" - ].join("\n") + propertiesFileSource: ["", "parent=base", "", propertiesFileSource, ""].join( + "\n" + ) }); } diff --git a/src/login/i18n/i18n.tsx b/src/login/i18n/i18n.tsx index b29e2397..1414b3f4 100644 --- a/src/login/i18n/i18n.tsx +++ b/src/login/i18n/i18n.tsx @@ -205,15 +205,7 @@ function createI18nTranslationFunctionsFactory