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:
parent
6bd2453d7d
commit
5200cccbe3
|
@ -131,7 +131,7 @@ EXTERNAL SOURCES:
|
|||
|
||||
CHECKOUT OPTIONS:
|
||||
SignalServiceKit:
|
||||
:commit: e9c54b52a88b094e7b6deafdfda6704be5721f3c
|
||||
:commit: 0933b921289ded4bb0761ce4176a2004aeab4dd5
|
||||
:git: https://github.com/WhisperSystems/SignalServiceKit.git
|
||||
SocketRocket:
|
||||
:commit: 8096fef47d582bff8ae3758c9ae7af1d55ea53d6
|
||||
|
|
|
@ -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>";
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
|
|
@ -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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue