package mods.eln.i18n; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.Map; import java.util.Properties; import java.util.Set; class LanguageFileGenerator { private static final String FILE_HEADER = "#<ELN_LANGFILE_V1_1>\n"; private LanguageFileGenerator() { } public static void updateFile(final File file, final Map<String, Set<TranslationItem>> strings, final Properties existingTranslations) throws IOException { final FileWriter writer = new FileWriter(file); // Write header. writer.append(FILE_HEADER); // For each source file with translations create the file comment. for (final String sourceFile : strings.keySet()) { // Standardise file paths for every platforms final String sourcePath = sourceFile.replace("\\", "/"); writer.append("\n# ").append(sourcePath).append("\n"); // For each translated string in that source file, add translation text. for (final TranslationItem text2Translate : strings.get(sourceFile)) { text2Translate.applyExistingTranslationIfPresent(existingTranslations); writer.append(text2Translate.toString()); } } // Close writer. writer.close(); } }