Merge pull request #1411 from WhisperSystems/update-translations

Update translations, use new auto genstrings tool to keep translations and comments up to date.
This commit is contained in:
Michael Kirk 2016-10-20 16:17:42 -04:00 committed by GitHub
commit 876b360e00
48 changed files with 78 additions and 134 deletions

View file

@ -154,12 +154,12 @@ AppAudioManager *sharedAppAudioManager;
- (void)requestRequiredPermissionsIfNeededWithCompletion:(PermissionBlock)permissionBlock incoming:(BOOL)isIncoming {
[AVAudioSession.sharedInstance requestRecordPermission:^(BOOL granted) {
if (!granted) {
UIAlertView *alertView =
[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"ACTION_REQUIRED_TITLE", @"")
message:NSLocalizedString(@"AUDIO_PERMISSION_MESSAGE", @"")
delegate:nil
cancelButtonTitle:NSLocalizedString(@"TXT_CANCEL_TITLE", @"")
otherButtonTitles:NSLocalizedString(@"SETTINGS_NAV_BAR_TITLE", nil), nil];
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:NSLocalizedString(@"ACTION_REQUIRED_TITLE", @"")
message:NSLocalizedString(@"AUDIO_PERMISSION_MESSAGE", @"")
delegate:nil
cancelButtonTitle:NSLocalizedString(@"TXT_CANCEL_TITLE", @"")
otherButtonTitles:NSLocalizedString(@"SETTINGS_NAV_BAR_TITLE", @"Title for settings activity"), nil];
[alertView setDelegate:self];

View file

@ -2,98 +2,5 @@
#import "CallProgress.h"
#import "CallTermination.h"
#define TXT_IN_CALL_CONNECTING NSLocalizedString(@"IN_CALL_CONNECTING", @"")
#define TXT_IN_CALL_RINGING NSLocalizedString(@"IN_CALL_RINGING", @"")
#define TXT_IN_CALL_SECURING NSLocalizedString(@"IN_CALL_SECURING", @"")
#define TXT_IN_CALL_TALKING NSLocalizedString(@"IN_CALL_TALKING", @"")
#define TXT_IN_CALL_TERMINATED NSLocalizedString(@"IN_CALL_TERMINATED", @"")
#define TXT_END_CALL_LOGIN_FAILED NSLocalizedString(@"END_CALL_LOGIN_FAILED", @"")
#define TXT_END_CALL_STALE_SESSION NSLocalizedString(@"END_CALL_STALE_SESSION", @"")
#define TXT_END_CALL_NO_SUCH_USER NSLocalizedString(@"END_CALL_NO_SUCH_USER", @"")
#define TXT_END_CALL_RESPONDER_IS_BUSY NSLocalizedString(@"END_CALL_RESPONDER_IS_BUSY", @"")
#define TXT_END_CALL_REJECTED_LOCAL NSLocalizedString(@"END_CALL_REJECTED_LOCAL", @"")
#define TXT_END_CALL_REJECTED_REMOTE NSLocalizedString(@"END_CALL_REJECTED_REMOTE", @"")
#define TXT_END_CALL_RECIPIENT_UNAVAILABLE NSLocalizedString(@"END_CALL_RECIPIENT_UNAVAILABLE", @"")
#define TXT_END_CALL_UNCATEGORIZED_FAILURE NSLocalizedString(@"END_CALL_UNCATEGORIZED_FAILURE", @"")
#define TXT_END_CALL_BAD_INTERACTION_WITH_SERVER NSLocalizedString(@"END_CALL_BAD_INTERACTION_WITH_SERVER", @"")
#define TXT_END_CALL_HANDSHAKE_FAILED NSLocalizedString(@"END_CALL_HANDSHAKE_FAILED", @"")
#define TXT_END_CALL_HANGUP_REMOTE NSLocalizedString(@"END_CALL_HANGUP_REMOTE", @"")
#define TXT_END_CALL_HANGUP_LOCAL NSLocalizedString(@"END_CALL_HANGUP_LOCAL", @"")
#define TXT_END_CALL_REPLACED_BY_NEXT NSLocalizedString(@"END_CALL_REPLACED_BY_NEXT", @"")
#define TXT_END_CALL_MESSAGE_FROM_SERVER_PREFIX NSLocalizedString(@"END_CALL_MESSAGE_FROM_SERVER_PREFIX", @"")
#pragma mark - View Controller Titles
#define SETTINGS_NAV_BAR_TITLE NSLocalizedString(@"SETTINGS_NAV_BAR_TITLE", @"Title for recent calls view controller")
#define DIALER_CALL_BUTTON_TITLE NSLocalizedString(@"DIALER_CALL_BUTTON_TITLE", @"")
#pragma mark - General Purpose
#define TXT_CANCEL_TITLE NSLocalizedString(@"TXT_CANCEL_TITLE", @"")
#define TXT_SEARCH_PLACEHOLDER_TEXT NSLocalizedString(@"TXT_SEARCH_PLACEHOLDER_TEXT", @"")
#pragma mark - Inbox View
#define INBOX_VIEW_TUTORIAL_LABEL_TOP NSLocalizedString(@"INBOX_VIEW_TUTORIAL_LABEL_TOP", @"")
#define INBOX_VIEW_TUTORIAL_LABEL_MIDDLE NSLocalizedString(@"INBOX_VIEW_TUTORIAL_LABEL_MIDDLE", @"")
#define TABLE_SECTION_TITLE_REGISTERED NSLocalizedString(@"TABLE_SECTION_TITLE_REGISTERED", @"")
#define TABLE_SECTION_TITLE_UNREGISTERED NSLocalizedString(@"TABLE_SECTION_TITLE_UNREGISTERED", @"")
#pragma mark - Home View footer cell
#define HOME_FOOTER_FIRST_MESSAGE_CALLS_UNSORTED NSLocalizedString(@"HOME_FOOTER_FIRST_MESSAGE_CALLS_UNSORTED", @"")
#define HOME_FOOTER_SECOND_MESSAGE_CALLS_UNSORTED NSLocalizedString(@"HOME_FOOTER_SECOND_MESSAGE_CALLS_UNSORTED", @"")
#define HOME_FOOTER_SECOND_MESSAGE_CALL_UNSORTED NSLocalizedString(@"HOME_FOOTER_SECOND_MESSAGE_CALL_UNSORTED", @"")
#define HOME_FOOTER_FIRST_MESSAGE_CALLS_NIL NSLocalizedString(@"HOME_FOOTER_FIRST_MESSAGE_CALLS_NIL", @"")
#define HOME_FOOTER_SECOND_MESSAGE_CALLS_NIL NSLocalizedString(@"HOME_FOOTER_SECOND_MESSAGE_CALLS_NIL", @"")
#pragma mark - Settings View
#define SETTINGS_NUMBER_PREFIX NSLocalizedString(@"SETTINGS_NUMBER_PREFIX", @"")
#define SETTINGS_LOG_CLEAR_TITLE NSLocalizedString(@"SETTINGS_LOG_CLEAR_TITLE", @"")
#define SETTINGS_LOG_CLEAR_MESSAGE NSLocalizedString(@"SETTINGS_LOG_CLEAR_MESSAGE", @"")
#define SETTINGS_LOG_CLEAR_CONFIRM NSLocalizedString(@"OK", @"")
#define SETTINGS_SENDLOG NSLocalizedString(@"SETTINGS_SENDLOG", @"")
#define SETTINGS_SENDLOG_WAITING NSLocalizedString(@"SETTINGS_SENDLOGS_WAITING", @"")
#define SETTINGS_SENDLOG_ALERT_TITLE NSLocalizedString(@"SETTINGS_SENDLOG", @"")
#pragma mark - Registration
#define REGISTER_CC_ERR_ALERT_VIEW_TITLE NSLocalizedString(@"REGISTER_CC_ERR_ALERT_VIEW_TITLE", @"")
#define REGISTER_CC_ERR_ALERT_VIEW_MESSAGE NSLocalizedString(@"REGISTER_CC_ERR_ALERT_VIEW_MESSAGE", @"")
#define REGISTER_CC_ERR_ALERT_VIEW_DISMISS NSLocalizedString(@"OK", @"")
#define END_CALL_BUTTON_TITLE NSLocalizedString(@"END_CALL_BUTTON_TITLE", @"")
#define ANSWER_CALL_BUTTON_TITLE NSLocalizedString(@"ANSWER_CALL_BUTTON_TITLE", @"")
#define REJECT_CALL_BUTTON_TITLE NSLocalizedString(@"REJECT_CALL_BUTTON_TITLE", @"")
#define REGISTER_ERROR_ALERT_VIEW_TITLE NSLocalizedString(@"REGISTRATION_ERROR", @"")
#define REGISTER_ERROR_ALERT_VIEW_BODY NSLocalizedString(@"REGISTRATION_BODY", @"")
#define REGISTER_ERROR_ALERT_VIEW_DISMISS NSLocalizedString(@"OK", @"")
#define REGISTER_CHALLENGE_ALERT_VIEW_TITLE NSLocalizedString(@"REGISTER_CHALLENGE_ALERT_VIEW_TITLE", @"")
#define REGISTER_CHALLENGE_ALERT_VIEW_BODY NSLocalizedString(@"REGISTER_CHALLENGE_ALERT_VIEW_BODY", @"")
#pragma mark - Invite Users
#define INVITE_USERS_ACTION_SHEET_TITLE NSLocalizedString(@"INVITE_USERS_ACTION_SHEET_TITLE", @"");
#define INVITE_USERS_MESSAGE NSLocalizedString(@"INVITE_USERS_MESSAGE", @"");
#pragma mark - Invite User Modal
#define INVITE_USER_MODAL_TITLE NSLocalizedString(@"INVITE_USER_MODAL_TITLE", @"")
#define INVITE_USER_MODAL_BUTTON_CANCEL NSLocalizedString(@"INVITE_USER_MODAL_BUTTON_CANCEL", @"")
#define INVITE_USER_MODAL_BUTTON_INVITE NSLocalizedString(@"INVITE_USER_MODAL_BUTTON_INVITE", @"")
#define INVITE_USER_MODAL_TEXT NSLocalizedString(@"INVITE_USER_MODAL_TEXT", @"")
#pragma mark - Contact Intersection
#define TIMEOUT NSLocalizedString(@"ERROR_WAS_DETECTED_TITLE", @"")
#define TIMEOUT_CONTACTS_DETAIL NSLocalizedString(@"TIMEOUT_CONTACTS_DETAIL", @"")
NSDictionary *makeCallProgressLocalizedTextDictionary(void);
NSDictionary *makeCallTerminationLocalizedTextDictionary(void);

View file

@ -11,28 +11,29 @@ CallProgress *cp(enum CallProgressType t) {
NSDictionary *makeCallProgressLocalizedTextDictionary(void) {
return @{
cp(CallProgressType_Connecting) : TXT_IN_CALL_CONNECTING,
cp(CallProgressType_Ringing) : TXT_IN_CALL_RINGING,
cp(CallProgressType_Securing) : TXT_IN_CALL_SECURING,
cp(CallProgressType_Talking) : TXT_IN_CALL_TALKING,
cp(CallProgressType_Terminated) : TXT_IN_CALL_TERMINATED
cp(CallProgressType_Connecting) : NSLocalizedString(@"IN_CALL_CONNECTING", @"Call setup status label"),
cp(CallProgressType_Ringing) : NSLocalizedString(@"IN_CALL_RINGING", @"Call setup status label"),
cp(CallProgressType_Securing) : NSLocalizedString(@"IN_CALL_SECURING", @"Call setup status label"),
cp(CallProgressType_Talking) : NSLocalizedString(@"IN_CALL_TALKING", @"Call setup status label"),
cp(CallProgressType_Terminated) : NSLocalizedString(@"IN_CALL_TERMINATED", @"Call setup status label")
};
}
NSDictionary *makeCallTerminationLocalizedTextDictionary(void) {
return @{
ct(CallTerminationType_NoSuchUser) : TXT_END_CALL_NO_SUCH_USER,
ct(CallTerminationType_LoginFailed) : TXT_END_CALL_LOGIN_FAILED,
ct(CallTerminationType_ResponderIsBusy) : TXT_END_CALL_RESPONDER_IS_BUSY,
ct(CallTerminationType_StaleSession) : TXT_END_CALL_STALE_SESSION,
ct(CallTerminationType_UncategorizedFailure) : TXT_END_CALL_UNCATEGORIZED_FAILURE,
ct(CallTerminationType_ReplacedByNext) : TXT_END_CALL_REPLACED_BY_NEXT,
ct(CallTerminationType_RecipientUnavailable) : TXT_END_CALL_RECIPIENT_UNAVAILABLE,
ct(CallTerminationType_BadInteractionWithServer) : TXT_END_CALL_BAD_INTERACTION_WITH_SERVER,
ct(CallTerminationType_HandshakeFailed) : TXT_END_CALL_HANDSHAKE_FAILED,
ct(CallTerminationType_HangupRemote) : TXT_END_CALL_HANGUP_REMOTE,
ct(CallTerminationType_HangupLocal) : TXT_END_CALL_HANGUP_LOCAL,
ct(CallTerminationType_ServerMessage) : TXT_END_CALL_MESSAGE_FROM_SERVER_PREFIX,
ct(CallTerminationType_RejectedLocal) : TXT_END_CALL_REJECTED_LOCAL,
ct(CallTerminationType_RejectedRemote) : TXT_END_CALL_REJECTED_REMOTE
ct(CallTerminationType_NoSuchUser) : NSLocalizedString(@"END_CALL_NO_SUCH_USER", @""),
ct(CallTerminationType_LoginFailed) : NSLocalizedString(@"END_CALL_LOGIN_FAILED", @""),
ct(CallTerminationType_ResponderIsBusy) : NSLocalizedString(@"END_CALL_RESPONDER_IS_BUSY", @""),
ct(CallTerminationType_StaleSession) : NSLocalizedString(@"END_CALL_STALE_SESSION", @""),
ct(CallTerminationType_UncategorizedFailure) : NSLocalizedString(@"END_CALL_UNCATEGORIZED_FAILURE", @""),
ct(CallTerminationType_ReplacedByNext) : NSLocalizedString(@"END_CALL_REPLACED_BY_NEXT", @""),
ct(CallTerminationType_RecipientUnavailable) : NSLocalizedString(@"END_CALL_RECIPIENT_UNAVAILABLE", @""),
ct(CallTerminationType_BadInteractionWithServer) :
NSLocalizedString(@"END_CALL_BAD_INTERACTION_WITH_SERVER", @""),
ct(CallTerminationType_HandshakeFailed) : NSLocalizedString(@"END_CALL_HANDSHAKE_FAILED", @""),
ct(CallTerminationType_HangupRemote) : NSLocalizedString(@"END_CALL_HANGUP_REMOTE", @""),
ct(CallTerminationType_HangupLocal) : NSLocalizedString(@"END_CALL_HANGUP_LOCAL", @""),
ct(CallTerminationType_ServerMessage) : NSLocalizedString(@"END_CALL_MESSAGE_FROM_SERVER_PREFIX", @""),
ct(CallTerminationType_RejectedLocal) : NSLocalizedString(@"END_CALL_REJECTED_LOCAL", @""),
ct(CallTerminationType_RejectedRemote) : NSLocalizedString(@"END_CALL_REJECTED_REMOTE", @"")
};
}

View file

@ -238,7 +238,7 @@
UIAlertView *registrationErrorAV = [[UIAlertView alloc] initWithTitle:registrationError.localizedDescription
message:registrationError.localizedRecoverySuggestion
delegate:nil
cancelButtonTitle:REGISTER_ERROR_ALERT_VIEW_DISMISS
cancelButtonTitle:NSLocalizedString(@"OK", @"")
otherButtonTitles:nil, nil];
[registrationErrorAV show];

View file

@ -110,9 +110,9 @@
}
- (void)localizeButtons {
[_endButton setTitle:END_CALL_BUTTON_TITLE forState:UIControlStateNormal];
[_answerButton setTitle:ANSWER_CALL_BUTTON_TITLE forState:UIControlStateNormal];
[_rejectButton setTitle:REJECT_CALL_BUTTON_TITLE forState:UIControlStateNormal];
[_endButton setTitle:NSLocalizedString(@"END_CALL_BUTTON_TITLE", @"") forState:UIControlStateNormal];
[_answerButton setTitle:NSLocalizedString(@"ANSWER_CALL_BUTTON_TITLE", @"") forState:UIControlStateNormal];
[_rejectButton setTitle:NSLocalizedString(@"REJECT_CALL_BUTTON_TITLE", @"") forState:UIControlStateNormal];
}
- (void)setPotentiallyKnownContact:(Contact *)potentiallyKnownContact {

View file

@ -474,14 +474,15 @@
}
failure:^(NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:TIMEOUT
message:TIMEOUT_CONTACTS_DETAIL
delegate:nil
cancelButtonTitle:NSLocalizedString(@"OK", @"")
otherButtonTitles:nil];
UIAlertView *alert =
[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"ERROR_WAS_DETECTED_TITLE", @"")
message:NSLocalizedString(@"TIMEOUT_CONTACTS_DETAIL", @"")
delegate:nil
cancelButtonTitle:NSLocalizedString(@"OK", @"")
otherButtonTitles:nil];
[alert show];
[self updateAfterRefreshTry];
});
});
}];
if ([self.contacts count] == 0) {

View file

@ -108,11 +108,13 @@ static NSString *const kCodeSentSegue = @"codeSent";
}
- (void)presentInvalidCountryCodeError {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:REGISTER_CC_ERR_ALERT_VIEW_TITLE
message:REGISTER_CC_ERR_ALERT_VIEW_MESSAGE
delegate:nil
cancelButtonTitle:REGISTER_CC_ERR_ALERT_VIEW_DISMISS
otherButtonTitles:nil];
UIAlertView *alertView =
[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"REGISTER_CC_ERR_ALERT_VIEW_TITLE", @"")
message:NSLocalizedString(@"REGISTER_CC_ERR_ALERT_VIEW_MESSAGE", @"")
delegate:nil
cancelButtonTitle:NSLocalizedString(@"DISMISS_BUTTON_TEXT",
@"Generic short text for button to dismiss a dialog")
otherButtonTitles:nil];
[alertView show];
}

View file

@ -73,7 +73,7 @@ typedef enum {
[self initializeObserver];
[TSSocketManager sendNotification];
self.title = NSLocalizedString(@"SETTINGS_NAV_BAR_TITLE", @"");
self.title = NSLocalizedString(@"SETTINGS_NAV_BAR_TITLE", @"Title for settings activity");
self.networkStatusHeader.text = NSLocalizedString(@"NETWORK_STATUS_HEADER", @"");
self.privacyLabel.text = NSLocalizedString(@"SETTINGS_PRIVACY_TITLE", @"");
self.advancedLabel.text = NSLocalizedString(@"SETTINGS_ADVANCED_TITLE", @"");

View file

@ -0,0 +1,33 @@
#!/bin/bash
TARGETS="Signal/src Pods/SignalServiceKit Pods/JSQMessagesViewController"
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"
exit 1
fi
# Search directories for .m & .h files and collect string definitions with genstrings
find $TARGETS -name "*.m" -print0 -name "*.h" -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)
NEWUTF8=$(iconv -f UTF-16 -t UTF-8 $TMP/Localizable.strings)
# Let's merge the old with the new .strings file:
# 1. Select old string definition lines
# 2. Setup field separators
# 3. Read old string definitions as associative array
# 4. In new file, if possible, insert old definition
# 5. Add separator and semicolon only for string definition lines
# 6. Convert output back to UTF-16 to final location
echo "$OLDUTF8" | grep -Eo '^".*"' | \
awk 'BEGIN {FS = "[ ]*=[ ]*"; OFS = ""} \
NR == FNR {a[$1] = $2; next} \
{$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