Support localized strings in Matrix Console.

This commit is contained in:
giomfo 2015-08-07 10:42:47 +02:00
parent 9e0192bfdc
commit 4718da2503
21 changed files with 266 additions and 123 deletions

View file

@ -7,7 +7,6 @@
objects = {
/* Begin PBXBuildFile section */
3198D9E11A68338B00556695 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3198D9E31A68338B00556695 /* Localizable.strings */; };
32F90B7B1B28906400DDC61B /* empty.mm in Sources */ = {isa = PBXBuildFile; fileRef = 32F90B7A1B28906400DDC61B /* empty.mm */; };
71193D241A6D64F900E59A9E /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71193D231A6D64F900E59A9E /* AddressBook.framework */; };
71193D291A6E3DC000E59A9E /* ContactsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71193D281A6E3DC000E59A9E /* ContactsViewController.m */; };
@ -16,30 +15,32 @@
F013EEEC1A40D437002BB093 /* matrixConsole-Defaults.plist in Resources */ = {isa = PBXBuildFile; fileRef = F013EEEB1A40D437002BB093 /* matrixConsole-Defaults.plist */; };
F01449A31B53E06A00EA7D73 /* GlobalNotificationSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F01449A21B53E06A00EA7D73 /* GlobalNotificationSettingsViewController.m */; };
F01449B41B56B14D00EA7D73 /* AccountDetailsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F01449B31B56B14D00EA7D73 /* AccountDetailsViewController.m */; };
F024098219E7D177006E741B /* tab_recents@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F024098119E7D177006E741B /* tab_recents@2x.png */; };
F03EF5F619F171EB00A0EE52 /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F03EF5EB19F171EB00A0EE52 /* HomeViewController.m */; };
F03EF5F719F171EB00A0EE52 /* AuthenticationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F03EF5ED19F171EB00A0EE52 /* AuthenticationViewController.m */; };
F03EF5F819F171EB00A0EE52 /* MasterTabBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = F03EF5EF19F171EB00A0EE52 /* MasterTabBarController.m */; };
F03EF5F919F171EB00A0EE52 /* RecentsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F03EF5F119F171EB00A0EE52 /* RecentsViewController.m */; };
F03EF5FA19F171EB00A0EE52 /* RoomViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F03EF5F319F171EB00A0EE52 /* RoomViewController.m */; };
F03EF5FB19F171EB00A0EE52 /* SettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F03EF5F519F171EB00A0EE52 /* SettingsViewController.m */; };
F04B2DA51A977A9B00EEA4C8 /* tab_settings.png in Resources */ = {isa = PBXBuildFile; fileRef = F04B2DA11A977A9B00EEA4C8 /* tab_settings.png */; };
F04B2DA61A977A9B00EEA4C8 /* tab_settings@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F04B2DA21A977A9B00EEA4C8 /* tab_settings@2x.png */; };
F05C3A3E1A3F3D7F002B698E /* icon_users.png in Resources */ = {isa = PBXBuildFile; fileRef = F05C3A3C1A3F3D7F002B698E /* icon_users.png */; };
F05C3A3F1A3F3D7F002B698E /* icon_users@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F05C3A3D1A3F3D7F002B698E /* icon_users@2x.png */; };
F07A80D819DD9DE700B621A1 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F07A80D719DD9DE700B621A1 /* main.m */; };
F07A80DB19DD9DE700B621A1 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F07A80DA19DD9DE700B621A1 /* AppDelegate.m */; };
F07A80E419DD9DE700B621A1 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F07A80E219DD9DE700B621A1 /* Main.storyboard */; };
F07A80E619DD9DE700B621A1 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F07A80E519DD9DE700B621A1 /* Images.xcassets */; };
F07A80E919DD9DE700B621A1 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = F07A80E719DD9DE700B621A1 /* LaunchScreen.xib */; };
F07A80F519DD9DE700B621A1 /* matrixConsoleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F07A80F419DD9DE700B621A1 /* matrixConsoleTests.m */; };
F08B6FCC1A1DE7F80094A35B /* matrixConsole.jpg in Resources */ = {isa = PBXBuildFile; fileRef = F08B6FCB1A1DE7F80094A35B /* matrixConsole.jpg */; };
F08DCBDB1A093BFA008C65B6 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F08DCBDA1A093BFA008C65B6 /* MobileCoreServices.framework */; };
F0A1A5F71B73C1370061FE52 /* icon_users.png in Resources */ = {isa = PBXBuildFile; fileRef = F0A1A5EB1B73C1370061FE52 /* icon_users.png */; };
F0A1A5F81B73C1370061FE52 /* icon_users@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F0A1A5EC1B73C1370061FE52 /* icon_users@2x.png */; };
F0A1A5F91B73C1370061FE52 /* matrixConsole.jpg in Resources */ = {isa = PBXBuildFile; fileRef = F0A1A5ED1B73C1370061FE52 /* matrixConsole.jpg */; };
F0A1A5FA1B73C1370061FE52 /* tab_home.ico in Resources */ = {isa = PBXBuildFile; fileRef = F0A1A5EE1B73C1370061FE52 /* tab_home.ico */; };
F0A1A5FB1B73C1370061FE52 /* tab_recents.png in Resources */ = {isa = PBXBuildFile; fileRef = F0A1A5EF1B73C1370061FE52 /* tab_recents.png */; };
F0A1A5FC1B73C1370061FE52 /* tab_recents@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F0A1A5F01B73C1370061FE52 /* tab_recents@2x.png */; };
F0A1A5FD1B73C1370061FE52 /* tab_settings.png in Resources */ = {isa = PBXBuildFile; fileRef = F0A1A5F11B73C1370061FE52 /* tab_settings.png */; };
F0A1A5FE1B73C1370061FE52 /* tab_settings@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F0A1A5F21B73C1370061FE52 /* tab_settings@2x.png */; };
F0A1A5FF1B73C1370061FE52 /* video.png in Resources */ = {isa = PBXBuildFile; fileRef = F0A1A5F31B73C1370061FE52 /* video.png */; };
F0A1A6001B73C1370061FE52 /* voice.png in Resources */ = {isa = PBXBuildFile; fileRef = F0A1A5F41B73C1370061FE52 /* voice.png */; };
F0A1A6061B73C66F0061FE52 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = F0A1A6021B73C66F0061FE52 /* Localizable.strings */; };
F0A1A6071B73C66F0061FE52 /* MatrixConsole.strings in Resources */ = {isa = PBXBuildFile; fileRef = F0A1A6041B73C66F0061FE52 /* MatrixConsole.strings */; };
F0ADEFFB1AD7D2B3008A4F21 /* RoomMembersViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F0ADEFFA1AD7D2B3008A4F21 /* RoomMembersViewController.m */; };
F0CEA5AF19E6895E00E47915 /* tab_recents.png in Resources */ = {isa = PBXBuildFile; fileRef = F0CEA5AD19E6895E00E47915 /* tab_recents.png */; };
F0CEA5B119E6898800E47915 /* tab_home.ico in Resources */ = {isa = PBXBuildFile; fileRef = F0CEA5B019E6898800E47915 /* tab_home.ico */; };
F0DB1ABF1B01E4AB00A3FA54 /* video.png in Resources */ = {isa = PBXBuildFile; fileRef = F0DB1ABD1B01E4AB00A3FA54 /* video.png */; };
F0DB1AC01B01E4AB00A3FA54 /* voice.png in Resources */ = {isa = PBXBuildFile; fileRef = F0DB1ABE1B01E4AB00A3FA54 /* voice.png */; };
F0F148A81AB1BF01005F5D4A /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F0F148A71AB1BF01005F5D4A /* AudioToolbox.framework */; };
F0F535BB1ACD6C4F00B603F8 /* RageShakeManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F0F535BA1ACD6C4F00B603F8 /* RageShakeManager.m */; };
F0F535BF1ACDE46200B603F8 /* RecentListDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = F0F535BE1ACDE46200B603F8 /* RecentListDataSource.m */; };
@ -57,7 +58,6 @@
/* Begin PBXFileReference section */
13057A57E74FD5504196F47F /* Pods-matrixConsole.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-matrixConsole.release.xcconfig"; path = "Pods/Target Support Files/Pods-matrixConsole/Pods-matrixConsole.release.xcconfig"; sourceTree = "<group>"; };
3198D9E21A68338B00556695 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
32F90B7A1B28906400DDC61B /* empty.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = empty.mm; sourceTree = "<group>"; };
71193D231A6D64F900E59A9E /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; };
71193D271A6E3DC000E59A9E /* ContactsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactsViewController.h; sourceTree = "<group>"; };
@ -70,7 +70,6 @@
F01449A21B53E06A00EA7D73 /* GlobalNotificationSettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GlobalNotificationSettingsViewController.m; sourceTree = "<group>"; };
F01449B21B56B14D00EA7D73 /* AccountDetailsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccountDetailsViewController.h; sourceTree = "<group>"; };
F01449B31B56B14D00EA7D73 /* AccountDetailsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AccountDetailsViewController.m; sourceTree = "<group>"; };
F024098119E7D177006E741B /* tab_recents@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tab_recents@2x.png"; sourceTree = "<group>"; };
F03EF5EA19F171EB00A0EE52 /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewController.h; sourceTree = "<group>"; };
F03EF5EB19F171EB00A0EE52 /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = "<group>"; };
F03EF5EC19F171EB00A0EE52 /* AuthenticationViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AuthenticationViewController.h; sourceTree = "<group>"; };
@ -83,10 +82,6 @@
F03EF5F319F171EB00A0EE52 /* RoomViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RoomViewController.m; sourceTree = "<group>"; };
F03EF5F419F171EB00A0EE52 /* SettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsViewController.h; sourceTree = "<group>"; };
F03EF5F519F171EB00A0EE52 /* SettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SettingsViewController.m; sourceTree = "<group>"; };
F04B2DA11A977A9B00EEA4C8 /* tab_settings.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tab_settings.png; sourceTree = "<group>"; };
F04B2DA21A977A9B00EEA4C8 /* tab_settings@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tab_settings@2x.png"; sourceTree = "<group>"; };
F05C3A3C1A3F3D7F002B698E /* icon_users.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_users.png; sourceTree = "<group>"; };
F05C3A3D1A3F3D7F002B698E /* icon_users@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_users@2x.png"; sourceTree = "<group>"; };
F07A80D219DD9DE700B621A1 /* matrixConsole.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = matrixConsole.app; sourceTree = BUILT_PRODUCTS_DIR; };
F07A80D619DD9DE700B621A1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
F07A80D719DD9DE700B621A1 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
@ -98,14 +93,21 @@
F07A80EE19DD9DE700B621A1 /* matrixConsoleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = matrixConsoleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
F07A80F319DD9DE700B621A1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
F07A80F419DD9DE700B621A1 /* matrixConsoleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = matrixConsoleTests.m; sourceTree = "<group>"; };
F08B6FCB1A1DE7F80094A35B /* matrixConsole.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = matrixConsole.jpg; sourceTree = "<group>"; };
F08DCBDA1A093BFA008C65B6 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
F0A1A5EB1B73C1370061FE52 /* icon_users.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_users.png; sourceTree = "<group>"; };
F0A1A5EC1B73C1370061FE52 /* icon_users@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_users@2x.png"; sourceTree = "<group>"; };
F0A1A5ED1B73C1370061FE52 /* matrixConsole.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = matrixConsole.jpg; sourceTree = "<group>"; };
F0A1A5EE1B73C1370061FE52 /* tab_home.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = tab_home.ico; sourceTree = "<group>"; };
F0A1A5EF1B73C1370061FE52 /* tab_recents.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tab_recents.png; sourceTree = "<group>"; };
F0A1A5F01B73C1370061FE52 /* tab_recents@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tab_recents@2x.png"; sourceTree = "<group>"; };
F0A1A5F11B73C1370061FE52 /* tab_settings.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tab_settings.png; sourceTree = "<group>"; };
F0A1A5F21B73C1370061FE52 /* tab_settings@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "tab_settings@2x.png"; sourceTree = "<group>"; };
F0A1A5F31B73C1370061FE52 /* video.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = video.png; sourceTree = "<group>"; };
F0A1A5F41B73C1370061FE52 /* voice.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voice.png; sourceTree = "<group>"; };
F0A1A6031B73C66F0061FE52 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = "<group>"; };
F0A1A6051B73C66F0061FE52 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = MatrixConsole.strings; sourceTree = "<group>"; };
F0ADEFF91AD7D2B3008A4F21 /* RoomMembersViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RoomMembersViewController.h; sourceTree = "<group>"; };
F0ADEFFA1AD7D2B3008A4F21 /* RoomMembersViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RoomMembersViewController.m; sourceTree = "<group>"; };
F0CEA5AD19E6895E00E47915 /* tab_recents.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tab_recents.png; sourceTree = "<group>"; };
F0CEA5B019E6898800E47915 /* tab_home.ico */ = {isa = PBXFileReference; lastKnownFileType = image.ico; path = tab_home.ico; sourceTree = "<group>"; };
F0DB1ABD1B01E4AB00A3FA54 /* video.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = video.png; sourceTree = "<group>"; };
F0DB1ABE1B01E4AB00A3FA54 /* voice.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voice.png; sourceTree = "<group>"; };
F0F148A71AB1BF01005F5D4A /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
F0F535B91ACD6C4F00B603F8 /* RageShakeManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RageShakeManager.h; sourceTree = "<group>"; };
F0F535BA1ACD6C4F00B603F8 /* RageShakeManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RageShakeManager.m; sourceTree = "<group>"; };
@ -166,17 +168,8 @@
F01628B519E298710071C473 /* Assets */ = {
isa = PBXGroup;
children = (
F0DB1ABD1B01E4AB00A3FA54 /* video.png */,
F0DB1ABE1B01E4AB00A3FA54 /* voice.png */,
F05C3A3C1A3F3D7F002B698E /* icon_users.png */,
F05C3A3D1A3F3D7F002B698E /* icon_users@2x.png */,
F08B6FCB1A1DE7F80094A35B /* matrixConsole.jpg */,
F0CEA5B019E6898800E47915 /* tab_home.ico */,
F0CEA5AD19E6895E00E47915 /* tab_recents.png */,
F024098119E7D177006E741B /* tab_recents@2x.png */,
F04B2DA11A977A9B00EEA4C8 /* tab_settings.png */,
F04B2DA21A977A9B00EEA4C8 /* tab_settings@2x.png */,
3198D9E31A68338B00556695 /* Localizable.strings */,
F0A1A6011B73C66F0061FE52 /* en.lproj */,
F0A1A5E81B73C1370061FE52 /* Images */,
);
path = Assets;
sourceTree = "<group>";
@ -292,6 +285,32 @@
name = "Supporting Files";
sourceTree = "<group>";
};
F0A1A5E81B73C1370061FE52 /* Images */ = {
isa = PBXGroup;
children = (
F0A1A5EB1B73C1370061FE52 /* icon_users.png */,
F0A1A5EC1B73C1370061FE52 /* icon_users@2x.png */,
F0A1A5ED1B73C1370061FE52 /* matrixConsole.jpg */,
F0A1A5EE1B73C1370061FE52 /* tab_home.ico */,
F0A1A5EF1B73C1370061FE52 /* tab_recents.png */,
F0A1A5F01B73C1370061FE52 /* tab_recents@2x.png */,
F0A1A5F11B73C1370061FE52 /* tab_settings.png */,
F0A1A5F21B73C1370061FE52 /* tab_settings@2x.png */,
F0A1A5F31B73C1370061FE52 /* video.png */,
F0A1A5F41B73C1370061FE52 /* voice.png */,
);
path = Images;
sourceTree = "<group>";
};
F0A1A6011B73C66F0061FE52 /* en.lproj */ = {
isa = PBXGroup;
children = (
F0A1A6021B73C66F0061FE52 /* Localizable.strings */,
F0A1A6041B73C66F0061FE52 /* MatrixConsole.strings */,
);
path = en.lproj;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@ -374,22 +393,23 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
F024098219E7D177006E741B /* tab_recents@2x.png in Resources */,
F0A1A6061B73C66F0061FE52 /* Localizable.strings in Resources */,
F0A1A5F91B73C1370061FE52 /* matrixConsole.jpg in Resources */,
F0A1A5F81B73C1370061FE52 /* icon_users@2x.png in Resources */,
F07A80E419DD9DE700B621A1 /* Main.storyboard in Resources */,
F013EEEC1A40D437002BB093 /* matrixConsole-Defaults.plist in Resources */,
F0A1A5F71B73C1370061FE52 /* icon_users.png in Resources */,
F07A80E919DD9DE700B621A1 /* LaunchScreen.xib in Resources */,
F04B2DA51A977A9B00EEA4C8 /* tab_settings.png in Resources */,
F0CEA5AF19E6895E00E47915 /* tab_recents.png in Resources */,
F0A1A5FC1B73C1370061FE52 /* tab_recents@2x.png in Resources */,
F0A1A6001B73C1370061FE52 /* voice.png in Resources */,
F0A1A5FB1B73C1370061FE52 /* tab_recents.png in Resources */,
F0A1A5FA1B73C1370061FE52 /* tab_home.ico in Resources */,
F0A1A5FF1B73C1370061FE52 /* video.png in Resources */,
F0A1A5FD1B73C1370061FE52 /* tab_settings.png in Resources */,
717629521A7A682A00927125 /* countryCodes.plist in Resources */,
F05C3A3F1A3F3D7F002B698E /* icon_users@2x.png in Resources */,
F05C3A3E1A3F3D7F002B698E /* icon_users.png in Resources */,
F0CEA5B119E6898800E47915 /* tab_home.ico in Resources */,
F0DB1ABF1B01E4AB00A3FA54 /* video.png in Resources */,
3198D9E11A68338B00556695 /* Localizable.strings in Resources */,
F07A80E619DD9DE700B621A1 /* Images.xcassets in Resources */,
F0DB1AC01B01E4AB00A3FA54 /* voice.png in Resources */,
F08B6FCC1A1DE7F80094A35B /* matrixConsole.jpg in Resources */,
F04B2DA61A977A9B00EEA4C8 /* tab_settings@2x.png in Resources */,
F0A1A5FE1B73C1370061FE52 /* tab_settings@2x.png in Resources */,
F0A1A6071B73C66F0061FE52 /* MatrixConsole.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -477,14 +497,6 @@
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
3198D9E31A68338B00556695 /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
3198D9E21A68338B00556695 /* en */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
F07A80E219DD9DE700B621A1 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
@ -501,6 +513,22 @@
name = LaunchScreen.xib;
sourceTree = "<group>";
};
F0A1A6021B73C66F0061FE52 /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
F0A1A6031B73C66F0061FE52 /* en */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
F0A1A6041B73C66F0061FE52 /* MatrixConsole.strings */ = {
isa = PBXVariantGroup;
children = (
F0A1A6051B73C66F0061FE52 /* en */,
);
name = MatrixConsole.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */

View file

@ -22,6 +22,8 @@
#import "GBDeviceInfo_iOS.h"
#import "NSBundle+MatrixKit.h"
static RageShakeManager* sharedInstance = nil;
@interface RageShakeManager() {
@ -65,10 +67,10 @@ static RageShakeManager* sharedInstance = nil;
- (void)promptCrashReportInViewController:(UIViewController*)viewController {
if ([MXLogger crashLog] && [MFMailComposeViewController canSendMail]) {
confirmationAlert = [[MXKAlert alloc] initWithTitle:@"The application has crashed last time. Would you like to submit a crash report?" message:nil style:MXKAlertStyleAlert];
confirmationAlert = [[MXKAlert alloc] initWithTitle:NSLocalizedStringFromTable(@"bug_report_prompt", @"MatrixConsole", nil) message:nil style:MXKAlertStyleAlert];
__weak typeof(self) weakSelf = self;
[confirmationAlert addActionWithTitle:@"Cancel" style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert) {
[confirmationAlert addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"cancel"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert) {
typeof(self) self = weakSelf;
self->confirmationAlert = nil;
@ -76,7 +78,7 @@ static RageShakeManager* sharedInstance = nil;
[MXLogger deleteCrashLog];
}];
[confirmationAlert addActionWithTitle:@"OK" style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert) {
[confirmationAlert addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"ok"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert) {
typeof(self) self = weakSelf;
self->confirmationAlert = nil;
@ -108,15 +110,15 @@ static RageShakeManager* sharedInstance = nil;
&& (([[NSDate date] timeIntervalSince1970] - startShakingTimeStamp) > RAGESHAKEMANAGER_MINIMUM_SHAKING_DURATION)) {
if ([responder isKindOfClass:[UIViewController class]] && [MFMailComposeViewController canSendMail]) {
confirmationAlert = [[MXKAlert alloc] initWithTitle:@"You seem to be shaking the phone in frustration. Would you like to submit a bug report?" message:nil style:MXKAlertStyleAlert];
confirmationAlert = [[MXKAlert alloc] initWithTitle:NSLocalizedStringFromTable(@"rage_shake_prompt", @"MatrixConsole", nil) message:nil style:MXKAlertStyleAlert];
__weak typeof(self) weakSelf = self;
[confirmationAlert addActionWithTitle:@"Cancel" style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert) {
[confirmationAlert addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"cancel"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert) {
typeof(self) self = weakSelf;
self->confirmationAlert = nil;
}];
[confirmationAlert addActionWithTitle:@"OK" style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert) {
[confirmationAlert addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"ok"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert) {
typeof(self) self = weakSelf;
self->confirmationAlert = nil;
[self sendEmail:(UIViewController*)responder withSnapshot:YES];

View file

@ -20,6 +20,8 @@
#import "MXKContactManager.h"
#import "RageShakeManager.h"
#import "NSBundle+MatrixKit.h"
#import "AFNetworkReachabilityManager.h"
#import <AudioToolbox/AudioToolbox.h>
@ -119,7 +121,7 @@
_build = buildNumber;
} else
{
_build = buildBranch ? buildBranch : @"(no build info)";
_build = buildBranch ? buildBranch : NSLocalizedStringFromTable(@"settings_config_no_build_info", @"MatrixConsole", nil);
}
}
return _build;
@ -611,12 +613,12 @@
NSString *title = [error.userInfo valueForKey:NSLocalizedFailureReasonErrorKey];
if (!title)
{
title = @"Error";
title = [NSBundle mxk_localizedStringForKey:@"error"];
}
NSString *msg = [error.userInfo valueForKey:NSLocalizedDescriptionKey];
self.errorNotification = [[MXKAlert alloc] initWithTitle:title message:msg style:MXKAlertStyleAlert];
self.errorNotification.cancelButtonIndex = [self.errorNotification addActionWithTitle:@"OK" style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
self.errorNotification.cancelButtonIndex = [self.errorNotification addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"ok"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
{
[AppDelegate theDelegate].errorNotification = nil;
}];
@ -687,14 +689,14 @@
self.mxInAppNotification = [[MXKAlert alloc] initWithTitle:roomState.displayname
message:messageText
style:MXKAlertStyleAlert];
self.mxInAppNotification.cancelButtonIndex = [self.mxInAppNotification addActionWithTitle:@"Cancel"
self.mxInAppNotification.cancelButtonIndex = [self.mxInAppNotification addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"cancel"]
style:MXKAlertActionStyleDefault
handler:^(MXKAlert *alert)
{
weakSelf.mxInAppNotification = nil;
[account updateNotificationListenerForRoomId:event.roomId ignore:YES];
}];
[self.mxInAppNotification addActionWithTitle:@"View"
[self.mxInAppNotification addActionWithTitle:NSLocalizedStringFromTable(@"view", @"MatrixConsole", nil)
style:MXKAlertActionStyleDefault
handler:^(MXKAlert *alert)
{
@ -784,7 +786,7 @@
[accountPicker dismiss:NO];
}
accountPicker = [[MXKAlert alloc] initWithTitle:@"Select an account" message:nil style:MXKAlertStyleActionSheet];
accountPicker = [[MXKAlert alloc] initWithTitle:[NSBundle mxk_localizedStringForKey:@"select_account"] message:nil style:MXKAlertStyleActionSheet];
__weak typeof(self) weakSelf = self;
for(MXKAccount *account in mxAccounts)
@ -801,7 +803,7 @@
}];
}
accountPicker.cancelButtonIndex = [accountPicker addActionWithTitle:@"Cancel" style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
accountPicker.cancelButtonIndex = [accountPicker addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"cancel"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
{
__strong __typeof(weakSelf)strongSelf = weakSelf;
strongSelf->accountPicker = nil;
@ -988,7 +990,7 @@
// Create statusBarButton
callStatusBarButton = [UIButton buttonWithType:UIButtonTypeCustom];
callStatusBarButton.frame = CGRectMake(0, 0, topBarSize.width,topBarSize.height);
NSString *btnTitle = @"Return to call";
NSString *btnTitle = NSLocalizedStringFromTable(@"return_to_call", @"MatrixConsole", nil);
[callStatusBarButton setTitle:btnTitle forState:UIControlStateNormal];
[callStatusBarButton setTitle:btnTitle forState:UIControlStateHighlighted];

View file

Before

Width:  |  Height:  |  Size: 397 B

After

Width:  |  Height:  |  Size: 397 B

View file

Before

Width:  |  Height:  |  Size: 194 B

After

Width:  |  Height:  |  Size: 194 B

View file

Before

Width:  |  Height:  |  Size: 536 B

After

Width:  |  Height:  |  Size: 536 B

View file

Before

Width:  |  Height:  |  Size: 723 B

After

Width:  |  Height:  |  Size: 723 B

View file

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 198 B

View file

Before

Width:  |  Height:  |  Size: 1,013 B

After

Width:  |  Height:  |  Size: 1,013 B

View file

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

Before

Width:  |  Height:  |  Size: 682 B

After

Width:  |  Height:  |  Size: 682 B

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 597 B

After

Width:  |  Height:  |  Size: 597 B

View file

Before

Width:  |  Height:  |  Size: 689 B

After

Width:  |  Height:  |  Size: 689 B

View file

@ -0,0 +1,113 @@
/*
Copyright 2015 OpenMarket Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/* *********************** */
/* iOS specific */
/* *********************** */
// Titles
"recents" = "Recents";
"accounts" = "Accounts";
// Action
"return_to_call" = "Return to call";
"join" = "Join";
"chat_with_user" = "Chat with %@";
// Contact
"invitation_subject" = "Matrix.org is magic";
"contact_local_sync_prompt" = "Allow local contacts synchronization?";
// Settings
"settings_config_ios_console_version" = "Console version: %@";
"settings_config_ios_kit_version" = "MatrixKit version: %@";
"settings_config_ios_sdk_version" = "MatrixSDK version: %@";
"settings_config_no_build_info" = "(no build info)";
"settings_contact_sync" = "Sync local contacts";
"settings_country_select" = "Select your country";
"settings_show_redactions" = "Show redactions";
"settings_show_unsupported_events" = "Show unsupported events";
"settings_max_cache_size" = "Maximum cache size (%@)";
// Accounts
"account_logout_all" = "Logout all accounts";
// Others
"public_room_section_title" = "Public Rooms (at %@):";
"public_room_empty_section_title" = "No Public Rooms (at %@)";
"mark_all_as_read_prompt" = "Mark all as read?";
"bug_report_prompt" = "The application has crashed last time. Would you like to submit a crash report?";
"rage_shake_prompt" = "You seem to be shaking the phone in frustration. Would you like to submit a bug report?";
/* -*-
Automatic localization for en
The following key/value pairs were extracted from the android i18n file:
/console/src/main/res/values/strings.xml.
*/
// titles
// button names
"view" = "View";
"chat_with" = "Chat with ";
// actions
"create_room" = "Create Room";
"join_room" = "Join Room";
// Login Screen
"login_error_must_start_http" = "URL must start with http[s]://";
// members list Screen
// accounts list Screen
// image size selection
// invitation members list Screen
// room creation dialog Screen
// room info dialog Screen
// contacts list screen
"contacts" = "Contacts";
"invite_this_user_to_use_matrix" = "Invite this user to use matrix with";
"invitation_message" = "I\'d like to chat with you with matrix. Please, visit the website http://matrix.org to have more information.";
// Settings screen
"settings_webclient_push" = "To configure global notification settings (like rules), go find a webclient and hit Settings > Notifications.";
"settings_title_config" = "Configuration";
"settings_title_rooms" = "Rooms";
"settings_title_commands" = "Commands";
"settings_config_build_number" = "Build: %@";
"settings_display_all_events" = "Display all events";
"settings_sort_by_last_seen" = "Sort members by last seen time";
"settings_display_left_members" = "Display left members";
"settings_clear_cache" = "Clear cache";
// Notification settings screen
"notification_settings_global_notification_settings" = "Global Notification Settings";
// gcm section
"settings_command_commands" = "The following commands are available in the room chat:\n\n /nick <display_name>: change your display name\n /me <action>: send the action you are doing. /me will be replaced by your display name\n /join <room_alias>: join a room\n /kick <user_id> [<reason>]: kick the user\n /ban <user_id> [<reason>]: ban the user\n /unban <user_id>: unban the user\n /op <user_id> <power_level>: set user power level\n /deop <user_id>: reset user power level to the room default value";
// Settings keys
// call string

View file

@ -18,8 +18,6 @@
#import "RageShakeManager.h"
NSString* const kAccountDetailsNotificationRulesUserInfo = @"To configure global notification settings (like rules), go find a webclient and hit Settings > Notifications.";
@interface AccountDetailsViewController()
{
NSInteger globalNotificationSettingsRowIndex;
@ -73,8 +71,8 @@ NSString* const kAccountDetailsNotificationRulesUserInfo = @"To configure global
{
globalNotifSettingsBtnCell = [[MXKTableViewCellWithButton alloc] init];
}
[globalNotifSettingsBtnCell.mxkButton setTitle:@"Global Notification Settings" forState:UIControlStateNormal];
[globalNotifSettingsBtnCell.mxkButton setTitle:@"Global Notification Settings" forState:UIControlStateHighlighted];
[globalNotifSettingsBtnCell.mxkButton setTitle:NSLocalizedStringFromTable(@"notification_settings_global_notification_settings", @"MatrixConsole", nil) forState:UIControlStateNormal];
[globalNotifSettingsBtnCell.mxkButton setTitle:NSLocalizedStringFromTable(@"notification_settings_global_notification_settings", @"MatrixConsole", nil) forState:UIControlStateHighlighted];
[globalNotifSettingsBtnCell.mxkButton addTarget:self action:@selector(onButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
globalNotifSettingsButton = globalNotifSettingsBtnCell.mxkButton;
@ -88,7 +86,7 @@ NSString* const kAccountDetailsNotificationRulesUserInfo = @"To configure global
// userInfoCell = [[MXKTableViewCellWithTextView alloc] init];
// }
//
// userInfoCell.mxkTextView.text = kAccountDetailsNotificationRulesUserInfo;
// userInfoCell.mxkTextView.text = NSLocalizedStringFromTable(@"settings_webclient_push", @"MatrixConsole", nil);
// cell = userInfoCell;
}
else
@ -110,7 +108,7 @@ NSString* const kAccountDetailsNotificationRulesUserInfo = @"To configure global
// {
// UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, MAXFLOAT)];
// textView.font = [UIFont systemFontOfSize:14];
// textView.text = kAccountDetailsNotificationRulesUserInfo;
// textView.text = NSLocalizedStringFromTable(@"settings_webclient_push", @"MatrixConsole", nil);
// CGSize contentSize = [textView sizeThatFits:textView.frame.size];
// return contentSize.height + 1;
// }

View file

@ -20,7 +20,7 @@
#import "RageShakeManager.h"
NSString *const kInvitationMessage = @"I'd like to chat with you with matrix. Please, visit the website http://matrix.org to have more information.";
#import "NSBundle+MatrixKit.h"
@interface ContactsViewController ()
{
@ -83,14 +83,14 @@ NSString *const kInvitationMessage = @"I'd like to chat with you with matrix. Pl
{
__weak typeof(self) weakSelf = self;
self.allowContactSyncAlert = [[MXKAlert alloc] initWithTitle:@"Allow local contacts synchronization?" message:nil style:MXKAlertStyleAlert];
self.allowContactSyncAlert = [[MXKAlert alloc] initWithTitle:NSLocalizedStringFromTable(@"contact_local_sync_prompt", @"MatrixConsole", nil) message:nil style:MXKAlertStyleAlert];
[self.allowContactSyncAlert addActionWithTitle:@"No" style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
[self.allowContactSyncAlert addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"no"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
{
weakSelf.allowContactSyncAlert = nil;
}];
[self.allowContactSyncAlert addActionWithTitle:@"Yes" style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
[self.allowContactSyncAlert addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"yes"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
{
weakSelf.allowContactSyncAlert = nil;
dispatch_async(dispatch_get_main_queue(), ^{
@ -140,14 +140,14 @@ NSString *const kInvitationMessage = @"I'd like to chat with you with matrix. Pl
{
NSString* matrixID = [matrixIDs objectAtIndex:0];
self.startChatMenu = [[MXKAlert alloc] initWithTitle:[NSString stringWithFormat:@"Chat with %@", matrixID] message:nil style:MXKAlertStyleAlert];
self.startChatMenu = [[MXKAlert alloc] initWithTitle:[NSString stringWithFormat:NSLocalizedStringFromTable(@"chat_with_user", @"MatrixConsole", nil), matrixID] message:nil style:MXKAlertStyleAlert];
[self.startChatMenu addActionWithTitle:@"Cancel" style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
[self.startChatMenu addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"cancel"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
{
weakSelf.startChatMenu = nil;
}];
[self.startChatMenu addActionWithTitle:@"OK" style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
[self.startChatMenu addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"ok"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
{
weakSelf.startChatMenu = nil;
@ -156,7 +156,7 @@ NSString *const kInvitationMessage = @"I'd like to chat with you with matrix. Pl
}
else
{
self.startChatMenu = [[MXKAlert alloc] initWithTitle:[NSString stringWithFormat:@"Chat with "] message:nil style:MXKAlertStyleActionSheet];
self.startChatMenu = [[MXKAlert alloc] initWithTitle:NSLocalizedStringFromTable(@"chat_with", @"MatrixConsole", nil) message:nil style:MXKAlertStyleActionSheet];
for(NSString* matrixID in matrixIDs)
{
@ -168,7 +168,7 @@ NSString *const kInvitationMessage = @"I'd like to chat with you with matrix. Pl
}];
}
[self.startChatMenu addActionWithTitle:@"Cancel" style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
[self.startChatMenu addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"cancel"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
{
weakSelf.startChatMenu = nil;
}];
@ -185,7 +185,7 @@ NSString *const kInvitationMessage = @"I'd like to chat with you with matrix. Pl
if (([MFMessageComposeViewController canSendText] ? contact.emailAddresses.count : 0) + (contact.phoneNumbers.count > 0))
{
self.startChatMenu = [[MXKAlert alloc] initWithTitle:[NSString stringWithFormat:@"Invite this user to use matrix with"] message:nil style:MXKAlertStyleActionSheet];
self.startChatMenu = [[MXKAlert alloc] initWithTitle:[NSString stringWithFormat:NSLocalizedStringFromTable(@"invite_this_user_to_use_matrix", @"MatrixConsole", nil)] message:nil style:MXKAlertStyleActionSheet];
// check if the target can send SMSes
if ([MFMessageComposeViewController canSendText])
@ -204,7 +204,7 @@ NSString *const kInvitationMessage = @"I'd like to chat with you with matrix. Pl
{
messageComposer.messageComposeDelegate = weakSelf;
messageComposer.body =kInvitationMessage;
messageComposer.body = NSLocalizedStringFromTable(@"invitation_message", @"MatrixConsole", nil);
messageComposer.recipients = [NSArray arrayWithObject:phonenumber.textNumber];
dispatch_async(dispatch_get_main_queue(), ^{
@ -224,15 +224,15 @@ NSString *const kInvitationMessage = @"I'd like to chat with you with matrix. Pl
dispatch_async(dispatch_get_main_queue(), ^{
NSString* subject = [ @"Matrix.org is magic" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString* body = [kInvitationMessage stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString* subject = [NSLocalizedStringFromTable(@"invitation_subject", @"MatrixConsole", nil) stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString* body = [NSLocalizedStringFromTable(@"invitation_message", @"MatrixConsole", nil) stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"mailto:%@?subject=%@&body=%@", email.emailAddress, subject, body]]];
});
}];
}
[self.startChatMenu addActionWithTitle:@"Cancel" style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
[self.startChatMenu addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"cancel"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
{
weakSelf.startChatMenu = nil;
}];

View file

@ -767,8 +767,8 @@ NSString *const kHomeViewControllerCreateRoomCellId = @"kHomeViewControllerCreat
joinRoomCell.mxkTextField.text = currentAlias;
joinRoomCell.mxkButton.enabled = (currentAlias.length != 0);
[joinRoomCell.mxkButton setTitle:@"Join" forState:UIControlStateNormal];
[joinRoomCell.mxkButton setTitle:@"Join" forState:UIControlStateHighlighted];
[joinRoomCell.mxkButton setTitle:NSLocalizedStringFromTable(@"join", @"MatrixConsole", nil) forState:UIControlStateNormal];
[joinRoomCell.mxkButton setTitle:NSLocalizedStringFromTable(@"join", @"MatrixConsole", nil) forState:UIControlStateHighlighted];
[joinRoomCell.mxkButton addTarget:self action:@selector(onButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
cell = joinRoomCell;
@ -848,11 +848,11 @@ NSString *const kHomeViewControllerCreateRoomCellId = @"kHomeViewControllerCreat
if (section == createRoomSection)
{
sectionLabel.text = @"Create Room:";
sectionLabel.text = NSLocalizedStringFromTable(@"create_room", @"MatrixConsole", nil);
}
else if (section == joinRoomSection)
{
sectionLabel.text = @"Join Room:";
sectionLabel.text = NSLocalizedStringFromTable(@"join_room", @"MatrixConsole", nil);
}
else
{
@ -875,7 +875,7 @@ NSString *const kHomeViewControllerCreateRoomCellId = @"kHomeViewControllerCreat
if (publicRooms)
{
sectionLabel.text = [NSString stringWithFormat:@"Public Rooms (at %@):", homeserver];
sectionLabel.text = [NSString stringWithFormat:NSLocalizedStringFromTable(@"public_room_section_title", @"MatrixConsole", nil), homeserver];
if (homeServers.count > 1)
{
@ -920,7 +920,7 @@ NSString *const kHomeViewControllerCreateRoomCellId = @"kHomeViewControllerCreat
}
else
{
sectionLabel.text = [NSString stringWithFormat:@"No Public Rooms (at %@)", homeserver];
sectionLabel.text = [NSString stringWithFormat:NSLocalizedStringFromTable(@"public_room_empty_section_title", @"MatrixConsole", nil), homeserver];
}
}

View file

@ -21,6 +21,8 @@
#import "RageShakeManager.h"
#import "NSBundle+MatrixKit.h"
@interface RecentsViewController ()
{
@ -219,11 +221,11 @@
- (void)updateNavigationBarTitle
{
NSString *title = @"Recents";
NSString *title = NSLocalizedStringFromTable(@"recents", @"MatrixConsole", nil);
if (self.dataSource.unreadCount)
{
title = [NSString stringWithFormat:@"Recents (%tu)", self.dataSource.unreadCount];
title = [NSString stringWithFormat:@"%@ (%tu)", title, self.dataSource.unreadCount];
}
self.navigationItem.title = title;
}
@ -291,15 +293,15 @@
{
__weak typeof(self) weakSelf = self;
markAllAsReadAlert = [[MXKAlert alloc] initWithTitle:@"Mark all as read?" message:nil style:MXKAlertStyleAlert];
markAllAsReadAlert = [[MXKAlert alloc] initWithTitle:NSLocalizedStringFromTable(@"mark_all_as_read_prompt", @"MatrixConsole", nil) message:nil style:MXKAlertStyleAlert];
markAllAsReadAlert.cancelButtonIndex = [markAllAsReadAlert addActionWithTitle:@"No" style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
markAllAsReadAlert.cancelButtonIndex = [markAllAsReadAlert addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"no"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
{
typeof(self) strongSelf = weakSelf;
strongSelf->markAllAsReadAlert = nil;
}];
[markAllAsReadAlert addActionWithTitle:@"Yes" style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
[markAllAsReadAlert addActionWithTitle:[NSBundle mxk_localizedStringForKey:@"yes"] style:MXKAlertActionStyleDefault handler:^(MXKAlert *alert)
{
typeof(self) strongSelf = weakSelf;

View file

@ -36,10 +36,6 @@
#define SETTINGS_SECTION_ROOMS_CLEAR_CACHE_INDEX 6
#define SETTINGS_SECTION_ROOMS_INDEX_COUNT 7
NSString* const kConfigurationFormatText = @"Console version: %@\r\nMatrixKit version: %@\r\nMatrixSDK version: %@\r\n%@";
NSString* const kBuildFormatText = @"Build: %@";
NSString* const kCommandsDescriptionText = @"The following commands are available in the room chat:\r\n\r\n /nick <display_name>: change your display name\r\n /me <action>: send the action you are doing. /me will be replaced by your display name\r\n /join <room_alias>: join a room\r\n /kick <user_id> [<reason>]: kick the user\r\n /ban <user_id> [<reason>]: ban the user\r\n /unban <user_id>: unban the user\r\n /op <user_id> <power_level>: set user power level\r\n /deop <user_id>: reset user power level to the room default value";
@interface SettingsViewController ()
{
MXKAccount *selectedAccount;
@ -298,7 +294,7 @@ NSString* const kCommandsDescriptionText = @"The following commands are availabl
[self setCurrentMaxCachesSize:slider.value];
maxCacheSizeCell.mxkLabel.text = [NSString stringWithFormat:@"Maximum cache size (%@)", [NSByteCountFormatter stringFromByteCount:self.currentMaxCachesSize countStyle:NSByteCountFormatterCountStyleFile]];
maxCacheSizeCell.mxkLabel.text = [NSString stringWithFormat:NSLocalizedStringFromTable(@"settings_max_cache_size", @"MatrixConsole", nil), [NSByteCountFormatter stringFromByteCount:self.currentMaxCachesSize countStyle:NSByteCountFormatterCountStyleFile]];
}
}
@ -392,8 +388,8 @@ NSString* const kCommandsDescriptionText = @"The following commands are availabl
{
logoutBtnCell = [[MXKTableViewCellWithButton alloc] init];
}
[logoutBtnCell.mxkButton setTitle:@"Logout all accounts" forState:UIControlStateNormal];
[logoutBtnCell.mxkButton setTitle:@"Logout all accounts" forState:UIControlStateHighlighted];
[logoutBtnCell.mxkButton setTitle:NSLocalizedStringFromTable(@"account_logout_all", @"MatrixConsole", nil) forState:UIControlStateNormal];
[logoutBtnCell.mxkButton setTitle:NSLocalizedStringFromTable(@"account_logout_all", @"MatrixConsole", nil) forState:UIControlStateHighlighted];
[logoutBtnCell.mxkButton addTarget:self action:@selector(logout:) forControlEvents:UIControlEventTouchUpInside];
cell = logoutBtnCell;
@ -411,7 +407,7 @@ NSString* const kCommandsDescriptionText = @"The following commands are availabl
[contactsCell.mxkSwitch addTarget:self action:@selector(onButtonPressed:) forControlEvents:UIControlEventValueChanged];
contactsCell.mxkLabel.text = @"Sync local contacts";
contactsCell.mxkLabel.text = NSLocalizedStringFromTable(@"settings_contact_sync", @"MatrixConsole", nil);
contactsCell.mxkSwitch.on = [_settings syncLocalContacts];
contactsSyncSwitch = contactsCell.mxkSwitch;
cell = contactsCell;
@ -441,7 +437,7 @@ NSString* const kCommandsDescriptionText = @"The following commands are availabl
countryCell = [[MXKTableViewCellWithLabelAndSubLabel alloc] init];
}
countryCell.mxkLabel.text = @"Select your country";
countryCell.mxkLabel.text = NSLocalizedStringFromTable(@"settings_country_select", @"MatrixConsole", nil);
countryCell.mxkSublabel.text = countryName;
countryCell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell = countryCell;
@ -482,7 +478,7 @@ NSString* const kCommandsDescriptionText = @"The following commands are availabl
clearCacheBtnCell = [[MXKTableViewCellWithButton alloc] init];
}
NSString *btnTitle = [NSString stringWithFormat:@"Clear Cache (%@)", [NSByteCountFormatter stringFromByteCount:self.cachesSize countStyle:NSByteCountFormatterCountStyleFile]];
NSString *btnTitle = [NSString stringWithFormat:@"%@ (%@)", NSLocalizedStringFromTable(@"settings_clear_cache", @"MatrixConsole", nil), [NSByteCountFormatter stringFromByteCount:self.cachesSize countStyle:NSByteCountFormatterCountStyleFile]];
[clearCacheBtnCell.mxkButton setTitle:btnTitle forState:UIControlStateNormal];
[clearCacheBtnCell.mxkButton setTitle:btnTitle forState:UIControlStateHighlighted];
@ -518,31 +514,31 @@ NSString* const kCommandsDescriptionText = @"The following commands are availabl
if (indexPath.row == SETTINGS_SECTION_ROOMS_DISPLAY_ALL_EVENTS_INDEX)
{
roomsSettingCell.mxkLabel.text = @"Display all events";
roomsSettingCell.mxkLabel.text = NSLocalizedStringFromTable(@"settings_display_all_events", @"MatrixConsole", nil);
roomsSettingCell.mxkSwitch.on = [_settings showAllEventsInRoomHistory];
allEventsSwitch = roomsSettingCell.mxkSwitch;
}
else if (indexPath.row == SETTINGS_SECTION_ROOMS_SHOW_REDACTIONS_INDEX)
{
roomsSettingCell.mxkLabel.text = @"Show redactions";
roomsSettingCell.mxkLabel.text = NSLocalizedStringFromTable(@"settings_show_redactions", @"MatrixConsole", nil);
roomsSettingCell.mxkSwitch.on = [_settings showRedactionsInRoomHistory];
redactionsSwitch = roomsSettingCell.mxkSwitch;
}
else if (indexPath.row == SETTINGS_SECTION_ROOMS_SHOW_UNSUPPORTED_EVENTS_INDEX)
{
roomsSettingCell.mxkLabel.text = @"Show unsupported events";
roomsSettingCell.mxkLabel.text = NSLocalizedStringFromTable(@"settings_show_unsupported_events", @"MatrixConsole", nil);
roomsSettingCell.mxkSwitch.on = [_settings showUnsupportedEventsInRoomHistory];
unsupportedEventsSwitch = roomsSettingCell.mxkSwitch;
}
else if (indexPath.row == SETTINGS_SECTION_ROOMS_SORT_MEMBERS_INDEX)
{
roomsSettingCell.mxkLabel.text = @"Sort members by last seen time";
roomsSettingCell.mxkLabel.text = NSLocalizedStringFromTable(@"settings_sort_by_last_seen", @"MatrixConsole", nil);
roomsSettingCell.mxkSwitch.on = [_settings sortRoomMembersUsingLastSeenTime];
sortMembersSwitch = roomsSettingCell.mxkSwitch;
}
else if (indexPath.row == SETTINGS_SECTION_ROOMS_DISPLAY_LEFT_MEMBERS_INDEX)
{
roomsSettingCell.mxkLabel.text = @"Display left members";
roomsSettingCell.mxkLabel.text = NSLocalizedStringFromTable(@"settings_display_left_members", @"MatrixConsole", nil);
roomsSettingCell.mxkSwitch.on = [_settings showLeftMembersInRoomMemberList];
displayLeftMembersSwitch = roomsSettingCell.mxkSwitch;
}
@ -562,9 +558,10 @@ NSString* const kCommandsDescriptionText = @"The following commands are availabl
NSString* build = [AppDelegate theDelegate].build;
if (build.length)
{
build = [NSString stringWithFormat:kBuildFormatText, build];
build = [NSString stringWithFormat:NSLocalizedStringFromTable(@"settings_config_build_number", @"MatrixConsole", nil), build];
}
configurationCell.mxkTextView.text = [NSString stringWithFormat:kConfigurationFormatText, appVersion, MatrixKitVersion, MatrixSDKVersion, build];
NSString *configurationFormatText = [NSString stringWithFormat:@"%@\n%@\n%@\n%@", NSLocalizedStringFromTable(@"settings_config_ios_console_version", @"MatrixConsole", nil), NSLocalizedStringFromTable(@"settings_config_ios_kit_version", @"MatrixConsole", nil), NSLocalizedStringFromTable(@"settings_config_ios_sdk_version", @"MatrixConsole", nil), @"%@"];
configurationCell.mxkTextView.text = [NSString stringWithFormat:configurationFormatText, appVersion, MatrixKitVersion, MatrixSDKVersion, build];
cell = configurationCell;
}
else if (indexPath.section == SETTINGS_SECTION_COMMANDS_INDEX)
@ -575,7 +572,7 @@ NSString* const kCommandsDescriptionText = @"The following commands are availabl
commandsCell = [[MXKTableViewCellWithTextView alloc] init];
}
commandsCell.mxkTextView.text = kCommandsDescriptionText;
commandsCell.mxkTextView.text = NSLocalizedStringFromTable(@"settings_command_commands", @"MatrixConsole", nil);
cell = commandsCell;
}
@ -614,9 +611,10 @@ NSString* const kCommandsDescriptionText = @"The following commands are availabl
NSString* build = [AppDelegate theDelegate].build;
if (build.length)
{
build = [NSString stringWithFormat:kBuildFormatText, build];
build = [NSString stringWithFormat:NSLocalizedStringFromTable(@"settings_config_build_number", @"MatrixConsole", nil), build];
}
textView.text = [NSString stringWithFormat:kConfigurationFormatText, appVersion, MatrixKitVersion, MatrixSDKVersion, build];
NSString *configurationFormatText = [NSString stringWithFormat:@"%@\n%@\n%@\n%@", NSLocalizedStringFromTable(@"settings_config_ios_console_version", @"MatrixConsole", nil), NSLocalizedStringFromTable(@"settings_config_ios_kit_version", @"MatrixConsole", nil), NSLocalizedStringFromTable(@"settings_config_ios_sdk_version", @"MatrixConsole", nil), @"%@"];
textView.text = [NSString stringWithFormat:configurationFormatText, appVersion, MatrixKitVersion, MatrixSDKVersion, build];
CGSize contentSize = [textView sizeThatFits:textView.frame.size];
return contentSize.height + 1;
}
@ -624,7 +622,7 @@ NSString* const kCommandsDescriptionText = @"The following commands are availabl
{
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, MAXFLOAT)];
textView.font = [UIFont systemFontOfSize:14];
textView.text = kCommandsDescriptionText;
textView.text = NSLocalizedStringFromTable(@"settings_command_commands", @"MatrixConsole", nil);
CGSize contentSize = [textView sizeThatFits:textView.frame.size];
return contentSize.height + 1;
}
@ -653,7 +651,7 @@ NSString* const kCommandsDescriptionText = @"The following commands are availabl
if (section == SETTINGS_SECTION_ACCOUNTS_INDEX)
{
sectionLabel.text = @"Accounts";
sectionLabel.text = NSLocalizedStringFromTable(@"accounts", @"MatrixConsole", nil);
UIButton *addAccount = [UIButton buttonWithType:UIButtonTypeContactAdd];
[addAccount addTarget:self action:@selector(addAccount:) forControlEvents:UIControlEventTouchUpInside];
@ -670,19 +668,19 @@ NSString* const kCommandsDescriptionText = @"The following commands are availabl
}
else if (section == SETTINGS_SECTION_CONTACTS_INDEX)
{
sectionLabel.text = @"Contacts";
sectionLabel.text = NSLocalizedStringFromTable(@"contacts", @"MatrixConsole", nil);
}
else if (section == SETTINGS_SECTION_ROOMS_INDEX)
{
sectionLabel.text = @"Rooms";
sectionLabel.text = NSLocalizedStringFromTable(@"settings_title_rooms", @"MatrixConsole", nil);
}
else if (section == SETTINGS_SECTION_CONFIGURATION_INDEX)
{
sectionLabel.text = @"Configuration";
sectionLabel.text = NSLocalizedStringFromTable(@"settings_title_config", @"MatrixConsole", nil);
}
else if (section == SETTINGS_SECTION_COMMANDS_INDEX)
{
sectionLabel.text = @"Commands";
sectionLabel.text = NSLocalizedStringFromTable(@"settings_title_commands", @"MatrixConsole", nil);
}
else
{