Rubustrings alternatives and similar libraries
Based on the "Localization" category.
Alternatively, view Rubustrings alternatives based on common mentions on social networks and blogs.
-
BartyCrouch
Localization/I18n: Incrementally update/translate your Strings files from .swift, .h, .m(m), .storyboard or .xib files. -
LocalizationKit
Realtime Dynamic localization translation delivery system for iOS and Mac OSX in Swift. Create and update texts from localization.com without needing to recompile or redeploy. Cocapod for iOS devices (iPad, iPhone, iPod Touch and Mac) -
Localize
Localize is a framework writed in swift to localize your projects easier improves i18n, including storyboards and strings. -
L10n-swift
Localization of the application with ability to change language "on the fly" and support for plural form in any language. -
CrowdinSDK
Crowdin iOS SDK delivers all new translations from Crowdin project to the application immediately -
locheck
Validate iOS, Android, and Mac localizations. Find errors in .strings, .stringsdict, and strings.xml files. -
Respresso iOS client
Save development time! Respresso automatically transforms and delivers your digital assets into your projects -
Respresso Localization Converter
Save development time! Respresso automatically transforms and delivers your digital assets into your projects -
Respresso Android client
Save development time! Respresso automatically transforms and delivers your digital assets into your projects
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Rubustrings or a related project?
README
Rubustrings
Check the format and consistency of the Localizable.strings files of iOS Apps with multi-language support
Rubustrings is also available for Android here
Usage
It only needs the files to validate as arguments
rubustrings Localizable.strings
Additionally to the filenames, including the option --onlyformat will only assert for the format.
Install
gem install rubustrings
Validators
Currently Rubustrings validates:
- The syntaxis of the strings file: Just the format of each line: "key" = "value";
- Dynamic values (%@, %d, %ld,...): It checks that the translation include the same set of them than the original string.
- Special characters at the beginning or at the end: If the original string begins or ends with a white space,\n or \r it tests that the translation also does.
It also warning on:
- Untranslated strings: In missing translations
- Translation significantly large: In translations 3 times larger than original string
Example
dcordero@silver:~$ rubustrings Localizable.strings
Processing file: "Localizable.strings"
Localizable.strings:217: error: beginning mismatch: "Tubasa" = " Tubasa";
Localizable.strings:220: error: number of variables mismatch: "Web %@" = "Web";
Localizable.strings:225: error: invalid format: "bad format" = "because of a missing quote;
Result: ✘ Some errors detected
dcordero@silver:~$ rubustrings Localizable.strings
Processing file: "Localizable.strings"
Result: ✓ Strings file validated succesfully
XCode
Rubustrings can also be used as a custom build rule so that all .strings files are automatically validated at build time. This will also attempt to highlight offending lines in XCode.
[Xcode build rule example](./xcode_example.png "example")
Just add a new "Run Script Phase" with:
if which rubustrings>/dev/null; then
find "${SRCROOT}" -type f -name Localizable.strings -print0 | xargs -0 -n1 rubustrings
else
echo "warning: Rubustrings not installed, download from https://github.com/dcordero/Rubustrings"
fi
[Xcode setting example](./xcode_setting.png "configuration")
License
MIT License (MIT) Copyright (c) 2017 @dcordero
*Note that all licence references and agreements mentioned in the Rubustrings README section above
are relevant to that project's source code only.