Update translations

* New bg (Bulgarian) localization!
* New sq (Albanian) localization!
* replace unfinished bg_BG localization with complete bg localization
* caps keys to make it easier to see missing localizations
* pull with newly pushed source keys

// FREEBIE
This commit is contained in:
Michael Kirk 2016-09-09 11:55:07 -04:00
parent 6bd2453d7d
commit 5200cccbe3
47 changed files with 48 additions and 34 deletions

View File

@ -131,7 +131,7 @@ EXTERNAL SOURCES:
CHECKOUT OPTIONS:
SignalServiceKit:
:commit: e9c54b52a88b094e7b6deafdfda6704be5721f3c
:commit: 0933b921289ded4bb0761ce4176a2004aeab4dd5
:git: https://github.com/WhisperSystems/SignalServiceKit.git
SocketRocket:
:commit: 8096fef47d582bff8ae3758c9ae7af1d55ea53d6

View File

@ -534,6 +534,8 @@
458E38391D6699FA0094BD24 /* OWSDeviceProvisioningURLParserTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OWSDeviceProvisioningURLParserTest.m; path = Models/OWSDeviceProvisioningURLParserTest.m; sourceTree = "<group>"; };
459311FA1D75C948008DD4F0 /* OWSDeviceTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSDeviceTableViewCell.h; sourceTree = "<group>"; };
459311FB1D75C948008DD4F0 /* OWSDeviceTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSDeviceTableViewCell.m; sourceTree = "<group>"; };
4597E94E1D8313C100040CDE /* sq */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sq; path = translations/sq.lproj/Localizable.strings; sourceTree = "<group>"; };
4597E94F1D8313CB00040CDE /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = translations/bg.lproj/Localizable.strings; sourceTree = "<group>"; };
459C3F0C1C9B3A1B003ACF51 /* TSMessageAdapterTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TSMessageAdapterTest.m; path = "view controllers/Signals/TSMessageAdapters/TSMessageAdapterTest.m"; sourceTree = "<group>"; };
45C681B51D305A580050903A /* OWSCall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSCall.h; sourceTree = "<group>"; };
45C681B61D305A580050903A /* OWSCall.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSCall.m; sourceTree = "<group>"; };
@ -921,7 +923,6 @@
B68EF9B81C0B1EBD009C3DCD /* FLAnimatedImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FLAnimatedImageView.h; path = Libraries/FLAnimatedImage/FLAnimatedImageView.h; sourceTree = SOURCE_ROOT; };
B68EF9B91C0B1EBD009C3DCD /* FLAnimatedImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FLAnimatedImageView.m; path = Libraries/FLAnimatedImage/FLAnimatedImageView.m; sourceTree = SOURCE_ROOT; };
B69C2D171AA5445000A640C2 /* az_AZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = az_AZ; path = translations/az_AZ.lproj/Localizable.strings; sourceTree = "<group>"; };
B69C2D181AA5445F00A640C2 /* bg_BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg_BG; path = translations/bg_BG.lproj/Localizable.strings; sourceTree = "<group>"; };
B69C2D191AA5446C00A640C2 /* bs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bs; path = translations/bs.lproj/Localizable.strings; sourceTree = "<group>"; };
B69C2D1A1AA5447600A640C2 /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = translations/ca.lproj/Localizable.strings; sourceTree = "<group>"; };
B69C2D1B1AA5448300A640C2 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = translations/cs.lproj/Localizable.strings; sourceTree = "<group>"; };
@ -2431,6 +2432,8 @@
id,
gl,
mk,
sq,
bg,
);
mainGroup = D221A07E169C9E5E00537ABF;
productRefGroup = D221A08A169C9E5E00537ABF /* Products */;
@ -3044,7 +3047,6 @@
children = (
B6F509961AA53F760068F56A /* en */,
B69C2D171AA5445000A640C2 /* az_AZ */,
B69C2D181AA5445F00A640C2 /* bg_BG */,
B69C2D191AA5446C00A640C2 /* bs */,
B69C2D1A1AA5447600A640C2 /* ca */,
B69C2D1B1AA5448300A640C2 /* cs */,
@ -3077,6 +3079,8 @@
45E282DE1D08E67800ADD4C8 /* gl */,
45E282DF1D08E6CC00ADD4C8 /* id */,
454B35071D08EED80026D658 /* mk */,
4597E94E1D8313C100040CDE /* sq */,
4597E94F1D8313CB00040CDE /* bg */,
);
name = Localizable.strings;
sourceTree = "<group>";

View File

@ -38,7 +38,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>2.5.0.6</string>
<string>2.5.0.7</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LOGS_EMAIL</key>

View File

@ -32,9 +32,10 @@ NS_ASSUME_NONNULL_BEGIN
[self.qrScanningController resizeViews];
// END HACK to get full width preview layer
self.scanningInstructionsLabel.text = NSLocalizedString(
@"Scan the QR code displayed on the device to link.", @"QR Scanning screen instructions label");
self.title = NSLocalizedString(@"Link New Device", "Navigation title when scanning QR code to add new device.");
self.scanningInstructionsLabel.text = NSLocalizedString(@"LINK_DEVICE_SCANNING_INSTRUCTIONS",
@"QR Scanning screen instructions, placed alongside a camera view for scanning QRCodes");
self.title
= NSLocalizedString(@"LINK_NEW_DEVICE_TITLE", "Navigation title when scanning QR code to add new device.");
}
- (void)viewWillAppear:(BOOL)animated
@ -56,10 +57,10 @@ NS_ASSUME_NONNULL_BEGIN
// pragma mark - OWSQRScannerDelegate
- (void)controller:(OWSQRCodeScanningViewController *)controller didDetectQRCodeWithString:(NSString *)string
{
NSString *title = NSLocalizedString(@"Link this device?", @"Alert title");
NSString *linkingDescription = NSLocalizedString(@"This device will be able to see your groups and contacts, read "
@"all your messages, and send messages in your name.",
@"Alert body confirmation when linking a new device");
NSString *title
= NSLocalizedString(@"LINK_DEVICE_PERMISSION_ALERT_TITLE", @"confirm the users intent to link a new device");
NSString *linkingDescription
= NSLocalizedString(@"LINK_DEVICE_PERMISSION_ALERT_BODY", @"confirm the users intent to link a new device");
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title
message:linkingDescription
@ -75,11 +76,12 @@ NS_ASSUME_NONNULL_BEGIN
}];
[alertController addAction:cancelAction];
UIAlertAction *proceedAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Link New Device", nil)
style:UIAlertActionStyleDefault
handler:^(UIAlertAction *action) {
[self provisionWithString:string];
}];
UIAlertAction *proceedAction =
[UIAlertAction actionWithTitle:NSLocalizedString(@"CONFIRM_LINK_NEW_DEVICE_ACTION", @"Button text")
style:UIAlertActionStyleDefault
handler:^(UIAlertAction *action) {
[self provisionWithString:string];
}];
[alertController addAction:proceedAction];
[self presentViewController:alertController animated:YES completion:nil];
@ -126,7 +128,7 @@ NS_ASSUME_NONNULL_BEGIN
- (UIAlertController *)retryAlertControllerWithError:(NSError *)error retryBlock:(void (^)())retryBlock
{
NSString *title = NSLocalizedString(@"Linking Device Failed", @"Alert Title");
NSString *title = NSLocalizedString(@"LINKING_DEVICE_FAILED_TITLE", @"Alert Title");
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title
message:error.localizedDescription
preferredStyle:UIAlertControllerStyleAlert];

View File

@ -35,6 +35,8 @@ int const OWSLinkedDevicesTableViewControllerSectionAddDevice = 1;
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = NSLocalizedString(@"LINKED_DEVICES_TITLE", @"Menu item and navbar title for the device manager");
self.isExpectingMoreDevices = NO;
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 70;
@ -103,9 +105,9 @@ int const OWSLinkedDevicesTableViewControllerSectionAddDevice = 1;
userInfo:nil
repeats:YES];
NSString *progressText = NSLocalizedString(@"Complete setup on Signal Desktop.",
@"Activity indicator title, shown upon returning to the device manager, "
@"until you complete the provisioning process on desktop");
NSString *progressText = NSLocalizedString(@"WAITING_TO_COMPLETE_DEVICE_LINK_TEXT",
@"Activity indicator title, shown upon returning to the device "
@"manager, until you complete the provisioning process on desktop");
NSAttributedString *progressTitle = [[NSAttributedString alloc] initWithString:progressText];
// HACK to get refreshControl title to align properly.
@ -146,7 +148,7 @@ int const OWSLinkedDevicesTableViewControllerSectionAddDevice = 1;
DDLogError(@"Failed to fetch devices in linkedDevices controller with error: %@", error);
NSString *alertTitle = NSLocalizedString(
@"Failed to update device list.", @"Alert title that can occur when viewing device manager.");
@"DEVICE_LIST_UPDATE_FAILED_TITLE", @"Alert title that can occur when viewing device manager.");
UIAlertController *alertController =
[UIAlertController alertControllerWithTitle:alertTitle
@ -251,7 +253,13 @@ int const OWSLinkedDevicesTableViewControllerSectionAddDevice = 1;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == OWSLinkedDevicesTableViewControllerSectionAddDevice) {
return [tableView dequeueReusableCellWithIdentifier:@"AddNewDevice" forIndexPath:indexPath];
UITableViewCell *addNewDeviceCell =
[tableView dequeueReusableCellWithIdentifier:@"AddNewDevice" forIndexPath:indexPath];
addNewDeviceCell.textLabel.text
= NSLocalizedString(@"LINK_NEW_DEVICE_TITLE", @"Navigation title when scanning QR code to add new device.");
addNewDeviceCell.detailTextLabel.text
= NSLocalizedString(@"LINK_NEW_DEVICE_SUBTITLE", @"Subheading for 'Link New Device' navigation");
return addNewDeviceCell;
} else if (indexPath.section == OWSLinkedDevicesTableViewControllerSectionExistingDevices) {
OWSDeviceTableViewCell *cell =
[tableView dequeueReusableCellWithIdentifier:@"ExistingDevice" forIndexPath:indexPath];
@ -288,7 +296,7 @@ int const OWSLinkedDevicesTableViewControllerSectionAddDevice = 1;
- (nullable NSString *)tableView:(UITableView *)tableView
titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return NSLocalizedString(@"Unlink", "Action title for unlinking a device");
return NSLocalizedString(@"UNLINK_ACTION", "button title for unlinking a device");
}
- (void)tableView:(UITableView *)tableView
@ -308,11 +316,10 @@ int const OWSLinkedDevicesTableViewControllerSectionAddDevice = 1;
- (void)touchedUnlinkControlForDevice:(OWSDevice *)device success:(void (^)())successCallback
{
NSString *confirmationTitleFormat
= NSLocalizedString(@"Unlink \"%@\"?", @"Alert title for confirming device deletion");
= NSLocalizedString(@"UNLINK_CONFIRMATION_ALERT_TITLE", @"Alert title for confirming device deletion");
NSString *confirmationTitle = [NSString stringWithFormat:confirmationTitleFormat, device.name];
NSString *confirmationMessage
= NSLocalizedString(@"By unlinking this device, it will no longer be able to send or receive messages.",
@"Alert description shown to confirm unlinking a device.");
= NSLocalizedString(@"UNLINK_CONFIRMATION_ALERT_BODY", @"Alert message to confirm unlinking a device");
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:confirmationTitle
message:confirmationMessage
preferredStyle:UIAlertControllerStyleAlert];
@ -323,7 +330,7 @@ int const OWSLinkedDevicesTableViewControllerSectionAddDevice = 1;
[alertController addAction:cancelAction];
UIAlertAction *unlinkAction =
[UIAlertAction actionWithTitle:NSLocalizedString(@"Unlink", "Action title for unlinking a device")
[UIAlertAction actionWithTitle:NSLocalizedString(@"UNLINK_ACTION", "button title for unlinking a device")
style:UIAlertActionStyleDestructive
handler:^(UIAlertAction *action) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
@ -342,8 +349,8 @@ int const OWSLinkedDevicesTableViewControllerSectionAddDevice = 1;
[[OWSDevicesService new] unlinkDevice:device
success:successCallback
failure:^(NSError *error) {
NSString *title = NSLocalizedString(@"Signal was unable to delete your device.",
@"Alert title when unlinking device fails");
NSString *title = NSLocalizedString(
@"UNLINKING_FAILED_ALERT_TITLE", @"Alert title when unlinking device fails");
UIAlertController *alertController =
[UIAlertController alertControllerWithTitle:title
message:error.localizedDescription

View File

@ -79,8 +79,8 @@ typedef enum {
self.advancedLabel.text = NSLocalizedString(@"SETTINGS_ADVANCED_TITLE", @"");
self.aboutLabel.text = NSLocalizedString(@"SETTINGS_ABOUT", @"");
self.notificationsLabel.text = NSLocalizedString(@"SETTINGS_NOTIFICATIONS", nil);
self.linkedDevicesLabel.text = NSLocalizedString(
@"LINKED_DEVICES_LABEL", @"table cell label, when pressed takes you to manage your linked devices.");
self.linkedDevicesLabel.text
= NSLocalizedString(@"LINKED_DEVICES_TITLE", @"Menu item and navbar title for the device manager");
[self.destroyAccountButton setTitle:NSLocalizedString(@"SETTINGS_DELETE_ACCOUNT_BUTTON", @"")
forState:UIControlStateNormal];
}

View File

@ -11,12 +11,13 @@ NS_ASSUME_NONNULL_BEGIN
{
self.nameLabel.text = device.displayName;
NSString *linkedFormatString = NSLocalizedString(@"Linked: %@", @"{{Short Date}} when device was linked.");
NSString *linkedFormatString
= NSLocalizedString(@"DEVICE_LINKED_AT_LABEL", @"{{Short Date}} when device was linked.");
self.linkedLabel.text =
[NSString stringWithFormat:linkedFormatString, [DateUtil.dateFormatter stringFromDate:device.createdAt]];
NSString *lastSeenFormatString
= NSLocalizedString(@"Last active: %@", @"{{Short Date}} when device last communicated with Signal Server.");
NSString *lastSeenFormatString = NSLocalizedString(
@"DEVICE_LAST_ACTIVE_AT_LABEL", @"{{Short Date}} when device last communicated with Signal Server.");
self.lastSeenLabel.text =
[NSString stringWithFormat:lastSeenFormatString, [DateUtil.dateFormatter stringFromDate:device.createdAt]];
}

Binary file not shown.

Binary file not shown.