Remove unused strings

pull/396/head
Niels Andriesse 4 years ago
parent b625d3962b
commit 601df96058

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,38 @@
#!/usr/bin/env xcrun swift
import Foundation
// The way this works is:
// Run the AbandonedStrings executable (see https://www.avanderlee.com/xcode/unused-localized-strings/)
// Paste the list of unused strings below
// Run this script by doing:
// swiftc remove_unused_strings.swift
// ./remove_unused_strings
let unusedStringKeys = [
]
let allFileURLs = try! FileManager.default.contentsOfDirectory(at: URL(string: "./")!, includingPropertiesForKeys: nil)
let translationFiles = allFileURLs.map { $0.lastPathComponent }.filter { $0.hasSuffix(".lproj") }
for translationFile in translationFiles {
let contents = try! String(contentsOfFile: "\(translationFile)/Localizable.strings")
let lines = contents.split(separator: "\n")
var filteredLines0: [String] = []
for line in lines {
if !unusedStringKeys.contains(where: { line.hasPrefix("\"\($0)\"") }) {
filteredLines0.append(String(line))
}
}
var filteredLines1: [String] = []
for (index, line) in filteredLines0.enumerated() {
if line.hasPrefix("/*") && index != (filteredLines0.count - 1) && filteredLines0[index + 1].hasPrefix("/*") {
// Orphaned comment; drop it
} else {
filteredLines1.append(line)
}
}
let newContents = filteredLines1.joined(separator: "\n")
try newContents.write(to: URL(fileURLWithPath: "\(FileManager.default.currentDirectoryPath)/\(translationFile)/Localizable.strings"), atomically: true, encoding: String.Encoding.utf8)
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save