diff --git a/Signal/src/view controllers/AboutTableViewController.m b/Signal/src/view controllers/AboutTableViewController.m index 0af45aba0..d78b120ec 100644 --- a/Signal/src/view controllers/AboutTableViewController.m +++ b/Signal/src/view controllers/AboutTableViewController.m @@ -42,7 +42,7 @@ typedef NS_ENUM(NSUInteger, AboutTableViewControllerSection) { - (void)loadView { [super loadView]; - self.title = NSLocalizedString(@"SETTINGS_ABOUT", @""); + self.title = NSLocalizedString(@"SETTINGS_ABOUT", @"Navbar title"); // Version self.versionCell = [[UITableViewCell alloc] init]; diff --git a/Signal/src/view controllers/MessagesViewController.m b/Signal/src/view controllers/MessagesViewController.m index 04771b048..e4bf2b0cf 100644 --- a/Signal/src/view controllers/MessagesViewController.m +++ b/Signal/src/view controllers/MessagesViewController.m @@ -2078,14 +2078,14 @@ typedef enum : NSUInteger { handler:nil]; [actionSheetController addAction:cancelAction]; - UIAlertAction *takeMediaAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"TAKE_MEDIA_BUTTON", @"") + UIAlertAction *takeMediaAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"MEDIA_FROM_CAMERA_BUTTON", @"media picker option to take photo or video") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { [self takePictureOrVideo]; }]; [actionSheetController addAction:takeMediaAction]; - UIAlertAction *chooseMediaAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"CHOOSE_MEDIA_BUTTON", @"") + UIAlertAction *chooseMediaAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"MEDIA_FROM_LIBRARY_BUTTON", @"media picker option to choose from library") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { [self chooseFromLibrary]; diff --git a/Signal/src/view controllers/NewGroupViewController.m b/Signal/src/view controllers/NewGroupViewController.m index f44fbefc4..0c894250a 100644 --- a/Signal/src/view controllers/NewGroupViewController.m +++ b/Signal/src/view controllers/NewGroupViewController.m @@ -245,14 +245,14 @@ static NSString *const kUnwindToMessagesViewSegue = @"UnwindToMessagesViewSegue" handler:nil]; [actionSheetController addAction:dismissAction]; - UIAlertAction *takePictureAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"TAKE_PICTURE_BUTTON", @"") + UIAlertAction *takePictureAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"MEDIA_FROM_CAMERA_BUTTON", @"media picker option to take photo or video") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { [self takePicture]; }]; [actionSheetController addAction:takePictureAction]; - UIAlertAction *choosePictureAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"CHOOSE_MEDIA_BUTTON", @"") + UIAlertAction *choosePictureAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"MEDIA_FROM_LIBRARY_BUTTON", @"media picker option to choose from library") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { [self chooseFromLibrary]; diff --git a/Signal/translations/ar.lproj/Localizable.strings b/Signal/translations/ar.lproj/Localizable.strings index 1b076a459..29451cc26 100644 Binary files a/Signal/translations/ar.lproj/Localizable.strings and b/Signal/translations/ar.lproj/Localizable.strings differ diff --git a/Signal/translations/az_AZ.lproj/Localizable.strings b/Signal/translations/az_AZ.lproj/Localizable.strings index e83609e70..312435447 100644 Binary files a/Signal/translations/az_AZ.lproj/Localizable.strings and b/Signal/translations/az_AZ.lproj/Localizable.strings differ diff --git a/Signal/translations/bg.lproj/Localizable.strings b/Signal/translations/bg.lproj/Localizable.strings index 338e24163..aef8fd9fd 100644 Binary files a/Signal/translations/bg.lproj/Localizable.strings and b/Signal/translations/bg.lproj/Localizable.strings differ diff --git a/Signal/translations/bin/auto-genstrings b/Signal/translations/bin/auto-genstrings index 8ffc12064..43107aed7 100755 --- a/Signal/translations/bin/auto-genstrings +++ b/Signal/translations/bin/auto-genstrings @@ -1,19 +1,28 @@ #!/bin/bash -TARGETS="Signal/src Libraries/EPContactsPicker ../SignalServiceKit/src Pods/JSQMessagesViewController" +TARGETS="Signal/src ../SignalServiceKit/src" TMP="$(mktemp -d)" STRINGFILE="Signal/translations/en.lproj/Localizable.strings" -# Make sure we are in the right place -if [ ! -d "Signal/src" ]; then - echo "Please run this tool from the repository's base directory" +BIN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +REPO_ROOT=$BIN_DIR/../../.. +cd $REPO_ROOT + +for TARGET_DIR in $TARGETS +do + +if [ ! -d $TARGET_DIR ]; then + echo "Unable to find required directory: ${TARGET_DIR}." exit 1 fi +done + # Search directories for .m & .h files and collect string definitions with genstrings find $TARGETS -name "*.m" -print0 -o -name "*.h" -print0 -o -name "*.swift" -print0 | xargs -0 genstrings -o $TMP -# We have to convert the old and new .strings files to UTF-8 in order to deal with them -OLDUTF8=$(iconv -f UTF-16 -t UTF-8 $STRINGFILE) +# We have to convert the new .strings files to UTF-8 in order to deal with them +# STRINGFILE is already UTF-8. +OLDUTF8=$(cat $STRINGFILE) NEWUTF8=$(iconv -f UTF-16 -t UTF-8 $TMP/Localizable.strings) # Let's merge the old with the new .strings file: @@ -29,5 +38,4 @@ echo "$OLDUTF8" | grep -Eo '^".*"' | \ {$2 = ($1 in a ? a[$1] : $2); \ if($2 ~ /"[;]*$/){$2 = " = "$2}; \ if($2 ~ /"$/){$2 = $2";"}; \ - print}' - <(echo "$NEWUTF8") | \ - iconv -f UTF-8 -t UTF-16 > $STRINGFILE + print}' - <(echo "$NEWUTF8") > $STRINGFILE diff --git a/Signal/translations/bin/pull-translations b/Signal/translations/bin/pull-translations index 1f90cfd08..580e1984d 100755 --- a/Signal/translations/bin/pull-translations +++ b/Signal/translations/bin/pull-translations @@ -11,6 +11,23 @@ tx pull -a --minimum-perc=80 # Once supported, we don't want to drop any translations. tx pull --force +for dir in *.lproj +do + + # en.lproj is already utf-8 + if [[ "$dir" = "en.lproj" ]]; then + continue + fi + + pushd $dir + # Transifex pulls utf-16, but our string linting script needs utf-8. + # Plus we can see the string diffs in GH this way. + iconv -f utf-16 -t utf-8 Localizable.strings > Localizable.strings.utf8 + mv Localizable.strings.utf8 Localizable.strings + popd + +done + # Get and build iStringsCheck from https://github.com/FredericJacobs/iStringsCheck # This does some checks to make sure all strings are present and that interpolated strings have the right number of arguments ../../../iStringsCheck/target/debug/iStringsCheck en.lproj/Localizable.strings . diff --git a/Signal/translations/bs.lproj/Localizable.strings b/Signal/translations/bs.lproj/Localizable.strings index 3e150bfd9..aba19056b 100644 Binary files a/Signal/translations/bs.lproj/Localizable.strings and b/Signal/translations/bs.lproj/Localizable.strings differ diff --git a/Signal/translations/ca.lproj/Localizable.strings b/Signal/translations/ca.lproj/Localizable.strings index 8fff7df7a..897f3abe1 100644 Binary files a/Signal/translations/ca.lproj/Localizable.strings and b/Signal/translations/ca.lproj/Localizable.strings differ diff --git a/Signal/translations/cs.lproj/Localizable.strings b/Signal/translations/cs.lproj/Localizable.strings index 89f5e0dd5..98f931f2c 100644 Binary files a/Signal/translations/cs.lproj/Localizable.strings and b/Signal/translations/cs.lproj/Localizable.strings differ diff --git a/Signal/translations/da.lproj/Localizable.strings b/Signal/translations/da.lproj/Localizable.strings index 9f49a45b9..09ba9d798 100644 Binary files a/Signal/translations/da.lproj/Localizable.strings and b/Signal/translations/da.lproj/Localizable.strings differ diff --git a/Signal/translations/de.lproj/Localizable.strings b/Signal/translations/de.lproj/Localizable.strings index bf03712ab..cba02163b 100644 Binary files a/Signal/translations/de.lproj/Localizable.strings and b/Signal/translations/de.lproj/Localizable.strings differ diff --git a/Signal/translations/el_GR.lproj/Localizable.strings b/Signal/translations/el_GR.lproj/Localizable.strings index 0497d3087..f3c63a2eb 100644 Binary files a/Signal/translations/el_GR.lproj/Localizable.strings and b/Signal/translations/el_GR.lproj/Localizable.strings differ diff --git a/Signal/translations/en.lproj/Localizable.strings b/Signal/translations/en.lproj/Localizable.strings index b794f7100..3e7741969 100644 Binary files a/Signal/translations/en.lproj/Localizable.strings and b/Signal/translations/en.lproj/Localizable.strings differ diff --git a/Signal/translations/es.lproj/Localizable.strings b/Signal/translations/es.lproj/Localizable.strings index 5ed604230..098ce0eab 100644 Binary files a/Signal/translations/es.lproj/Localizable.strings and b/Signal/translations/es.lproj/Localizable.strings differ diff --git a/Signal/translations/fa.lproj/Localizable.strings b/Signal/translations/fa.lproj/Localizable.strings index ef5aef0a3..bd8a531fb 100644 Binary files a/Signal/translations/fa.lproj/Localizable.strings and b/Signal/translations/fa.lproj/Localizable.strings differ diff --git a/Signal/translations/fi.lproj/Localizable.strings b/Signal/translations/fi.lproj/Localizable.strings index 0b345a5fa..f636f80dd 100644 Binary files a/Signal/translations/fi.lproj/Localizable.strings and b/Signal/translations/fi.lproj/Localizable.strings differ diff --git a/Signal/translations/fil.lproj/Localizable.strings b/Signal/translations/fil.lproj/Localizable.strings index e53df5218..86f26dd4e 100644 Binary files a/Signal/translations/fil.lproj/Localizable.strings and b/Signal/translations/fil.lproj/Localizable.strings differ diff --git a/Signal/translations/fr.lproj/Localizable.strings b/Signal/translations/fr.lproj/Localizable.strings index b5155b003..1f6a1eb6c 100644 Binary files a/Signal/translations/fr.lproj/Localizable.strings and b/Signal/translations/fr.lproj/Localizable.strings differ diff --git a/Signal/translations/gl.lproj/Localizable.strings b/Signal/translations/gl.lproj/Localizable.strings index 1186098c0..eb448cd37 100644 Binary files a/Signal/translations/gl.lproj/Localizable.strings and b/Signal/translations/gl.lproj/Localizable.strings differ diff --git a/Signal/translations/he.lproj/Localizable.strings b/Signal/translations/he.lproj/Localizable.strings index 042831415..7b9e9f586 100644 Binary files a/Signal/translations/he.lproj/Localizable.strings and b/Signal/translations/he.lproj/Localizable.strings differ diff --git a/Signal/translations/hr.lproj/Localizable.strings b/Signal/translations/hr.lproj/Localizable.strings index cc9e6ead2..1c4283c16 100644 Binary files a/Signal/translations/hr.lproj/Localizable.strings and b/Signal/translations/hr.lproj/Localizable.strings differ diff --git a/Signal/translations/hu.lproj/Localizable.strings b/Signal/translations/hu.lproj/Localizable.strings index c29acf1b8..a9577c80d 100644 Binary files a/Signal/translations/hu.lproj/Localizable.strings and b/Signal/translations/hu.lproj/Localizable.strings differ diff --git a/Signal/translations/id.lproj/Localizable.strings b/Signal/translations/id.lproj/Localizable.strings index 254029821..21a323567 100644 Binary files a/Signal/translations/id.lproj/Localizable.strings and b/Signal/translations/id.lproj/Localizable.strings differ diff --git a/Signal/translations/it_IT.lproj/Localizable.strings b/Signal/translations/it_IT.lproj/Localizable.strings index 9d704e5a4..7d79f9a2c 100644 Binary files a/Signal/translations/it_IT.lproj/Localizable.strings and b/Signal/translations/it_IT.lproj/Localizable.strings differ diff --git a/Signal/translations/ja_JP.lproj/Localizable.strings b/Signal/translations/ja_JP.lproj/Localizable.strings index 18166466a..e13943dc9 100644 Binary files a/Signal/translations/ja_JP.lproj/Localizable.strings and b/Signal/translations/ja_JP.lproj/Localizable.strings differ diff --git a/Signal/translations/ko_KR.lproj/Localizable.strings b/Signal/translations/ko_KR.lproj/Localizable.strings index 5e5c31288..c0e6c8d47 100644 Binary files a/Signal/translations/ko_KR.lproj/Localizable.strings and b/Signal/translations/ko_KR.lproj/Localizable.strings differ diff --git a/Signal/translations/lv.lproj/Localizable.strings b/Signal/translations/lv.lproj/Localizable.strings index b3511bba3..151abd192 100644 Binary files a/Signal/translations/lv.lproj/Localizable.strings and b/Signal/translations/lv.lproj/Localizable.strings differ diff --git a/Signal/translations/mk.lproj/Localizable.strings b/Signal/translations/mk.lproj/Localizable.strings index 6dd385f1c..16c8fbe94 100644 Binary files a/Signal/translations/mk.lproj/Localizable.strings and b/Signal/translations/mk.lproj/Localizable.strings differ diff --git a/Signal/translations/nb_NO.lproj/Localizable.strings b/Signal/translations/nb_NO.lproj/Localizable.strings index fbec78a37..54012d109 100644 Binary files a/Signal/translations/nb_NO.lproj/Localizable.strings and b/Signal/translations/nb_NO.lproj/Localizable.strings differ diff --git a/Signal/translations/nl.lproj/Localizable.strings b/Signal/translations/nl.lproj/Localizable.strings index 36cd787ca..15a50f261 100644 Binary files a/Signal/translations/nl.lproj/Localizable.strings and b/Signal/translations/nl.lproj/Localizable.strings differ diff --git a/Signal/translations/pl.lproj/Localizable.strings b/Signal/translations/pl.lproj/Localizable.strings index 98b7220d8..3e3e1ea05 100644 Binary files a/Signal/translations/pl.lproj/Localizable.strings and b/Signal/translations/pl.lproj/Localizable.strings differ diff --git a/Signal/translations/pt_BR.lproj/Localizable.strings b/Signal/translations/pt_BR.lproj/Localizable.strings index 68c27b074..591f68bf8 100644 Binary files a/Signal/translations/pt_BR.lproj/Localizable.strings and b/Signal/translations/pt_BR.lproj/Localizable.strings differ diff --git a/Signal/translations/pt_PT.lproj/Localizable.strings b/Signal/translations/pt_PT.lproj/Localizable.strings index a9264d7a8..b3fad56e5 100644 Binary files a/Signal/translations/pt_PT.lproj/Localizable.strings and b/Signal/translations/pt_PT.lproj/Localizable.strings differ diff --git a/Signal/translations/ro.lproj/Localizable.strings b/Signal/translations/ro.lproj/Localizable.strings index 19d73a4b2..2ff8c17a6 100644 Binary files a/Signal/translations/ro.lproj/Localizable.strings and b/Signal/translations/ro.lproj/Localizable.strings differ diff --git a/Signal/translations/ru.lproj/Localizable.strings b/Signal/translations/ru.lproj/Localizable.strings index 2c6215522..9363c99ce 100644 Binary files a/Signal/translations/ru.lproj/Localizable.strings and b/Signal/translations/ru.lproj/Localizable.strings differ diff --git a/Signal/translations/sl.lproj/Localizable.strings b/Signal/translations/sl.lproj/Localizable.strings index 3c7f4c870..16644807f 100644 Binary files a/Signal/translations/sl.lproj/Localizable.strings and b/Signal/translations/sl.lproj/Localizable.strings differ diff --git a/Signal/translations/sn.lproj/Localizable.strings b/Signal/translations/sn.lproj/Localizable.strings index 53ba1465f..1b03eb87c 100644 Binary files a/Signal/translations/sn.lproj/Localizable.strings and b/Signal/translations/sn.lproj/Localizable.strings differ diff --git a/Signal/translations/sq.lproj/Localizable.strings b/Signal/translations/sq.lproj/Localizable.strings index a395752f7..f48b20bae 100644 Binary files a/Signal/translations/sq.lproj/Localizable.strings and b/Signal/translations/sq.lproj/Localizable.strings differ diff --git a/Signal/translations/sv_SE.lproj/Localizable.strings b/Signal/translations/sv_SE.lproj/Localizable.strings index 7c3967a18..db8356f6a 100644 Binary files a/Signal/translations/sv_SE.lproj/Localizable.strings and b/Signal/translations/sv_SE.lproj/Localizable.strings differ diff --git a/Signal/translations/th_TH.lproj/Localizable.strings b/Signal/translations/th_TH.lproj/Localizable.strings index 7b669de2f..feb699a89 100644 Binary files a/Signal/translations/th_TH.lproj/Localizable.strings and b/Signal/translations/th_TH.lproj/Localizable.strings differ diff --git a/Signal/translations/tr_TR.lproj/Localizable.strings b/Signal/translations/tr_TR.lproj/Localizable.strings index ada59d7f9..03189ed33 100644 Binary files a/Signal/translations/tr_TR.lproj/Localizable.strings and b/Signal/translations/tr_TR.lproj/Localizable.strings differ diff --git a/Signal/translations/zh_CN.lproj/Localizable.strings b/Signal/translations/zh_CN.lproj/Localizable.strings index 8e49ab32f..86bfd252a 100644 Binary files a/Signal/translations/zh_CN.lproj/Localizable.strings and b/Signal/translations/zh_CN.lproj/Localizable.strings differ