Loco is an extremly fast CLI linter for Localization.strings and swift files.
- Semicolons
- Untranslated strings in your swift files
- Empty values
- Duplicate keys
- Unused keys
- Missing keys in one or more languages
- Missing a translation file for a whole language
- Loco will output its result in a compiler error log format so it can easily be integrated in third party apps (like Emacs, VI)
- Quick and dirty (alot of imperative coding mixed with tons of functional. Sorry purists)
- Does not lint Localization.dict
- Does not lint Storyboards
- Will have false positive and its untested
- No unit tests (probably next task)
Compile the project using terminal (or Xcode)
swift build -c releaseswift buildCopy the loco binary from either .build/release or .build/debug to
/usr/local/binIn build phases. Add run script (+)
if which loco > /dev/null; then
loco --no-color
else
echo "warning: Loco is not installed. Compile from https://github.com/konrad1977/loco"
fiMake sure you run loco before compile sources to get info where you are missing a semicolon
Just run loco from your project root.
$ locoLint individual swift files (check for missing translations only)
$ loco -f "/myProject/Sources/Subfolder/somefile.swift"Disable colored output
$ loco --no-color