Commit 922380d1 authored by Alexandre Lision's avatar Alexandre Lision Committed by Guillaume Roguez

i18n: integrate translations to packaging

This commit adds internationalization support
We interface with Transifex as our web translation platform.

Two new scripts:
- generate-strings.sh: generates source files in English.
We need one source file by UI file
(Apple's law) + one Localizable.strings for strings in code.

- update-translations.sh: pulls translations completes at 75% at least
from transifex, and cleanup the files (UTF-16LE to UTF-8 encoding,
and remove first line with corrupted char)

Issue: #80347
Change-Id: Iefd297e424aaacefe6e867192e10dabd21bfb8d2
parent 46dc0c3f
[main]
host = https://www.transifex.com
[ring.localizablestrings]
file_filter = ui/<lang>.lproj/Localizable.strings
source_file = ui/Base.lproj/Localizable.strings
source_lang = en
type = STRINGS
[ring.osxAccAdvanced]
file_filter = ui/<lang>.lproj/AccAdvanced.strings
source_file = ui/Base.lproj/AccAdvanced.strings
source_lang = en
type = STRINGS
[ring.osxAccAudio]
file_filter = ui/<lang>.lproj/AccAudio.strings
source_file = ui/Base.lproj/AccAudio.strings
source_lang = en
type = STRINGS
[ring.osxAccGeneral]
file_filter = ui/<lang>.lproj/AccGeneral.strings
source_file = ui/Base.lproj/AccGeneral.strings
source_lang = en
type = STRINGS
[ring.osxAccounts]
file_filter = ui/<lang>.lproj/Accounts.strings
source_file = ui/Base.lproj/Accounts.strings
source_lang = en
type = STRINGS
[ring.osxAccRing]
file_filter = ui/<lang>.lproj/AccRing.strings
source_file = ui/Base.lproj/AccRing.strings
source_lang = en
type = STRINGS
[ring.osxAccSecurity]
file_filter = ui/<lang>.lproj/AccSecurity.strings
source_file = ui/Base.lproj/AccSecurity.strings
source_lang = en
type = STRINGS
[ring.osxAccVideo]
file_filter = ui/<lang>.lproj/AccVideo.strings
source_file = ui/Base.lproj/AccVideo.strings
source_lang = en
type = STRINGS
[ring.osxAudioPrefs]
file_filter = ui/<lang>.lproj/AudioPrefs.strings
source_file = ui/Base.lproj/AudioPrefs.strings
source_lang = en
type = STRINGS
[ring.osxCertificateWindow]
file_filter = ui/<lang>.lproj/CertificateWindow.strings
source_file = ui/Base.lproj/CertificateWindow.strings
source_lang = en
type = STRINGS
[ring.osxCurrentCall]
file_filter = ui/<lang>.lproj/CurrentCall.strings
source_file = ui/Base.lproj/CurrentCall.strings
source_lang = en
type = STRINGS
[ring.osxGeneralPrefs]
file_filter = ui/<lang>.lproj/GeneralPrefs.strings
source_file = ui/Base.lproj/GeneralPrefs.strings
source_lang = en
type = STRINGS
[ring.osxMainMenu]
file_filter = ui/<lang>.lproj/MainMenu.strings
source_file = ui/Base.lproj/MainMenu.strings
source_lang = en
type = STRINGS
[ring.osxPersonLinker]
file_filter = ui/<lang>.lproj/PersonLinker.strings
source_file = ui/Base.lproj/PersonLinker.strings
source_lang = en
type = STRINGS
[ring.osxPreferencesScreen]
file_filter = ui/<lang>.lproj/PreferencesScreen.strings
source_file = ui/Base.lproj/PreferencesScreen.strings
source_lang = en
type = STRINGS
[ring.osxRingWindow]
file_filter = ui/<lang>.lproj/RingWindow.strings
source_file = ui/Base.lproj/RingWindow.strings
source_lang = en
type = STRINGS
[ring.osxRingWizard]
file_filter = ui/<lang>.lproj/RingWizard.strings
source_file = ui/Base.lproj/RingWizard.strings
source_lang = en
type = STRINGS
[ring.osxVideoPrefs]
file_filter = ui/<lang>.lproj/VideoPrefs.strings
source_file = ui/Base.lproj/VideoPrefs.strings
source_lang = en
type = STRINGS
......@@ -201,6 +201,31 @@ FOREACH(QM_FILE ${QM_LIST})
PROPERTIES MACOSX_PACKAGE_LOCATION Resources/QtTranslations)
SET(LOCALIZED_${LANG} ${LOCALIZED_${LANG}}
"${LRC_TRANSLATIONS_PATH}/lrc_${LANG}.qm")
ENDFOREACH()
# Check which translations are found for the client
FILE(GLOB LPROJ_LIST ui/*.lproj)
FOREACH(LPROJ ${LPROJ_LIST})
# Extract country code from <lang>.lproj folder name
GET_FILENAME_COMPONENT(LANG ${LPROJ} NAME_WE)
IF(EXISTS "${LPROJ}/Localizable.strings")
MESSAGE("Localizable:" ${LANG})
SET_SOURCE_FILES_PROPERTIES(${LPROJ}/Localizable.strings
PROPERTIES MACOSX_PACKAGE_LOCATION Resources/${LANG}.lproj/)
SET(LOCALIZED_${LANG} ${LOCALIZED_${LANG}}
${LPROJ}/Localizable.strings)
ENDIF()
FOREACH(xib ${ringclient_XIBS})
IF(EXISTS "${LPROJ}/${xib}.strings")
SET_SOURCE_FILES_PROPERTIES(${LPROJ}/${xib}.strings
PROPERTIES MACOSX_PACKAGE_LOCATION Resources/${LANG}.lproj/)
SET(LOCALIZED_${LANG} ${LOCALIZED_${LANG}}
${LPROJ}/${xib}.strings)
ENDIF()
ENDFOREACH()
# Regroup those files under a .lproj folder
SOURCE_GROUP("Resources\\${LANG}.lproj" FILES
......@@ -211,7 +236,7 @@ ENDFOREACH()
# append '.xib' extension before linking xib files in executable
FOREACH(xib ${ringclient_XIBS})
SET(ringclient_XIBS_FOR_EXECUTABLE ${ringclient_XIBS_FOR_EXECUTABLE} ui/${xib}.xib)
SET(ringclient_XIBS_FOR_EXECUTABLE ${ringclient_XIBS_FOR_EXECUTABLE} ui/Base.lproj/${xib}.xib)
ENDFOREACH()
SET(TO_ADD
......@@ -288,9 +313,9 @@ endif()
FOREACH(xib ${ringclient_XIBS})
ADD_CUSTOM_COMMAND(TARGET ${PROJ_NAME} POST_BUILD
COMMAND ${IBTOOL} --errors --warnings --notices --output-format human-readable-text
--compile ${CMAKE_CURRENT_BINARY_DIR}/\${CONFIGURATION}/${PROJ_NAME}.app/Contents/Resources/${xib}.nib
${CMAKE_CURRENT_SOURCE_DIR}/ui/${xib}.xib
COMMENT "Compiling ${CMAKE_CURRENT_SOURCE_DIR}/ui/${xib}.xib")
--compile ${CMAKE_CURRENT_BINARY_DIR}/\${CONFIGURATION}/${PROJ_NAME}.app/Contents/Resources/Base.lproj/${xib}.nib
${CMAKE_CURRENT_SOURCE_DIR}/ui/Base.lproj/${xib}.xib
COMMENT "Compiling ${CMAKE_CURRENT_SOURCE_DIR}/ui/Base.lproj/${xib}.xib")
ENDFOREACH()
......
#!/bin/bash
# Copyright (C) 2015 Savoir-faire Linux Inc.
# Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# This scripts generates .strings files for Base language (e.g: english)
# These files are encoded in UTF-16LE which is interpreted as binary in Git,
# and therefore not visible when using 'git diff'
echo "Regenerating Localizable.strings..."
find src -name '*.mm' | xargs genstrings -o ui/Base.lproj
iconv -f UTF-16LE -t UTF-8 ui/Base.lproj/Localizable.strings > ui/Base.lproj/Localizable.strings.8
sed '1s/.*//' ui/Base.lproj/Localizable.strings.8 > ui/Base.lproj/Localizable.strings
rm ui/Base.lproj/Localizable.strings.8
# generate strings from XIBs
for file in `find ui -name '*.xib' -and -path '*/Base.lproj/*'`; do
strings_file=`echo $file | sed s/\.xib/.strings/`
echo "Regenerating $strings_file..."
ibtool --generate-strings-file $strings_file $file
# Change file encoding
iconv -f UTF-16LE -t UTF-8 $strings_file > $strings_file.8
# Empty first line
sed '1s/.*//' $strings_file.8 > $strings_file
rm $strings_file.8
done
......@@ -113,7 +113,8 @@
[bootstrapField setStringValue:account->hostname().toNSString()];
if([account->username().toNSString() isEqualToString:@""])
[hashField setStringValue:@"Reopen account to see your hash"];
[hashField setStringValue:NSLocalizedString(@"Reopen account to see your hash",
@"Show advice to user")];
else
[hashField setStringValue:account->username().toNSString()];
......
......@@ -353,7 +353,7 @@
[openPanel setTitle:NSLocalizedString(@"Choose a private key file", @"Open panel title")];
}
[openPanel setPrompt:NSLocalizedString(@"Choose", @"Open panel prompt for 'Choose a file'")];
[openPanel setPrompt:NSLocalizedString(@"Choose CA", @"Open panel prompt for 'Choose a file'")];
[openPanel setDelegate:self];
}
......
......@@ -166,7 +166,7 @@
[openPanel setCanChooseFiles:NO];
[openPanel setResolvesAliases:YES];
[openPanel setTitle:NSLocalizedString(@"Choose a file", @"Open panel title")];
[openPanel setPrompt:NSLocalizedString(@"Choose", @"Open panel prompt for 'Choose a directory'")];
[openPanel setPrompt:NSLocalizedString(@"Choose file", @"Open panel prompt for 'Choose a directory'")];
[openPanel setDelegate:self];
}
......
......@@ -200,7 +200,7 @@
if (!contactmethod->contact() || contactmethod->contact()->isPlaceHolder()) {
NSMenu *theMenu = [[NSMenu alloc]
initWithTitle:@""];
[theMenu insertItemWithTitle:@"Add to contact"
[theMenu insertItemWithTitle:NSLocalizedString(@"Add to contacts", @"Contextual menu action")
action:@selector(addToContact)
keyEquivalent:@"a"
atIndex:0];
......
......@@ -81,7 +81,8 @@
if(![self checkForRingAccount]) {
accountToCreate = AccountModel::instance()->add("", Account::Protocol::RING);
} else {
[indicationLabel setStringValue:@"Ring is already ready to work"];
[indicationLabel setStringValue:NSLocalizedString(@"Ring is already ready to work",
@"Display message to user")];
auto accList = AccountModel::instance()->getAccountsByProtocol(Account::Protocol::RING);
[self displayHash:accList[0]->username().toNSString()];
[showCustomCertsButton setHidden:YES];
......@@ -115,7 +116,8 @@
NSSharingService* emailSharingService = [NSSharingService sharingServiceNamed:NSSharingServiceNameComposeEmail];
[createButton setTitle:@"Share by mail"];
[createButton setTitle:NSLocalizedString(@"Share by mail",
@"Share button")];
[createButton setAlternateImage:emailSharingService.alternateImage];
[createButton setAction:@selector(shareByEmail)];
}
......@@ -125,7 +127,8 @@
[nickname setHidden:YES];
[progressBar setHidden:NO];
[createButton setEnabled:NO];
[indicationLabel setStringValue:@"Just a moment..."];
[indicationLabel setStringValue:NSLocalizedString(@"Just a moment...",
@"Indication for user")];
QModelIndex qIdx = AccountModel::instance()->protocolModel()->selectionModel()->currentIndex();
......@@ -166,7 +169,7 @@
NSLog(@"Account created!");
[progressBar setHidden:YES];
[createButton setEnabled:YES];
[indicationLabel setStringValue:@"This is your number, share it with your friends!"];
[indicationLabel setStringValue:NSLocalizedString(@"This is your number, share it with your friends!", @"Indication to user")];
[self displayHash:account->username().toNSString()];
});
}
......
......@@ -38,6 +38,9 @@
#import <QTranslator>
#import <QLocale>
//LRC
#import <personmodel.h>
#import "backends/AddressBookBackend.h"
#import "delegates/ImageManipulationDelegate.h"
......
/* Class = "NSTextFieldCell"; placeholderString = "Server url..."; ObjectID = "0eY-9x-bAr"; */
"0eY-9x-bAr.placeholderString" = "Server url...";
/* Class = "NSTextFieldCell"; placeholderString = "realm..."; ObjectID = "6u9-cM-ep0"; */
"6u9-cM-ep0.placeholderString" = "realm...";
/* Class = "NSButtonCell"; title = "Same as local parameters"; ObjectID = "Atv-t7-5YJ"; */
"Atv-t7-5YJ.title" = "Same as local parameters";
/* Class = "NSTextFieldCell"; title = "Min"; ObjectID = "FQ4-fp-Pxj"; */
"FQ4-fp-Pxj.title" = "Min";
/* Class = "NSTextFieldCell"; title = "Audio RTP port Range"; ObjectID = "Jho-hi-Mvg"; */
"Jho-hi-Mvg.title" = "Audio RTP port Range";
/* Class = "NSTextFieldCell"; title = "Network Interface"; ObjectID = "K9I-vh-jeu"; */
"K9I-vh-jeu.title" = "Network Interface";
/* Class = "NSButtonCell"; title = "Set published address and port"; ObjectID = "OL5-DI-aCq"; */
"OL5-DI-aCq.title" = "Set published address and port";
/* Class = "NSSecureTextFieldCell"; placeholderString = "password..."; ObjectID = "OR2-la-DUE"; */
"OR2-la-DUE.placeholderString" = "password...";
/* Class = "NSTextFieldCell"; placeholderString = "username..."; ObjectID = "P7k-xH-2mr"; */
"P7k-xH-2mr.placeholderString" = "username...";
/* Class = "NSButtonCell"; title = "Using TURN"; ObjectID = "QS0-TJ-NQh"; */
"QS0-TJ-NQh.title" = "Using TURN";
/* Class = "NSTextFieldCell"; title = "Published Address"; ObjectID = "Qf3-E3-5U6"; */
"Qf3-E3-5U6.title" = "Published Address";
/* Class = "NSTextFieldCell"; title = "Video RTP port Range"; ObjectID = "XA8-Sy-CYG"; */
"XA8-Sy-CYG.title" = "Video RTP port Range";
/* Class = "NSTextFieldCell"; title = "Min"; ObjectID = "a6W-wm-OmC"; */
"a6W-wm-OmC.title" = "Min";
/* Class = "NSTextFieldCell"; title = "Max"; ObjectID = "dbq-qU-93x"; */
"dbq-qU-93x.title" = "Max";
/* Class = "NSButtonCell"; title = "Radio"; ObjectID = "fB0-X8-GXk"; */
"fB0-X8-GXk.title" = "Radio";
/* Class = "NSTextFieldCell"; title = "Registration expire:"; ObjectID = "fCd-4d-sP0"; */
"fCd-4d-sP0.title" = "Registration expire:";
/* Class = "NSButtonCell"; title = "Using STUN"; ObjectID = "gVd-Dw-1B4"; */
"gVd-Dw-1B4.title" = "Using STUN";
/* Class = "NSTextFieldCell"; title = "Max"; ObjectID = "oa2-Pe-6Uw"; */
"oa2-Pe-6Uw.title" = "Max";
/* Class = "NSTextFieldCell"; title = "Address"; ObjectID = "sTk-1C-1KO"; */
"sTk-1C-1KO.title" = "Address";
/* Class = "NSTextFieldCell"; title = "Local port:"; ObjectID = "shs-Xm-qnY"; */
"shs-Xm-qnY.title" = "Local port:";
/* Class = "NSTextFieldCell"; placeholderString = "Server url..."; ObjectID = "uzg-09-8vi"; */
"uzg-09-8vi.placeholderString" = "Server url...";
/* Class = "NSTextFieldCell"; title = "Port"; ObjectID = "wl8-YK-M76"; */
"wl8-YK-M76.title" = "Port";
/* Class = "NSTextFieldCell"; title = "seconds"; ObjectID = "xGw-j0-4ID"; */
"xGw-j0-4ID.title" = "seconds";
/* Class = "NSTextFieldCell"; title = "Registration"; ObjectID = "yB5-ET-gBL"; */
"yB5-ET-gBL.title" = "Registration";
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14E46" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14F27" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/>
</dependencies>
......
/* Class = "NSButtonCell"; title = "Down"; ObjectID = "Bbz-hd-1CE"; */
"Bbz-hd-1CE.title" = "Down";
/* Class = "NSButtonCell"; title = "Enable ringtones"; ObjectID = "KkI-i1-mfY"; */
"KkI-i1-mfY.title" = "Enable ringtones";
/* Class = "NSButtonCell"; title = "Up"; ObjectID = "MbZ-7X-K5I"; */
"MbZ-7X-K5I.title" = "Up";
/* Class = "NSTableColumn"; headerCell.title = "Codecs"; ObjectID = "PGV-RF-f13"; */
"PGV-RF-f13.headerCell.title" = "Codecs";
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "PYp-JZ-g1v"; */
"PYp-JZ-g1v.title" = "Text Cell";
/* Class = "NSTextFieldCell"; title = "Text"; ObjectID = "RBO-p6-Wej"; */
"RBO-p6-Wej.title" = "Text";
/* Class = "NSTextFieldCell"; title = "Ringtones"; ObjectID = "aMg-uJ-Krx"; */
"aMg-uJ-Krx.title" = "Ringtones";
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "bZK-L6-HSm"; */
"bZK-L6-HSm.title" = "Text Cell";
/* Class = "NSTextFieldCell"; title = "Codecs"; ObjectID = "biN-bX-qM1"; */
"biN-bX-qM1.title" = "Codecs";
/* Class = "NSTableColumn"; headerCell.title = "Frequency"; ObjectID = "hjc-hd-CQe"; */
"hjc-hd-CQe.headerCell.title" = "Frequency";
/* Class = "NSTableColumn"; headerCell.title = "Bitrate"; ObjectID = "sd4-Co-8hS"; */
"sd4-Co-8hS.headerCell.title" = "Bitrate";
/* Class = "NSTableColumn"; headerCell.title = "Enabled"; ObjectID = "txE-JZ-54H"; */
"txE-JZ-54H.headerCell.title" = "Enabled";
/* Class = "NSButtonCell"; title = "Upnp enabled"; ObjectID = "66H-HH-dbA"; */
"66H-HH-dbA.title" = "Upnp enabled";
/* Class = "NSButtonCell"; title = "Use custom user-agent"; ObjectID = "G7B-Zc-Ssi"; */
"G7B-Zc-Ssi.title" = "Use custom user-agent";
/* Class = "NSButtonCell"; title = "Show password"; ObjectID = "Ue3-ai-FBV"; */
"Ue3-ai-FBV.title" = "Show password";
/* Class = "NSButtonCell"; title = "Auto-answer calls"; ObjectID = "bMM-fn-lDE"; */
"bMM-fn-lDE.title" = "Auto-answer calls";
/* Class = "NSTextFieldCell"; title = "Alias"; ObjectID = "c1H-HN-jVv"; */
"c1H-HN-jVv.title" = "Alias";
/* Class = "NSTextFieldCell"; title = "Account"; ObjectID = "iDL-4x-HD7"; */
"iDL-4x-HD7.title" = "Account";
/* Class = "NSTextFieldCell"; title = "Username:"; ObjectID = "iP9-Y8-f6g"; */
"iP9-Y8-f6g.title" = "Username:";
/* Class = "NSButtonCell"; title = "Try Registration"; ObjectID = "j6w-ZG-17T"; */
"j6w-ZG-17T.title" = "Try Registration";
/* Class = "NSTextFieldCell"; title = "Server hostname:"; ObjectID = "jfA-bh-FEA"; */
"jfA-bh-FEA.title" = "Server hostname:";
/* Class = "NSTextFieldCell"; title = "Type:"; ObjectID = "kBP-se-g6m"; */
"kBP-se-g6m.title" = "Type:";
/* Class = "NSTextFieldCell"; title = "TYPE"; ObjectID = "oqm-WC-cUn"; */
"oqm-WC-cUn.title" = "TYPE";
/* Class = "NSTextFieldCell"; title = "Password:"; ObjectID = "rbi-vX-SIf"; */
"rbi-vX-SIf.title" = "Password:";
/* Class = "NSTextFieldCell"; title = "Parameters"; ObjectID = "yHO-fn-nw5"; */
"yHO-fn-nw5.title" = "Parameters";
/* Class = "NSTextFieldCell"; title = "This will be displayed to unknow peers"; ObjectID = "0Yt-xC-OWa"; */
"0Yt-xC-OWa.title" = "This will be displayed to unknow peers";
/* Class = "NSTextFieldCell"; title = "Account"; ObjectID = "1Sx-Et-CDM"; */
"1Sx-Et-CDM.title" = "Account";
/* Class = "NSTextFieldCell"; title = "Bootstrap server"; ObjectID = "B6b-iB-REZ"; */
"B6b-iB-REZ.title" = "Bootstrap server";
/* Class = "NSTextFieldCell"; title = "TYPE"; ObjectID = "Bqr-Gq-OgA"; */
"Bqr-Gq-OgA.title" = "TYPE";
/* Class = "NSTextFieldCell"; title = "Permissions"; ObjectID = "EDd-FX-wcz"; */
"EDd-FX-wcz.title" = "Permissions";
/* Class = "NSTextFieldCell"; placeholderString = "Name or nickname..."; ObjectID = "HN3-i9-zmw"; */
"HN3-i9-zmw.placeholderString" = "Name or nickname...";
/* Class = "NSButtonCell"; title = "Auto-answer calls"; ObjectID = "OeY-na-0YT"; */
"OeY-na-0YT.title" = "Auto-answer calls";
/* Class = "NSButtonCell"; title = "Allow calls from peers in your call history"; ObjectID = "PaC-xE-SHA"; */
"PaC-xE-SHA.title" = "Allow calls from peers in your call history";
/* Class = "NSTextFieldCell"; title = "Alias"; ObjectID = "Wzq-V2-YLU"; */
"Wzq-V2-YLU.title" = "Alias";
/* Class = "NSTextFieldCell"; title = "This is the hash you need to communicate to pass calls with a RING account"; ObjectID = "bca-Wv-Xul"; */
"bca-Wv-Xul.title" = "This is the hash you need to communicate to pass calls with a RING account";
/* Class = "NSTextFieldCell"; title = "hash"; ObjectID = "cf0-xD-2WZ"; */
"cf0-xD-2WZ.title" = "hash";
/* Class = "NSTextFieldCell"; title = "Hash DHT"; ObjectID = "dPO-b1-o58"; */
"dPO-b1-o58.title" = "Hash DHT";
/* Class = "NSButtonCell"; title = "Use custom user-agent"; ObjectID = "ddk-1G-0jU"; */
"ddk-1G-0jU.title" = "Use custom user-agent";
/* Class = "NSButtonCell"; title = "Allow calls from peers in your contact list"; ObjectID = "fX7-9W-XFl"; */
"fX7-9W-XFl.title" = "Allow calls from peers in your contact list";
/* Class = "NSButtonCell"; title = "Allow calls from unknown peers"; ObjectID = "kmI-jb-aal"; */
"kmI-jb-aal.title" = "Allow calls from unknown peers";
/* Class = "NSButtonCell"; title = "Upnp enabled"; ObjectID = "lHI-bz-ddQ"; */
"lHI-bz-ddQ.title" = "Upnp enabled";
/* Class = "NSTextFieldCell"; title = "Type:"; ObjectID = "ubB-AZ-nAm"; */
"ubB-AZ-nAm.title" = "Type:";
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14E46" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14F27" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/>
</dependencies>
......
/* Class = "NSButtonCell"; title = "Require certificates for incoming TLS connections"; ObjectID = "1f9-X5-ykb"; */
"1f9-X5-ykb.title" = "Require certificates for incoming TLS connections";
/* Class = "NSButtonCell"; title = "Verify certificates, as a client"; ObjectID = "1xi-9G-zOX"; */
"1xi-9G-zOX.title" = "Verify certificates, as a client";
/* Class = "NSButtonCell"; title = "Use custom cipher list"; ObjectID = "2e5-zS-ghg"; */
"2e5-zS-ghg.title" = "Use custom cipher list";
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "5LC-T6-hpk"; */
"5LC-T6-hpk.title" = "Text Cell";
/* Class = "NSSecureTextFieldCell"; placeholderString = "Password..."; ObjectID = "7c2-kF-dcs"; */
"7c2-kF-dcs.placeholderString" = "Password...";
/* Class = "NSTextFieldCell"; title = "Negociation timeout"; ObjectID = "9Q3-1W-Lh3"; */
"9Q3-1W-Lh3.title" = "Negociation timeout";
/* Class = "NSButtonCell"; title = "Fallback on RTP"; ObjectID = "Ig9-B1-7N3"; */
"Ig9-B1-7N3.title" = "Fallback on RTP";
/* Class = "NSTextFieldCell"; title = "Private key"; ObjectID = "JHb-iu-ZwI"; */
"JHb-iu-ZwI.title" = "Private key";
/* Class = "NSTextFieldCell"; title = "User Certificate"; ObjectID = "Jqz-P0-zAz"; */
"Jqz-P0-zAz.title" = "User Certificate";
/* Class = "NSTextFieldCell"; title = "Server name instance for outgoing TLS connection"; ObjectID = "UxS-et-whJ"; */
"UxS-et-whJ.title" = "Server name instance for outgoing TLS connection";
/* Class = "NSButtonCell"; title = "Use SRTP"; ObjectID = "YtQ-hx-hih"; */
"YtQ-hx-hih.title" = "Use SRTP";
/* Class = "NSMenu"; title = "tlsmethodlist"; ObjectID = "hOG-SW-CBI"; */
"hOG-SW-CBI.title" = "tlsmethodlist";
/* Class = "NSButtonCell"; title = "Use TLS transport"; ObjectID = "oTT-gO-fqM"; */
"oTT-gO-fqM.title" = "Use TLS transport";
/* Class = "NSTextFieldCell"; title = "TLS protocol method"; ObjectID = "uOE-XA-5gW"; */
"uOE-XA-5gW.title" = "TLS protocol method";
/* Class = "NSTextFieldCell"; title = "Certificate Authority list"; ObjectID = "vPF-Rp-aR6"; */
"vPF-Rp-aR6.title" = "Certificate Authority list";
/* Class = "NSButtonCell"; title = "Verify incoming certificates, as a server"; ObjectID = "x2s-ov-cVQ"; */
"x2s-ov-cVQ.title" = "Verify incoming certificates, as a server";
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14E46" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14F27" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/>
</dependencies>
......
/* Class = "NSTableColumn"; headerCell.title = "Codecs"; ObjectID = "DSk-Vi-l91"; */
"DSk-Vi-l91.headerCell.title" = "Codecs";
/* Class = "NSTextFieldCell"; title = "Codecs"; ObjectID = "DlW-RF-2xv"; */
"DlW-RF-2xv.title" = "Codecs";
/* Class = "NSTextFieldCell"; title = "Text"; ObjectID = "DmR-7J-s8s"; */
"DmR-7J-s8s.title" = "Text";
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "HcP-F1-RiZ"; */
"HcP-F1-RiZ.title" = "Text Cell";
/* Class = "NSTableColumn"; headerCell.title = "Frequency"; ObjectID = "WAr-DG-2aa"; */
"WAr-DG-2aa.headerCell.title" = "Frequency";
/* Class = "NSButtonCell"; title = "Down"; ObjectID = "YYh-3p-JG5"; */
"YYh-3p-JG5.title" = "Down";
/* Class = "NSButtonCell"; title = "Enable video"; ObjectID = "ZYO-6G-DC2"; */
"ZYO-6G-DC2.title" = "Enable video";
/* Class = "NSButtonCell"; title = "Up"; ObjectID = "ZYZ-Vd-MXi"; */
"ZYZ-Vd-MXi.title" = "Up";
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "dRe-pp-ok2"; */
"dRe-pp-ok2.title" = "Text Cell";
/* Class = "NSTableColumn"; headerCell.title = "Enabled"; ObjectID = "eGS-FS-4hO"; */
"eGS-FS-4hO.headerCell.title" = "Enabled";
/* Class = "NSTableColumn"; headerCell.title = "Bitrate"; ObjectID = "jvv-dK-jMu"; */
"jvv-dK-jMu.headerCell.title" = "Bitrate";
/* Class = "NSTabViewItem"; label = "Ring"; ObjectID = "1HC-kF-Jun"; */
"1HC-kF-Jun.label" = "Ring";
/* Class = "NSButtonCell"; title = "Down"; ObjectID = "6Co-ei-tUA"; */
"6Co-ei-tUA.title" = "Down";
/* Class = "NSTableColumn"; headerCell.title = "Status"; ObjectID = "GB3-Dr-Fey"; */
"GB3-Dr-Fey.headerCell.title" = "Status";
/* Class = "NSTabViewItem"; label = "Video"; ObjectID = "GIU-kn-D57"; */
"GIU-kn-D57.label" = "Video";
/* Class = "NSButtonCell"; title = "Up"; ObjectID = "HoA-BH-xam"; */
"HoA-BH-xam.title" = "Up";
/* Class = "NSTextFieldCell"; title = "Create Account"; ObjectID = "OZ9-qH-dYW"; */
"OZ9-qH-dYW.title" = "Create Account";
/* Class = "NSTableColumn"; headerCell.title = "Accounts"; ObjectID = "Ppv-dQ-Azf"; */
"Ppv-dQ-Azf.headerCell.title" = "Accounts";
/* Class = "NSTabViewItem"; label = "Advanced"; ObjectID = "RT7-u6-bhe"; */
"RT7-u6-bhe.label" = "Advanced";
/* Class = "NSTabViewItem"; label = "Security"; ObjectID = "Vp5-yV-ScC"; */
"Vp5-yV-ScC.label" = "Security";
/* Class = "NSTableColumn"; headerCell.title = "Enabled"; ObjectID = "Ybc-ak-pA6"; */
"Ybc-ak-pA6.headerCell.title" = "Enabled";
/* Class = "NSTabViewItem"; label = "Audio"; ObjectID = "hiU-GG-6Eg"; */
"hiU-GG-6Eg.label" = "Audio";
/* Class = "NSTextFieldCell"; title = "State"; ObjectID = "ntA-Li-XNQ"; */
"ntA-Li-XNQ.title" = "State";
/* Class = "NSTextFieldCell"; title = "Text"; ObjectID = "qIw-uf-vBM"; */
"qIw-uf-vBM.title" = "Text";
/* Class = "NSTabViewItem"; label = "General"; ObjectID = "tPR-Ac-N5Y"; */
"tPR-Ac-N5Y.label" = "General";
/* Class = "NSTextFieldCell"; title = "Output:"; ObjectID = "2gZ-Ab-XHf"; */
"2gZ-Ab-XHf.title" = "Output:";
/* Class = "NSTextFieldCell"; title = "Recordings"; ObjectID = "9HH-Pa-4Aq"; */
"9HH-Pa-4Aq.title" = "Recordings";
/* Class = "NSTextFieldCell"; title = "Audio devices"; ObjectID = "B0r-wh-wc3"; */
"B0r-wh-wc3.title" = "Audio devices";
/* Class = "NSTextFieldCell"; title = "Tone settings:"; ObjectID = "NvN-ip-svk"; */
"NvN-ip-svk.title" = "Tone settings:";
/* Class = "NSMenu"; title = "outputlist"; ObjectID = "eao-Bf-buc"; */
"eao-Bf-buc.title" = "outputlist";
/* Class = "NSButtonCell"; title = "Always recording"; ObjectID = "jeD-Nk-KHA"; */
"jeD-Nk-KHA.title" = "Always recording";
/* Class = "NSTextFieldCell"; title = "Save in"; ObjectID = "ksV-r2-EVJ"; */
"ksV-r2-EVJ.title" = "Save in";
/* Class = "NSButtonCell"; title = "Mute DTMF"; ObjectID = "pAA-Iv-EmI"; */
"pAA-Iv-EmI.title" = "Mute DTMF";
/* Class = "NSMenu"; title = "inputlist"; ObjectID = "szZ-RR-Ewo"; */
"szZ-RR-Ewo.title" = "inputlist";
/* Class = "NSTextFieldCell"; title = "Input:"; ObjectID = "x1o-rT-jy6"; */
"x1o-rT-jy6.title" = "Input:";
/* Class = "NSTextFieldCell"; title = "Certificate information"; ObjectID = "BrE-Hz-sVE"; */
"BrE-Hz-sVE.title" = "Certificate information";
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "G7a-wY-fOS"; */
"G7a-wY-fOS.title" = "Text Cell";
/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "Od1-pH-TGO"; */
"Od1-pH-TGO.title" = "Table View Cell";
/* Class = "NSWindow"; title = "Window"; ObjectID = "QvC-M9-y7g"; */
"QvC-M9-y7g.title" = "Window";
/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "RMj-fd-OsX"; */
"RMj-fd-OsX.title" = "Text Cell";
/* Class = "NSTextFieldCell"; title = "Table View Cell"; ObjectID = "khh-uZ-Keh"; */
"khh-uZ-Keh.title" = "Table View Cell";
/* Class = "NSButtonCell"; title = "OK"; ObjectID = "x6p-u4-4Ot"; */
"x6p-u4-4Ot.title" = "OK";
/* Class = "NSTextFieldCell"; title = "URI"; ObjectID = "Dqv-um-UUk"; */
"Dqv-um-UUk.title" = "URI";
/* Class = "NSButtonCell"; title = "Answer"; ObjectID = "KPG-pB-gPm"; */
"KPG-pB-gPm.title" = "Answer";
/* Class = "NSTextFieldCell"; title = "+"; ObjectID = "b3D-0u-zMG"; */
"b3D-0u-zMG.title" = "+";
/* Class = "NSTextFieldCell"; title = "-"; ObjectID = "gB4-S1-mny"; */
"gB4-S1-mny.title" = "-";
/* Class = "NSButtonCell"; title = "Button"; ObjectID = "kxH-yM-TLd"; */
"kxH-yM-TLd.title" = "Button";
/* Class = "NSTextFieldCell"; title = "Person name"; ObjectID = "osk-LS-0Qg"; */
"osk-LS-0Qg.title" = "Person name";
/* Class = "NSButtonCell"; title = "Record"; ObjectID = "rhz-4Z-avV"; */
"rhz-4Z-avV.title" = "Record";
/* Class = "NSTextFieldCell"; title = "State"; ObjectID = "ugy-uK-901"; */
"ugy-uK-901.title" = "State";
/* Class = "NSTextFieldCell"; title = "wants to talk with you!"; ObjectID = "yZ6-1A-ZLT"; */
"yZ6-1A-ZLT.title" = "wants to talk with you!";
/* Class = "NSTextFieldCell"; title = "Time"; ObjectID = "zsO-T7-9yi"; */
"zsO-T7-9yi.title" = "Time";
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14E46" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14F27" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/>
</dependencies>
......@@ -436,7 +436,7 @@