From d93bfe0ce24898d8d4aa55b075bd3f0ab065b6cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Sch=C3=A4fer?= Date: Sat, 13 Jan 2018 23:49:59 +0100 Subject: [PATCH] Always generate a *.lang file for the mainLanguage Even if there's no *.mo file for that language. --- src/main/kotlin/i18n/io/LangWriter.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/i18n/io/LangWriter.kt b/src/main/kotlin/i18n/io/LangWriter.kt index 27143e4d..b66b1d63 100644 --- a/src/main/kotlin/i18n/io/LangWriter.kt +++ b/src/main/kotlin/i18n/io/LangWriter.kt @@ -13,7 +13,11 @@ class LangWriter { // Otherwise collect all the msgids from all the files. val originalMsgIds = languageMaps.get(originLang)?.keys ?: languageMaps.flatMap { it.value.keys } langFileDir.mkdirs() - languageMaps.entries.forEach { langEntry -> + languageMaps + // Adds a *.lang file for the original language even if no *.mo or *.po file is available + .plus(if (!languageMaps.containsKey(originLang)) mapOf(originLang to originalMsgIds.associate{ Pair(it, it.id) }) else mapOf()) + .entries.forEach { langEntry -> + BufferedOutputStream(FileOutputStream(File(langFileDir, "${langEntry.key}.lang"))).use { stream -> originalMsgIds.filter { it.id.numPlurals <= 0 }.forEach { msgid ->