Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Generate warnings for extra translations
  • Loading branch information
tomlokhorst committed Aug 26, 2019
commit 0993e693d8e2f5ad04a80a29156c6df75a651875
18 changes: 18 additions & 0 deletions Sources/RswiftCore/Generators/StringsStructGenerator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,24 @@ struct StringsStructGenerator: ExternalOnlyStructGenerator {
warn("Strings file \(filenameLocale) is missing translations for keys: \(paddedKeysString)")
}

// Warnings about extra translations
for (locale, lss) in strings.grouped(by: { $0.locale }) {
let filenameLocale = locale.withFilename(filename)
let sourceKeys = developmentKeys ?? Set(allParams.keys)

let usedKeys = Set(lss.flatMap { $0.dictionary.keys })
let extra = usedKeys.subtracting(sourceKeys)

if extra.isEmpty {
continue
}

let paddedKeys = extra.sorted().map { "'\($0)'" }
let paddedKeysString = paddedKeys.joined(separator: ", ")

warn("Strings file \(filenameLocale) has extra translations (not in \(developmentLanguage)) for keys: \(paddedKeysString)")
}

// Only include translation if it exists in the development language
func includeTranslation(_ key: String) -> Bool {
if let developmentKeys = developmentKeys {
Expand Down