Compare commits

..

62 Commits

Author SHA1 Message Date
8704ab938f Version set to 1.0-beta6 2016-09-26 13:14:15 +02:00
7169e66eb0 Sub-module update 2016-09-26 13:12:24 +02:00
a5f4cafc55 Configuration dialog banner title updated to include method name 2016-09-26 12:01:46 +02:00
52c0c82979 wxEAPCredentials title is no longer static for easier disambiguation between outer and inner credential set in EAP-TTLS configuration dialog
(closes #20)
2016-09-26 11:43:40 +02:00
a4b9c36242 Over-paranoid Debug Alert with empty certificate list resolved
- The "<empty>" certificate on the list of certificates has now wxCertificateClientData of NULL to declare wxChoice will use client object data;
- wxChoice selection index and availability of client object data are now verified before wxChoice::GetClientObject() call is made
(closes #21)
2016-09-26 11:11:10 +02:00
27ea8802e0 <Password> element is stored encrypted now in profile configuration XML
(closes #18)
2016-09-26 10:20:14 +02:00
bb8e766db7 Module decryption templates fixed 2016-09-26 10:18:55 +02:00
36b2f3c8a8 Always saving blank configured credentials issue fixed 2016-09-26 10:17:47 +02:00
c41bc3908e Password change detection updated not to rely on default password value any more, but monitors password control change events 2016-09-26 10:16:37 +02:00
79cc1af86f Clean-up and XML handling enhancement:
- XML helper functions always return objects by winstd::com_obj or winstd::bstr reference now to ensure proper release by caller
- get_element_value()/put_element_value() can optionally return reference to the XML object if required
- WinStd macros to simplify dplhandle<> and handle<> inherited classes reused by non-copyable classes
2016-09-23 14:43:31 +02:00
640c1abdbd XML get_element_value() and put_element_value() extended to support optional returning of XML element for later reference 2016-09-23 09:50:50 +02:00
9b14bd023f Synced with credmerge branch 2016-09-23 05:37:38 +02:00
3a9b503e48 Version set to 1.0-beta5 2016-09-22 12:43:27 +02:00
1ccfb58af1 Credential prompt panel labels edited 2016-09-22 11:56:21 +02:00
6ed3b6732f Credential source configuration panel redesigned 2016-09-22 11:52:19 +02:00
c99be50152 wxEAPCredentialsPromptPanel >> wxEAPCredentialsPanel, wxEAPTLSServerTrustConfigPanelBase >> wxTLSServerTrustPanelBase 2016-09-22 11:21:23 +02:00
b2d22864a3 wxEAPCredentialsPromptPassPanelBase >> wxPasswordCredentialsPanelBase 2016-09-22 11:16:40 +02:00
2039936823 TLS credential panel simplified 2016-09-22 11:12:06 +02:00
49e3cee12d GUI icons revised 2016-09-22 11:10:01 +02:00
10054b0240 wxEAPCredentialsPromptTLSPanel >> wxTLSCredentialsPanel 2016-09-22 11:06:11 +02:00
963657d6d8 wxTTLSCredentialsPanel constructor parameters match TTLS method now 2016-09-22 11:04:58 +02:00
2b232ba443 Checkbox for remembering credential is added dynamically (on demand) now to reduce GUI clutter 2016-09-21 11:44:34 +02:00
2c138fc0a9 Merge branch 'master' of https://github.com/Amebis/GEANTLink
# Conflicts:
#	lib/TLS_UI/include/TLS_UI.h
2016-09-21 10:50:44 +02:00
1acea44cf4 Client certificate selection simplified 2016-09-21 10:48:45 +02:00
081b6a6b6f wxEAPCredentialsPanel >> wxEAPCredentialsPromptPanel 2016-09-21 10:17:04 +02:00
d92578150a wxEAPCredentialsPanel >> wxEAPCredentialsPromptPanel 2016-09-21 10:09:47 +02:00
c6c72bf9f2 wxEAPCredentialsPromptTLSPanelBase is derived from wxEAPCredentialsPanelBase now 2016-09-21 10:05:52 +02:00
ed0462e1a4 Credential entry panels renamed 2016-09-21 09:49:34 +02:00
aff9f4f9f0 Missing Event project dependencies added 2016-09-21 09:43:29 +02:00
0ab18017cd Pre-shared >> Configured credentials, Own >> Stored credentials 2016-09-21 09:43:02 +02:00
4f736d8406 GUI text changed 2016-09-20 11:14:31 +02:00
204839e656 Version set to 1.0-beta4 2016-09-19 12:52:58 +02:00
8bffe1bec4 Final adjustments of build process:
- Incomplete languages removed
- SetLangMST in MSIBuild merged to AddStorage
2016-09-19 12:52:05 +02:00
b2b1c9578c Translations updated 2016-09-19 11:52:20 +02:00
34304b4aad Translations extracted with MIS.wsf/IDTExtract now 2016-09-19 11:33:04 +02:00
3e40aa8ec9 Source file English "en_US" instead of generic "En" now 2016-09-19 09:35:42 +02:00
a7f41cb794 Localization target correctly creates sl_SI folder now; Creation of other unnecessary folders removed 2016-09-16 21:00:20 +02:00
c37598828e Language setting is set to match MSI installation now 2016-09-16 20:54:51 +02:00
b0815fcd64 MSIBUILD_LANG_PO merged to LANG 2016-09-16 20:54:01 +02:00
b73922ef2f Update README.md 2016-09-16 19:26:42 +02:00
8384cda0d0 Project Readme added
(closes #11)
2016-09-16 18:56:35 +02:00
6e9f8f2bbd 2-phase build simplified to 1-phase 2016-09-16 18:55:05 +02:00
26626af6e9 Sub-module update 2016-09-16 18:53:56 +02:00
af19238431 rcxgettext.exe dependency eliminated 2016-09-16 14:58:54 +02:00
5370861182 NovGUID.exe dependency eliminated 2016-09-16 09:23:36 +02:00
687d4583a9 Unreferenced parameter warning resolved 2016-09-15 14:06:01 +02:00
0d7c582a7b Creating of output localization folders revised 2016-09-15 12:54:03 +02:00
b371883195 Check for unsupported code page added 2016-09-15 12:45:23 +02:00
0846969cc3 POCompile target updated to make output directory 2016-09-15 11:39:06 +02:00
8f5b8d1d40 Sub-module update 2016-09-14 14:48:27 +02:00
5c33e716d6 MSIBuild extended with GÉANT copyright 2016-09-14 11:23:49 +02:00
48987a0f17 Sub-module update 2016-09-14 00:10:46 +02:00
d28ca1a566 Sub-module update 2016-09-14 00:05:50 +02:00
d3105f8c97 Memory leakage in underlying WinStd library fixed 2016-09-13 13:02:12 +02:00
5641920537 "*" wildchar in TLS host names allowed now 2016-09-13 12:13:29 +02:00
ebe37d34a4 Sub-module update 2016-09-13 11:36:29 +02:00
7a13600ae6 Version set to 1.0-beta3 2016-09-13 10:28:55 +02:00
07c1a01f4f Translations updated 2016-09-13 10:28:38 +02:00
27cfc3d475 Sub-module update 2016-09-12 14:27:40 +02:00
22d670fbc8 Typo fixed 2016-09-12 13:35:34 +02:00
59b50fb71c Korean localization stubs added 2016-09-12 12:46:56 +02:00
8a3a9c57a0 Copy command in menu no longer uses stock label, as some GÉANTLink languages does not have wxWidgets translated 2016-09-12 11:23:21 +02:00
122 changed files with 3612 additions and 2890 deletions

View File

@@ -152,6 +152,7 @@
<POCompile Include="..\locale\hu_HU.po" />
<POCompile Include="..\locale\is_IS.po" />
<POCompile Include="..\locale\it_IT.po" />
<POCompile Include="..\locale\ko_KR.po" />
<POCompile Include="..\locale\lt_LT.po" />
<POCompile Include="..\locale\nb_NO.po" />
<POCompile Include="..\locale\nl_NL.po" />

View File

@@ -129,5 +129,8 @@
<POCompile Include="..\locale\vi_VN.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
<POCompile Include="..\locale\ko_KR.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
</ItemGroup>
</Project>

Binary file not shown.

View File

@@ -2,14 +2,14 @@
msgid ""
msgstr ""
"Project-Id-Version: EAPMethods\n"
"POT-Creation-Date: 2016-09-06 14:06+0200\n"
"POT-Creation-Date: 2016-09-20 11:05+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.8\n"
"X-Generator: Poedit 1.8.9\n"
"X-Poedit-Basepath: ../..\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: _\n"
@@ -218,8 +218,8 @@ msgstr ""
msgid "%s Credentials"
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:123 lib/EAPBase_UI/include/EAP_UI.h:352
#: lib/EAPBase_UI/include/EAP_UI.h:362 lib/EAPBase_UI/res/wxEAP_UI.h:119
#: lib/EAPBase_UI/src/EAP_UI.cpp:123 lib/EAPBase_UI/include/EAP_UI.h:351
#: lib/EAPBase_UI/include/EAP_UI.h:361 lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
@@ -286,7 +286,7 @@ msgid "Acceptable Certificate Authorities:"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid "List of certificate authorities server's certificate must be issued by"
msgid "Server's certificate must be issued by one of certificate authorities listed here"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:47
@@ -444,13 +444,13 @@ msgid "Custom outer identity to use"
msgstr ""
#: lib/TTLS_UI/src/Module.cpp:275 lib/TTLS_UI/src/Module.cpp:285
#: lib/EAPBase_UI/include/EAP_UI.h:689
#: lib/EAPBase_UI/include/EAP_UI.h:688
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: lib/TTLS_UI/src/Module.cpp:277 lib/TTLS_UI/src/Module.cpp:287
#: lib/EAPBase_UI/include/EAP_UI.h:692
#: lib/EAPBase_UI/include/EAP_UI.h:691
msgid "Writing credentials failed."
msgstr ""
@@ -474,42 +474,42 @@ msgstr ""
msgid "Outer Authentication"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:289
#: lib/EAPBase_UI/include/EAP_UI.h:288
#, c-format
msgid "Are you sure you want to permanently remove %ls provider from configuration?"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:289
#: lib/EAPBase_UI/include/EAP_UI.h:288
msgid "Warning"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:549
#: lib/EAPBase_UI/include/EAP_UI.h:548
msgid "Provider Settings"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:705
#: lib/EAPBase_UI/include/EAP_UI.h:704
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:739
#: lib/EAPBase_UI/include/EAP_UI.h:738
#, c-format
msgid "<error %u>"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:743
#: lib/EAPBase_UI/include/EAP_UI.h:742
msgid "<error>"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:754 lib/EAPBase_UI/include/EAP_UI.h:764
#: lib/EAPBase_UI/include/EAP_UI.h:753 lib/EAPBase_UI/include/EAP_UI.h:762
msgid "<empty>"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:754 lib/EAPBase_UI/include/EAP_UI.h:764
#: lib/EAPBase_UI/include/EAP_UI.h:753 lib/EAPBase_UI/include/EAP_UI.h:762
msgid "<blank ID>"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:964
#: lib/EAPBase_UI/include/EAP_UI.h:962
msgid "<Your Organization>"
msgstr ""
@@ -517,27 +517,22 @@ msgstr ""
msgid "EAP Connection Configuration"
msgstr ""
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:3
msgid "1252"
msgstr ""
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:5
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:5
#: EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr ""
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:5
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:5
#: EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: EAPMethods\n"
"POT-Creation-Date: 2016-09-06 14:06+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: eduroam_devel <stefan.winter@restena.lu>, 2016\n"
"Language-Team: German (https://www.transifex.com/eduroam_devel/teams/11799/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,132 +24,146 @@ msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
msgstr "+"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
msgstr "Fügt einen neuen Identitätsprovider hinzu"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
msgstr "-"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
msgstr "Entfernt den ausgewählten Identitätsprovider"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
msgstr "Fortgeschritten..."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
msgstr "Öffnet den Dialog mit den Einstellungen für den Identitätsprovider"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:230 lib/EAPBase_UI/res/wxEAP_UI.cpp:355
msgid "Client Credentials"
msgstr ""
msgstr "Nutzerdaten"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:241
msgid "Manage credentials used to connect."
msgstr ""
msgstr "Verwaltet die Nutzerdaten die zum Einloggen nötig sind."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:254
msgid "Use &own credentials:"
msgstr ""
msgstr "&Eigene Zugangsdaten eingeben:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:255
msgid "Select this option if you have your unique credentials to connect"
msgstr ""
"Wählen Sie diese Option wenn Sie Ihre persönlichen Nutzerdaten selbst "
"eingeben möchten"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:260
msgid "Your credentials loaded from Windows Credential Manager"
msgstr ""
msgstr "Laden der Nutzerdaten aus der Anmeldeinformationsverwaltung"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:270
msgid "&Clear Credentials"
msgstr ""
msgstr "Nutzerdaten &löschen"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:271
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
"Klicken Sie hier, um Ihre Nutzerdaten aus der Anmeldeinformationsverwaltung "
"zu löschen. Hinweis: Sie werden dann bei der nächsten Verbindung zur Eingabe"
" Ihrer Nutzerdaten aufgefordert."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:275 lib/EAPBase_UI/res/wxEAP_UI.cpp:308
msgid "&Set Credentials..."
msgstr ""
msgstr "Nutzerdaten &festlegen..."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:276 lib/EAPBase_UI/res/wxEAP_UI.cpp:309
msgid "Click here to set or modify your credentials"
msgstr ""
msgstr "Klicken Sie hier um Ihre Nutzerdaten einzugeben oder zu ändern"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:292
msgid "Use &pre-shared credentials:"
msgstr ""
msgstr "Nutzderdaten aus der &Konfigurationsdatei verwenden:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:293
msgid "Select this options if all clients connect using the same credentials"
msgstr ""
"Verwenden Sie diese Option wenn Ihre Nutzerdaten bereits in der "
"Konfigurationsdatei geliefert wurden"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:298
msgid "Common (pre-shared) credentials"
msgstr ""
msgstr "Vorkonfigurierte Nutzerdaten"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:366
msgid "Please provide your user ID and password."
msgstr ""
msgstr "Bitte geben Sie Ihren Benutzernamen und das Passwort ein."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:376
msgid "User ID:"
msgstr ""
msgstr "Benutzername:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:381
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
"Geben Sie hier Ihren Benutzernamen ein (z.B nutzer@domain.org, "
"DOMAIN\\nutzer, ...)"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:385
msgid "Password:"
msgstr ""
msgstr "Passwort:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:390
msgid "Enter your password here"
msgstr ""
msgstr "Geben Sie hier Ihr Passwort ein"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:397 lib/TLS_UI/res/wxTLS_UI.cpp:183
msgid "&Remember"
msgstr ""
msgstr "&Speichern"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:398
msgid "Check if you would like to save username and password"
msgstr ""
msgstr "Wählen Sie hier, ob Sie Benutzername und Passwort speichern möchten"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:420
msgid "Your Organization"
msgstr ""
msgstr "Ihre Organisation"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:431
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
"Beschreiben Sie Ihre Organisation um die Nutzerdialoge persönlicher zu "
"gestalten. Die organisationsspezifische Anpassung macht es Ihren Nutzern "
"leichter, das Programm zu benutzen."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:438
msgid "Your organization &name:"
msgstr ""
msgstr "&Name der Organisation:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:443
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
"Der Name Ihrer Organisation, so wie er dem Nutzer bei den Hilfe- und "
"Kontaktmöglichkeiten angezeigt wird"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid "(Keep it short, please)"
msgstr ""
msgstr "(fassen Sie sich bitte kurz)"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:457
msgid "Helpdesk contact &information:"
msgstr ""
msgstr "&Hilfe und Kontaktmöglichkeiten:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:467
msgid "¶"
@@ -157,7 +171,7 @@ msgstr "¶"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:474
msgid "Your helpdesk website address"
msgstr ""
msgstr "Webseite für Hilfe und Kontakt"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "*"
@@ -165,7 +179,7 @@ msgstr "*"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:485
msgid "Your helpdesk e-mail address"
msgstr ""
msgstr "E-Mail Adresse für Hilfe und Kontakt"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid ")"
@@ -173,21 +187,23 @@ msgstr ")"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:496
msgid "Your helpdesk phone number"
msgstr ""
msgstr "Telefonnummer für Hilfe und Kontakt"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:524
msgid "Provider Unique Identifier"
msgstr ""
msgstr "Eindeutige Kennzeichnung des Identitätsproviders"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:535
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
"Geben Sie Ihrem Identitätsprovider eine eindeutige Bezeichnung damit er von "
"anderen Konfigurationsdateien unterschieden werden kann."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:542
msgid "&Namespace:"
msgstr ""
msgstr "Namens&raum:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "urn:RFC4282:realm"
@@ -199,62 +215,71 @@ msgstr "urn:uuid"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:558
msgid "Provider unique &identifier:"
msgstr ""
msgstr "&Identifikation im Namensraum:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:563
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
"Eindeutige Kennzeichnung Ihrer Organisation um Nutzerdaten "
"profilübergreifend nutzen zu können"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:588
msgid "Configuration Lock"
msgstr ""
msgstr "Konfiguration sperren"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:599
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
"Ihre Konfiguration kann gesperrt werden um irrtümliche Veränderungen durch "
"den Nutzer zu verhindern. Der Nutzer kann dann nur seinen Benutzernamen und "
"Passwort ändern."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:606
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
"Konfiguration s&perren und weitere Änderungen durch die "
"Benutzerschnittstelle verhindern."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:609
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
"(Warnung: sobald die Konfiguration gesperrt ist, können Sie sie hier nicht "
"mehr verändern!)"
#: lib/EAPBase_UI/src/EAP_UI.cpp:98
#, c-format
msgid "%s Credentials"
msgstr ""
msgstr "%s Nutzerdaten"
#: lib/EAPBase_UI/src/EAP_UI.cpp:123 lib/EAPBase_UI/include/EAP_UI.h:352
#: lib/EAPBase_UI/include/EAP_UI.h:362 lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
msgstr "EAP Nutzerdaten"
#: lib/EAPBase_UI/src/EAP_UI.cpp:166
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
msgstr "Für Hilfe und weitere Anleitungen kontaktieren Sie bitte %s via:"
#: lib/EAPBase_UI/src/EAP_UI.cpp:167
msgid "your provider"
msgstr ""
msgstr "ihren Identitätsprovider"
#: lib/EAPBase_UI/src/EAP_UI.cpp:186
msgid "Open the default web browser"
msgstr ""
msgstr "Öffnen Sie im Webbrowser"
#: lib/EAPBase_UI/src/EAP_UI.cpp:197
msgid "Open your e-mail program"
msgstr ""
msgstr "Öffnen Sie Ihr E-Mail Programm"
#: lib/EAPBase_UI/src/EAP_UI.cpp:208
msgid "Dial the phone number"
msgstr ""
msgstr "Wählen Sie die Telefonnummer"
#: lib/EAPBase_UI/src/EAP_UI.cpp:228
#, c-format
@@ -262,284 +287,317 @@ msgid ""
"%s has pre-set parts of this configuration. Those parts are locked to "
"prevent accidental modification."
msgstr ""
"%s hat einige der Konfigurationsdaten voreingestellt. Diese Daten sind "
"gesperrt um unbeabsichtigte Änderungen zu vermeiden."
#: lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Your provider"
msgstr ""
msgstr "Ihr Identitätsprovider"
#: lib/EAPBase_UI/src/EAP_UI.cpp:250
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
msgstr "Der vorige Anmeldeversuch schlug fehl wegen falscher Nutzerdaten."
#: lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
"Der vorige Anmeldeversuch schlug fehl weil die Nutzerdaten abgelaufen sind."
#: lib/EAPBase_UI/src/EAP_UI.cpp:252
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
"Der vorige Anmeldeversuch meldete dass Ihre Nutzerdaten geändert werden "
"müssen."
#: lib/EAPBase_UI/src/EAP_UI.cpp:253
msgid "Previous attempt to connect failed."
msgstr ""
msgstr "Der vorige Anmeldeversuch schlug fehl."
#: lib/EAPBase_UI/src/EAP_UI.cpp:254
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
"Bitte stellen Sie sicher dass ihre Nutzerdaten korrekt sind, oder versuchen "
"Sie es später noch einmal."
#: lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
msgstr "Vertrauenseinstellungen: Server"
#: lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
"Definieren Sie welche Server vertrauenswürdig sind um das Abgreifen von "
"Nutzerdaten durch Man-in-the-Middle Angriffe zu verhindern."
#: lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
msgstr "Vertrauenseinstellungen: Zertifizierungsstellen (CAs)"
#: lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid "List of certificate authorities server's certificate must be issued by"
msgstr ""
"Liste der Zertifizierungsstellen (CAs), von denen das Serverzertifikat "
"stammen muss"
#: lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
msgstr "CA aus dem Gerätespeicher hinzufügen..."
#: lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
"Fügt eine Zertifizierungsstelle aus dem Gerätespeicher für "
"Zertifizierungsstellen zur Liste hinzu"
#: lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
msgstr "CA aus einer Datei hinzufügen..."
#: lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
msgstr "Fügt eine Zertifizierungsstelle aus einer Datei zur Liste hinzu"
#: lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
msgstr "&CA entfernen"
#: lib/TLS_UI/res/wxTLS_UI.cpp:59
msgid "Removes selected certificate authorities from the list"
msgstr ""
msgstr "Entfernt die ausgewählte Zertifizierungsstelle aus der Liste"
#: lib/TLS_UI/res/wxTLS_UI.cpp:72
msgid "Acceptable server &names:"
msgstr ""
msgstr "&Akzeptable Servernamen:"
#: lib/TLS_UI/res/wxTLS_UI.cpp:77
msgid ""
"A semicolon delimited list of acceptable server FQDN names; blank to skip "
"name check; Unicode characters allowed"
msgstr ""
"Eine durch Semikola getrennte Liste der akzeptablen Servernamen; wenn leer, "
"wird die Namensüberprüfung übersrungen; Unicode Buchstaben sind erlaubt"
#: lib/TLS_UI/res/wxTLS_UI.cpp:81
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
msgstr "(Beispiel: foo.bar.com;server2.bar.com)"
#: lib/TLS_UI/res/wxTLS_UI.cpp:120
msgid "TLS Client Certificate"
msgstr ""
msgstr "Nutzerzertifikat"
#: lib/TLS_UI/res/wxTLS_UI.cpp:131
msgid "Please select your client certificate to use for authentication."
msgstr ""
"Bitte wählen Sie Ihr Nutzerzertifikat wenn eines für die Anmeldung benötigt "
"wird."
#: lib/TLS_UI/res/wxTLS_UI.cpp:138
msgid "Co&nnect without providing a client certificate"
msgstr ""
msgstr "Anmelden &ohne Nutzerzertifikat"
#: lib/TLS_UI/res/wxTLS_UI.cpp:139
msgid ""
"Select if your server does not require you to provide a client certificate"
msgstr ""
"Wählen Sie diese Option aus, wenn ihr Identitätsprovider keine "
"Nutzerzertifikate fürs Anmelden fordert"
#: lib/TLS_UI/res/wxTLS_UI.cpp:146
msgid "Use the following &certificate:"
msgstr ""
msgstr "Das folgende Nutzer&zertifkat nutzen:"
#: lib/TLS_UI/res/wxTLS_UI.cpp:147
msgid "Select if you need to provide a client certificate when connecting"
msgstr ""
"Wählen Sie diese Option aus, wenn Sie zur Anmeldung ein Nutzerzertifikat "
"benötigen"
#: lib/TLS_UI/res/wxTLS_UI.cpp:154
msgid "Client certificate to use for authentication"
msgstr ""
msgstr "Nutzerzertifikat für Anmeldung"
#: lib/TLS_UI/res/wxTLS_UI.cpp:167
msgid "Custom &identity:"
msgstr ""
msgstr "Ab&weichender Nutzername:"
#: lib/TLS_UI/res/wxTLS_UI.cpp:172
msgid ""
"Your identity (username@domain) to override one from certificate; or blank "
"to use one provided in certificate"
msgstr ""
"Ihr Nutzername (nutzer@domain) wenn abweichend vom Namen im "
"Nutzerzertifikat; oder leer lassen um den Namen im Nutzerzertifikat zu "
"verwenden"
#: lib/TLS_UI/res/wxTLS_UI.cpp:176
msgid "(Example: user@contoso.com)"
msgstr ""
msgstr "(Beispiel: nutzer@domain.com)"
#: lib/TLS_UI/res/wxTLS_UI.cpp:184
msgid "Check if you would like to save certificate selection"
msgstr ""
msgstr "Möchten Sie diese Zertifikatseinstellungen speichern?"
#: lib/TLS_UI/src/TLS_UI.cpp:118
#, c-format
msgid "Invalid character in host name found: %c"
msgstr ""
msgstr "Ungültiger Buchstabe im Servernamen gefunden: %c"
#: lib/TLS_UI/src/TLS_UI.cpp:118
msgid "Validation conflict"
msgstr ""
msgstr "Fehler bei der Validierung"
#: lib/TLS_UI/src/TLS_UI.cpp:511
msgid "Add Certificate"
msgstr ""
msgstr "Zertifikat hinzufügen"
#: lib/TLS_UI/src/TLS_UI.cpp:512
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
msgstr "Zertifikatsdateien (*.cer;*.crt;*.der;*.p7b;*.pem)"
#: lib/TLS_UI/src/TLS_UI.cpp:513
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
msgstr "X.509 Zertifikatsdateien (*.cer;*.crt;*.der;*.pem)"
#: lib/TLS_UI/src/TLS_UI.cpp:514
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
msgstr "PKCS #7 Zertifikatsdateien (*.p7b)"
#: lib/TLS_UI/src/TLS_UI.cpp:515
msgid "All Files (*.*)"
msgstr ""
msgstr "Alle Dateien (*.*)"
#: lib/TLS_UI/src/TLS_UI.cpp:531
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
msgstr "Ungültige oder nicht unterstützte Zertifikatsdatei %s"
#: lib/TLS_UI/src/TLS_UI.cpp:531
msgid "Error"
msgstr ""
msgstr "Fehler"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
msgstr "Äußere (anonyme) Identität"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
"Wählen Sie einen anonymen Nutzernamen für die unverschlüsselte Übertragung:"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
msgstr "Echten Nutzernamen &verwenden"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
msgstr "Im unverschlüsselten Teil der Anmeldung den echten Nutzernamen senden"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity (RFC 4822)"
msgstr ""
msgstr "Leeren N&utzernamen verwenden (gemäß RFC 4822)"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:41
msgid "Ommit my user name and use @mydomain.org only"
msgstr ""
"Im unverschlüsselten Teil den Nutzernamen weglassen und nur den @domain Teil"
" senden"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
msgstr "Ei&genen Nutzernamen verwenden:"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
"Im unverschlüsselten Teil einen selbst festgelegten Nutzernamen verwenden"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
msgstr "Zu verwendender Nutzername"
#: lib/TTLS_UI/src/Module.cpp:275 lib/TTLS_UI/src/Module.cpp:285
#: lib/EAPBase_UI/include/EAP_UI.h:689
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
"Fehler beim Speichern der Nutzerdaten in der Anmeldeinformationsverwaltung: "
"%hs (Fehler %u)"
#: lib/TTLS_UI/src/Module.cpp:277 lib/TTLS_UI/src/Module.cpp:287
#: lib/EAPBase_UI/include/EAP_UI.h:692
msgid "Writing credentials failed."
msgstr ""
msgstr "Speichern der Nutzerdaten fehlgeschlagen."
#: lib/TTLS_UI/src/TTLS_UI.cpp:108 lib/TTLS_UI/src/TTLS_UI.cpp:235
msgid "Inner Authentication"
msgstr ""
msgstr "Verschlüsselte Anmeldungsphase"
#: lib/TTLS_UI/src/TTLS_UI.cpp:114
msgid "Select inner authentication method from the list"
msgstr ""
"Wählen Sie die Anmeldemethode im verschlüsselten Teil der Verbindung aus"
#: lib/TTLS_UI/src/TTLS_UI.cpp:116
msgid "PAP"
msgstr ""
msgstr "PAP"
#: lib/TTLS_UI/src/TTLS_UI.cpp:118
msgid "MSCHAPv2"
msgstr ""
msgstr "MSCHAPv2"
#: lib/TTLS_UI/src/TTLS_UI.cpp:123 lib/TTLS_UI/src/TTLS_UI.cpp:262
msgid "Outer Authentication"
msgstr ""
msgstr "Unverschlüsselte Anmeldungsphase"
#: lib/EAPBase_UI/include/EAP_UI.h:289
#, c-format
msgid ""
"Are you sure you want to permanently remove %ls provider from configuration?"
msgstr ""
"Sind Sie sicher, dass Sie den Identitätsprovider %ls aus der Konfiguration "
"löschen möchten?"
#: lib/EAPBase_UI/include/EAP_UI.h:289
msgid "Warning"
msgstr ""
msgstr "Warnung"
#: lib/EAPBase_UI/include/EAP_UI.h:549
msgid "Provider Settings"
msgstr ""
msgstr "Identitätsprovider Einstellungen"
#: lib/EAPBase_UI/include/EAP_UI.h:705
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
msgstr "Löschen der Nutzerdaten fehlgeschlagen (Fehler %u)."
#: lib/EAPBase_UI/include/EAP_UI.h:739
#, c-format
msgid "<error %u>"
msgstr ""
msgstr "<Fehler %u>"
#: lib/EAPBase_UI/include/EAP_UI.h:743
msgid "<error>"
msgstr ""
msgstr "<Fehler>"
#: lib/EAPBase_UI/include/EAP_UI.h:754 lib/EAPBase_UI/include/EAP_UI.h:764
msgid "<empty>"
msgstr ""
msgstr "<leer>"
#: lib/EAPBase_UI/include/EAP_UI.h:754 lib/EAPBase_UI/include/EAP_UI.h:764
msgid "<blank ID>"
msgstr ""
msgstr "<leere ID>"
#: lib/EAPBase_UI/include/EAP_UI.h:964
msgid "<Your Organization>"
msgstr ""
msgstr "<Ihre Organisation>"
#: lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
msgstr "EAP Verbindungseinstellungen"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:3
@@ -549,19 +607,19 @@ msgstr "1252"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
msgstr "EAP Methoden"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
msgstr "Module zur Unterstützung einzelner EAP Methoden"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:5
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr ""
msgstr "TTLS"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:5
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""
msgstr "Tunneled Transport Layer Security"

View File

@@ -28,7 +28,7 @@ msgstr "+"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr "Προσθέτει νέο προμηθευτή"
msgstr "Προσθέτει νέο πάροχο"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
@@ -36,7 +36,7 @@ msgstr "-"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr "Αφαιρεί επιλεγμένο προμηθευτή"
msgstr "Αφαιρεί επιλεγμένο πάροχο"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
@@ -44,7 +44,7 @@ msgstr "Προχωρημένο..."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr "Ανοίγει ένα παράθυρο διαλόγου με τις ρυθμίσεις του προμηθευτή"
msgstr "Ανοίγει ένα παράθυρο διαλόγου με τις ρυθμίσεις του παρόχου"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:230 lib/EAPBase_UI/res/wxEAP_UI.cpp:355
msgid "Client Credentials"
@@ -91,7 +91,7 @@ msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:292
msgid "Use &pre-shared credentials:"
msgstr "Χρησιμοποιήστε προ-μοιρασμένα διαπιστευτήρια:"
msgstr "Χρησιμοποιήστε προ-&μοιρασμένα διαπιστευτήρια:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:293
msgid "Select this options if all clients connect using the same credentials"
@@ -101,7 +101,7 @@ msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:298
msgid "Common (pre-shared) credentials"
msgstr "Κοινά (προ-κοινόχρηστα) διαπιστευτήρια"
msgstr "Κοινά (προ-μοιρασμένα) διαπιστευτήρια"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:366
msgid "Please provide your user ID and password."
@@ -142,9 +142,9 @@ msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
"Περιγράψτε τον οργανισμό σας για να προσαρμόσετε τη ζήτηση του. Όταν ο "
"Οργανισμός έχει παρουσιαστεί, οι τελικοί χρήστες κατανοούν πιο εύκολα τα "
"μηνύματα των προγραμμάτων και την χρησιμοποίηση τους."
"Περιγράψτε τον Φορέα σας για να προσαρμόσετε τη ζήτηση του. Όταν "
"παρουσιάζεται ο φορέας, οι τελικοί χρήστες κατανοούν πιο εύκολα τα μηνύματα "
"των προγραμμάτων και τις ενέργειές τους."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:438
msgid "Your organization &name:"
@@ -232,7 +232,7 @@ msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
"Η διαμόρφωσή σας μπορεί να κλειδώνετε ώστε να αποφύγετε τις κατά λάθος "
"Η διαμόρφωσή σας μπορεί να κλειδώνεται ώστε να αποφύγετε τις κατά λάθος "
"αλλαγές από τους τελικούς χρήστες. Στους χρήστες θα επιτρέπεται μόνο να "
"εισαγουν τα διαπιστευτήρια."
@@ -264,7 +264,8 @@ msgstr "Διαπιστευτήρια EAP"
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
"Για πρόσθετη βοήθεια και οδηγίες, παρακαλούμε επικοινωνήστε μαζί μας %s στο:"
"Για περισσότερη βοήθεια και οδηγίες, παρακαλούμε επικοινωνήστε μαζί μας %s "
"στο:"
#: lib/EAPBase_UI/src/EAP_UI.cpp:167
msgid "your provider"
@@ -310,8 +311,8 @@ msgstr ""
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
"Η προηγούμενη προσπάθεια να συνδεθείτε ανέφερε ότι τα διαπιστευτήρια σας ότι"
" έχουν αλλάξει."
"Η προηγούμενη προσπάθεια να συνδεθείτε ανέφερε ότι τα διαπιστευτήρια σας "
"έχουν αλλάξει."
#: lib/EAPBase_UI/src/EAP_UI.cpp:253
msgid "Previous attempt to connect failed."
@@ -381,9 +382,9 @@ msgid ""
"A semicolon delimited list of acceptable server FQDN names; blank to skip "
"name check; Unicode characters allowed"
msgstr ""
"Ένα ερωτηματικό οριοθετεί τη λίστα τα ονόματα των αποδεκτών εξυπηρετητών "
"FQDN; Αφήστε κενό για να παρακάμψετε την επιλογή ονόματος; Eπιτρέπονται οι "
"χαρακτήρες Unicode"
"Ένα semicolon οριοθετεί τη λίστα με τα αποδεκτά ονόματα χώρου FQDN "
"εξυπηρετητών· αφήστε κενό για να παρακάμψετε την επιλογή ονόματος· "
"επιτρέπονται οι χαρακτήρες unicode"
#: lib/TLS_UI/res/wxTLS_UI.cpp:81
msgid "(Example: foo.bar.com;server2.bar.com)"
@@ -433,9 +434,8 @@ msgid ""
"Your identity (username@domain) to override one from certificate; or blank "
"to use one provided in certificate"
msgstr ""
"Η ταυτότητά σας (username@domain) για να παρακάμψετε ένα από το "
"πιστοποιητικό; ή κενό για να χρησιμοποιήσετε ένα που παρέχεται στο "
"πιστοποιητικό"
"Η ταυτότητά σας (username@domain) για να παρακάμψετε ένα πιστοποιητικό· ή "
"κενό για να χρησιμοποιήσετε όποια ταυτότητα παρέχεται από πιστοποιητικό"
#: lib/TLS_UI/res/wxTLS_UI.cpp:176
msgid "(Example: user@contoso.com)"
@@ -507,7 +507,8 @@ msgstr "Χρησιμοποιήστε &κενή εξωτερική ταυτότη
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:41
msgid "Ommit my user name and use @mydomain.org only"
msgstr "Παράλειψε το όνομα χρήστη μου και χρησιμοποἰησε μόνο το @mydomain.org"
msgstr ""
"Παραλείψτε το όνομα χρήστη μου και χρησιμοποιήστε μόνο το @mydomain.org"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
@@ -532,15 +533,15 @@ msgstr ""
#: lib/TTLS_UI/src/Module.cpp:277 lib/TTLS_UI/src/Module.cpp:287
#: lib/EAPBase_UI/include/EAP_UI.h:692
msgid "Writing credentials failed."
msgstr "Το γράψιμο των διαπιστευτηρίων απέτυχε."
msgstr "Η εγγραφή των διαπιστευτηρίων απέτυχε."
#: lib/TTLS_UI/src/TTLS_UI.cpp:108 lib/TTLS_UI/src/TTLS_UI.cpp:235
msgid "Inner Authentication"
msgstr "Εσωτερική Πιστοποίηση"
msgstr "Ταυτοποίηση εσωτερικής ταυτότητας"
#: lib/TTLS_UI/src/TTLS_UI.cpp:114
msgid "Select inner authentication method from the list"
msgstr "Επιλέξτε την μέθοδο της εσωτερικής πιστοποίησης από τη λίστα"
msgstr "Επιλέξτε την μέθοδο ταυτοποίησης εσωτερικής ταυτότητας από τη λίστα"
#: lib/TTLS_UI/src/TTLS_UI.cpp:116
msgid "PAP"
@@ -552,14 +553,14 @@ msgstr "MSCHAPv2"
#: lib/TTLS_UI/src/TTLS_UI.cpp:123 lib/TTLS_UI/src/TTLS_UI.cpp:262
msgid "Outer Authentication"
msgstr "Εξωτερική Πιστοποίηση"
msgstr "Ταυτοποίηση εξωτερικής ταυτότητας"
#: lib/EAPBase_UI/include/EAP_UI.h:289
#, c-format
msgid ""
"Are you sure you want to permanently remove %ls provider from configuration?"
msgstr ""
"Είστε βέβαιοι ότι θέλετε να καταργήσετε οριστικά τον πάροχο% ls από τη "
"Είστε βέβαιοι ότι θέλετε να καταργήσετε οριστικά τον πάροχο %ls από τη "
"διαμόρφωση;"
#: lib/EAPBase_UI/include/EAP_UI.h:289

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: EAPMethods\n"
"POT-Creation-Date: 2016-09-06 14:06+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Nunzio Napolitano <nunzio.napolitano@uniparthenope.it>, 2016\n"
"Language-Team: Italian (Italy) (https://www.transifex.com/eduroam_devel/teams/11799/it_IT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,23 +24,23 @@ msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
msgstr "+"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
msgstr "Aggiungi nuovo provider"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
msgstr "-"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
msgstr "Rimuovi provider selezionato"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
msgstr "Avanzate..."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
@@ -48,7 +48,7 @@ msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:230 lib/EAPBase_UI/res/wxEAP_UI.cpp:355
msgid "Client Credentials"
msgstr ""
msgstr "Credenziali del client"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:241
msgid "Manage credentials used to connect."
@@ -102,7 +102,7 @@ msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:376
msgid "User ID:"
msgstr ""
msgstr "Udser ID"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:381
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
@@ -110,7 +110,7 @@ msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:385
msgid "Password:"
msgstr ""
msgstr "Password"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:390
msgid "Enter your password here"

559
EAPMethods/locale/ko_KR.po Normal file
View File

@@ -0,0 +1,559 @@
msgid ""
msgstr ""
"Project-Id-Version: EAPMethods\n"
"POT-Creation-Date: 2016-09-12 12:11+0200\n"
"PO-Revision-Date: 2016-09-12 12:13+0200\n"
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.8\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: _\n"
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: ko_KR\n"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr "+"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr "-"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:230 lib/EAPBase_UI/res/wxEAP_UI.cpp:355
msgid "Client Credentials"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:241
msgid "Manage credentials used to connect."
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:254
msgid "Use &own credentials:"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:255
msgid "Select this option if you have your unique credentials to connect"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:260
msgid "Your credentials loaded from Windows Credential Manager"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:270
msgid "&Clear Credentials"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:271
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:275 lib/EAPBase_UI/res/wxEAP_UI.cpp:308
msgid "&Set Credentials..."
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:276 lib/EAPBase_UI/res/wxEAP_UI.cpp:309
msgid "Click here to set or modify your credentials"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:292
msgid "Use &pre-shared credentials:"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:293
msgid "Select this options if all clients connect using the same credentials"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:298
msgid "Common (pre-shared) credentials"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:366
msgid "Please provide your user ID and password."
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:376
msgid "User ID:"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:381
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:385
msgid "Password:"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:390
msgid "Enter your password here"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:397 lib/TLS_UI/res/wxTLS_UI.cpp:183
msgid "&Remember"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:398
msgid "Check if you would like to save username and password"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:420
msgid "Your Organization"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:431
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:438
msgid "Your organization &name:"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:443
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid "(Keep it short, please)"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:457
msgid "Helpdesk contact &information:"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:467
msgid "¶"
msgstr "¶"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:474
msgid "Your helpdesk website address"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "*"
msgstr "*"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:485
msgid "Your helpdesk e-mail address"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid ")"
msgstr ")"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:496
msgid "Your helpdesk phone number"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:524
msgid "Provider Unique Identifier"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:535
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:542
msgid "&Namespace:"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "urn:uuid"
msgstr "urn:uuid"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:558
msgid "Provider unique &identifier:"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:563
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:588
msgid "Configuration Lock"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:599
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:606
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:609
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:98
#, c-format
msgid "%s Credentials"
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:123 lib/EAPBase_UI/include/EAP_UI.h:352
#: lib/EAPBase_UI/include/EAP_UI.h:362 lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:166
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:167
msgid "your provider"
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:186
msgid "Open the default web browser"
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:197
msgid "Open your e-mail program"
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:208
msgid "Dial the phone number"
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:228
#, c-format
msgid ""
"%s has pre-set parts of this configuration. Those parts are locked to "
"prevent accidental modification."
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Your provider"
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:250
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:252
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:253
msgid "Previous attempt to connect failed."
msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:254
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of "
"man-in-the-middle attacks."
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid "List of certificate authorities server's certificate must be issued by"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid "Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:59
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:72
msgid "Acceptable server &names:"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:77
msgid ""
"A semicolon delimited list of acceptable server FQDN names; blank to skip "
"name check; Unicode characters allowed"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:81
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:120
msgid "TLS Client Certificate"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:131
msgid "Please select your client certificate to use for authentication."
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:138
msgid "Co&nnect without providing a client certificate"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:139
msgid ""
"Select if your server does not require you to provide a client certificate"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:146
msgid "Use the following &certificate:"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:147
msgid "Select if you need to provide a client certificate when connecting"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:154
msgid "Client certificate to use for authentication"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:167
msgid "Custom &identity:"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:172
msgid ""
"Your identity (username@domain) to override one from certificate; or blank "
"to use one provided in certificate"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:176
msgid "(Example: user@contoso.com)"
msgstr ""
#: lib/TLS_UI/res/wxTLS_UI.cpp:184
msgid "Check if you would like to save certificate selection"
msgstr ""
#: lib/TLS_UI/src/TLS_UI.cpp:118
#, c-format
msgid "Invalid character in host name found: %c"
msgstr ""
#: lib/TLS_UI/src/TLS_UI.cpp:118
msgid "Validation conflict"
msgstr ""
#: lib/TLS_UI/src/TLS_UI.cpp:511
msgid "Add Certificate"
msgstr ""
#: lib/TLS_UI/src/TLS_UI.cpp:512
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: lib/TLS_UI/src/TLS_UI.cpp:513
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: lib/TLS_UI/src/TLS_UI.cpp:514
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: lib/TLS_UI/src/TLS_UI.cpp:515
msgid "All Files (*.*)"
msgstr ""
#: lib/TLS_UI/src/TLS_UI.cpp:531
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: lib/TLS_UI/src/TLS_UI.cpp:531
msgid "Error"
msgstr ""
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity (RFC 4822)"
msgstr ""
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:41
msgid "Ommit my user name and use @mydomain.org only"
msgstr ""
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: lib/TTLS_UI/src/Module.cpp:275 lib/TTLS_UI/src/Module.cpp:285
#: lib/EAPBase_UI/include/EAP_UI.h:689
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: lib/TTLS_UI/src/Module.cpp:277 lib/TTLS_UI/src/Module.cpp:287
#: lib/EAPBase_UI/include/EAP_UI.h:692
msgid "Writing credentials failed."
msgstr ""
#: lib/TTLS_UI/src/TTLS_UI.cpp:108 lib/TTLS_UI/src/TTLS_UI.cpp:235
msgid "Inner Authentication"
msgstr ""
#: lib/TTLS_UI/src/TTLS_UI.cpp:114
msgid "Select inner authentication method from the list"
msgstr ""
#: lib/TTLS_UI/src/TTLS_UI.cpp:116
msgid "PAP"
msgstr ""
#: lib/TTLS_UI/src/TTLS_UI.cpp:118
msgid "MSCHAPv2"
msgstr ""
#: lib/TTLS_UI/src/TTLS_UI.cpp:123 lib/TTLS_UI/src/TTLS_UI.cpp:262
msgid "Outer Authentication"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:289
#, c-format
msgid ""
"Are you sure you want to permanently remove %ls provider from configuration?"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:289
msgid "Warning"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:549
msgid "Provider Settings"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:705
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:739
#, c-format
msgid "<error %u>"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:743
msgid "<error>"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:754 lib/EAPBase_UI/include/EAP_UI.h:764
msgid "<empty>"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:754 lib/EAPBase_UI/include/EAP_UI.h:764
msgid "<blank ID>"
msgstr ""
#: lib/EAPBase_UI/include/EAP_UI.h:964
msgid "<Your Organization>"
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:3
msgid "1252"
msgstr "949"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:5
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr ""
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:5
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: EAPMethods\n"
"POT-Creation-Date: 2016-09-06 14:06+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Rimas Kudelis <rq@akl.lt>, 2016\n"
"Language-Team: Lithuanian (https://www.transifex.com/eduroam_devel/teams/11799/lt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,132 +24,146 @@ msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
msgstr "+"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
msgstr "Pridėti naują teikėją"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
msgstr "Pašalinti pažymėtą teikėją"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
msgstr "Išsamiau…"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
msgstr "Atverti teikėjo parametrų langą"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:230 lib/EAPBase_UI/res/wxEAP_UI.cpp:355
msgid "Client Credentials"
msgstr ""
msgstr "Kliento kredencialai"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:241
msgid "Manage credentials used to connect."
msgstr ""
msgstr "Tvarkyti kredencialus, naudojamus jungiantis."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:254
msgid "Use &own credentials:"
msgstr ""
msgstr "Naudoti &savo kredencialus:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:255
msgid "Select this option if you have your unique credentials to connect"
msgstr ""
"Pažymėkite šią parinktį, jei turite savo asmeninius prisijungimo "
"kredencialus"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:260
msgid "Your credentials loaded from Windows Credential Manager"
msgstr ""
msgstr "Jūsų kredencialai įkelti iš „Windows“ kredencialų tvarkytuvo"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:270
msgid "&Clear Credentials"
msgstr ""
msgstr "&Valyti kredencialus"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:271
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
"Spustelėkite, jei norite pašalinti savo kredencialus iš Kredencialų tvarkytuvo.\n"
"Pastaba: jūsų kredencialų bus paprašyta prisijungimo metu."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:275 lib/EAPBase_UI/res/wxEAP_UI.cpp:308
msgid "&Set Credentials..."
msgstr ""
msgstr "&Nustatyti kredencialus…"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:276 lib/EAPBase_UI/res/wxEAP_UI.cpp:309
msgid "Click here to set or modify your credentials"
msgstr ""
msgstr "Spustelėkite čia savo kredencialams nustatyti ar pakeisti"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:292
msgid "Use &pre-shared credentials:"
msgstr ""
msgstr "Naudoti išankstinio bendrinimo kredencialus:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:293
msgid "Select this options if all clients connect using the same credentials"
msgstr ""
"Pažymėkite šią parinktį, jei visi klientai jungiasi naudodamiesi tais "
"pačiais kredencialais"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:298
msgid "Common (pre-shared) credentials"
msgstr ""
msgstr "Išankstinio bendrinimo kredencialai"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:366
msgid "Please provide your user ID and password."
msgstr ""
msgstr "Įveskite savo vartotojo ID ir slaptažodį."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:376
msgid "User ID:"
msgstr ""
msgstr "Vartotojo ID:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:381
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
"Čia įveskite savo vartotojo vardą (vartotojas@domenas.lt, "
"DOMENAS\\Vartotojas ar kt.)"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:385
msgid "Password:"
msgstr ""
msgstr "Slaptažodis:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:390
msgid "Enter your password here"
msgstr ""
msgstr "Čia įveskite savo slaptažodį"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:397 lib/TLS_UI/res/wxTLS_UI.cpp:183
msgid "&Remember"
msgstr ""
msgstr "Įsi&minti"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:398
msgid "Check if you would like to save username and password"
msgstr ""
"Pažymėkite, jei norite, kad jūsų vartotojo vardas ir slaptažodis būtų "
"įsiminti"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:420
msgid "Your Organization"
msgstr ""
msgstr "Jūsų organizacija"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:431
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
"Pristatykite savo organizaciją. Pagal tai bus tinkinamos užklausos "
"vartotojams. Pristačius organizaciją, vartotojams bus paprasčiau suprasti "
"programos pranešimus ir jais vadovautis."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:438
msgid "Your organization &name:"
msgstr ""
msgstr "Organizacijos &pavadinimas:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:443
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
"Organizacijos pavadinimas bus rodomas, siūlant kreiptis į pagalbos tarnybą"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid "(Keep it short, please)"
msgstr ""
msgstr "(Pasistenkite, kad jis būtų neilgas)"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:457
msgid "Helpdesk contact &information:"
msgstr ""
msgstr "Pagalbos tarnybos kontaktinė &informacija:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:467
msgid "¶"
@@ -157,7 +171,7 @@ msgstr "¶"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:474
msgid "Your helpdesk website address"
msgstr ""
msgstr "Pagalbos tarnybos svetainės adresas"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "*"
@@ -165,7 +179,7 @@ msgstr "*"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:485
msgid "Your helpdesk e-mail address"
msgstr ""
msgstr "Pagalbos tarnybos el. pašto adresas"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid ")"
@@ -173,21 +187,23 @@ msgstr ")"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:496
msgid "Your helpdesk phone number"
msgstr ""
msgstr "Pagalbos tarnybos telefono numeris"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:524
msgid "Provider Unique Identifier"
msgstr ""
msgstr "Teikėjo unikalus identifikatorius"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:535
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
"Suteikite savo organizacijai unikalų identifikatorių, kad tais pačiais "
"kredencialais galima būtų naudotis su skirtingais tinklo profiliais."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:542
msgid "&Namespace:"
msgstr ""
msgstr "&Vardų sritis:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "urn:RFC4282:realm"
@@ -199,62 +215,68 @@ msgstr "urn:uuid"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:558
msgid "Provider unique &identifier:"
msgstr ""
msgstr "Teikėjo unikalus &identifikatorius:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:563
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
"Organizacijos identifikatorius kredencialams iš kitų profilių priskirti"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:588
msgid "Configuration Lock"
msgstr ""
msgstr "Užrakinti konfigūraciją"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:599
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
"Konfigūraciją galima užrakinti, siekiant išvengti atsitiktinių pakeitimų iš "
"vartotojų pusės. Tokiu atveju vartotojams leidžiama įvesti tik kredencialus."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:606
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
"Už&rakinti šią konfigūraciją ir neleisti tolesnių keitimų naudojantis "
"vartotojo sąsaja."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:609
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
"(Įspėjimas: užrakinę konfigūraciją, jos atrakinti šiame lange nebegalėsite!)"
#: lib/EAPBase_UI/src/EAP_UI.cpp:98
#, c-format
msgid "%s Credentials"
msgstr ""
msgstr "%s kredencialai"
#: lib/EAPBase_UI/src/EAP_UI.cpp:123 lib/EAPBase_UI/include/EAP_UI.h:352
#: lib/EAPBase_UI/include/EAP_UI.h:362 lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
msgstr "EAP kredencialai"
#: lib/EAPBase_UI/src/EAP_UI.cpp:166
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
msgstr "Norėdami papildomos informacijos ar pagalbos, kreipkitės į %s:"
#: lib/EAPBase_UI/src/EAP_UI.cpp:167
msgid "your provider"
msgstr ""
msgstr "savo teikėją"
#: lib/EAPBase_UI/src/EAP_UI.cpp:186
msgid "Open the default web browser"
msgstr ""
msgstr "Atverti numatytąją naršyklę"
#: lib/EAPBase_UI/src/EAP_UI.cpp:197
msgid "Open your e-mail program"
msgstr ""
msgstr "Atverti el. pašto programą"
#: lib/EAPBase_UI/src/EAP_UI.cpp:208
msgid "Dial the phone number"
msgstr ""
msgstr "Rinkti telefono numerį"
#: lib/EAPBase_UI/src/EAP_UI.cpp:228
#, c-format
@@ -262,284 +284,305 @@ msgid ""
"%s has pre-set parts of this configuration. Those parts are locked to "
"prevent accidental modification."
msgstr ""
"%s įrašė ir užrakino dalį konfigūracijos. Užrakintų parametrų keisti "
"negalėsite."
#: lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Your provider"
msgstr ""
msgstr "Jūsų teikėjas"
#: lib/EAPBase_UI/src/EAP_UI.cpp:250
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
"Ankstesniojo bandymo prisijungti metu grąžintas atsakymas, jog kredencialai "
"netinkami."
#: lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
"Ankstesniojo bandymo prisijungti metu grąžintas atsakymas, jog jūsų "
"kredencialai nebegalioja."
#: lib/EAPBase_UI/src/EAP_UI.cpp:252
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
"Ankstesniojo bandymo prisijungti metu grąžintas atsakymas, jog jūsų "
"kredencialai yra keičiami."
#: lib/EAPBase_UI/src/EAP_UI.cpp:253
msgid "Previous attempt to connect failed."
msgstr ""
msgstr "Ankstesnysis bandymas prisijungti nepavyko."
#: lib/EAPBase_UI/src/EAP_UI.cpp:254
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
"Įsitikinkite, jog jūsų kredencialai teisingi, arba bandykite iš naujo "
"vėliau."
#: lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
msgstr "Patikimi serveriai"
#: lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
"Aprašykite patikimus serverius, kad būtų išvengta neteisėto kredencialų "
"perėmimo."
#: lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
msgstr "Patikimos sertifikavimo tarnybos:"
#: lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid "List of certificate authorities server's certificate must be issued by"
msgstr ""
" Sertifikavimo tarnybų, galinčių išduoti serverio sertifikatą, sąrašas"
#: lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
msgstr "Įtraukti ST iš saugyklos…"
#: lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
"Įtraukti į sąrašą naują sertifikavimo tarnybą iš sertifikatų saugyklos"
#: lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
msgstr "Įtraukti ST iš failo"
#: lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
msgstr "Įtraukti į sąrašą naują sertifikavimo tarnybą iš failo"
#: lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
msgstr "&Šalinti ST"
#: lib/TLS_UI/res/wxTLS_UI.cpp:59
msgid "Removes selected certificate authorities from the list"
msgstr ""
msgstr "Pašalinti pažymėtą sertifikavimo tarnybą iš sąrašo"
#: lib/TLS_UI/res/wxTLS_UI.cpp:72
msgid "Acceptable server &names:"
msgstr ""
msgstr "Patikimi serverio &vardai:"
#: lib/TLS_UI/res/wxTLS_UI.cpp:77
msgid ""
"A semicolon delimited list of acceptable server FQDN names; blank to skip "
"name check; Unicode characters allowed"
msgstr ""
"Kabliataškiais atskirtų patikimų serverių FQDN vardų sąrašas. Palikite "
"tuščią, jei norite praleisti šį patikrinimą. Unikodo rašmenys leidžiami"
#: lib/TLS_UI/res/wxTLS_UI.cpp:81
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
msgstr "(Pvz.: vienas.įstaiga.lt;du.įstaiga.lt)"
#: lib/TLS_UI/res/wxTLS_UI.cpp:120
msgid "TLS Client Certificate"
msgstr ""
msgstr "TLS kliento sertifikatas"
#: lib/TLS_UI/res/wxTLS_UI.cpp:131
msgid "Please select your client certificate to use for authentication."
msgstr ""
msgstr "Pasirinkite kliento sertifikatą, naudotiną šio autentifikavimo metu."
#: lib/TLS_UI/res/wxTLS_UI.cpp:138
msgid "Co&nnect without providing a client certificate"
msgstr ""
msgstr "Jungtis &nepateikiant kliento sertifikavo"
#: lib/TLS_UI/res/wxTLS_UI.cpp:139
msgid ""
"Select if your server does not require you to provide a client certificate"
msgstr ""
msgstr "Pažymėkite, jei serveris nereikalauja pateikti kliento sertifikatą"
#: lib/TLS_UI/res/wxTLS_UI.cpp:146
msgid "Use the following &certificate:"
msgstr ""
msgstr "Naudoti šį &sertifikatą:"
#: lib/TLS_UI/res/wxTLS_UI.cpp:147
msgid "Select if you need to provide a client certificate when connecting"
msgstr ""
msgstr "Pažymėkite, jei jungiantis privaloma pateikti kliento sertifikatą"
#: lib/TLS_UI/res/wxTLS_UI.cpp:154
msgid "Client certificate to use for authentication"
msgstr ""
msgstr "Kliento sertifikatas autentifikavimui"
#: lib/TLS_UI/res/wxTLS_UI.cpp:167
msgid "Custom &identity:"
msgstr ""
msgstr "&Tinkinta tapatybė:"
#: lib/TLS_UI/res/wxTLS_UI.cpp:172
msgid ""
"Your identity (username@domain) to override one from certificate; or blank "
"to use one provided in certificate"
msgstr ""
"Jūsų tapatybė (vartotojas@domenas), naudotina vietoje nurodytos sertifikate."
" Palikite lauką tuščią sertifikate nurodytai tapatybei naudoti"
#: lib/TLS_UI/res/wxTLS_UI.cpp:176
msgid "(Example: user@contoso.com)"
msgstr ""
msgstr "(Pvz.: vartotojas@įstaiga.lt)"
#: lib/TLS_UI/res/wxTLS_UI.cpp:184
msgid "Check if you would like to save certificate selection"
msgstr ""
msgstr "Pažymėkite, jei norite įsiminti pasirinktą sertifikatą"
#: lib/TLS_UI/src/TLS_UI.cpp:118
#, c-format
msgid "Invalid character in host name found: %c"
msgstr ""
msgstr "Kompiuterio varde aptiktas netinkamas simbolis: %c"
#: lib/TLS_UI/src/TLS_UI.cpp:118
msgid "Validation conflict"
msgstr ""
msgstr "Patikra nesėkminga"
#: lib/TLS_UI/src/TLS_UI.cpp:511
msgid "Add Certificate"
msgstr ""
msgstr "Pridėti sertifikatą"
#: lib/TLS_UI/src/TLS_UI.cpp:512
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
msgstr "Sertifikatų failai (*.cer;*.crt;*.der;*.p7b;*.pem)"
#: lib/TLS_UI/src/TLS_UI.cpp:513
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
msgstr "X.509 sertifikatų failai (*.cer;*.crt;*.der;*.pem)"
#: lib/TLS_UI/src/TLS_UI.cpp:514
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
msgstr "PKCS #7 sertifikatų failai (*.p7b)"
#: lib/TLS_UI/src/TLS_UI.cpp:515
msgid "All Files (*.*)"
msgstr ""
msgstr "Visi failai (*.*)"
#: lib/TLS_UI/src/TLS_UI.cpp:531
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
msgstr "Sugadintas arba nepalaikomo tipo sertifikato failas %s"
#: lib/TLS_UI/src/TLS_UI.cpp:531
msgid "Error"
msgstr ""
msgstr "Klaida"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
msgstr "Išorinė tapatybė"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
"Pasirinkite vartotojo identifikatorių, kuriuo prieigos prašomoji biblioteka "
"prisistatys atpažintuvui:"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
msgstr "&Tikroji tapatybė"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
msgstr "Naudoti mano tikrąjį vartotojo vardą"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity (RFC 4822)"
msgstr ""
msgstr "Naudoti &tuščią išorinę tapatybę (RFC 4822)"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:41
msgid "Ommit my user name and use @mydomain.org only"
msgstr ""
msgstr "Praleisti mano naudotojo vardą ir naudoti tik @domenas.lt"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
msgstr "&Tinkinta išorinė tapatybė:"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
msgstr "Nurodykite tinkintą išorinę tapatybę"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
msgstr "Naudotina tinkinta išorinė tapatybė"
#: lib/TTLS_UI/src/Module.cpp:275 lib/TTLS_UI/src/Module.cpp:285
#: lib/EAPBase_UI/include/EAP_UI.h:689
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
msgstr "Klaida įrašant kredencialus į Kredencialų tvarkytuvą: %hs (klaida %u)"
#: lib/TTLS_UI/src/Module.cpp:277 lib/TTLS_UI/src/Module.cpp:287
#: lib/EAPBase_UI/include/EAP_UI.h:692
msgid "Writing credentials failed."
msgstr ""
msgstr "Kredencialų įrašyti nepavyko."
#: lib/TTLS_UI/src/TTLS_UI.cpp:108 lib/TTLS_UI/src/TTLS_UI.cpp:235
msgid "Inner Authentication"
msgstr ""
msgstr "Vidinis autentifikavimas"
#: lib/TTLS_UI/src/TTLS_UI.cpp:114
msgid "Select inner authentication method from the list"
msgstr ""
msgstr "Pasirinkite vidinio autentifikavimo metodą iš sąrašo"
#: lib/TTLS_UI/src/TTLS_UI.cpp:116
msgid "PAP"
msgstr ""
msgstr "PAP"
#: lib/TTLS_UI/src/TTLS_UI.cpp:118
msgid "MSCHAPv2"
msgstr ""
msgstr "MSCHAPv2"
#: lib/TTLS_UI/src/TTLS_UI.cpp:123 lib/TTLS_UI/src/TTLS_UI.cpp:262
msgid "Outer Authentication"
msgstr ""
msgstr "Išorinis autentifikavimas"
#: lib/EAPBase_UI/include/EAP_UI.h:289
#, c-format
msgid ""
"Are you sure you want to permanently remove %ls provider from configuration?"
msgstr ""
"Ar tikrai norite visam laikui pašalinti teikėją „%ls“ iš konfigūracijos?"
#: lib/EAPBase_UI/include/EAP_UI.h:289
msgid "Warning"
msgstr ""
msgstr "Įspėjimas"
#: lib/EAPBase_UI/include/EAP_UI.h:549
msgid "Provider Settings"
msgstr ""
msgstr "Teikėjo parametrai"
#: lib/EAPBase_UI/include/EAP_UI.h:705
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
msgstr "Kredencialų pašalinti nepavyko (klaida %u)."
#: lib/EAPBase_UI/include/EAP_UI.h:739
#, c-format
msgid "<error %u>"
msgstr ""
msgstr "<klaida %u>"
#: lib/EAPBase_UI/include/EAP_UI.h:743
msgid "<error>"
msgstr ""
msgstr "<klaida>"
#: lib/EAPBase_UI/include/EAP_UI.h:754 lib/EAPBase_UI/include/EAP_UI.h:764
msgid "<empty>"
msgstr ""
msgstr "<tuščias>"
#: lib/EAPBase_UI/include/EAP_UI.h:754 lib/EAPBase_UI/include/EAP_UI.h:764
msgid "<blank ID>"
msgstr ""
msgstr "<tuščias ID>"
#: lib/EAPBase_UI/include/EAP_UI.h:964
msgid "<Your Organization>"
msgstr ""
msgstr "<Jūsų organizacija>"
#: lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
msgstr "EAP ryšio konfigūracija"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:3
@@ -549,19 +592,19 @@ msgstr "1257"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
msgstr "EAP metodai"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
msgstr "Moduliai atskirų EAP metodų palaikymui"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:5
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr ""
msgstr "TTLS"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:5
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""
msgstr "Tunneled Transport Layer Security"

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: EAPMethods\n"
"POT-Creation-Date: 2016-09-06 14:06+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Tom Ivar Myren <tom.myren@uninett.no>, 2016\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/eduroam_devel/teams/11799/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,73 +24,79 @@ msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
msgstr "+"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
msgstr "Legger til ny tilbyder"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
msgstr "-"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
msgstr "Fjerner valgte tilbyder"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
msgstr "Avansert..."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
msgstr "Åpner dialog med tilbyder innstillinger"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:230 lib/EAPBase_UI/res/wxEAP_UI.cpp:355
msgid "Client Credentials"
msgstr ""
msgstr "Påloggingsinformasjon"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:241
msgid "Manage credentials used to connect."
msgstr ""
msgstr "Administrer påloggingsinformasjon som brukes til å koble til."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:254
msgid "Use &own credentials:"
msgstr ""
msgstr "Bruk &egen påloggingsinformasjon:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:255
msgid "Select this option if you have your unique credentials to connect"
msgstr ""
"Velg dette alternativet hvis du har din unike påloggingsinformasjon for å "
"koble til"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:260
msgid "Your credentials loaded from Windows Credential Manager"
msgstr ""
msgstr "Din påloggingsinformasjon lastet fra Windows Credential Manager"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:270
msgid "&Clear Credentials"
msgstr ""
msgstr "&Fjern påloggingsinformasjon"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:271
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
"Klikk for å fjerne påloggingsinformasjon fra Credential Manager.\n"
"Merk: Du vil bli bedt om å oppgi påloggingsinformasjon når du kobler til."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:275 lib/EAPBase_UI/res/wxEAP_UI.cpp:308
msgid "&Set Credentials..."
msgstr ""
msgstr "&Sett påloggingsinformasjon"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:276 lib/EAPBase_UI/res/wxEAP_UI.cpp:309
msgid "Click here to set or modify your credentials"
msgstr ""
msgstr "Klikk her for å sette eller endre påloggingsinformasjon"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:292
msgid "Use &pre-shared credentials:"
msgstr ""
msgstr "Bruk &pre-shared påloggingsinformasjon:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:293
msgid "Select this options if all clients connect using the same credentials"
msgstr ""
"Velg dette alternativet hvis alle klienter kobler til med samme "
"påloggingsinformasjon"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:298
msgid "Common (pre-shared) credentials"

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: EAPMethods\n"
"POT-Creation-Date: 2016-09-06 14:06+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Tomasz Wolniewicz <tw2529@gmail.com>, 2016\n"
"Language-Team: Polish (Poland) (https://www.transifex.com/eduroam_devel/teams/11799/pl_PL/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,132 +24,141 @@ msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
msgstr "+"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
msgstr "Dodaje nowego dostawcę tożsamości"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
msgstr "-"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
msgstr "Usuwa zaznaczonego dostawcę tożsamości"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
msgstr "Zaawansowane..."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
msgstr "Otwiera okno z ustawieniami dostawcy tożsamości"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:230 lib/EAPBase_UI/res/wxEAP_UI.cpp:355
msgid "Client Credentials"
msgstr ""
msgstr "Dane logowanie klienta"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:241
msgid "Manage credentials used to connect."
msgstr ""
msgstr "Zarządzaj poświadczeniami logowania."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:254
msgid "Use &own credentials:"
msgstr ""
msgstr "Użyj &własnych poświadczeń:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:255
msgid "Select this option if you have your unique credentials to connect"
msgstr ""
msgstr "Zaznacz tę opcję jeżeli masz unikatowe poświadczenia logowania"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:260
msgid "Your credentials loaded from Windows Credential Manager"
msgstr ""
msgstr "Twoje poświadczenia załadowane z Managera poświadczeń systemu Windows"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:270
msgid "&Clear Credentials"
msgstr ""
msgstr "&Usuń poświadczenia"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:271
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
"Kliknij aby usunąć poświadczenia z Menadżera poświadczeń.\n"
"Uwaga: Przy ponownym połączeniu zostaniesz poproszony o wprowadzenie poświadczeń."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:275 lib/EAPBase_UI/res/wxEAP_UI.cpp:308
msgid "&Set Credentials..."
msgstr ""
msgstr "&Ustaw poświadczenia"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:276 lib/EAPBase_UI/res/wxEAP_UI.cpp:309
msgid "Click here to set or modify your credentials"
msgstr ""
msgstr "Kliknij tutaj, aby zmodyfikować poświadczenia logowania"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:292
msgid "Use &pre-shared credentials:"
msgstr ""
msgstr "Użyj pre-konfigurowanych poświadczeń"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:293
msgid "Select this options if all clients connect using the same credentials"
msgstr ""
"Zaznacz tę opcję, jeżeli wszyscy klienci używają tych samych poświadczeń"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:298
msgid "Common (pre-shared) credentials"
msgstr ""
msgstr "Wspólne (pre-konfigurowane) poświadczenia"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:366
msgid "Please provide your user ID and password."
msgstr ""
msgstr "Proszę wprowadzić identyfikator i hasło."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:376
msgid "User ID:"
msgstr ""
msgstr "Identyfikator:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:381
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
"Wprowadź swój identyfikator (użytkownik@domena.org, DOMENA\\Użytkownik, "
"itp.)"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:385
msgid "Password:"
msgstr ""
msgstr "Hasło:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:390
msgid "Enter your password here"
msgstr ""
msgstr "Wprowadź hasło"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:397 lib/TLS_UI/res/wxTLS_UI.cpp:183
msgid "&Remember"
msgstr ""
msgstr "&Zapamiętaj"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:398
msgid "Check if you would like to save username and password"
msgstr ""
msgstr "Zaznacz, jeżeli chcesz zachować identyfikator i hasło"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:420
msgid "Your Organization"
msgstr ""
msgstr "Twoja Instytucja"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:431
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
"Opisz Twoją instytucję, aby spersonalizować komunikaty. Jeżeli instytucja "
"jest ustawiona użytkownicy łatwiej rozumieją komunikaty i reagują na nie. "
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:438
msgid "Your organization &name:"
msgstr ""
msgstr "&Nazwa Twojej instytucji:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:443
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
"Nazwa Twojej instytucji, tak jak ma być pokazana przy wskazaniach do "
"helpdesku"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid "(Keep it short, please)"
msgstr ""
msgstr "(postaraj się, by było krótko)"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:457
msgid "Helpdesk contact &information:"
msgstr ""
msgstr "&Kontakt do helpdesku"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:467
msgid "¶"
@@ -157,7 +166,7 @@ msgstr "¶"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:474
msgid "Your helpdesk website address"
msgstr ""
msgstr "Adres WWW twojego helpdesku"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "*"
@@ -165,7 +174,7 @@ msgstr "*"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:485
msgid "Your helpdesk e-mail address"
msgstr ""
msgstr "Adres e-mail Twojego helpdesku"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid ")"
@@ -173,21 +182,23 @@ msgstr ")"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:496
msgid "Your helpdesk phone number"
msgstr ""
msgstr "Numer telefonu Twojego helpdesku"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:524
msgid "Provider Unique Identifier"
msgstr ""
msgstr "Unikatowy Identyfikator Dostawcy Tożsamości"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:535
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
"Nadaj Twojej instytucji unikatowy identyfikator, by umożliwić używanie tego "
"samego zestawu poświadczeń w kilku profilach sieciowych."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:542
msgid "&Namespace:"
msgstr ""
msgstr "&Namespace:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "urn:RFC4282:realm"
@@ -199,62 +210,70 @@ msgstr "urn:uuid"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:558
msgid "Provider unique &identifier:"
msgstr ""
msgstr "Unikatowy &identyfikator Dostawcy Tożsamości:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:563
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
"Unikatowy identyfikator Twojej instytucji umożliwiający używanie tych samych"
" poświadczeń z innych profili"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:588
msgid "Configuration Lock"
msgstr ""
msgstr "Blokada konfiguracji"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:599
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
"Twoją konfigurację można zablokować, aby zapobiec przypadkowej modyfikacji "
"przez użytkowników końcowych. Użytkownicy będą mogli wprowadzać "
"poświadczenia, ale nic poza tym. "
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:606
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
"&Zablokuj konfigurację przed modyfikacją poprzez interfejs użytkownika."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:609
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
"(Uwaga: Po zablokowaniu nie będziesz mógł tego wycofać przy pomocy tego "
"interfejsu!)"
#: lib/EAPBase_UI/src/EAP_UI.cpp:98
#, c-format
msgid "%s Credentials"
msgstr ""
msgstr "Poświadczenia %s"
#: lib/EAPBase_UI/src/EAP_UI.cpp:123 lib/EAPBase_UI/include/EAP_UI.h:352
#: lib/EAPBase_UI/include/EAP_UI.h:362 lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
msgstr "Poświadczenia EAP"
#: lib/EAPBase_UI/src/EAP_UI.cpp:166
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
msgstr "W celu otrzymania pomocy i instrukcji skontaktuj się z %s poprzez:"
#: lib/EAPBase_UI/src/EAP_UI.cpp:167
msgid "your provider"
msgstr ""
msgstr "Twój dostawca tożsamości"
#: lib/EAPBase_UI/src/EAP_UI.cpp:186
msgid "Open the default web browser"
msgstr ""
msgstr "Otwórz w domyślnej przeglądarce WWW"
#: lib/EAPBase_UI/src/EAP_UI.cpp:197
msgid "Open your e-mail program"
msgstr ""
msgstr "Otwórz w programie obsługi e-mail"
#: lib/EAPBase_UI/src/EAP_UI.cpp:208
msgid "Dial the phone number"
msgstr ""
msgstr "Wybierz numer telefonu"
#: lib/EAPBase_UI/src/EAP_UI.cpp:228
#, c-format
@@ -262,284 +281,304 @@ msgid ""
"%s has pre-set parts of this configuration. Those parts are locked to "
"prevent accidental modification."
msgstr ""
"Ta konfiguracja dla %s jest częściowo pre-definiowana. Te części są "
"zablokowane, aby zapobiec przypadkowej modyfikacji."
#: lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Your provider"
msgstr ""
msgstr "Twój dostawca tożsamości"
#: lib/EAPBase_UI/src/EAP_UI.cpp:250
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
msgstr "Poprzednie próby połączenia zgłosiły błąd poświadczeń logowania."
#: lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
"Poprzednie próby połączenia zgłosiły błąd przedawnienia poświadczeń "
"logowania."
#: lib/EAPBase_UI/src/EAP_UI.cpp:252
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
"Poprzednie próby połączenia zgłosiły, że poświadczenia logowania zostały "
"zmienione."
#: lib/EAPBase_UI/src/EAP_UI.cpp:253
msgid "Previous attempt to connect failed."
msgstr ""
msgstr "Poprzednie próby połączenia były nieudane."
#: lib/EAPBase_UI/src/EAP_UI.cpp:254
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
"Upewnij się, że Twoje poświadczenia logowania są poprawne, albo spróbuj "
"ponownie później."
#: lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
msgstr "Zaufane serwery"
#: lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
"Opisz serwery, którym ufasz, aby uniknąć możliwości przejęcia poświadczeń w "
"atakach typu man-in-the-middle."
#: lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
msgstr "Zaufane Urzędy Certyfikacji"
#: lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid "List of certificate authorities server's certificate must be issued by"
msgstr ""
"Lista urzędów certyfikacyjnych uprawnionych do wystawienia certyfikatu "
"serwera"
#: lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
msgstr "Dodaj Urząd z Magazynu..."
#: lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
msgstr "Dodaje do listy nowy certyfikat z magazynu certyfikatów"
#: lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
msgstr "Dodaj Urząd z pliku..."
#: lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
msgstr "Dodaje do listy nowy Urząd Certyfikacji z pliku"
#: lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
msgstr "&Usuń Urząd"
#: lib/TLS_UI/res/wxTLS_UI.cpp:59
msgid "Removes selected certificate authorities from the list"
msgstr ""
msgstr "Usuwa z listy wybrane urzędy certyfikacji"
#: lib/TLS_UI/res/wxTLS_UI.cpp:72
msgid "Acceptable server &names:"
msgstr ""
msgstr "Dopuszczalne &nazwy serwerów:"
#: lib/TLS_UI/res/wxTLS_UI.cpp:77
msgid ""
"A semicolon delimited list of acceptable server FQDN names; blank to skip "
"name check; Unicode characters allowed"
msgstr ""
"Lista nazw domenowych serwerów rozdzielana średnikami; pusta lista oznacza "
"brak sprawdzenia nazw; dozwolone są znaki Unicode"
#: lib/TLS_UI/res/wxTLS_UI.cpp:81
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
msgstr "(Przykład: foo.bar.com;server2.bar.com)"
#: lib/TLS_UI/res/wxTLS_UI.cpp:120
msgid "TLS Client Certificate"
msgstr ""
msgstr "Certyfikat klienta"
#: lib/TLS_UI/res/wxTLS_UI.cpp:131
msgid "Please select your client certificate to use for authentication."
msgstr ""
"Wybierz certyfikat klienta, który ma być używany przy uwierzytelnieniu."
#: lib/TLS_UI/res/wxTLS_UI.cpp:138
msgid "Co&nnect without providing a client certificate"
msgstr ""
msgstr "&Połącz bez podawania certyfikatu klienta"
#: lib/TLS_UI/res/wxTLS_UI.cpp:139
msgid ""
"Select if your server does not require you to provide a client certificate"
msgstr ""
msgstr "Zaznacz, jeżeli Twój serwer nie wymaga podania certyfikatu klienta"
#: lib/TLS_UI/res/wxTLS_UI.cpp:146
msgid "Use the following &certificate:"
msgstr ""
msgstr "Użyj &certyfikatu:"
#: lib/TLS_UI/res/wxTLS_UI.cpp:147
msgid "Select if you need to provide a client certificate when connecting"
msgstr ""
msgstr "Zaznacz, jeżeli w czasie łączenia musisz wskazać certyfikat klienta"
#: lib/TLS_UI/res/wxTLS_UI.cpp:154
msgid "Client certificate to use for authentication"
msgstr ""
msgstr "Certyfikat klienta używany do uwierzytelnienia"
#: lib/TLS_UI/res/wxTLS_UI.cpp:167
msgid "Custom &identity:"
msgstr ""
msgstr "Niestandardowy &identyfikator:"
#: lib/TLS_UI/res/wxTLS_UI.cpp:172
msgid ""
"Your identity (username@domain) to override one from certificate; or blank "
"to use one provided in certificate"
msgstr ""
"Twój identyfikator (użytkownik@domena), który ma być użyty zamiast podanego "
"w certyfikacie; pusty wpis spowoduje użycie identyfikatora z certyfikatu"
#: lib/TLS_UI/res/wxTLS_UI.cpp:176
msgid "(Example: user@contoso.com)"
msgstr ""
msgstr "(Przykład: user@contoso.com)"
#: lib/TLS_UI/res/wxTLS_UI.cpp:184
msgid "Check if you would like to save certificate selection"
msgstr ""
msgstr "Zaznacz, jeżeli chcesz zapamiętać wybór certyfikatu"
#: lib/TLS_UI/src/TLS_UI.cpp:118
#, c-format
msgid "Invalid character in host name found: %c"
msgstr ""
msgstr "W nazwie hosta znaleziono nieprawidłowy znak: %c"
#: lib/TLS_UI/src/TLS_UI.cpp:118
msgid "Validation conflict"
msgstr ""
msgstr "Błąd walidacji danych"
#: lib/TLS_UI/src/TLS_UI.cpp:511
msgid "Add Certificate"
msgstr ""
msgstr "Dodaj certyfikat"
#: lib/TLS_UI/src/TLS_UI.cpp:512
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
msgstr "Pliki certyfikatów (*.cer;*.crt;*.der;*.p7b;*.pem)"
#: lib/TLS_UI/src/TLS_UI.cpp:513
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
msgstr "Pliki certyfikatów X.509 (*.cer;*.crt;*.der;*.pem)"
#: lib/TLS_UI/src/TLS_UI.cpp:514
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
msgstr "Pliki certyfikatów PKCS #7 (*.p7b)"
#: lib/TLS_UI/src/TLS_UI.cpp:515
msgid "All Files (*.*)"
msgstr ""
msgstr "Wszystkie pliki (*.*)"
#: lib/TLS_UI/src/TLS_UI.cpp:531
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
msgstr "Nieprawidłowy, albo niewspierany plik certyfikatu %s"
#: lib/TLS_UI/src/TLS_UI.cpp:531
msgid "Error"
msgstr ""
msgstr "Błąd"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
msgstr "Tożsamość zewnętrzna"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
"Wybierz identyfikator, a pomocą którego supplicant przedstawie się serwerowi"
" uwierzytelniającemu:"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
msgstr "&Rzeczywista tożsamość"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
msgstr "Korzystaj z mojego rzeczywistego identyfikatora"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity (RFC 4822)"
msgstr ""
msgstr "Użyj &pustego identyfikatora zewnętrznego (RFC 4822)"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:41
msgid "Ommit my user name and use @mydomain.org only"
msgstr ""
msgstr "Pomiń mój identyfikator i użyj tylko @mydomain.org"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
msgstr "&Niestandardowa tożsamość zewnętrzna:"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
msgstr "Podaj niestandardowy identyfikator zewnętrzny"
#: lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
msgstr "Niestandardowy identyfikator zewnętrzny"
#: lib/TTLS_UI/src/Module.cpp:275 lib/TTLS_UI/src/Module.cpp:285
#: lib/EAPBase_UI/include/EAP_UI.h:689
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
msgstr "Błąd przy zapisie poświadczeń w Menadżerze poświadczeń: %hs (błąd %u)"
#: lib/TTLS_UI/src/Module.cpp:277 lib/TTLS_UI/src/Module.cpp:287
#: lib/EAPBase_UI/include/EAP_UI.h:692
msgid "Writing credentials failed."
msgstr ""
msgstr "Nie udało się zapisać poświadczeń."
#: lib/TTLS_UI/src/TTLS_UI.cpp:108 lib/TTLS_UI/src/TTLS_UI.cpp:235
msgid "Inner Authentication"
msgstr ""
msgstr "Uwierzytelnienie wewnętrzne"
#: lib/TTLS_UI/src/TTLS_UI.cpp:114
msgid "Select inner authentication method from the list"
msgstr ""
msgstr "Wymierz metodę uwierzytelnienia wewnętrznego z listy"
#: lib/TTLS_UI/src/TTLS_UI.cpp:116
msgid "PAP"
msgstr ""
msgstr "PAP"
#: lib/TTLS_UI/src/TTLS_UI.cpp:118
msgid "MSCHAPv2"
msgstr ""
msgstr "MSCHAPv2"
#: lib/TTLS_UI/src/TTLS_UI.cpp:123 lib/TTLS_UI/src/TTLS_UI.cpp:262
msgid "Outer Authentication"
msgstr ""
msgstr "Uwierzytelnienie "
#: lib/EAPBase_UI/include/EAP_UI.h:289
#, c-format
msgid ""
"Are you sure you want to permanently remove %ls provider from configuration?"
msgstr ""
"Czy jesteś pewny, że chcesz usunąć konfigurację dostawcy tożsamości %ls?"
#: lib/EAPBase_UI/include/EAP_UI.h:289
msgid "Warning"
msgstr ""
msgstr "Ostrzeżenie"
#: lib/EAPBase_UI/include/EAP_UI.h:549
msgid "Provider Settings"
msgstr ""
msgstr "Ustawienia dostawcy tożsamości"
#: lib/EAPBase_UI/include/EAP_UI.h:705
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
msgstr "Błąd przy usuwaniu poświadczeń (błąd %u)."
#: lib/EAPBase_UI/include/EAP_UI.h:739
#, c-format
msgid "<error %u>"
msgstr ""
msgstr "<błąd %u>"
#: lib/EAPBase_UI/include/EAP_UI.h:743
msgid "<error>"
msgstr ""
msgstr "<błąd>"
#: lib/EAPBase_UI/include/EAP_UI.h:754 lib/EAPBase_UI/include/EAP_UI.h:764
msgid "<empty>"
msgstr ""
msgstr "<pusty>"
#: lib/EAPBase_UI/include/EAP_UI.h:754 lib/EAPBase_UI/include/EAP_UI.h:764
msgid "<blank ID>"
msgstr ""
msgstr "<puste ID>"
#: lib/EAPBase_UI/include/EAP_UI.h:964
msgid "<Your Organization>"
msgstr ""
msgstr "<Twoja Instytucja>"
#: lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
msgstr "Konfiguracja Połączenia EAP"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:3
@@ -549,19 +588,19 @@ msgstr "1250"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
msgstr "Metody EAP"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
msgstr "Moduły obsługujące konkretne metody EAP"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:5
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr ""
msgstr "TTLS"
#: EAPMethods/MSIBuild/En.Win32.Release.Feature-2.idtx:5
#: EAPMethods/MSIBuild/En.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""
msgstr "Tunneled Transport Layer Security"

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: EAPMethods\n"
"POT-Creation-Date: 2016-09-06 14:06+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Pedro Simões <psimoes@fccn.pt>, 2016\n"
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/eduroam_devel/teams/11799/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,7 +24,7 @@ msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
msgstr "+"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
@@ -32,7 +32,7 @@ msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
msgstr "-"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
@@ -40,7 +40,7 @@ msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
msgstr "Avançadas..."
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
@@ -110,15 +110,15 @@ msgstr ""
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:385
msgid "Password:"
msgstr ""
msgstr "Palavra passe:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:390
msgid "Enter your password here"
msgstr ""
msgstr "Coloque aqui a sua palavra passe"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:397 lib/TLS_UI/res/wxTLS_UI.cpp:183
msgid "&Remember"
msgstr ""
msgstr "&Memorizar"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:398
msgid "Check if you would like to save username and password"
@@ -228,12 +228,12 @@ msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:98
#, c-format
msgid "%s Credentials"
msgstr ""
msgstr "%s Credenciais"
#: lib/EAPBase_UI/src/EAP_UI.cpp:123 lib/EAPBase_UI/include/EAP_UI.h:352
#: lib/EAPBase_UI/include/EAP_UI.h:362 lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
msgstr "Credenciais EAP"
#: lib/EAPBase_UI/src/EAP_UI.cpp:166
#, c-format
@@ -254,7 +254,7 @@ msgstr ""
#: lib/EAPBase_UI/src/EAP_UI.cpp:208
msgid "Dial the phone number"
msgstr ""
msgstr "Marcar o número de telefone"
#: lib/EAPBase_UI/src/EAP_UI.cpp:228
#, c-format

View File

@@ -755,7 +755,7 @@ DWORD WINAPI EapPeerCredentialsXml2Blob(
else {
// <Credentials>
com_obj<IXMLDOMNode> pXmlElCredentials;
if (FAILED(eapxml::select_node(pCredentialsDoc, bstr(L"//EapHostUserCredentials/Credentials"), &pXmlElCredentials))) {
if (FAILED(eapxml::select_node(pCredentialsDoc, bstr(L"//EapHostUserCredentials/Credentials"), pXmlElCredentials))) {
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_FOUND, _T(__FUNCTION__) _T(" Error selecting <EapHostUserCredentials><Credentials> element.")));
return dwResult;
}

View File

@@ -133,7 +133,7 @@ DWORD WINAPI EapPeerConfigXml2Blob(
// <Config>
pConfigDoc->setProperty(bstr(L"SelectionNamespaces"), variant(L"xmlns:eaphostconfig=\"http://www.microsoft.com/provisioning/EapHostConfig\""));
com_obj<IXMLDOMElement> pXmlElConfig;
if (FAILED(eapxml::select_element(pConfigDoc, bstr(L"//eaphostconfig:Config"), &pXmlElConfig))) {
if (FAILED(eapxml::select_element(pConfigDoc, bstr(L"//eaphostconfig:Config"), pXmlElConfig))) {
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" Error reading <Config> element.")));
return dwResult;
}
@@ -215,7 +215,7 @@ DWORD WINAPI EapPeerConfigBlob2Xml(
// Select <Config> node.
com_obj<IXMLDOMNode> pXmlElConfig;
pConfigDoc->setProperty(bstr(L"SelectionNamespaces"), variant(L"xmlns:eaphostconfig=\"http://www.microsoft.com/provisioning/EapHostConfig\""));
if (FAILED(eapxml::select_node(pConfigDoc, bstr(L"eaphostconfig:Config"), &pXmlElConfig))) {
if (FAILED(eapxml::select_node(pConfigDoc, bstr(L"eaphostconfig:Config"), pXmlElConfig))) {
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_FOUND, _T(__FUNCTION__) _T(" Error selecting <Config> element.")));
return dwResult;
}

View File

@@ -139,6 +139,7 @@
<POCompile Include="locale\hu_HU.po" />
<POCompile Include="locale\is_IS.po" />
<POCompile Include="locale\it_IT.po" />
<POCompile Include="locale\ko_KR.po" />
<POCompile Include="locale\lt_LT.po" />
<POCompile Include="locale\nb_NO.po" />
<POCompile Include="locale\nl_NL.po" />

View File

@@ -159,5 +159,8 @@
<POCompile Include="locale\vi_VN.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
<POCompile Include="locale\ko_KR.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
</ItemGroup>
</Project>

View File

@@ -70,7 +70,7 @@ wxEventMonitorFrame::wxEventMonitorFrame(wxWindow* parent, wxWindowID id, const
m_menuEdit = new wxMenu();
wxMenuItem* m_menuEditCopy;
m_menuEditCopy = new wxMenuItem(m_menuEdit, wxID_COPY, wxEmptyString , wxEmptyString, wxITEM_NORMAL);
m_menuEditCopy = new wxMenuItem(m_menuEdit, wxID_COPY, _("&Copy") + wxT('\t') + wxT("Ctrl+C"), _("Copies selected records to clipboard"), wxITEM_NORMAL);
m_menuEditCopy->SetBitmaps(wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(243), size_menu));
m_menuEdit->Append(m_menuEditCopy);

Binary file not shown.

View File

@@ -1,14 +1,15 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-19 11:14+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.8\n"
"X-Generator: Poedit 1.8.9\n"
"X-Poedit-Basepath: ..\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: en_US\n"
@@ -16,8 +17,8 @@ msgstr ""
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: .\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -82,6 +83,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -180,10 +189,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""
@@ -200,21 +205,14 @@ msgstr ""
msgid "Trace Log"
msgstr ""
#: MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:3
#: MSIBuild/En.x64.Release.Feature-2.idtx:3
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:3
msgid "1252"
msgstr ""
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "EVENTM~1|GÉANTLink Event Monitor"
msgstr ""
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
msgid "Real-time display of internal events"
msgstr ""
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
msgid "EVENTM~1|GÉANTLink Event Monitor"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Bulgarian (Bulgaria) (https://www.transifex.com/eduroam_devel/teams/11799/bg_BG/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Catalan (Spain) (https://www.transifex.com/eduroam_devel/teams/11799/ca_ES/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Czech (Czech Republic) (https://www.transifex.com/eduroam_devel/teams/11799/cs_CZ/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Welsh (https://www.transifex.com/eduroam_devel/teams/11799/cy/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,11 +1,11 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: eduroam_devel <stefan.winter@restena.lu>, 2016\n"
"Language-Team: German (https://www.transifex.com/eduroam_devel/teams/11799/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,35 +18,35 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
msgstr "Ereignismonitor"
#: ETWLog.cpp:83
#, c-format
msgid "Error opening event trace (error %u)."
msgstr ""
msgstr "Fehler beim Öffnen des Ereignislogs (Fehler %u)."
#: ETWLog.cpp:167
msgid "Time"
msgstr ""
msgstr "Zeit"
#: ETWLog.cpp:168
msgid "PID"
msgstr ""
msgstr "PID"
#: ETWLog.cpp:169
msgid "TID"
msgstr ""
msgstr "TID"
#: ETWLog.cpp:170
msgid "Source"
msgstr ""
msgstr "Quelle"
#: ETWLog.cpp:171
msgid "Event"
msgstr ""
msgstr "Ereignis"
#: ETWLog.cpp:228
msgid ""
@@ -54,156 +54,166 @@ msgid ""
"(Run As Administrator) or be a member of Performance Log Users group to "
"start event tracing session."
msgstr ""
"Zugriff verweigert: Die Sitzung konnte nicht eröffnet werden. Sie benötigen "
"Administratorprivilegien (Als Administrator ausführen) oder müssen in der "
"Benutzergruppe Leistungsprotokollbenutzer sein um eine Ereignislogsitzung zu"
" eröffnen."
#: ETWLog.cpp:231
#, c-format
msgid "The %s event session already exists."
msgstr ""
msgstr "Die Ereignislogsitzung %s existiert bereits."
#: ETWLog.cpp:235
#, c-format
msgid "Error creating event session (error %u)."
msgstr ""
msgstr "Fehler beim eröffnen der Ereignislogsitzung (Fehler %u)."
#: ETWLog.cpp:251 ETWLog.cpp:267 ETWLog.cpp:281
#, c-format
msgid "Error enabling %s event provider (error %u)."
msgstr ""
msgstr "Fehler beim Einschalten des %s Ereignisanbieters (Fehler %u)."
#: Frame.cpp:48 Frame.cpp:108 Frame.cpp:113 Frame.cpp:168 Frame.cpp:170
#, c-format
msgid "Toggles display of %s records"
msgstr ""
msgstr "Schaltet die Anzeige von %s Ereignissen um"
#: Frame.cpp:65
msgid "E&xit"
msgstr ""
msgstr "&Beenden"
#: Frame.cpp:65
msgid "Quits this program"
msgstr ""
msgstr "Beendet das Programm"
#: Frame.cpp:69
msgid "&Program"
msgstr ""
msgstr "&Programm"
#: Frame.cpp:73
msgid "&Copy"
msgstr "&Kopieren"
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr "Kopiert die ausgewählten Ereignisse in die Zwischenablage"
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
msgstr "&Alle Kopieren"
#: Frame.cpp:78 Frame.cpp:156
msgid "Copies all records to clipboard (including hidden)"
msgstr ""
msgstr "Kopiert alle Ereignisse in die Zwischenablage (auch versteckte)"
#: Frame.cpp:83 Frame.cpp:158
msgid "Clear"
msgstr ""
msgstr "Löschen"
#: Frame.cpp:83 Frame.cpp:158
msgid "Clears all records from the log"
msgstr ""
msgstr "Löscht alle Ereignisse aus dem Log"
#: Frame.cpp:90
msgid "Select &All"
msgstr ""
msgstr "A&lle Auswählen"
#: Frame.cpp:90
msgid "Selects all visible records"
msgstr ""
msgstr "Wählt alle angezeigten Ereignisse aus"
#: Frame.cpp:94
msgid "Select &None"
msgstr ""
msgstr "&Nichts Auswählen"
#: Frame.cpp:94
msgid "Clears record selection"
msgstr ""
msgstr "Wählt kein Ereignis aus"
#: Frame.cpp:97 Frame.cpp:142
msgid "&Edit"
msgstr ""
msgstr "Bea&rbeiten"
#: Frame.cpp:101
msgid "Auto &Scroll"
msgstr ""
msgstr "Automatischer B&ildlauf"
#: Frame.cpp:101 Frame.cpp:164
msgid "Automatically scrolls to the most recent records as they come-in"
msgstr ""
"Folgt automatisch den neuesten Ereignissen sobald sie im Log auftreten"
#: Frame.cpp:123 Frame.cpp:176
msgid "Verbose"
msgstr ""
msgstr "Ausführlich"
#: Frame.cpp:123 Frame.cpp:176
msgid "Displays all levels of records"
msgstr ""
msgstr "Zeigt Ereignisse aller Stufen an"
#: Frame.cpp:127 Frame.cpp:178
msgid "Informational"
msgstr ""
msgstr "Information"
#: Frame.cpp:127 Frame.cpp:178
msgid "Displays all records up to informational level"
msgstr ""
"Zeigt alle Ereignisse an, die auf Stufe Information oder wichtiger sind."
#: Frame.cpp:131 Frame.cpp:180
msgid "Warning"
msgstr ""
msgstr "Warnung"
#: Frame.cpp:131 Frame.cpp:180
msgid "Displays all records up to warning level"
msgstr ""
msgstr "Zeigt alle Ereignisse an, die auf Stufe Warnung oder wichtiger sind."
#: Frame.cpp:135 Frame.cpp:182
msgid "Error"
msgstr ""
msgstr "Fehler"
#: Frame.cpp:135 Frame.cpp:182
msgid "Displays error level records only"
msgstr ""
msgstr "Zeigt nur Ereignesse der Stufe Fehler an"
#: Frame.cpp:142 Frame.cpp:146
#, c-format
msgid "%s toolbar"
msgstr ""
msgstr "%s Werkzeugleiste"
#: Frame.cpp:142 Frame.cpp:146
#, c-format
msgid "Toggles display of %s toolbar"
msgstr ""
msgstr "Schaltet die Anzeige der %s Werzeugleiste um"
#: Frame.cpp:142 Frame.cpp:146 Frame.cpp:185
msgid "View"
msgstr ""
msgstr "Ansicht"
#: Frame.cpp:146 Frame.cpp:149
msgid "&View"
msgstr ""
msgstr "An&sicht"
#: Frame.cpp:154
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
msgstr "Kopieren"
#: Frame.cpp:156
msgid "Copy All"
msgstr ""
msgstr "Alle Kopieren"
#: Frame.cpp:161
msgid "Edit"
msgstr ""
msgstr "Bearbeiten"
#: Frame.cpp:164
msgid "Auto Scroll"
msgstr ""
msgstr "Automatischer Bildlauf"
#: Frame.cpp:189
msgid "Trace Log"
msgstr ""
msgstr "Ereignislog"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:3
@@ -215,11 +225,11 @@ msgstr "1252"
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "EVENTM~1|GÉANTLink Event Monitor"
msgstr ""
msgstr "EVENTM~1|GÉANTLink Ereignismonitor"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "Real-time display of internal events"
msgstr ""
msgstr "Echtzeitanzeige der internen Ereignisse"

View File

@@ -1,12 +1,11 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
# Vicky Kons <vickyk@admin.grnet.gr>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Vicky Kons <vickyk@admin.grnet.gr>, 2016\n"
"Last-Translator: Zenon Mousmoulas <zenon@mousmoulas.gr>, 2016\n"
"Language-Team: Greek (https://www.transifex.com/eduroam_devel/teams/11799/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr "Παρακολούθηση Συνεδριών"
@@ -55,9 +54,9 @@ msgid ""
"(Run As Administrator) or be a member of Performance Log Users group to "
"start event tracing session."
msgstr ""
"Δεν επιτρέπεται η πρόσβαση δημιουργώντας συνεδρία: θα πρέπει να έχετε "
"Δεν επιτρέπεται η πρόσβαση δημιουργώντας μια συνεδρία: θα πρέπει να έχετε "
"δικαιώματα διαχειριστή (Εκτέλεση ως διαχειριστής) ή να είστε μέλος της "
"ομάδας Perfomance Log Users για να ξεκινήσετε να εντοπίζεται μία συνεδρία."
"ομάδας Perfomance Log Users για να ξεκινήσετε να ψάξετε μία συνεδρία."
#: ETWLog.cpp:231
#, c-format
@@ -77,7 +76,7 @@ msgstr "Σφάλμα κατά την ενεργοποίηση %s παρόχου
#: Frame.cpp:48 Frame.cpp:108 Frame.cpp:113 Frame.cpp:168 Frame.cpp:170
#, c-format
msgid "Toggles display of %s records"
msgstr "Εναλλάσει την οθόνη %s των αρχείων"
msgstr "Εναλλάσει την εμφάνιση/απόκρυψη των αρχείων %s"
#: Frame.cpp:65
msgid "E&xit"
@@ -91,6 +90,14 @@ msgstr "Κλείνει αυτό το πρόγραμμα"
msgid "&Program"
msgstr "&Πρόγραμμα"
#: Frame.cpp:73
msgid "&Copy"
msgstr "&Αντιγραφή"
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr "Αντιγράφει επιλεγμένα αρχεία στο πρόχειρο"
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr "Αντιγραφή Ό&λων"
@@ -176,7 +183,7 @@ msgstr "%s Γραμμή εργαλείων"
#: Frame.cpp:142 Frame.cpp:146
#, c-format
msgid "Toggles display of %s toolbar"
msgstr "Εναλλάσσει την εμφάνιση %s της γραμμής εργαλείων"
msgstr "Εναλλάσσει την εμφάνιση/απόκρυψη της γραμμής εργαλείων %s"
#: Frame.cpp:142 Frame.cpp:146 Frame.cpp:185
msgid "View"
@@ -190,10 +197,6 @@ msgstr "&Προβολή"
msgid "Copy"
msgstr "Αντιγραφή"
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr "Αντιγράφει επιλεγμένα αρχεία στο πρόχειρο"
#: Frame.cpp:156
msgid "Copy All"
msgstr "Αντιγραφή όλων"

View File

@@ -1,10 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
# José Manuel Macías <jmanuel.macias@rediris.es>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: José Manuel Macías <jmanuel.macias@rediris.es>, 2016\n"
"Language-Team: Spanish (https://www.transifex.com/eduroam_devel/teams/11799/es/)\n"
@@ -19,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr "Monitor de eventos"
@@ -91,6 +90,14 @@ msgstr "Salir de este programa"
msgid "&Program"
msgstr "&Programa"
#: Frame.cpp:73
msgid "&Copy"
msgstr "&Copiar"
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr "Copia los registros seleccionados al portapapeles"
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr "Copi&ar todo"
@@ -190,10 +197,6 @@ msgstr "&Ver"
msgid "Copy"
msgstr "Copiar"
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr "Copia los registros seleccionados al portapapeles"
#: Frame.cpp:156
msgid "Copy All"
msgstr "Copiar todo"

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Basque (Spain) (https://www.transifex.com/eduroam_devel/teams/11799/eu_ES/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Finnish (Finland) (https://www.transifex.com/eduroam_devel/teams/11799/fi_FI/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: French (Canada) (https://www.transifex.com/eduroam_devel/teams/11799/fr_CA/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: French (France) (https://www.transifex.com/eduroam_devel/teams/11799/fr_FR/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Galician (Spain) (https://www.transifex.com/eduroam_devel/teams/11799/gl_ES/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,10 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
# Dubravko Penezic <dpenezic@gmail.com>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Dubravko Penezic <dpenezic@gmail.com>, 2016\n"
"Language-Team: Croatian (Croatia) (https://www.transifex.com/eduroam_devel/teams/11799/hr_HR/)\n"
@@ -19,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr "Preglednik Događaja"
@@ -91,6 +90,14 @@ msgstr "Završi"
msgid "&Program"
msgstr "&Program"
#: Frame.cpp:73
msgid "&Copy"
msgstr "&Kopiraj"
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr "Kopiraj odabrane zapise u prijenosnik"
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr "Kopiraj S&ve"
@@ -189,10 +196,6 @@ msgstr "&Pogled"
msgid "Copy"
msgstr "Kopiraj"
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr "Kopiraj odabrane zapise u prijenosnik"
#: Frame.cpp:156
msgid "Copy All"
msgstr "Kopiraj sve"

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Hungarian (https://www.transifex.com/eduroam_devel/teams/11799/hu/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Icelandic (https://www.transifex.com/eduroam_devel/teams/11799/is/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Italian (Italy) (https://www.transifex.com/eduroam_devel/teams/11799/it_IT/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -0,0 +1,227 @@
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-09-12 12:15+0200\n"
"PO-Revision-Date: 2016-09-12 12:15+0200\n"
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.8\n"
"X-Poedit-Basepath: ..\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: _\n"
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
"Language: ko_KR\n"
"X-Poedit-SearchPath-0: .\n"
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
#: ETWLog.cpp:83
#, c-format
msgid "Error opening event trace (error %u)."
msgstr ""
#: ETWLog.cpp:167
msgid "Time"
msgstr ""
#: ETWLog.cpp:168
msgid "PID"
msgstr ""
#: ETWLog.cpp:169
msgid "TID"
msgstr ""
#: ETWLog.cpp:170
msgid "Source"
msgstr ""
#: ETWLog.cpp:171
msgid "Event"
msgstr ""
#: ETWLog.cpp:228
msgid ""
"Access denied creating event session: you need administrative privileges "
"(Run As Administrator) or be a member of Performance Log Users group to "
"start event tracing session."
msgstr ""
#: ETWLog.cpp:231
#, c-format
msgid "The %s event session already exists."
msgstr ""
#: ETWLog.cpp:235
#, c-format
msgid "Error creating event session (error %u)."
msgstr ""
#: ETWLog.cpp:251 ETWLog.cpp:267 ETWLog.cpp:281
#, c-format
msgid "Error enabling %s event provider (error %u)."
msgstr ""
#: Frame.cpp:48 Frame.cpp:108 Frame.cpp:113 Frame.cpp:168 Frame.cpp:170
#, c-format
msgid "Toggles display of %s records"
msgstr ""
#: Frame.cpp:65
msgid "E&xit"
msgstr ""
#: Frame.cpp:65
msgid "Quits this program"
msgstr ""
#: Frame.cpp:69
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
#: Frame.cpp:78 Frame.cpp:156
msgid "Copies all records to clipboard (including hidden)"
msgstr ""
#: Frame.cpp:83 Frame.cpp:158
msgid "Clear"
msgstr ""
#: Frame.cpp:83 Frame.cpp:158
msgid "Clears all records from the log"
msgstr ""
#: Frame.cpp:90
msgid "Select &All"
msgstr ""
#: Frame.cpp:90
msgid "Selects all visible records"
msgstr ""
#: Frame.cpp:94
msgid "Select &None"
msgstr ""
#: Frame.cpp:94
msgid "Clears record selection"
msgstr ""
#: Frame.cpp:97 Frame.cpp:142
msgid "&Edit"
msgstr ""
#: Frame.cpp:101
msgid "Auto &Scroll"
msgstr ""
#: Frame.cpp:101 Frame.cpp:164
msgid "Automatically scrolls to the most recent records as they come-in"
msgstr ""
#: Frame.cpp:123 Frame.cpp:176
msgid "Verbose"
msgstr ""
#: Frame.cpp:123 Frame.cpp:176
msgid "Displays all levels of records"
msgstr ""
#: Frame.cpp:127 Frame.cpp:178
msgid "Informational"
msgstr ""
#: Frame.cpp:127 Frame.cpp:178
msgid "Displays all records up to informational level"
msgstr ""
#: Frame.cpp:131 Frame.cpp:180
msgid "Warning"
msgstr ""
#: Frame.cpp:131 Frame.cpp:180
msgid "Displays all records up to warning level"
msgstr ""
#: Frame.cpp:135 Frame.cpp:182
msgid "Error"
msgstr ""
#: Frame.cpp:135 Frame.cpp:182
msgid "Displays error level records only"
msgstr ""
#: Frame.cpp:142 Frame.cpp:146
#, c-format
msgid "%s toolbar"
msgstr ""
#: Frame.cpp:142 Frame.cpp:146
#, c-format
msgid "Toggles display of %s toolbar"
msgstr ""
#: Frame.cpp:142 Frame.cpp:146 Frame.cpp:185
msgid "View"
msgstr ""
#: Frame.cpp:146 Frame.cpp:149
msgid "&View"
msgstr ""
#: Frame.cpp:154
msgid "Copy"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""
#: Frame.cpp:161
msgid "Edit"
msgstr ""
#: Frame.cpp:164
msgid "Auto Scroll"
msgstr ""
#: Frame.cpp:189
msgid "Trace Log"
msgstr ""
#: MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:3
#: MSIBuild/En.x64.Release.Feature-2.idtx:3
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:3
msgid "1252"
msgstr "949"
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "EVENTM~1|GÉANTLink Event Monitor"
msgstr ""
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "Real-time display of internal events"
msgstr ""

View File

@@ -1,11 +1,11 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Rimas Kudelis <rq@akl.lt>, 2016\n"
"Language-Team: Lithuanian (https://www.transifex.com/eduroam_devel/teams/11799/lt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,35 +18,35 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
msgstr "Įvykių stebėjimo programa"
#: ETWLog.cpp:83
#, c-format
msgid "Error opening event trace (error %u)."
msgstr ""
msgstr "Klaida atveriant įvykio sekimo failą (klaida %u)."
#: ETWLog.cpp:167
msgid "Time"
msgstr ""
msgstr "Laikas"
#: ETWLog.cpp:168
msgid "PID"
msgstr ""
msgstr "PID"
#: ETWLog.cpp:169
msgid "TID"
msgstr ""
msgstr "Gijos ID"
#: ETWLog.cpp:170
msgid "Source"
msgstr ""
msgstr "Šaltinis"
#: ETWLog.cpp:171
msgid "Event"
msgstr ""
msgstr "Įvykis"
#: ETWLog.cpp:228
msgid ""
@@ -54,156 +54,162 @@ msgid ""
"(Run As Administrator) or be a member of Performance Log Users group to "
"start event tracing session."
msgstr ""
"Pradedant įvykių sesiją, prieiga uždrausta: turite paleisti programą "
"administratoriaus teisėmis arba būti „Performance Log Users“ grupės nariu."
#: ETWLog.cpp:231
#, c-format
msgid "The %s event session already exists."
msgstr ""
msgstr "„%s“ įvykių sesija jau egzistuoja."
#: ETWLog.cpp:235
#, c-format
msgid "Error creating event session (error %u)."
msgstr ""
msgstr "Klaida kuriant įvykių sesiją (klaida %u)."
#: ETWLog.cpp:251 ETWLog.cpp:267 ETWLog.cpp:281
#, c-format
msgid "Error enabling %s event provider (error %u)."
msgstr ""
msgstr "Klaida įgalinant „%s“ įvykių teiktuvą (klaida %u)."
#: Frame.cpp:48 Frame.cpp:108 Frame.cpp:113 Frame.cpp:168 Frame.cpp:170
#, c-format
msgid "Toggles display of %s records"
msgstr ""
msgstr "Perjungia „%s“ klaidų matomumą"
#: Frame.cpp:65
msgid "E&xit"
msgstr ""
msgstr "&Išeiti"
#: Frame.cpp:65
msgid "Quits this program"
msgstr ""
msgstr "Baigti šios programos darbą"
#: Frame.cpp:69
msgid "&Program"
msgstr ""
msgstr "&Programa"
#: Frame.cpp:73
msgid "&Copy"
msgstr "&Kopijuoti"
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr "Kopijuoti pažymėtus įrašus į iškarpinę"
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
msgstr "Kopijuoti vi&sus"
#: Frame.cpp:78 Frame.cpp:156
msgid "Copies all records to clipboard (including hidden)"
msgstr ""
msgstr "Kopijuoti visus įrašus (taip pat ir nematomus) į iškarpinę"
#: Frame.cpp:83 Frame.cpp:158
msgid "Clear"
msgstr ""
msgstr "Valyti"
#: Frame.cpp:83 Frame.cpp:158
msgid "Clears all records from the log"
msgstr ""
msgstr "Pašalinti visus žurnalo įrašus"
#: Frame.cpp:90
msgid "Select &All"
msgstr ""
msgstr "Žymėti &visus"
#: Frame.cpp:90
msgid "Selects all visible records"
msgstr ""
msgstr "Pažymėti visus matomus įrašus"
#: Frame.cpp:94
msgid "Select &None"
msgstr ""
msgstr "Nežymėti &nieko"
#: Frame.cpp:94
msgid "Clears record selection"
msgstr ""
msgstr "Nužymėti pažymėtus įrašus"
#: Frame.cpp:97 Frame.cpp:142
msgid "&Edit"
msgstr ""
msgstr "R&edagavimas"
#: Frame.cpp:101
msgid "Auto &Scroll"
msgstr ""
msgstr "&Automatinė slinktis"
#: Frame.cpp:101 Frame.cpp:164
msgid "Automatically scrolls to the most recent records as they come-in"
msgstr ""
msgstr "Automatiškai slinkti vaizdą, kad visuomet būtų matomi vėliausi įrašai"
#: Frame.cpp:123 Frame.cpp:176
msgid "Verbose"
msgstr ""
msgstr "Išsamūs"
#: Frame.cpp:123 Frame.cpp:176
msgid "Displays all levels of records"
msgstr ""
msgstr "Rodyti visų lygių įrašus"
#: Frame.cpp:127 Frame.cpp:178
msgid "Informational"
msgstr ""
msgstr "Informaciniai"
#: Frame.cpp:127 Frame.cpp:178
msgid "Displays all records up to informational level"
msgstr ""
msgstr "Rodyti informacinio ir svarbesnių lygių įrašus"
#: Frame.cpp:131 Frame.cpp:180
msgid "Warning"
msgstr ""
msgstr "Įspėjimai"
#: Frame.cpp:131 Frame.cpp:180
msgid "Displays all records up to warning level"
msgstr ""
msgstr "Rodyti įspėjimo ir svarbesnių lygių įrašus"
#: Frame.cpp:135 Frame.cpp:182
msgid "Error"
msgstr ""
msgstr "Klaidos"
#: Frame.cpp:135 Frame.cpp:182
msgid "Displays error level records only"
msgstr ""
msgstr "Rodyti tik klaidų įrašus"
#: Frame.cpp:142 Frame.cpp:146
#, c-format
msgid "%s toolbar"
msgstr ""
msgstr "Įrankių juosta „%s“"
#: Frame.cpp:142 Frame.cpp:146
#, c-format
msgid "Toggles display of %s toolbar"
msgstr ""
msgstr "Perjungti įrankių juostos „%s“ matomumą"
#: Frame.cpp:142 Frame.cpp:146 Frame.cpp:185
msgid "View"
msgstr ""
msgstr "Rodymas"
#: Frame.cpp:146 Frame.cpp:149
msgid "&View"
msgstr ""
msgstr "&Rodymas"
#: Frame.cpp:154
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
msgstr "Kopijuoti"
#: Frame.cpp:156
msgid "Copy All"
msgstr ""
msgstr "Kopijuoti visus"
#: Frame.cpp:161
msgid "Edit"
msgstr ""
msgstr "Redagavimas"
#: Frame.cpp:164
msgid "Auto Scroll"
msgstr ""
msgstr "Automatinė slinktis"
#: Frame.cpp:189
msgid "Trace Log"
msgstr ""
msgstr "Sekimo žurnalas"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:3
@@ -215,11 +221,11 @@ msgstr "1257"
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "EVENTM~1|GÉANTLink Event Monitor"
msgstr ""
msgstr "EVENTM~1|„GÉANTLink“ įvykių stebėjimo programa"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "Real-time display of internal events"
msgstr ""
msgstr "Vidinių įvykių stebėjimas tikruoju laiku"

View File

@@ -1,11 +1,11 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Tom Ivar Myren <tom.myren@uninett.no>, 2016\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/eduroam_devel/teams/11799/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,35 +18,35 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
msgstr "Hendelses monitor"
#: ETWLog.cpp:83
#, c-format
msgid "Error opening event trace (error %u)."
msgstr ""
msgstr "Feil under åpning hendelses trace (error %u)."
#: ETWLog.cpp:167
msgid "Time"
msgstr ""
msgstr "Tid"
#: ETWLog.cpp:168
msgid "PID"
msgstr ""
msgstr "PID"
#: ETWLog.cpp:169
msgid "TID"
msgstr ""
msgstr "TID"
#: ETWLog.cpp:170
msgid "Source"
msgstr ""
msgstr "Kilde"
#: ETWLog.cpp:171
msgid "Event"
msgstr ""
msgstr "Hendelse"
#: ETWLog.cpp:228
msgid ""
@@ -54,156 +54,163 @@ msgid ""
"(Run As Administrator) or be a member of Performance Log Users group to "
"start event tracing session."
msgstr ""
"Nektet tilgang til å lage hendelses sesjon: Du må ha administrator "
"rettigheter (Kjør som administrator) eller være medlem av \"Performance Log "
"Users group\" for å starte hendelses sporing sesjon."
#: ETWLog.cpp:231
#, c-format
msgid "The %s event session already exists."
msgstr ""
msgstr "%s hendelses-sesjonen finnes allerede."
#: ETWLog.cpp:235
#, c-format
msgid "Error creating event session (error %u)."
msgstr ""
msgstr "Feil under opprettelse av hendelses sesjon (error %u)."
#: ETWLog.cpp:251 ETWLog.cpp:267 ETWLog.cpp:281
#, c-format
msgid "Error enabling %s event provider (error %u)."
msgstr ""
msgstr "Feil under aktivering av %s hendelses tilbyder (error %u)."
#: Frame.cpp:48 Frame.cpp:108 Frame.cpp:113 Frame.cpp:168 Frame.cpp:170
#, c-format
msgid "Toggles display of %s records"
msgstr ""
msgstr "Veksler mellom visning av %s poster"
#: Frame.cpp:65
msgid "E&xit"
msgstr ""
msgstr "E&xit"
#: Frame.cpp:65
msgid "Quits this program"
msgstr ""
msgstr "Avslutter programmet"
#: Frame.cpp:69
msgid "&Program"
msgstr ""
msgstr "&Program"
#: Frame.cpp:73
msgid "&Copy"
msgstr "&Kopier"
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr "Kopierer valgte poster til utklippstavlen"
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
msgstr "Kopier A%lt"
#: Frame.cpp:78 Frame.cpp:156
msgid "Copies all records to clipboard (including hidden)"
msgstr ""
msgstr "Kopierer alle poster til utklippstavlen (inkludert skjulte)"
#: Frame.cpp:83 Frame.cpp:158
msgid "Clear"
msgstr ""
msgstr "Fjern"
#: Frame.cpp:83 Frame.cpp:158
msgid "Clears all records from the log"
msgstr ""
msgstr "Fjerner all poster fra loggen"
#: Frame.cpp:90
msgid "Select &All"
msgstr ""
msgstr "Velg %Alle"
#: Frame.cpp:90
msgid "Selects all visible records"
msgstr ""
msgstr "Velg alle synlige poster"
#: Frame.cpp:94
msgid "Select &None"
msgstr ""
msgstr "Velg &Ingen"
#: Frame.cpp:94
msgid "Clears record selection"
msgstr ""
msgstr "Fjerner valg av poster"
#: Frame.cpp:97 Frame.cpp:142
msgid "&Edit"
msgstr ""
msgstr "&Rediger"
#: Frame.cpp:101
msgid "Auto &Scroll"
msgstr ""
msgstr "Auto &Scroll"
#: Frame.cpp:101 Frame.cpp:164
msgid "Automatically scrolls to the most recent records as they come-in"
msgstr ""
msgstr "Blar automatisk til nye poster etterhvert som de kommer inn"
#: Frame.cpp:123 Frame.cpp:176
msgid "Verbose"
msgstr ""
msgstr "Verbose"
#: Frame.cpp:123 Frame.cpp:176
msgid "Displays all levels of records"
msgstr ""
msgstr "Vis alle nivåer av poster"
#: Frame.cpp:127 Frame.cpp:178
msgid "Informational"
msgstr ""
msgstr "Informasjon"
#: Frame.cpp:127 Frame.cpp:178
msgid "Displays all records up to informational level"
msgstr ""
msgstr "Vis alle poster opp til nivå informasjon"
#: Frame.cpp:131 Frame.cpp:180
msgid "Warning"
msgstr ""
msgstr "Advarsel"
#: Frame.cpp:131 Frame.cpp:180
msgid "Displays all records up to warning level"
msgstr ""
msgstr "Vis alle poster opp til nivå advarsel"
#: Frame.cpp:135 Frame.cpp:182
msgid "Error"
msgstr ""
msgstr "Feil"
#: Frame.cpp:135 Frame.cpp:182
msgid "Displays error level records only"
msgstr ""
msgstr "Vis kun poster med nivå feil"
#: Frame.cpp:142 Frame.cpp:146
#, c-format
msgid "%s toolbar"
msgstr ""
msgstr "%s verktøylinje"
#: Frame.cpp:142 Frame.cpp:146
#, c-format
msgid "Toggles display of %s toolbar"
msgstr ""
msgstr "Veksler mellom visning av %s verktøylinje"
#: Frame.cpp:142 Frame.cpp:146 Frame.cpp:185
msgid "View"
msgstr ""
msgstr "Se"
#: Frame.cpp:146 Frame.cpp:149
msgid "&View"
msgstr ""
msgstr "&Se"
#: Frame.cpp:154
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
msgstr "Kopier"
#: Frame.cpp:156
msgid "Copy All"
msgstr ""
msgstr "Kopier Alt"
#: Frame.cpp:161
msgid "Edit"
msgstr ""
msgstr "Rediger"
#: Frame.cpp:164
msgid "Auto Scroll"
msgstr ""
msgstr "Auto Scroll"
#: Frame.cpp:189
msgid "Trace Log"
msgstr ""
msgstr "Sporingslogg"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:3
@@ -215,11 +222,11 @@ msgstr "1252"
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "EVENTM~1|GÉANTLink Event Monitor"
msgstr ""
msgstr "EVENTM~1|GÉANTLink Hendelses monitor"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "Real-time display of internal events"
msgstr ""
msgstr "Sanntidsvisning av interne hendelser"

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Dutch (https://www.transifex.com/eduroam_devel/teams/11799/nl/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,11 +1,11 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Tomasz Wolniewicz <tw2529@gmail.com>, 2016\n"
"Language-Team: Polish (Poland) (https://www.transifex.com/eduroam_devel/teams/11799/pl_PL/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,35 +18,35 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
msgstr "Monitor Zdarzeń"
#: ETWLog.cpp:83
#, c-format
msgid "Error opening event trace (error %u)."
msgstr ""
msgstr "Błąd otwarcia danych śledzenia zdarzeń (błąd %u)."
#: ETWLog.cpp:167
msgid "Time"
msgstr ""
msgstr "Czas"
#: ETWLog.cpp:168
msgid "PID"
msgstr ""
msgstr "PID"
#: ETWLog.cpp:169
msgid "TID"
msgstr ""
msgstr "TID"
#: ETWLog.cpp:170
msgid "Source"
msgstr ""
msgstr "Źródło"
#: ETWLog.cpp:171
msgid "Event"
msgstr ""
msgstr "Zdarzenie"
#: ETWLog.cpp:228
msgid ""
@@ -54,156 +54,164 @@ msgid ""
"(Run As Administrator) or be a member of Performance Log Users group to "
"start event tracing session."
msgstr ""
"Odmowa dostępu przy tworzeniu sesji zdarzeń: aby uruchomić sesję musisz mieć"
" uprawnienia administratora (Uruchom jako Administrator), albo być członkiem"
" grupy Użytkownicy dzienników wydajności."
#: ETWLog.cpp:231
#, c-format
msgid "The %s event session already exists."
msgstr ""
msgstr "Sesja zdarzeń %s już istnieje."
#: ETWLog.cpp:235
#, c-format
msgid "Error creating event session (error %u)."
msgstr ""
msgstr "Błąd tworzenia sesji zdarzeń (błąd %u)."
#: ETWLog.cpp:251 ETWLog.cpp:267 ETWLog.cpp:281
#, c-format
msgid "Error enabling %s event provider (error %u)."
msgstr ""
msgstr "Błąd włączenia dostawcy zdarzeń %s (błąd %u)."
#: Frame.cpp:48 Frame.cpp:108 Frame.cpp:113 Frame.cpp:168 Frame.cpp:170
#, c-format
msgid "Toggles display of %s records"
msgstr ""
msgstr "Przełącza wyświetlanie rekordów %s"
#: Frame.cpp:65
msgid "E&xit"
msgstr ""
msgstr "W&yjście"
#: Frame.cpp:65
msgid "Quits this program"
msgstr ""
msgstr "Kończy ten program"
#: Frame.cpp:69
msgid "&Program"
msgstr ""
msgstr "&Program"
#: Frame.cpp:73
msgid "&Copy"
msgstr "&Kopiuj"
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr "Kopiuje zaznaczone rekordy do schowka"
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
msgstr "Kopiuj w&szystko"
#: Frame.cpp:78 Frame.cpp:156
msgid "Copies all records to clipboard (including hidden)"
msgstr ""
msgstr "Kopiuje wszystkie rekordy (również ukryte) do schowka "
#: Frame.cpp:83 Frame.cpp:158
msgid "Clear"
msgstr ""
msgstr "Skasuj"
#: Frame.cpp:83 Frame.cpp:158
msgid "Clears all records from the log"
msgstr ""
msgstr "Kasuje wszystkie rekordy z logu"
#: Frame.cpp:90
msgid "Select &All"
msgstr ""
msgstr "Z&aznacz wszystko"
#: Frame.cpp:90
msgid "Selects all visible records"
msgstr ""
msgstr "Zaznacz wszystkie widoczne rekordy"
#: Frame.cpp:94
msgid "Select &None"
msgstr ""
msgstr "&Usuń zaznaczenie"
#: Frame.cpp:94
msgid "Clears record selection"
msgstr ""
msgstr "Kasuje zaznaczenie"
#: Frame.cpp:97 Frame.cpp:142
msgid "&Edit"
msgstr ""
msgstr "&Edytuj"
#: Frame.cpp:101
msgid "Auto &Scroll"
msgstr ""
msgstr "Au&tomatyczne przewijanie"
#: Frame.cpp:101 Frame.cpp:164
msgid "Automatically scrolls to the most recent records as they come-in"
msgstr ""
"Automatycznie przewija do najnowszych zdarzeń w momencie kiedy się pojawiają"
#: Frame.cpp:123 Frame.cpp:176
msgid "Verbose"
msgstr ""
msgstr "Pełne informacje"
#: Frame.cpp:123 Frame.cpp:176
msgid "Displays all levels of records"
msgstr ""
msgstr "Wyświetla wszystkie poziomy rekordów"
#: Frame.cpp:127 Frame.cpp:178
msgid "Informational"
msgstr ""
msgstr "Informacja"
#: Frame.cpp:127 Frame.cpp:178
msgid "Displays all records up to informational level"
msgstr ""
msgstr "Wyświetla wszystkie rekordy do poziomu informacja"
#: Frame.cpp:131 Frame.cpp:180
msgid "Warning"
msgstr ""
msgstr "Ostrzeżenie"
#: Frame.cpp:131 Frame.cpp:180
msgid "Displays all records up to warning level"
msgstr ""
msgstr "Wyświetla wszystkie rekordy do poziomu ostrzeżenie"
#: Frame.cpp:135 Frame.cpp:182
msgid "Error"
msgstr ""
msgstr "Błąd"
#: Frame.cpp:135 Frame.cpp:182
msgid "Displays error level records only"
msgstr ""
msgstr "Wyświetla tylko rekordy błędów"
#: Frame.cpp:142 Frame.cpp:146
#, c-format
msgid "%s toolbar"
msgstr ""
msgstr "pasek zadań %s"
#: Frame.cpp:142 Frame.cpp:146
#, c-format
msgid "Toggles display of %s toolbar"
msgstr ""
msgstr "Przełącza wyświetlanie paska zadań %s"
#: Frame.cpp:142 Frame.cpp:146 Frame.cpp:185
msgid "View"
msgstr ""
msgstr "Pokaż"
#: Frame.cpp:146 Frame.cpp:149
msgid "&View"
msgstr ""
msgstr "&Widok"
#: Frame.cpp:154
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
msgstr "Skopiuj"
#: Frame.cpp:156
msgid "Copy All"
msgstr ""
msgstr "Skopiuj wszystkie"
#: Frame.cpp:161
msgid "Edit"
msgstr ""
msgstr "Edytuj"
#: Frame.cpp:164
msgid "Auto Scroll"
msgstr ""
msgstr "Automatyczne przewijanie"
#: Frame.cpp:189
msgid "Trace Log"
msgstr ""
msgstr "Dziennik śledzenia"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:3
@@ -215,11 +223,11 @@ msgstr "1250"
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "EVENTM~1|GÉANTLink Event Monitor"
msgstr ""
msgstr "EVENTM~1|Monitor zdarzeń GÉANTLink"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "Real-time display of internal events"
msgstr ""
msgstr "Wyświetlanie zdarzeń wewnętrznych w czasie rzeczywistym"

View File

@@ -1,11 +1,11 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Pedro Simões <psimoes@fccn.pt>, 2016\n"
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/eduroam_devel/teams/11799/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -42,11 +42,11 @@ msgstr ""
#: ETWLog.cpp:170
msgid "Source"
msgstr ""
msgstr "Fonte"
#: ETWLog.cpp:171
msgid "Event"
msgstr ""
msgstr "Evento"
#: ETWLog.cpp:228
msgid ""
@@ -81,10 +81,18 @@ msgstr ""
#: Frame.cpp:65
msgid "Quits this program"
msgstr ""
msgstr "Sair deste programa"
#: Frame.cpp:69
msgid "&Program"
msgstr "&Programa"
#: Frame.cpp:73
msgid "&Copy"
msgstr "&Copiar"
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
@@ -97,7 +105,7 @@ msgstr ""
#: Frame.cpp:83 Frame.cpp:158
msgid "Clear"
msgstr ""
msgstr "Limpar"
#: Frame.cpp:83 Frame.cpp:158
msgid "Clears all records from the log"
@@ -121,7 +129,7 @@ msgstr ""
#: Frame.cpp:97 Frame.cpp:142
msgid "&Edit"
msgstr ""
msgstr "&Editar"
#: Frame.cpp:101
msgid "Auto &Scroll"
@@ -149,7 +157,7 @@ msgstr ""
#: Frame.cpp:131 Frame.cpp:180
msgid "Warning"
msgstr ""
msgstr "Alerta"
#: Frame.cpp:131 Frame.cpp:180
msgid "Displays all records up to warning level"
@@ -157,7 +165,7 @@ msgstr ""
#: Frame.cpp:135 Frame.cpp:182
msgid "Error"
msgstr ""
msgstr "Erro"
#: Frame.cpp:135 Frame.cpp:182
msgid "Displays error level records only"
@@ -175,27 +183,23 @@ msgstr ""
#: Frame.cpp:142 Frame.cpp:146 Frame.cpp:185
msgid "View"
msgstr ""
msgstr "Ver"
#: Frame.cpp:146 Frame.cpp:149
msgid "&View"
msgstr ""
msgstr "&Ver"
#: Frame.cpp:154
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
msgstr "Copiar"
#: Frame.cpp:156
msgid "Copy All"
msgstr ""
msgstr "Copiar tudo"
#: Frame.cpp:161
msgid "Edit"
msgstr ""
msgstr "Editar"
#: Frame.cpp:164
msgid "Auto Scroll"

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Russian (Russia) (https://www.transifex.com/eduroam_devel/teams/11799/ru_RU/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Slovak (Slovakia) (https://www.transifex.com/eduroam_devel/teams/11799/sk_SK/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Slovenian (Slovenia) (https://www.transifex.com/eduroam_devel/teams/11799/sl_SI/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr "Nadzornik dogodkov"
@@ -90,6 +90,14 @@ msgstr "Konča ta program"
msgid "&Program"
msgstr "&Program"
#: Frame.cpp:73
msgid "&Copy"
msgstr "&Kopiraj"
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr "Kopira izbrane zapise na odložišče"
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr "Kopiraj &vse"
@@ -188,10 +196,6 @@ msgstr "Po&gled"
msgid "Copy"
msgstr "Kopiraj"
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr "Kopira izbrane zapise na odložišče"
#: Frame.cpp:156
msgid "Copy All"
msgstr "Kopiraj vse"

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Serbian (https://www.transifex.com/eduroam_devel/teams/11799/sr/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Swedish (https://www.transifex.com/eduroam_devel/teams/11799/sv/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Turkish (https://www.transifex.com/eduroam_devel/teams/11799/tr/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

View File

@@ -1,9 +1,9 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-08-27 14:20+0200\n"
"POT-Creation-Date: 2016-09-12 11:18+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Vietnamese (https://www.transifex.com/eduroam_devel/teams/11799/vi/)\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: App.cpp:69 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: App.cpp:61 Frame.h:67 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Event Monitor"
msgstr ""
@@ -87,6 +87,14 @@ msgstr ""
msgid "&Program"
msgstr ""
#: Frame.cpp:73
msgid "&Copy"
msgstr ""
#: Frame.cpp:73 Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:78
msgid "Copy A&ll"
msgstr ""
@@ -185,10 +193,6 @@ msgstr ""
msgid "Copy"
msgstr ""
#: Frame.cpp:154
msgid "Copies selected records to clipboard"
msgstr ""
#: Frame.cpp:156
msgid "Copy All"
msgstr ""

Binary file not shown.

View File

@@ -2,14 +2,14 @@
msgid ""
msgstr ""
"Project-Id-Version: GÉANTLink MSI\n"
"POT-Creation-Date: 2016-08-31 14:33+0200\n"
"POT-Creation-Date: 2016-09-19 11:20+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.8\n"
"X-Generator: Poedit 1.8.9\n"
"X-Poedit-Basepath: ../Main\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: en_US\n"
@@ -17,20 +17,16 @@ msgstr ""
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: .\n"
#: En.Win32.Release.LaunchCondition-2.idtx:4
#: En.x64.Release.LaunchCondition-2.idtx:4
#: en_US.Win32.Release.LaunchCondition-2.idtx:4
#: en_US.x64.Release.LaunchCondition-2.idtx:4
msgid "[ProductName] requires Windows Vista or later version of Windows."
msgstr ""
#: En.Win32.Release.Property-2.idtx:3 En.x64.Release.Property-2.idtx:3
msgid "1252"
msgstr ""
#: En.Win32.Release.Property-2.idtx:4 En.Win32.Release.Property-2.idtx:5
#: En.x64.Release.Property-2.idtx:4 En.x64.Release.Property-2.idtx:5
#: en_US.Win32.Release.Property-2.idtx:4 en_US.Win32.Release.Property-2.idtx:5
#: en_US.x64.Release.Property-2.idtx:4 en_US.x64.Release.Property-2.idtx:5
msgid "http://www.geant.org/"
msgstr ""
#: En.Win32.Release.Property-2.idtx:6 En.x64.Release.Property-2.idtx:6
#: en_US.Win32.Release.Property-2.idtx:6 en_US.x64.Release.Property-2.idtx:6
msgid "https://github.com/Amebis/GEANTLink/releases"
msgstr ""

View File

@@ -1,21 +1,21 @@
#
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-09-12 09:24+0200\n"
"PO-Revision-Date: 2016-09-12 09:24+0200\n"
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
"Language-Team: Welsh (https://www.transifex.com/eduroam_devel/teams/11799/"
"cy/)\n"
"Language: cy\n"
"Project-Id-Version: GÉANTLink MSI\n"
"POT-Creation-Date: 2016-08-31 14:33+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Language-Team: Welsh (https://www.transifex.com/eduroam_devel/teams/11799/cy/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != "
"11) ? 2 : 3;\n"
"Language: cy\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"
"X-Generator: Poedit 1.8.8\n"
"X-Poedit-Basepath: ../Main\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: En.Win32.Release.LaunchCondition-2.idtx:4
@@ -34,4 +34,4 @@ msgstr ""
#: En.Win32.Release.Property-2.idtx:6 En.x64.Release.Property-2.idtx:6
msgid "https://github.com/Amebis/GEANTLink/releases"
msgstr ""
msgstr "https://github.com/Amebis/GEANTLink/releases"

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: GÉANTLink MSI\n"
"POT-Creation-Date: 2016-08-31 14:33+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: eduroam_devel <stefan.winter@restena.lu>, 2016\n"
"Language-Team: German (https://www.transifex.com/eduroam_devel/teams/11799/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,6 +22,7 @@ msgstr ""
#: En.x64.Release.LaunchCondition-2.idtx:4
msgid "[ProductName] requires Windows Vista or later version of Windows."
msgstr ""
"[ProductName] benötigt Windows Vista oder eine neuere Version von Windows."
#: En.Win32.Release.Property-2.idtx:3 En.x64.Release.Property-2.idtx:3
msgid "1252"
@@ -30,7 +31,7 @@ msgstr "1252"
#: En.Win32.Release.Property-2.idtx:4 En.Win32.Release.Property-2.idtx:5
#: En.x64.Release.Property-2.idtx:4 En.x64.Release.Property-2.idtx:5
msgid "http://www.geant.org/"
msgstr ""
msgstr "http://www.geant.org/"
#: En.Win32.Release.Property-2.idtx:6 En.x64.Release.Property-2.idtx:6
msgid "https://github.com/Amebis/GEANTLink/releases"

View File

@@ -22,15 +22,16 @@ msgstr ""
#: En.x64.Release.LaunchCondition-2.idtx:4
msgid "[ProductName] requires Windows Vista or later version of Windows."
msgstr ""
"[Όνομα Προϊόντος] απαιτεί Windows Vista ή μεταγενέστερη έκδοση Windows."
#: En.Win32.Release.Property-2.idtx:3 En.x64.Release.Property-2.idtx:3
msgid "1252"
msgstr "1253"
msgstr "1252"
#: En.Win32.Release.Property-2.idtx:4 En.Win32.Release.Property-2.idtx:5
#: En.x64.Release.Property-2.idtx:4 En.x64.Release.Property-2.idtx:5
msgid "http://www.geant.org/"
msgstr ""
msgstr "http://www.geant.org/"
#: En.Win32.Release.Property-2.idtx:6 En.x64.Release.Property-2.idtx:6
msgid "https://github.com/Amebis/GEANTLink/releases"

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: GÉANTLink MSI\n"
"POT-Creation-Date: 2016-08-31 14:33+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: José Manuel Macías <jmanuel.macias@rediris.es>, 2016\n"
"Language-Team: Spanish (https://www.transifex.com/eduroam_devel/teams/11799/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,6 +22,7 @@ msgstr ""
#: En.x64.Release.LaunchCondition-2.idtx:4
msgid "[ProductName] requires Windows Vista or later version of Windows."
msgstr ""
"[ProductName] requiere Windows Vista o una versió posterior de Windows."
#: En.Win32.Release.Property-2.idtx:3 En.x64.Release.Property-2.idtx:3
msgid "1252"
@@ -30,7 +31,7 @@ msgstr "1252"
#: En.Win32.Release.Property-2.idtx:4 En.Win32.Release.Property-2.idtx:5
#: En.x64.Release.Property-2.idtx:4 En.x64.Release.Property-2.idtx:5
msgid "http://www.geant.org/"
msgstr ""
msgstr "http://www.geant.org/"
#: En.Win32.Release.Property-2.idtx:6 En.x64.Release.Property-2.idtx:6
msgid "https://github.com/Amebis/GEANTLink/releases"

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: GÉANTLink MSI\n"
"POT-Creation-Date: 2016-08-31 14:33+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Dubravko Penezic <dpenezic@gmail.com>, 2016\n"
"Language-Team: Croatian (Croatia) (https://www.transifex.com/eduroam_devel/teams/11799/hr_HR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,6 +22,8 @@ msgstr ""
#: En.x64.Release.LaunchCondition-2.idtx:4
msgid "[ProductName] requires Windows Vista or later version of Windows."
msgstr ""
"[ProductName] treba Windows Vista ili veču verziju Windows opreativnog "
"sustava."
#: En.Win32.Release.Property-2.idtx:3 En.x64.Release.Property-2.idtx:3
msgid "1252"
@@ -30,7 +32,7 @@ msgstr "1250"
#: En.Win32.Release.Property-2.idtx:4 En.Win32.Release.Property-2.idtx:5
#: En.x64.Release.Property-2.idtx:4 En.x64.Release.Property-2.idtx:5
msgid "http://www.geant.org/"
msgstr ""
msgstr "http://www.geant.org/"
#: En.Win32.Release.Property-2.idtx:6 En.x64.Release.Property-2.idtx:6
msgid "https://github.com/Amebis/GEANTLink/releases"

35
MSI/Base/locale/ko_KR.po Normal file
View File

@@ -0,0 +1,35 @@
msgid ""
msgstr ""
"Project-Id-Version: GÉANTLink MSI\n"
"POT-Creation-Date: 2016-09-12 12:16+0200\n"
"PO-Revision-Date: 2016-09-12 12:17+0200\n"
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.8\n"
"X-Poedit-Basepath: ../Main\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: _\n"
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
"Language: ko_KR\n"
"X-Poedit-SearchPath-0: .\n"
#: En.Win32.Release.LaunchCondition-2.idtx:4
#: En.x64.Release.LaunchCondition-2.idtx:4
msgid "[ProductName] requires Windows Vista or later version of Windows."
msgstr ""
#: En.Win32.Release.Property-2.idtx:3 En.x64.Release.Property-2.idtx:3
msgid "1252"
msgstr "949"
#: En.Win32.Release.Property-2.idtx:4 En.Win32.Release.Property-2.idtx:5
#: En.x64.Release.Property-2.idtx:4 En.x64.Release.Property-2.idtx:5
msgid "http://www.geant.org/"
msgstr "http://www.geant.org/"
#: En.Win32.Release.Property-2.idtx:6 En.x64.Release.Property-2.idtx:6
msgid "https://github.com/Amebis/GEANTLink/releases"
msgstr "https://github.com/Amebis/GEANTLink/releases"

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: GÉANTLink MSI\n"
"POT-Creation-Date: 2016-08-31 14:33+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Rimas Kudelis <rq@akl.lt>, 2016\n"
"Language-Team: Lithuanian (https://www.transifex.com/eduroam_devel/teams/11799/lt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,6 +22,8 @@ msgstr ""
#: En.x64.Release.LaunchCondition-2.idtx:4
msgid "[ProductName] requires Windows Vista or later version of Windows."
msgstr ""
"„[ProductName]“ veikimui būtina „Windows Vista“ ar vėlesnė „Windows“ "
"versija."
#: En.Win32.Release.Property-2.idtx:3 En.x64.Release.Property-2.idtx:3
msgid "1252"
@@ -30,7 +32,7 @@ msgstr "1257"
#: En.Win32.Release.Property-2.idtx:4 En.Win32.Release.Property-2.idtx:5
#: En.x64.Release.Property-2.idtx:4 En.x64.Release.Property-2.idtx:5
msgid "http://www.geant.org/"
msgstr ""
msgstr "http://www.geant.org/"
#: En.Win32.Release.Property-2.idtx:6 En.x64.Release.Property-2.idtx:6
msgid "https://github.com/Amebis/GEANTLink/releases"

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: GÉANTLink MSI\n"
"POT-Creation-Date: 2016-08-31 14:33+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Tom Ivar Myren <tom.myren@uninett.no>, 2016\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/eduroam_devel/teams/11799/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,7 +21,7 @@ msgstr ""
#: En.Win32.Release.LaunchCondition-2.idtx:4
#: En.x64.Release.LaunchCondition-2.idtx:4
msgid "[ProductName] requires Windows Vista or later version of Windows."
msgstr ""
msgstr "[ProductName] krever Windows Vista eller nyere versjon av Windows."
#: En.Win32.Release.Property-2.idtx:3 En.x64.Release.Property-2.idtx:3
msgid "1252"
@@ -30,7 +30,7 @@ msgstr "1252"
#: En.Win32.Release.Property-2.idtx:4 En.Win32.Release.Property-2.idtx:5
#: En.x64.Release.Property-2.idtx:4 En.x64.Release.Property-2.idtx:5
msgid "http://www.geant.org/"
msgstr ""
msgstr "http://www.geant.org/"
#: En.Win32.Release.Property-2.idtx:6 En.x64.Release.Property-2.idtx:6
msgid "https://github.com/Amebis/GEANTLink/releases"

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: GÉANTLink MSI\n"
"POT-Creation-Date: 2016-08-31 14:33+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Tomasz Wolniewicz <tw2529@gmail.com>, 2016\n"
"Language-Team: Polish (Poland) (https://www.transifex.com/eduroam_devel/teams/11799/pl_PL/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,7 +21,7 @@ msgstr ""
#: En.Win32.Release.LaunchCondition-2.idtx:4
#: En.x64.Release.LaunchCondition-2.idtx:4
msgid "[ProductName] requires Windows Vista or later version of Windows."
msgstr ""
msgstr "[ProductName] wymaga Windows Vista albo nowszej wersji Windows."
#: En.Win32.Release.Property-2.idtx:3 En.x64.Release.Property-2.idtx:3
msgid "1252"
@@ -30,7 +30,7 @@ msgstr "1250"
#: En.Win32.Release.Property-2.idtx:4 En.Win32.Release.Property-2.idtx:5
#: En.x64.Release.Property-2.idtx:4 En.x64.Release.Property-2.idtx:5
msgid "http://www.geant.org/"
msgstr ""
msgstr "http://www.geant.org/"
#: En.Win32.Release.Property-2.idtx:6 En.x64.Release.Property-2.idtx:6
msgid "https://github.com/Amebis/GEANTLink/releases"

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: GÉANTLink MSI\n"
"POT-Creation-Date: 2016-08-31 14:33+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Pedro Simões <psimoes@fccn.pt>, 2016\n"
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/eduroam_devel/teams/11799/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,7 +21,7 @@ msgstr ""
#: En.Win32.Release.LaunchCondition-2.idtx:4
#: En.x64.Release.LaunchCondition-2.idtx:4
msgid "[ProductName] requires Windows Vista or later version of Windows."
msgstr ""
msgstr "[ProductName] requer o Windows Vista ou versão posterior do Windows"
#: En.Win32.Release.Property-2.idtx:3 En.x64.Release.Property-2.idtx:3
msgid "1252"
@@ -30,7 +30,7 @@ msgstr "1252"
#: En.Win32.Release.Property-2.idtx:4 En.Win32.Release.Property-2.idtx:5
#: En.x64.Release.Property-2.idtx:4 En.x64.Release.Property-2.idtx:5
msgid "http://www.geant.org/"
msgstr ""
msgstr "http://www.geant.org/"
#: En.Win32.Release.Property-2.idtx:6 En.x64.Release.Property-2.idtx:6
msgid "https://github.com/Amebis/GEANTLink/releases"

Binary file not shown.

BIN
Makefile

Binary file not shown.

77
README.md Normal file
View File

@@ -0,0 +1,77 @@
# GÉANTLink
Suite of EAP supplicants for Windows - IEEE 802.1X plug-ins for enterprise network authentication
## Building
### Building Environment Requirements
- Microsoft Windows Vista or later
- Microsoft Visual Studio 2010 SP1
- _msgfmt.exe_ from [gettext](https://www.gnu.org/software/gettext/);
Hint: [Poedit](https://poedit.net/) contains up-to-date binary Win32 compiled gettext-utilities. Install it and add _GettextTools\bin_ folder to path.
- _sed.exe_ and _grep.exe_
- _MsiDb.Exe_ and other command line utilities for MSI packaging distributed as a part of Microsoft Windows SDK (installed with Visual Studio). Add SDK's _Bin_ folder to path.
### wxWidgets
GÉANTLink is using wxWidgets v3.0.2 static libraries. Unfortunately, dynamic libraries (DLL) variant is available as a binary download only. Therefore static libraries needs to be compiled from [source](https://github.com/wxWidgets/wxWidgets).
#### Compiling wxWidgets Win32 static libraries
1. Start _Visual Studio Command Prompt (2010)_
2. Change working directory to _build\msw_
3. Run: `nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0`
4. Run: `nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 BUILD=release`
#### Compiling wxWidgets x64 static libraries
1. Start _Visual Studio x64 Cross Tools Command Prompt (2010)_
2. Change working directory to _build\msw_
3. Run: `nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 TARGET_CPU=X64`
4. Run: `nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 TARGET_CPU=X64 BUILD=release`
#### Specifying wxWidgets path
GÉANTLink compilation references wxWidgets libraries using `WXWIN` environment variable. Please set it to wxWidgets folder (i.e. `C:\SDK\wxWidgets\3.0.2`).
### Digital Signing of Build Outputs
In order to have the build process digitally sign output files, one should provide the following:
1. A signing certificate installed in the current users certificate store.
2. The following variables in the environment:
- `ManifestCertificateThumbprint` - set the value to certificates SHA1 thumbprint (hexadecimal, without spaces, i.e. `bc0d8da45f9eeefcbe4e334e1fc262804df88d7e`).
- `ManifestTimestampUrl` - set the value to URL used to perform timestamp signature (i.e. `http://timestamp.verisign.com/scripts/timstamp.dll`). In order to perform timestamp signing successfully, the computer running the build should be online and able to access this URL.
Please note that only Release builds are configured for timestamp signing. Debug configurations do not attempt to timestamp sign the resulting DLL and EXE files in order to speed up the building process and enable offline building.
### Building
#### Building in Visual Studio IDE
GÉANTLink can be build and debugged opening _VS10Solution.sln_ in Visual C++ 2010 IDE.
Before one can attempt to debug EAP DLLs, you should run `nmake register` from an elevated command prompt. See _Building in command line_ chapter below.
Next, one must configure a network profile actually using GÉANTLink for the authentication.
GÉANTLink EAP modules are divided into two DLLs: backend (i.e. _EAPTTLS.dll_) and GUI (i.e. _EAPTTLSUI.dll_).
##### Backend DLL
The backend DLL is loaded by _Eap3Host.exe_ process when connecting to the network. One approach to debug the module is to start Visual C++ elevated, open _VS10Solution.sln_, and attach to running _Eap3Host.exe_ process.
On initial connection attempt _Eap3Host.exe_ will load the DLL and will not release it until _EapHost_ service is restarted.
To debug early life of our backend DLL, uncomment `Sleep(10000)` in `DllMain()` of the module, and set breakpoints. This should give you plenty of time to attach the debugger to _Eap3Host.exe_ process before our DLL starts servicing authentication.
##### GUI DLL
The GUI DLL is loaded by _DllHost.exe_ process on XML profile configuration import/export and when interactive user interface is required.
A few seconds after desired function call has finished, _DllHost.exe_ terminates and releases the DLL.
To debug early life of our GUI DLL, uncomment `Sleep(10000)` in `DllMain()` of the module, and set breakpoints. This should give you plenty of time to attach the debugger to _DllHost.exe_ process before our DLL starts.
#### Building in command line
Use of standard command prompt is recommended, providing that Microsoft Visual Studio 2010 folders containing _nmake.exe_ and _devenv.com_ are added to the path.
Use Microsoft NMAKE to build the project.
Command | Explanation
-------------------|------------------------------------------
`nmake Clean` | Deletes all intermediate and output files.
`nmake Register` | Builds a debug version of project, registers DLLs, and adds Start Menu shortcuts. For testing and development purposes only! Requires elevated command prompt.
`nmake Unregister` | Removes Start Menu shortcuts, unregisters DLLs. For testing development purposes only! Requires elevated command prompt.
`nmake Setup` | Builds a release version of project and release MSI setup files. The resulting files can be found in _output\Setup_ folder.
`nmake SetupDebug` | Builds a debug version of project and debug MSI setup files. The resulting files can be found in _output\Setup_ folder.
The `/ls` flag can be appended to the commands above to reduce NMAKEs verbosity. You can combine multiple targets (i.e. nmake Unregister Clean). Please, see NMAKE reference for further reading.

View File

@@ -3,6 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{14D5FE5B-9742-4D1F-A1E0-32E694B94AAB}"
ProjectSection(SolutionItems) = preProject
README.md = README.md
include\Version.h = include\Version.h
EndProjectSection
EndProject

Binary file not shown.

View File

@@ -1,14 +1,15 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: WLANManager\n"
"POT-Creation-Date: 2016-08-28 12:03+0200\n"
"POT-Creation-Date: 2016-09-19 11:22+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.8\n"
"X-Generator: Poedit 1.8.9\n"
"X-Poedit-Basepath: ..\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: en_US\n"
@@ -16,17 +17,16 @@ msgstr ""
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: .\n"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: MSIBuild/En.x64.Release.Feature-2.idtx:3
msgid "1252"
msgstr ""
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Helper utility to support direct shortcuts to Wireless Network Properties"
msgstr ""
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "WLAN Manager"
msgstr ""
#: MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Helper utility to support direct shortcuts to Wireless Network Properties"
msgstr ""

View File

@@ -1,11 +1,12 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
# eduroam_devel <stefan.winter@restena.lu>, 2016
msgid ""
msgstr ""
"Project-Id-Version: WLANManager\n"
"POT-Creation-Date: 2016-08-28 12:03+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: eduroam_devel <stefan.winter@restena.lu>, 2016\n"
"Language-Team: German (https://www.transifex.com/eduroam_devel/teams/11799/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,8 +29,10 @@ msgstr "1252"
msgid ""
"Helper utility to support direct shortcuts to Wireless Network Properties"
msgstr ""
"Hilfswerkzeug das direkten Zugang zu den Eigenschaften der WLAN-Verbindung "
"herstellt"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "WLAN Manager"
msgstr ""
msgstr "WLAN Verwaltung"

View File

@@ -0,0 +1,32 @@
msgid ""
msgstr ""
"Project-Id-Version: WLANManager\n"
"POT-Creation-Date: 2016-09-12 12:19+0200\n"
"PO-Revision-Date: 2016-09-12 12:19+0200\n"
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.8\n"
"X-Poedit-Basepath: ..\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: _\n"
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
"Language: ko_KR\n"
"X-Poedit-SearchPath-0: .\n"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: MSIBuild/En.x64.Release.Feature-2.idtx:3
msgid "1252"
msgstr "949"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "Helper utility to support direct shortcuts to Wireless Network Properties"
msgstr ""
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "WLAN Manager"
msgstr ""

View File

@@ -1,11 +1,12 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
# Rimas Kudelis <rq@akl.lt>, 2016
msgid ""
msgstr ""
"Project-Id-Version: WLANManager\n"
"POT-Creation-Date: 2016-08-28 12:03+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Rimas Kudelis <rq@akl.lt>, 2016\n"
"Language-Team: Lithuanian (https://www.transifex.com/eduroam_devel/teams/11799/lt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,8 +29,10 @@ msgstr "1257"
msgid ""
"Helper utility to support direct shortcuts to Wireless Network Properties"
msgstr ""
"Pagalbinė programa, suteikianti galimybę naudotis tiesioginėmis nuorodomis į"
" belaidžio tinklo ypatybes"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "WLAN Manager"
msgstr ""
msgstr "WLAN tvarkytuvė"

View File

@@ -1,11 +1,12 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
# Tom Ivar Myren <tom.myren@uninett.no>, 2016
msgid ""
msgstr ""
"Project-Id-Version: WLANManager\n"
"POT-Creation-Date: 2016-08-28 12:03+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Tom Ivar Myren <tom.myren@uninett.no>, 2016\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/eduroam_devel/teams/11799/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,8 +29,9 @@ msgstr "1252"
msgid ""
"Helper utility to support direct shortcuts to Wireless Network Properties"
msgstr ""
"Helpeverktøy for å støtte direkte snarveier til trådløse nettverksegenskaper"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "WLAN Manager"
msgstr ""
msgstr "WLAN Manager"

View File

@@ -1,11 +1,12 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
# Tomasz Wolniewicz <tw2529@gmail.com>, 2016
msgid ""
msgstr ""
"Project-Id-Version: WLANManager\n"
"POT-Creation-Date: 2016-08-28 12:03+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Tomasz Wolniewicz <tw2529@gmail.com>, 2016\n"
"Language-Team: Polish (Poland) (https://www.transifex.com/eduroam_devel/teams/11799/pl_PL/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,8 +29,10 @@ msgstr "1250"
msgid ""
"Helper utility to support direct shortcuts to Wireless Network Properties"
msgstr ""
"Aplikacja wspomagająca bezpośrednie wywołania właściwości sieci "
"bezprzewodowej"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "WLAN Manager"
msgstr ""
msgstr "Menaźer WLAN"

View File

@@ -1,11 +1,12 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
# Pedro Simões <psimoes@fccn.pt>, 2016
msgid ""
msgstr ""
"Project-Id-Version: WLANManager\n"
"POT-Creation-Date: 2016-08-28 12:03+0200\n"
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
"Last-Translator: Pedro Simões <psimoes@fccn.pt>, 2016\n"
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/eduroam_devel/teams/11799/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -32,4 +33,4 @@ msgstr ""
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
msgid "WLAN Manager"
msgstr ""
msgstr "WLAN Manager"

Binary file not shown.

View File

@@ -29,7 +29,7 @@
// Product version as a single DWORD
// Note: Used for version comparison within C/C++ code.
//
#define PRODUCT_VERSION 0x00ff1400
#define PRODUCT_VERSION 0x00ff1800
//
// Product version by components
@@ -39,26 +39,26 @@
//
#define PRODUCT_VERSION_MAJ 0
#define PRODUCT_VERSION_MIN 255
#define PRODUCT_VERSION_REV 20
#define PRODUCT_VERSION_REV 24
#define PRODUCT_VERSION_BUILD 0
//
// Human readable product version and build year for UI
//
#define PRODUCT_VERSION_STR "1.0-beta2"
#define PRODUCT_VERSION_STR "1.0-beta6"
#define PRODUCT_BUILD_YEAR_STR "2016"
//
// Numerical version presentation for ProductVersion propery in
// MSI packages (syntax: N.N[.N[.N]])
//
#define PRODUCT_VERSION_INST "0.255.20"
#define PRODUCT_VERSION_INST "0.255.24"
//
// The product code for ProductCode property in MSI packages
// Replace with new on every version change, regardless how minor it is.
//
#define PRODUCT_VERSION_GUID "{F3EB765B-3E99-467A-85C0-B6C2F838E0C5}"
#define PRODUCT_VERSION_GUID "{68407777-8DFF-49BF-9687-0A8DA406AA34}"
//
// Product vendor

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 1991-2016 Amebis
Copyright 2016 GÉANT
Copyright 2016 GÉANT
This file is part of GÉANTLink.

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 1991-2016 Amebis
Copyright 2016 GÉANT
Copyright 2016 GÉANT
This file is part of GÉANTLink.
@@ -39,7 +39,7 @@
<ItemGroup Condition="'@(SelectedFiles)' != ''">
<POCompile Remove="@(POCompile)" Condition="'%(Identity)' != '@(SelectedFiles)'" />
</ItemGroup>
<Message Text="Compiling localization catalogues..." />
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('%(POCompile.OutputFile)'))"/>
<POCompile
Condition="'@(POCompile)' != '' and '%(POCompile.ExcludedFromBuild)' != 'true'"
Inputs="@(POCompile)"

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 1991-2016 Amebis
Copyright 2016 GÉANT
Copyright 2016 GÉANT
This file is part of GÉANTLink.

View File

@@ -358,8 +358,8 @@ namespace eap
public:
bool m_allow_save; ///< Are credentials allowed to be saved to Windows Credential Manager?
bool m_use_preshared; ///< Use pre-shared credentials
std::unique_ptr<credentials> m_preshared; ///< Pre-shared credentials
bool m_use_cred; ///< Use configured credentials
std::unique_ptr<credentials> m_cred; ///< Configured credentials
enum status {
status_success = 0, ///< Authentication succeeded

View File

@@ -67,7 +67,7 @@ namespace eap
enum source_t {
source_unknown = -1, ///< Unknown source
source_cache = 0, ///< Credentials were obtained from EapHost cache
source_preshared, ///< Credentials were set by method configuration
source_config, ///< Credentials were set by method configuration
source_storage ///< Credentials were loaded from Windows Credential Manager
};
@@ -247,9 +247,9 @@ namespace eap
/// \param[in] pszTargetName The name in Windows Credential Manager to retrieve credentials from (optional, can be \c NULL)
///
/// \returns
/// - \c source_cache Credentials were obtained from EapHost cache
/// - \c source_preshared Credentials were set by method configuration
/// - \c source_storage Credentials were loaded from Windows Credential Manager
/// - \c source_cache Credentials were obtained from EapHost cache
/// - \c source_config Credentials were set by method configuration
/// - \c source_storage Credentials were loaded from Windows Credential Manager
///
virtual source_t combine(
_In_ const credentials *cred_cached,
@@ -408,9 +408,9 @@ namespace eap
/// \param[in] pszTargetName The name in Windows Credential Manager to retrieve credentials from (optional, can be \c NULL)
///
/// \returns
/// - \c source_cache Credentials were obtained from EapHost cache
/// - \c source_preshared Credentials were set by method configuration
/// - \c source_storage Credentials were loaded from Windows Credential Manager
/// - \c source_cache Credentials were obtained from EapHost cache
/// - \c source_config Credentials were set by method configuration
/// - \c source_storage Credentials were loaded from Windows Credential Manager
///
virtual source_t combine(
_In_ const credentials *cred_cached,

View File

@@ -18,6 +18,8 @@
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
*/
#include <WinStd/COM.h>
#include <MsXml.h>
#include <msxml6.h>
#include <sal.h>
@@ -27,31 +29,31 @@
namespace eapxml
{
inline HRESULT get_document(_In_ IXMLDOMNode *pXmlNode, _Out_ IXMLDOMDocument2 **ppXmlDoc);
inline HRESULT select_node(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrNodeName, _Out_ IXMLDOMNode **ppXmlNode);
inline HRESULT select_nodes(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrNodeName, _Out_ IXMLDOMNodeList **ppXmlNodes);
inline HRESULT select_element(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ IXMLDOMElement **ppXmlElement);
inline HRESULT create_element(_In_ IXMLDOMDocument *pDoc, _In_z_ const BSTR bstrElementName, _In_z_ const BSTR bstrNamespace, _Out_ IXMLDOMElement **ppXmlElement);
inline HRESULT create_element(_In_ IXMLDOMDocument *pDoc, IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementNameSelect, _In_z_ const BSTR bstrElementNameCreate, _In_z_ const BSTR bstrNamespace, _Out_ IXMLDOMElement **ppXmlElement);
inline HRESULT get_document(_In_ IXMLDOMNode *pXmlNode, _Out_ winstd::com_obj<IXMLDOMDocument2> &ppXmlDoc);
inline HRESULT select_node(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrNodeName, _Out_ winstd::com_obj<IXMLDOMNode> &ppXmlNode);
inline HRESULT select_nodes(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrNodeName, _Out_ winstd::com_obj<IXMLDOMNodeList> &ppXmlNodes);
inline HRESULT select_element(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ winstd::com_obj<IXMLDOMElement> &ppXmlElement);
inline HRESULT create_element(_In_ IXMLDOMDocument *pDoc, _In_z_ const BSTR bstrElementName, _In_z_ const BSTR bstrNamespace, _Out_ winstd::com_obj<IXMLDOMElement> &ppXmlElement);
inline HRESULT create_element(_In_ IXMLDOMDocument *pDoc, IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementNameSelect, _In_z_ const BSTR bstrElementNameCreate, _In_z_ const BSTR bstrNamespace, _Out_ winstd::com_obj<IXMLDOMElement> &ppXmlElement);
inline bool has_parent(_In_ IXMLDOMNode *pXmlNode);
inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ BSTR *pbstrValue);
template<class _Traits, class _Ax> inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue);
inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ DWORD *pdwValue);
inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ bool *pbValue);
template<class _Ty, class _Ax> inline HRESULT get_element_base64(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::vector<_Ty, _Ax> &aValue);
template<class _Ty, class _Ax> inline HRESULT get_element_hex(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::vector<_Ty, _Ax> &aValue);
inline HRESULT get_element_localized(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _In_z_ LPCWSTR pszLang, _Out_ BSTR *pbstrValue);
template<class _Traits, class _Ax> inline HRESULT get_element_localized(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _In_z_ LPCWSTR pszLang, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue);
inline HRESULT put_element(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _Out_ IXMLDOMElement **ppXmlElement);
inline HRESULT put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_z_ const BSTR bstrValue);
inline HRESULT put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_ DWORD dwValue);
inline HRESULT put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_ bool bValue);
inline HRESULT put_element_base64(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_count_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen);
inline HRESULT put_element_hex(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_count_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen);
inline HRESULT get_attrib_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ BSTR *pbstrValue);
inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ winstd::bstr &pbstrValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement = NULL);
template<class _Traits, class _Ax> inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement = NULL);
inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ DWORD &pdwValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement = NULL);
inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ bool &pbValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement = NULL);
template<class _Ty, class _Ax> inline HRESULT get_element_base64(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::vector<_Ty, _Ax> &aValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement = NULL);
template<class _Ty, class _Ax> inline HRESULT get_element_hex(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::vector<_Ty, _Ax> &aValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement = NULL);
inline HRESULT get_element_localized(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _In_z_ LPCWSTR pszLang, _Out_ winstd::bstr &pbstrValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement = NULL);
template<class _Traits, class _Ax> inline HRESULT get_element_localized(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _In_z_ LPCWSTR pszLang, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement = NULL);
inline HRESULT put_element(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _Out_ winstd::com_obj<IXMLDOMElement> &ppXmlElement);
inline HRESULT put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_z_ const BSTR bstrValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement = NULL);
inline HRESULT put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_ DWORD dwValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement = NULL);
inline HRESULT put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_ bool bValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement = NULL);
inline HRESULT put_element_base64(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_count_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement = NULL);
inline HRESULT put_element_hex(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_count_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement = NULL);
inline HRESULT get_attrib_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ winstd::bstr &pbstrValue);
template<class _Traits, class _Ax> inline HRESULT get_attrib_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue);
inline HRESULT get_attrib_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ DWORD *pdwValue);
inline HRESULT get_attrib_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ bool *pbValue);
inline HRESULT get_attrib_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ DWORD &pdwValue);
inline HRESULT get_attrib_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ bool &pbValue);
template<class _Ty, class _Ax> inline HRESULT get_attrib_base64(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ std::vector<_Ty, _Ax> &aValue);
template<class _Ty, class _Ax> inline HRESULT get_attrib_hex(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ std::vector<_Ty, _Ax> &aValue);
inline HRESULT put_attrib_value(_In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrAttributeName, _In_opt_z_ _In_z_ const BSTR bstrValue);
@@ -65,7 +67,6 @@ namespace eapxml
#pragma once
#include <WinStd/Base64.h>
#include <WinStd/COM.h>
#include <WinStd/Hex.h>
#include <assert.h>
@@ -73,10 +74,9 @@ namespace eapxml
namespace eapxml
{
inline HRESULT get_document(_In_ IXMLDOMNode *pXmlNode, _Out_ IXMLDOMDocument2 **ppXmlDoc)
inline HRESULT get_document(_In_ IXMLDOMNode *pXmlNode, _Out_ winstd::com_obj<IXMLDOMDocument2> &ppXmlDoc)
{
assert(pXmlNode);
assert(ppXmlDoc);
HRESULT hr;
winstd::com_obj<IXMLDOMDocument> doc;
@@ -87,50 +87,51 @@ namespace eapxml
}
inline HRESULT select_node(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrNodeName, _Out_ IXMLDOMNode **ppXmlNode)
inline HRESULT select_node(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrNodeName, _Out_ winstd::com_obj<IXMLDOMNode> &ppXmlNode)
{
assert(pXmlParent);
assert(ppXmlNode);
HRESULT hr;
IXMLDOMNode *pXmlNode;
return
SUCCEEDED(hr = pXmlParent->selectSingleNode(bstrNodeName, ppXmlNode)) ?
*ppXmlNode ? S_OK : E_NOT_SET : hr;
if (SUCCEEDED(hr = pXmlParent->selectSingleNode(bstrNodeName, &pXmlNode))) {
ppXmlNode.attach(pXmlNode);
return pXmlNode ? S_OK : E_NOT_SET;
} else
return hr;
}
inline HRESULT select_nodes(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrNodeName, _Out_ IXMLDOMNodeList **ppXmlNodes)
inline HRESULT select_nodes(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrNodeName, _Out_ winstd::com_obj<IXMLDOMNodeList> &ppXmlNodes)
{
assert(pXmlParent);
assert(ppXmlNodes);
HRESULT hr;
IXMLDOMNodeList *pXmlNodes;
return
SUCCEEDED(hr = pXmlParent->selectNodes(bstrNodeName, ppXmlNodes)) ?
*ppXmlNodes ? S_OK : E_NOT_SET : hr;
if (SUCCEEDED(hr = pXmlParent->selectNodes(bstrNodeName, &pXmlNodes))) {
ppXmlNodes.attach(pXmlNodes);
return pXmlNodes ? S_OK : E_NOT_SET;
} else
return hr;
}
inline HRESULT select_element(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ IXMLDOMElement **ppXmlElement)
inline HRESULT select_element(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ winstd::com_obj<IXMLDOMElement> &ppXmlElement)
{
assert(ppXmlElement);
HRESULT hr;
winstd::com_obj<IXMLDOMNode> pXmlNode;
return
SUCCEEDED(hr = select_node(pXmlParent, bstrElementName, &pXmlNode)) ?
SUCCEEDED(hr = select_node(pXmlParent, bstrElementName, pXmlNode)) ?
SUCCEEDED(hr = pXmlNode.query_interface(ppXmlElement)) ?
*ppXmlElement ? S_OK : E_NOT_SET : hr : hr;
ppXmlElement ? S_OK : E_NOT_SET : hr : hr;
}
inline HRESULT create_element(_In_ IXMLDOMDocument *pDoc, _In_z_ const BSTR bstrElementName, _In_z_ const BSTR bstrNamespace, _Out_ IXMLDOMElement **ppXmlElement)
inline HRESULT create_element(_In_ IXMLDOMDocument *pDoc, _In_z_ const BSTR bstrElementName, _In_z_ const BSTR bstrNamespace, _Out_ winstd::com_obj<IXMLDOMElement> &ppXmlElement)
{
assert(pDoc);
assert(ppXmlElement);
static const winstd::variant varNodeTypeEl(NODE_ELEMENT);
HRESULT hr;
@@ -139,22 +140,21 @@ namespace eapxml
return
SUCCEEDED(hr = pDoc->createNode(varNodeTypeEl, bstrElementName, bstrNamespace, &pXmlNode)) ?
SUCCEEDED(hr = pXmlNode.query_interface(ppXmlElement)) ?
*ppXmlElement ? S_OK : E_NOT_SET : hr : hr;
ppXmlElement ? S_OK : E_NOT_SET : hr : hr;
}
inline HRESULT create_element(_In_ IXMLDOMDocument *pDoc, IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementNameSelect, _In_z_ const BSTR bstrElementNameCreate, _In_z_ const BSTR bstrNamespace, _Out_ IXMLDOMElement **ppXmlElement)
inline HRESULT create_element(_In_ IXMLDOMDocument *pDoc, IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementNameSelect, _In_z_ const BSTR bstrElementNameCreate, _In_z_ const BSTR bstrNamespace, _Out_ winstd::com_obj<IXMLDOMElement> &ppXmlElement)
{
assert(pDoc);
assert(pXmlParent);
assert(ppXmlElement);
HRESULT hr;
return
SUCCEEDED(hr = select_element(pXmlParent, bstrElementNameSelect, ppXmlElement)) ? S_OK :
SUCCEEDED(hr = create_element(pDoc, bstrElementNameCreate, bstrNamespace, ppXmlElement)) ?
SUCCEEDED(hr = pXmlParent->appendChild(*ppXmlElement, NULL)) ? S_OK : hr : hr;
SUCCEEDED(hr = pXmlParent->appendChild(ppXmlElement, NULL)) ? S_OK : hr : hr;
}
@@ -168,57 +168,57 @@ namespace eapxml
}
inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ BSTR *pbstrValue)
inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ winstd::bstr &pbstrValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
assert(pbstrValue);
HRESULT hr;
winstd::com_obj<IXMLDOMElement> pXmlElement;
BSTR bstrValue;
return
SUCCEEDED(hr = select_element(pXmlParent, bstrElementName, &pXmlElement)) ?
SUCCEEDED(hr = pXmlElement->get_text(pbstrValue)) ?
*pbstrValue ? S_OK : E_NOT_SET : hr : hr;
if (SUCCEEDED(hr = select_element(pXmlParent, bstrElementName, pXmlElement)) &&
SUCCEEDED(hr = pXmlElement->get_text(&bstrValue)))
{
pbstrValue.attach(bstrValue);
if (ppXmlElement)
*ppXmlElement = std::move(pXmlElement);
return bstrValue ? S_OK : E_NOT_SET;
} else
return hr;
}
template<class _Traits, class _Ax>
inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue)
inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
winstd::bstr bstr;
HRESULT hr = get_element_value(pXmlParent, bstrElementName, &bstr);
HRESULT hr = get_element_value(pXmlParent, bstrElementName, bstr, ppXmlElement);
if (SUCCEEDED(hr))
sValue.assign(bstr, bstr.length());
return hr;
}
inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ DWORD *pdwValue)
inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ DWORD &pdwValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
assert(pdwValue);
winstd::bstr bstr;
HRESULT hr = get_element_value(pXmlParent, bstrElementName, &bstr);
HRESULT hr = get_element_value(pXmlParent, bstrElementName, bstr, ppXmlElement);
if (SUCCEEDED(hr))
*pdwValue = wcstoul(bstr, NULL, 10);
pdwValue = wcstoul(bstr, NULL, 10);
return hr;
}
inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ bool *pbValue)
inline HRESULT get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ bool &pbValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
assert(pbValue);
winstd::bstr bstr;
HRESULT hr = get_element_value(pXmlParent, bstrElementName, &bstr);
HRESULT hr = get_element_value(pXmlParent, bstrElementName, bstr, ppXmlElement);
if (SUCCEEDED(hr)) {
if (CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstr, bstr.length(), L"true" , -1, NULL, NULL, 0) == CSTR_EQUAL ||
CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstr, bstr.length(), L"1" , -1, NULL, NULL, 0) == CSTR_EQUAL)
*pbValue = true;
pbValue = true;
else if (
CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstr, bstr.length(), L"false", -1, NULL, NULL, 0) == CSTR_EQUAL ||
CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstr, bstr.length(), L"0" , -1, NULL, NULL, 0) == CSTR_EQUAL)
*pbValue = false;
pbValue = false;
else
hr = E_NOT_VALID_STATE;
}
@@ -228,10 +228,10 @@ namespace eapxml
template<class _Ty, class _Ax>
inline HRESULT get_element_base64(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::vector<_Ty, _Ax> &aValue)
inline HRESULT get_element_base64(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::vector<_Ty, _Ax> &aValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
winstd::bstr bstr;
HRESULT hr = get_element_value(pXmlParent, bstrElementName, &bstr);
HRESULT hr = get_element_value(pXmlParent, bstrElementName, bstr, ppXmlElement);
if (SUCCEEDED(hr)) {
winstd::base64_dec dec;
bool is_last;
@@ -243,10 +243,10 @@ namespace eapxml
template<class _Ty, class _Ax>
inline HRESULT get_element_hex(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::vector<_Ty, _Ax> &aValue)
inline HRESULT get_element_hex(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::vector<_Ty, _Ax> &aValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
winstd::bstr bstr;
HRESULT hr = get_element_value(pXmlParent, bstrElementName, &bstr);
HRESULT hr = get_element_value(pXmlParent, bstrElementName, bstr, ppXmlElement);
if (SUCCEEDED(hr)) {
winstd::hex_dec dec;
bool is_last;
@@ -257,25 +257,29 @@ namespace eapxml
}
inline HRESULT get_element_localized(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _In_z_ LPCWSTR pszLang, _Out_ BSTR *pbstrValue)
inline HRESULT get_element_localized(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _In_z_ LPCWSTR pszLang, _Out_ winstd::bstr &pbstrValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
assert(pbstrValue);
HRESULT hr;
winstd::com_obj<IXMLDOMElement> pXmlElement;
if (FAILED(hr = select_element(pXmlParent, bstrElementName, &pXmlElement)))
if (FAILED(hr = select_element(pXmlParent, bstrElementName, pXmlElement)))
return hr;
if (ppXmlElement)
*ppXmlElement = pXmlElement;
winstd::com_obj<IXMLDOMNodeList> pXmlListLocalizedText;
long lCount = 0;
if (FAILED(select_nodes(pXmlElement, winstd::bstr(L"eap-metadata:localized-text"), &pXmlListLocalizedText)) ||
if (FAILED(select_nodes(pXmlElement, winstd::bstr(L"eap-metadata:localized-text"), pXmlListLocalizedText)) ||
FAILED(pXmlListLocalizedText->get_length(&lCount)) ||
lCount <= 0)
{
return
SUCCEEDED(hr = pXmlElement->get_text(pbstrValue)) ?
*pbstrValue ? S_OK : E_NOT_SET : hr;
BSTR bstr;
if (SUCCEEDED(hr = pXmlElement->get_text(&bstr))) {
pbstrValue.attach(bstr);
return bstr ? S_OK : E_NOT_SET;
} else
return hr;
}
winstd::bstr bstrDefault, bstrEn;
@@ -283,11 +287,11 @@ namespace eapxml
if (i >= lCount) {
if (bstrDefault != NULL) {
// Return "C" localization.
*pbstrValue = bstrDefault.detach();
pbstrValue = std::move(bstrDefault);
return S_OK;
} else if (bstrEn != NULL) {
// Return "en" localization.
*pbstrValue = bstrEn.detach();
pbstrValue = std::move(bstrEn);
return S_OK;
} else
return ERROR_NOT_FOUND;
@@ -299,21 +303,21 @@ namespace eapxml
{
// Read <lang>.
winstd::bstr bstrLang;
if (FAILED(get_element_value(pXmlElLocalizedText, winstd::bstr(L"eap-metadata:lang"), &bstrLang)) ||
if (FAILED(get_element_value(pXmlElLocalizedText, winstd::bstr(L"eap-metadata:lang"), bstrLang)) ||
CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstrLang, bstrLang.length(), L"C" , -1, NULL, NULL, 0) == CSTR_EQUAL)
{
// <lang> is missing or "C" language found.
winstd::bstr bstr;
if (SUCCEEDED(hr = get_element_value(pXmlElLocalizedText, winstd::bstr(L"eap-metadata:text"), &bstr)))
bstrDefault.attach(bstr.detach());
if (SUCCEEDED(hr = get_element_value(pXmlElLocalizedText, winstd::bstr(L"eap-metadata:text"), bstr)))
bstrDefault = std::move(bstr);
} else if (CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstrLang, bstrLang.length(), pszLang, -1, NULL, NULL, 0) == CSTR_EQUAL) {
// Found an exact match.
return get_element_value(pXmlElLocalizedText, winstd::bstr(L"eap-metadata:text"), pbstrValue);
} else if (CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstrLang, bstrLang.length(), L"en", -1, NULL, NULL, 0) == CSTR_EQUAL) {
// "en" language found.
winstd::bstr bstr;
if (SUCCEEDED(hr = get_element_value(pXmlElLocalizedText, winstd::bstr(L"eap-metadata:text"), &bstr)))
bstrEn.attach(bstr.detach());
if (SUCCEEDED(hr = get_element_value(pXmlElLocalizedText, winstd::bstr(L"eap-metadata:text"), bstr)))
bstrEn = std::move(bstr);
}
}
}
@@ -321,17 +325,17 @@ namespace eapxml
template<class _Traits, class _Ax>
inline HRESULT get_element_localized(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _In_z_ LPCWSTR pszLang, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue)
inline HRESULT get_element_localized(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _In_z_ LPCWSTR pszLang, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
winstd::bstr bstr;
HRESULT hr = get_element_localized(pXmlParent, bstrElementName, pszLang, &bstr);
HRESULT hr = get_element_localized(pXmlParent, bstrElementName, pszLang, bstr, ppXmlElement);
if (SUCCEEDED(hr))
sValue.assign(bstr, bstr.length());
return hr;
}
inline HRESULT put_element(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _Out_ IXMLDOMElement **ppXmlElement)
inline HRESULT put_element(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _Out_ winstd::com_obj<IXMLDOMElement> &ppXmlElement)
{
assert(pDoc);
assert(pCurrentDOMNode);
@@ -348,7 +352,7 @@ namespace eapxml
}
inline HRESULT put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_z_ const BSTR bstrValue)
inline HRESULT put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_z_ const BSTR bstrValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
assert(pDoc);
@@ -357,48 +361,51 @@ namespace eapxml
winstd::com_obj<IXMLDOMNode> pXmlEl;
winstd::com_obj<IXMLDOMText> pXmlElText;
return
SUCCEEDED(hr = pDoc->createNode(varNodeTypeEl, bstrElementName, bstrNamespace, &pXmlEl)) &&
if (SUCCEEDED(hr = pDoc->createNode(varNodeTypeEl, bstrElementName, bstrNamespace, &pXmlEl)) &&
SUCCEEDED(hr = pDoc->createTextNode(bstrValue, &pXmlElText)) &&
SUCCEEDED(hr = pXmlEl->appendChild(pXmlElText, NULL)) &&
SUCCEEDED(hr = pCurrentDOMNode->appendChild(pXmlEl, NULL)) ? S_OK : hr;
SUCCEEDED(hr = pCurrentDOMNode->appendChild(pXmlEl, NULL)))
{
if (ppXmlElement)
pXmlEl.query_interface(*ppXmlElement);
return S_OK;
} else
return hr;
}
inline HRESULT put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_ DWORD dwValue)
inline HRESULT put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_ DWORD dwValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(winstd::wstring_printf(L"%d", dwValue)));
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(winstd::wstring_printf(L"%d", dwValue)), ppXmlElement);
}
inline HRESULT put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_ bool bValue)
inline HRESULT put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_ bool bValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(bValue ? L"true": L"false"));
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(bValue ? L"true": L"false"), ppXmlElement);
}
inline HRESULT put_element_base64(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_count_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen)
inline HRESULT put_element_base64(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_count_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
std::wstring sBase64;
winstd::base64_enc enc;
enc.encode(sBase64, pValue, nValueLen);
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(sBase64));
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(sBase64), ppXmlElement);
}
inline HRESULT put_element_hex(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_count_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen)
inline HRESULT put_element_hex(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_count_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
std::wstring sHex;
winstd::hex_enc enc;
enc.encode(sHex, pValue, nValueLen);
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(sHex));
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(sHex), ppXmlElement);
}
inline HRESULT get_attrib_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ BSTR *pbstrValue)
inline HRESULT get_attrib_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ winstd::bstr &pbstrValue)
{
assert(pbstrValue);
HRESULT hr;
winstd::com_obj<IXMLDOMNamedNodeMap> pXmlAttributes;
winstd::com_obj<IXMLDOMNode> pXmlAt;
@@ -406,11 +413,11 @@ namespace eapxml
V_VT(&varValue) = VT_EMPTY;
return
SUCCEEDED(hr = pXmlParent->get_attributes(&pXmlAttributes)) ?
SUCCEEDED(hr = pXmlParent->get_attributes(&pXmlAttributes)) &&
SUCCEEDED(hr = pXmlAttributes->getNamedItem(bstrAttributeName, &pXmlAt)) ?
pXmlAt ?
SUCCEEDED(hr = pXmlAt->get_nodeValue(&varValue)) ?
V_VT(&varValue) == VT_BSTR ? *pbstrValue = V_BSTR(&varValue), S_OK : E_UNEXPECTED : hr : E_NOT_SET : hr : hr;
V_VT(&varValue) == VT_BSTR ? pbstrValue.attach(V_BSTR(&varValue)), V_VT(&varValue) = VT_EMPTY, S_OK : E_UNEXPECTED : hr : E_NOT_SET : hr;
}
@@ -418,39 +425,37 @@ namespace eapxml
inline HRESULT get_attrib_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue)
{
winstd::bstr bstr;
HRESULT hr = get_attrib_value(pXmlParent, bstrAttributeName, &bstr);
HRESULT hr = get_attrib_value(pXmlParent, bstrAttributeName, bstr);
if (SUCCEEDED(hr))
sValue.assign(bstr, bstr.length());
return hr;
}
inline HRESULT get_attrib_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ DWORD *pdwValue)
inline HRESULT get_attrib_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ DWORD &pdwValue)
{
assert(pdwValue);
winstd::bstr bstr;
HRESULT hr = get_attrib_value(pXmlParent, bstrAttributeName, &bstr);
HRESULT hr = get_attrib_value(pXmlParent, bstrAttributeName, bstr);
if (SUCCEEDED(hr))
*pdwValue = wcstoul(bstr, NULL, 10);
pdwValue = wcstoul(bstr, NULL, 10);
return hr;
}
inline HRESULT get_attrib_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ bool *pbValue)
inline HRESULT get_attrib_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrAttributeName, _Out_ bool &pbValue)
{
assert(pbValue);
winstd::bstr bstr;
HRESULT hr = get_attrib_value(pXmlParent, bstrAttributeName, &bstr);
HRESULT hr = get_attrib_value(pXmlParent, bstrAttributeName, bstr);
if (SUCCEEDED(hr)) {
if (CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstr, bstr.length(), L"true" , -1, NULL, NULL, 0) == CSTR_EQUAL ||
CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstr, bstr.length(), L"1" , -1, NULL, NULL, 0) == CSTR_EQUAL)
*pbValue = true;
pbValue = true;
else if (
CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstr, bstr.length(), L"false", -1, NULL, NULL, 0) == CSTR_EQUAL ||
CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstr, bstr.length(), L"0" , -1, NULL, NULL, 0) == CSTR_EQUAL)
*pbValue = false;
pbValue = false;
else
hr = E_NOT_VALID_STATE;
}

View File

@@ -51,6 +51,8 @@ namespace eap
{
class method
{
WINSTD_NONCOPYABLE(method)
public:
///
/// Constructs an EAP method
@@ -128,11 +130,6 @@ namespace eap
/// @}
private:
// This class is noncopyable.
method(_In_ const method &other);
method& operator=(_In_ const method &other);
public:
module &m_module; ///< EAP module
config_method_with_cred &m_cfg; ///< Connection configuration
@@ -143,6 +140,8 @@ namespace eap
class method_noneap : public method
{
WINSTD_NONCOPYABLE(method_noneap)
public:
///
/// Constructs an EAP method

View File

@@ -60,6 +60,8 @@ namespace eap
{
class module
{
WINSTD_NONCOPYABLE(module)
public:
///
/// Constructs a module for the given EAP type
@@ -337,7 +339,9 @@ namespace eap
if (!CryptDecrypt(key_aes, hHash, TRUE, 0, buf))
throw win_runtime_error(__FUNCTION__ " CryptDecrypt failed.");
return std::vector<_Ty, _Ax>(buf);
std::vector<_Ty, _Ax> buf_res;
buf_res.assign(buf.cbegin(), buf.cend());
return buf_res;
}
@@ -427,7 +431,7 @@ namespace eap
template<class _Elem, class _Traits, class _Ax>
std::basic_string<_Elem, _Traits, _Ax> decrypt_str_md5(_In_ HCRYPTPROV hProv, _In_bytecount_(size) const void *data, _In_ size_t size) const
{
std::vector<_Elem, sanitizing_allocator<_Elem> > buf(std::move(decrypt_md5(hProv, data, size)));
std::vector<_Elem, sanitizing_allocator<_Elem> > buf(std::move(decrypt_md5<_Elem, sanitizing_allocator<_Elem> >(hProv, data, size)));
return std::basic_string<_Elem, _Traits, _Ax>(buf.data(), buf.size());
}
@@ -444,7 +448,7 @@ namespace eap
template<class _Traits, class _Ax>
std::basic_string<wchar_t, _Traits, _Ax> decrypt_str_md5(_In_ HCRYPTPROV hProv, _In_bytecount_(size) const void *data, _In_ size_t size) const
{
winstd::sanitizing_string buf(std::move(decrypt_str_md5(hProv, data, size)));
winstd::sanitizing_string buf(std::move(decrypt_str_md5<char, std::char_traits<char>, sanitizing_allocator<char> >(hProv, data, size)));
std::basic_string<wchar_t, _Traits, _Ax> dec;
MultiByteToWideChar(CP_UTF8, 0, buf.data(), (int)buf.size(), dec);
return dec;
@@ -556,6 +560,8 @@ namespace eap
class peer : public module
{
WINSTD_NONCOPYABLE(peer)
public:
///
/// Constructs a EAP peer module for the given EAP type

View File

@@ -151,7 +151,7 @@ eap::config_method& eap::config_method::operator=(_Inout_ config_method &&other)
eap::config_method_with_cred::config_method_with_cred(_In_ module &mod, _In_ unsigned int level) :
m_allow_save(true),
m_use_preshared(false),
m_use_cred(false),
m_last_status(status_success),
config_method(mod, level)
{
@@ -159,23 +159,23 @@ eap::config_method_with_cred::config_method_with_cred(_In_ module &mod, _In_ uns
eap::config_method_with_cred::config_method_with_cred(_In_ const config_method_with_cred &other) :
m_allow_save (other.m_allow_save ),
m_use_preshared(other.m_use_preshared ),
m_preshared (other.m_preshared ? (credentials*)other.m_preshared->clone() : nullptr),
m_last_status (other.m_last_status ),
m_last_msg (other.m_last_msg ),
config_method (other )
m_allow_save (other.m_allow_save ),
m_use_cred (other.m_use_cred ),
m_cred (other.m_cred ? (credentials*)other.m_cred->clone() : nullptr),
m_last_status (other.m_last_status ),
m_last_msg (other.m_last_msg ),
config_method (other )
{
}
eap::config_method_with_cred::config_method_with_cred(_Inout_ config_method_with_cred &&other) :
m_allow_save (std::move(other.m_allow_save )),
m_use_preshared(std::move(other.m_use_preshared)),
m_preshared (std::move(other.m_preshared )),
m_last_status (std::move(other.m_last_status )),
m_last_msg (std::move(other.m_last_msg )),
config_method (std::move(other ))
m_allow_save (std::move(other.m_allow_save )),
m_use_cred (std::move(other.m_use_cred )),
m_cred (std::move(other.m_cred )),
m_last_status(std::move(other.m_last_status)),
m_last_msg (std::move(other.m_last_msg )),
config_method(std::move(other ))
{
}
@@ -185,8 +185,8 @@ eap::config_method_with_cred& eap::config_method_with_cred::operator=(_In_ const
if (this != &other) {
(config_method&)*this = other;
m_allow_save = other.m_allow_save;
m_use_preshared = other.m_use_preshared;
m_preshared.reset(other.m_preshared ? (credentials*)other.m_preshared->clone() : nullptr);
m_use_cred = other.m_use_cred;
m_cred.reset(other.m_cred ? (credentials*)other.m_cred->clone() : nullptr);
m_last_status = other.m_last_status;
m_last_msg = other.m_last_msg;
}
@@ -198,12 +198,12 @@ eap::config_method_with_cred& eap::config_method_with_cred::operator=(_In_ const
eap::config_method_with_cred& eap::config_method_with_cred::operator=(_Inout_ config_method_with_cred &&other)
{
if (this != &other) {
(config_method&)*this = std::move(other );
m_allow_save = std::move(other.m_allow_save );
m_use_preshared = std::move(other.m_use_preshared);
m_preshared = std::move(other.m_preshared );
m_last_status = std::move(other.m_last_status );
m_last_msg = std::move(other.m_last_msg );
(config_method&)*this = std::move(other );
m_allow_save = std::move(other.m_allow_save );
m_use_cred = std::move(other.m_use_cred );
m_cred = std::move(other.m_cred );
m_last_status = std::move(other.m_last_status);
m_last_msg = std::move(other.m_last_msg );
}
return *this;
@@ -219,15 +219,15 @@ void eap::config_method_with_cred::save(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOM
// <ClientSideCredential>
winstd::com_obj<IXMLDOMElement> pXmlElClientSideCredential;
if (FAILED(hr = eapxml::create_element(pDoc, pConfigRoot, winstd::bstr(L"eap-metadata:ClientSideCredential"), winstd::bstr(L"ClientSideCredential"), namespace_eapmetadata, &pXmlElClientSideCredential)))
if (FAILED(hr = eapxml::create_element(pDoc, pConfigRoot, winstd::bstr(L"eap-metadata:ClientSideCredential"), winstd::bstr(L"ClientSideCredential"), namespace_eapmetadata, pXmlElClientSideCredential)))
throw com_runtime_error(hr, __FUNCTION__ " Error creating <ClientSideCredential> element.");
// <ClientSideCredential>/<allow-save>
if (FAILED(hr = eapxml::put_element_value(pDoc, pXmlElClientSideCredential, winstd::bstr(L"allow-save"), namespace_eapmetadata, m_allow_save)))
throw com_runtime_error(hr, __FUNCTION__ " Error creating <allow-save> element.");
if (m_use_preshared)
m_preshared->save(pDoc, pXmlElClientSideCredential);
if (m_use_cred)
m_cred->save(pDoc, pXmlElClientSideCredential);
}
@@ -235,24 +235,24 @@ void eap::config_method_with_cred::load(_In_ IXMLDOMNode *pConfigRoot)
{
assert(pConfigRoot);
m_allow_save = true;
m_use_preshared = false;
m_preshared->clear();
m_allow_save = true;
m_use_cred = false;
m_cred->clear();
// <ClientSideCredential>
winstd::com_obj<IXMLDOMElement> pXmlElClientSideCredential;
if (SUCCEEDED(eapxml::select_element(pConfigRoot, winstd::bstr(L"eap-metadata:ClientSideCredential"), &pXmlElClientSideCredential))) {
if (SUCCEEDED(eapxml::select_element(pConfigRoot, winstd::bstr(L"eap-metadata:ClientSideCredential"), pXmlElClientSideCredential))) {
std::wstring xpath(eapxml::get_xpath(pXmlElClientSideCredential));
// <allow-save>
eapxml::get_element_value(pXmlElClientSideCredential, winstd::bstr(L"eap-metadata:allow-save"), &m_allow_save);
eapxml::get_element_value(pXmlElClientSideCredential, winstd::bstr(L"eap-metadata:allow-save"), m_allow_save);
m_module.log_config((xpath + L"/allow-save").c_str(), m_allow_save);
try {
m_preshared->load(pXmlElClientSideCredential);
m_use_preshared = true;
m_cred->load(pXmlElClientSideCredential);
m_use_cred = true;
} catch (...) {
// This is not really an error - merely an indication pre-shared credentials are unavailable.
// This is not really an error - merely an indication configured credentials are unavailable.
}
}
@@ -265,8 +265,8 @@ void eap::config_method_with_cred::operator<<(_Inout_ cursor_out &cursor) const
{
config_method::operator<<(cursor);
cursor << m_allow_save;
cursor << m_use_preshared;
cursor << *m_preshared;
cursor << m_use_cred;
cursor << *m_cred;
cursor << m_last_status;
cursor << m_last_msg;
}
@@ -276,11 +276,11 @@ size_t eap::config_method_with_cred::get_pk_size() const
{
return
config_method::get_pk_size() +
pksizeof(m_allow_save ) +
pksizeof(m_use_preshared) +
pksizeof(*m_preshared ) +
pksizeof(m_last_status ) +
pksizeof(m_last_msg );
pksizeof(m_allow_save ) +
pksizeof(m_use_cred ) +
pksizeof(*m_cred ) +
pksizeof(m_last_status) +
pksizeof(m_last_msg );
}
@@ -288,8 +288,8 @@ void eap::config_method_with_cred::operator>>(_Inout_ cursor_in &cursor)
{
config_method::operator>>(cursor);
cursor >> m_allow_save;
cursor >> m_use_preshared;
cursor >> *m_preshared;
cursor >> m_use_cred;
cursor >> *m_cred;
cursor >> m_last_status;
cursor >> m_last_msg;
}
@@ -416,7 +416,7 @@ void eap::config_provider::save(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pC
// <ProviderInfo>
com_obj<IXMLDOMElement> pXmlElProviderInfo;
if (FAILED(hr = eapxml::create_element(pDoc, pConfigRoot, bstr(L"eap-metadata:ProviderInfo"), bstr(L"ProviderInfo"), namespace_eapmetadata, &pXmlElProviderInfo)))
if (FAILED(hr = eapxml::create_element(pDoc, pConfigRoot, bstr(L"eap-metadata:ProviderInfo"), bstr(L"ProviderInfo"), namespace_eapmetadata, pXmlElProviderInfo)))
throw com_runtime_error(hr, __FUNCTION__ " Error creating <ProviderInfo> element.");
// <ProviderInfo>/<DisplayName>
@@ -426,7 +426,7 @@ void eap::config_provider::save(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pC
// <ProviderInfo>/<Helpdesk>
com_obj<IXMLDOMElement> pXmlElHelpdesk;
if (FAILED(hr = eapxml::create_element(pDoc, pXmlElProviderInfo, bstr(L"eap-metadata:Helpdesk"), bstr(L"Helpdesk"), namespace_eapmetadata, &pXmlElHelpdesk)))
if (FAILED(hr = eapxml::create_element(pDoc, pXmlElProviderInfo, bstr(L"eap-metadata:Helpdesk"), bstr(L"Helpdesk"), namespace_eapmetadata, pXmlElHelpdesk)))
throw com_runtime_error(hr, __FUNCTION__ " Error creating <Helpdesk> element.");
// <ProviderInfo>/<Helpdesk>/<EmailAddress>
@@ -461,13 +461,13 @@ void eap::config_provider::save(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pC
// <AuthenticationMethods>
com_obj<IXMLDOMElement> pXmlElAuthenticationMethods;
if (FAILED(hr = eapxml::create_element(pDoc, pConfigRoot, bstr(L"eap-metadata:AuthenticationMethods"), bstr(L"AuthenticationMethods"), namespace_eapmetadata, &pXmlElAuthenticationMethods)))
if (FAILED(hr = eapxml::create_element(pDoc, pConfigRoot, bstr(L"eap-metadata:AuthenticationMethods"), bstr(L"AuthenticationMethods"), namespace_eapmetadata, pXmlElAuthenticationMethods)))
throw com_runtime_error(hr, __FUNCTION__ " Error creating <AuthenticationMethods> element.");
for (vector<unique_ptr<config_method> >::const_iterator method = m_methods.cbegin(), method_end = m_methods.cend(); method != method_end; ++method) {
// <AuthenticationMethod>
com_obj<IXMLDOMElement> pXmlElAuthenticationMethod;
if (FAILED(hr = eapxml::create_element(pDoc, bstr(L"AuthenticationMethod"), namespace_eapmetadata, &pXmlElAuthenticationMethod)))
if (FAILED(hr = eapxml::create_element(pDoc, bstr(L"AuthenticationMethod"), namespace_eapmetadata, pXmlElAuthenticationMethod)))
throw com_runtime_error(hr, __FUNCTION__ " Error creating <AuthenticationMethod> element.");
// <AuthenticationMethod>/...
@@ -498,7 +498,7 @@ void eap::config_provider::load(_In_ IXMLDOMNode *pConfigRoot)
m_module.log_config((xpath + L" ID").c_str(), m_id.c_str());
// <read-only>
if (FAILED(hr = eapxml::get_element_value(pConfigRoot, bstr(L"eap-metadata:read-only"), &m_read_only)))
if (FAILED(hr = eapxml::get_element_value(pConfigRoot, bstr(L"eap-metadata:read-only"), m_read_only)))
m_read_only = true;
m_module.log_config((xpath + L"/read-only").c_str(), m_read_only);
@@ -511,7 +511,7 @@ void eap::config_provider::load(_In_ IXMLDOMNode *pConfigRoot)
m_lbl_alt_identity.clear();
m_lbl_alt_password.clear();
com_obj<IXMLDOMElement> pXmlElProviderInfo;
if (SUCCEEDED(eapxml::select_element(pConfigRoot, bstr(L"eap-metadata:ProviderInfo"), &pXmlElProviderInfo))) {
if (SUCCEEDED(eapxml::select_element(pConfigRoot, bstr(L"eap-metadata:ProviderInfo"), pXmlElProviderInfo))) {
wstring lang;
LoadString(m_module.m_instance, 2, lang);
wstring xpathProviderInfo(xpath + L"/ProviderInfo");
@@ -521,7 +521,7 @@ void eap::config_provider::load(_In_ IXMLDOMNode *pConfigRoot)
m_module.log_config((xpathProviderInfo + L"/DisplayName").c_str(), m_name.c_str());
com_obj<IXMLDOMElement> pXmlElHelpdesk;
if (SUCCEEDED(eapxml::select_element(pXmlElProviderInfo, bstr(L"eap-metadata:Helpdesk"), &pXmlElHelpdesk))) {
if (SUCCEEDED(eapxml::select_element(pXmlElProviderInfo, bstr(L"eap-metadata:Helpdesk"), pXmlElHelpdesk))) {
wstring xpathHelpdesk(xpathProviderInfo + L"/Helpdesk");
// <Helpdesk>/<EmailAddress>
@@ -553,7 +553,7 @@ void eap::config_provider::load(_In_ IXMLDOMNode *pConfigRoot)
// Iterate authentication methods (<AuthenticationMethods>).
m_methods.clear();
com_obj<IXMLDOMNodeList> pXmlListMethods;
if (FAILED(hr = eapxml::select_nodes(pConfigRoot, bstr(L"eap-metadata:AuthenticationMethods/eap-metadata:AuthenticationMethod"), &pXmlListMethods)))
if (FAILED(hr = eapxml::select_nodes(pConfigRoot, bstr(L"eap-metadata:AuthenticationMethods/eap-metadata:AuthenticationMethod"), pXmlListMethods)))
throw com_runtime_error(hr, __FUNCTION__ " Error selecting <AuthenticationMethods>/<AuthenticationMethod> elements.");
long lCount = 0;
pXmlListMethods->get_length(&lCount);
@@ -565,7 +565,7 @@ void eap::config_provider::load(_In_ IXMLDOMNode *pConfigRoot)
// Check EAP method type (<EAPMethod>).
DWORD dwMethodID;
if (SUCCEEDED(eapxml::get_element_value(pXmlElMethod, bstr(L"eap-metadata:EAPMethod"), &dwMethodID))) {
if (SUCCEEDED(eapxml::get_element_value(pXmlElMethod, bstr(L"eap-metadata:EAPMethod"), dwMethodID))) {
if ((eap_type_t)dwMethodID != cfg->get_method_id()) {
// Wrong type.
continue;
@@ -705,13 +705,13 @@ void eap::config_connection::save(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *
// Create <EAPIdentityProviderList> node.
com_obj<IXMLDOMElement> pXmlElIdentityProviderList;
if (FAILED(hr = eapxml::create_element(pDoc, pConfigRoot, bstr(L"eap-metadata:EAPIdentityProviderList"), bstr(L"EAPIdentityProviderList"), namespace_eapmetadata, &pXmlElIdentityProviderList)))
if (FAILED(hr = eapxml::create_element(pDoc, pConfigRoot, bstr(L"eap-metadata:EAPIdentityProviderList"), bstr(L"EAPIdentityProviderList"), namespace_eapmetadata, pXmlElIdentityProviderList)))
throw com_runtime_error(hr, __FUNCTION__ " Error creating <EAPIdentityProviderList> element.");
for (provider_list::const_iterator provider = m_providers.cbegin(), provider_end = m_providers.cend(); provider != provider_end; ++provider) {
// <EAPIdentityProvider>
com_obj<IXMLDOMElement> pXmlElIdentityProvider;
if (FAILED(hr = eapxml::create_element(pDoc, bstr(L"EAPIdentityProvider"), namespace_eapmetadata, &pXmlElIdentityProvider)))
if (FAILED(hr = eapxml::create_element(pDoc, bstr(L"EAPIdentityProvider"), namespace_eapmetadata, pXmlElIdentityProvider)))
throw com_runtime_error(hr, __FUNCTION__ " Error creating <EAPIdentityProvider> element.");
// <EAPIdentityProvider>/...
@@ -732,7 +732,7 @@ void eap::config_connection::load(_In_ IXMLDOMNode *pConfigRoot)
// Iterate authentication providers (<EAPIdentityProvider>).
com_obj<IXMLDOMNodeList> pXmlListProviders;
if (FAILED(hr = eapxml::select_nodes(pConfigRoot, bstr(L"eap-metadata:EAPIdentityProviderList/eap-metadata:EAPIdentityProvider"), &pXmlListProviders)))
if (FAILED(hr = eapxml::select_nodes(pConfigRoot, bstr(L"eap-metadata:EAPIdentityProviderList/eap-metadata:EAPIdentityProvider"), pXmlListProviders)))
throw com_runtime_error(hr, __FUNCTION__ " Error selecting <EAPIdentityProviderList><EAPIdentityProvider> elements.");
long lCount = 0;
pXmlListProviders->get_length(&lCount);

View File

@@ -106,7 +106,7 @@ void eap::credentials::load(_In_ IXMLDOMNode *pConfigRoot)
config::load(pConfigRoot);
std::wstring xpath(eapxml::get_xpath(pConfigRoot));
wstring xpath(eapxml::get_xpath(pConfigRoot));
if (FAILED(hr = eapxml::get_element_value(pConfigRoot, bstr(L"eap-metadata:UserName"), m_identity)))
m_identity.clear();
@@ -225,12 +225,18 @@ void eap::credentials_pass::save(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *p
HRESULT hr;
// Prepare cryptographics provider.
crypt_prov cp;
if (!cp.create(NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
throw win_runtime_error(__FUNCTION__ " CryptAcquireContext failed.");
// <Password>
bstr pass(m_password);
hr = eapxml::put_element_value(pDoc, pConfigRoot, bstr(L"Password"), namespace_eapmetadata, pass);
SecureZeroMemory((BSTR)pass, sizeof(OLECHAR)*pass.length());
if (FAILED(hr))
vector<unsigned char> password_enc(std::move(m_module.encrypt_md5(cp, m_password)));
com_obj<IXMLDOMElement> pXmlElPassword;
if (FAILED(hr = eapxml::put_element_base64(pDoc, pConfigRoot, bstr(L"Password"), namespace_eapmetadata, password_enc.data(), password_enc.size(), std::addressof(pXmlElPassword))))
throw com_runtime_error(hr, __FUNCTION__ " Error creating <Password> element.");
pXmlElPassword->setAttribute(bstr(L"encryption"), variant(_L(PRODUCT_NAME_STR)));
}
@@ -241,13 +247,35 @@ void eap::credentials_pass::load(_In_ IXMLDOMNode *pConfigRoot)
credentials::load(pConfigRoot);
std::wstring xpath(eapxml::get_xpath(pConfigRoot));
wstring xpath(eapxml::get_xpath(pConfigRoot));
bstr pass;
if (FAILED(hr = eapxml::get_element_value(pConfigRoot, bstr(L"eap-metadata:Password"), &pass)))
// <Password>
bstr password, encryption;
com_obj<IXMLDOMElement> pXmlElPassword;
if (FAILED(hr = eapxml::get_element_value(pConfigRoot, bstr(L"eap-metadata:Password"), password, std::addressof(pXmlElPassword))))
throw com_runtime_error(hr, __FUNCTION__ " Error reading <Password> element.");
m_password = pass;
SecureZeroMemory((BSTR)pass, sizeof(OLECHAR)*pass.length());
if (SUCCEEDED(eapxml::get_attrib_value(pXmlElPassword, bstr(L"encryption"), encryption)) &&
CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, encryption, encryption.length(), _L(PRODUCT_NAME_STR), -1, NULL, NULL, 0) == CSTR_EQUAL)
{
// Decrypt password.
// Decode Base64.
winstd::base64_dec dec;
bool is_last;
std::vector<unsigned char> password_enc;
dec.decode(password_enc, is_last, (BSTR)password, password.length());
// Prepare cryptographics provider.
crypt_prov cp;
if (!cp.create(NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
throw win_runtime_error(__FUNCTION__ " CryptAcquireContext failed.");
m_password = m_module.decrypt_str_md5<std::char_traits<wchar_t>, sanitizing_allocator<wchar_t> >(cp, password_enc.data(), password_enc.size());
} else {
m_password = password;
SecureZeroMemory((BSTR)password, sizeof(OLECHAR)*password.length());
}
m_module.log_config((xpath + L"/Password").c_str(),
#ifdef _DEBUG
@@ -375,11 +403,11 @@ eap::credentials::source_t eap::credentials_pass::combine(
return source_cache;
}
if (cfg.m_use_preshared) {
// Using preshared credentials.
*this = *(credentials_pass*)cfg.m_preshared.get();
m_module.log_event(&EAPMETHOD_TRACE_EVT_CRED_PRESHARED1, event_data((unsigned int)cfg.get_method_id()), event_data(credentials_pass::get_name()), event_data::blank);
return source_preshared;
if (cfg.m_use_cred) {
// Using configured credentials.
*this = *(credentials_pass*)cfg.m_cred.get();
m_module.log_event(&EAPMETHOD_TRACE_EVT_CRED_CONFIG1, event_data((unsigned int)cfg.get_method_id()), event_data(credentials_pass::get_name()), event_data::blank);
return source_config;
}
if (pszTargetName) {
@@ -542,7 +570,7 @@ void eap::credentials_connection::save(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMN
// Create <EAPIdentityProvider> node.
com_obj<IXMLDOMElement> pXmlElIdentityProvider;
if (FAILED(hr = eapxml::create_element(pDoc, pConfigRoot, bstr(L"eap-metadata:EAPIdentityProvider"), bstr(L"EAPIdentityProvider"), namespace_eapmetadata, &pXmlElIdentityProvider)))
if (FAILED(hr = eapxml::create_element(pDoc, pConfigRoot, bstr(L"eap-metadata:EAPIdentityProvider"), bstr(L"EAPIdentityProvider"), namespace_eapmetadata, pXmlElIdentityProvider)))
throw com_runtime_error(hr, __FUNCTION__ " Error creating <EAPIdentityProvider> element.");
// namespace
@@ -567,11 +595,11 @@ void eap::credentials_connection::load(_In_ IXMLDOMNode *pConfigRoot)
config::load(pConfigRoot);
// <EAPIdentityProvider>
winstd::com_obj<IXMLDOMElement> pXmlElClientSideCredential;
if (FAILED(hr = eapxml::select_element(pConfigRoot, winstd::bstr(L"eap-metadata:EAPIdentityProvider"), &pXmlElClientSideCredential)))
com_obj<IXMLDOMElement> pXmlElClientSideCredential;
if (FAILED(hr = eapxml::select_element(pConfigRoot, bstr(L"eap-metadata:EAPIdentityProvider"), pXmlElClientSideCredential)))
throw com_runtime_error(hr, __FUNCTION__ " Error loading <EAPIdentityProvider> element.");
std::wstring xpath(eapxml::get_xpath(pXmlElClientSideCredential));
wstring xpath(eapxml::get_xpath(pXmlElClientSideCredential));
// namespace
m_namespace.clear();

View File

@@ -199,6 +199,10 @@ public:
this->SetIcon(wxIcon(wxICON(product.ico)));
#endif
// Set banner title.
std::unique_ptr<eap::config_method> cfg_dummy(cfg.m_module.make_config_method());
m_banner->m_title->SetLabel(wxString::Format("%s %s", wxT(PRODUCT_NAME_STR), cfg_dummy->get_method_str()));
for (eap::config_connection::provider_list::iterator provider = m_cfg.m_providers.begin(), provider_end = m_cfg.m_providers.end(); provider != provider_end; ++provider) {
bool is_single = provider->m_methods.size() == 1;
std::vector<std::unique_ptr<eap::config_method> >::size_type count = 0;
@@ -566,14 +570,16 @@ public:
/// \param[inout] cfg Configuration data
/// \param[in] parent Parent window
///
wxEAPCredentialsConfigPanel(const eap::config_provider &prov, eap::config_method_with_cred &cfg, wxWindow *parent) :
wxEAPCredentialsConfigPanel(const eap::config_provider &prov, eap::config_method_with_cred &cfg, wxWindow *parent, const wxString &method = wxEmptyString) :
m_prov(prov),
m_cfg(cfg),
m_has_own(false),
m_cred_own(cfg.m_module),
m_cred_preshared(cfg.m_module),
m_has_storage(false),
m_cred_storage(cfg.m_module),
m_cred_config(cfg.m_module),
wxEAPCredentialsConfigPanelBase(parent)
{
m_sb_credentials->GetStaticBox()->SetLabel(method.empty() ? wxString::Format(_("%s User Credentials"), cfg.get_method_str()) : method);
// Load and set icon.
winstd::library lib_shell32;
if (lib_shell32.load(_T("shell32.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE))
@@ -585,7 +591,7 @@ public:
///
inline void SetFocusFromKbd()
{
m_own->SetFocusFromKbd();
m_storage->SetFocusFromKbd();
}
protected:
@@ -593,18 +599,18 @@ protected:
virtual bool TransferDataToWindow()
{
if (!m_cfg.m_use_preshared)
m_own->SetValue(true);
if (!m_cfg.m_use_cred)
m_storage->SetValue(true);
else
m_preshared->SetValue(true);
m_config->SetValue(true);
if (m_cfg.m_allow_save) {
RetrieveOwnCredentials();
m_timer_own.Start(3000);
RetrieveStorageCredentials();
m_timer_storage.Start(3000);
}
m_cred_preshared = *(_Tcred*)m_cfg.m_preshared.get();
UpdatePresharedIdentity();
m_cred_config = *(_Tcred*)m_cfg.m_cred.get();
UpdateConfigIdentity();
return wxEAPCredentialsConfigPanelBase::TransferDataToWindow();
}
@@ -616,8 +622,8 @@ protected:
if (!m_prov.m_read_only) {
// This is not a provider-locked configuration. Save the data.
m_cfg.m_use_preshared = !m_own->GetValue();
*m_cfg.m_preshared = m_cred_preshared;
m_cfg.m_use_cred = !m_storage->GetValue();
*(_Tcred*)m_cfg.m_cred.get() = m_cred_config;
}
return true;
@@ -627,139 +633,139 @@ protected:
virtual void OnUpdateUI(wxUpdateUIEvent& /*event*/)
{
if (m_cfg.m_allow_save) {
if (m_own->GetValue()) {
m_own_identity->Enable(true);
m_own_set ->Enable(true);
m_own_clear ->Enable(m_has_own);
if (m_storage->GetValue()) {
m_storage_identity->Enable(true);
m_storage_set ->Enable(true);
m_storage_clear ->Enable(m_has_storage);
} else {
m_own_identity->Enable(false);
m_own_set ->Enable(false);
m_own_clear ->Enable(false);
m_storage_identity->Enable(false);
m_storage_set ->Enable(false);
m_storage_clear ->Enable(false);
}
} else {
m_own_identity->Enable(false);
m_own_set ->Enable(false);
m_own_clear ->Enable(false);
m_storage_identity->Enable(false);
m_storage_set ->Enable(false);
m_storage_clear ->Enable(false);
}
if (m_prov.m_read_only) {
// This is provider-locked configuration. Disable controls.
// To avoid run-away selection of radio buttons, disable the selected one last.
if (m_own->GetValue()) {
m_preshared->Enable(false);
m_own ->Enable(false);
if (m_storage->GetValue()) {
m_config ->Enable(false);
m_storage->Enable(false);
} else {
m_own ->Enable(false);
m_preshared->Enable(false);
m_storage->Enable(false);
m_config ->Enable(false);
}
m_preshared_identity->Enable(false);
m_preshared_set ->Enable(false);
m_config_identity->Enable(false);
m_config_set ->Enable(false);
} else {
// This is not a provider-locked configuration. Selectively enable/disable controls.
m_own ->Enable(true);
m_preshared->Enable(true);
if (m_own->GetValue()) {
m_preshared_identity->Enable(false);
m_preshared_set ->Enable(false);
m_storage->Enable(true);
m_config->Enable(true);
if (m_storage->GetValue()) {
m_config_identity->Enable(false);
m_config_set ->Enable(false);
} else {
m_preshared_identity->Enable(true);
m_preshared_set ->Enable(true);
m_config_identity->Enable(true);
m_config_set ->Enable(true);
}
}
}
virtual void OnSetOwn(wxCommandEvent& /*event*/)
virtual void OnSetStorage(wxCommandEvent& /*event*/)
{
// Read credentials from Credential Manager.
RetrieveOwnCredentials();
RetrieveStorageCredentials();
// Display credential prompt.
wxEAPCredentialsDialog dlg(m_prov, this);
_wxT *panel = new _wxT(m_prov, m_cfg, m_cred_own, &dlg, true);
_wxT *panel = new _wxT(m_prov, m_cfg, m_cred_storage, &dlg, true);
dlg.AddContent(panel);
if (dlg.ShowModal() == wxID_OK && panel->GetRemember()) {
// Write credentials to credential manager.
try {
m_cred_own.store(m_prov.get_id().c_str(), m_cfg.m_level);
m_has_own = TRUE;
UpdateOwnIdentity();
m_cred_storage.store(m_prov.get_id().c_str(), m_cfg.m_level);
m_has_storage = TRUE;
UpdateStorageIdentity();
} catch (winstd::win_runtime_error &err) {
wxLogError(winstd::tstring_printf(_("Error writing credentials to Credential Manager: %hs (error %u)"), err.what(), err.number()).c_str());
RetrieveOwnCredentials();
RetrieveStorageCredentials();
} catch (...) {
wxLogError(_("Writing credentials failed."));
RetrieveOwnCredentials();
RetrieveStorageCredentials();
}
}
}
virtual void OnClearOwn(wxCommandEvent& /*event*/)
virtual void OnClearStorage(wxCommandEvent& /*event*/)
{
if (CredDelete(m_cred_own.target_name(m_prov.get_id().c_str(), m_cfg.m_level).c_str(), CRED_TYPE_GENERIC, 0)) {
m_own_identity->Clear();
m_has_own = false;
if (CredDelete(m_cred_storage.target_name(m_prov.get_id().c_str(), m_cfg.m_level).c_str(), CRED_TYPE_GENERIC, 0)) {
m_storage_identity->Clear();
m_has_storage = false;
} else
wxLogError(_("Deleting credentials failed (error %u)."), GetLastError());
}
virtual void OnSetPreshared(wxCommandEvent& /*event*/)
virtual void OnSetConfig(wxCommandEvent& /*event*/)
{
wxEAPCredentialsDialog dlg(m_prov, this);
_wxT *panel = new _wxT(m_prov, m_cfg, m_cred_preshared, &dlg, true);
_wxT *panel = new _wxT(m_prov, m_cfg, m_cred_config, &dlg, true);
dlg.AddContent(panel);
if (dlg.ShowModal() == wxID_OK)
UpdatePresharedIdentity();
UpdateConfigIdentity();
}
virtual void OnTimerOwn(wxTimerEvent& /*event*/)
virtual void OnTimerStorage(wxTimerEvent& /*event*/)
{
if (m_own_identity->IsShownOnScreen())
RetrieveOwnCredentials();
if (m_storage_identity->IsShownOnScreen())
RetrieveStorageCredentials();
}
void RetrieveOwnCredentials()
void RetrieveStorageCredentials()
{
try {
m_cred_own.retrieve(m_prov.get_id().c_str(), m_cfg.m_level);
m_has_own = true;
UpdateOwnIdentity();
m_cred_storage.retrieve(m_prov.get_id().c_str(), m_cfg.m_level);
m_has_storage = true;
UpdateStorageIdentity();
} catch (winstd::win_runtime_error &err) {
if (err.number() == ERROR_NOT_FOUND) {
m_own_identity->Clear();
m_has_own = false;
m_storage_identity->Clear();
m_has_storage = false;
} else {
m_own_identity->SetValue(wxString::Format(_("<error %u>"), err.number()));
m_has_own = true;
m_storage_identity->SetValue(wxString::Format(_("<error %u>"), err.number()));
m_has_storage = true;
}
} catch (...) {
m_own_identity->SetValue(_("<error>"));
m_has_own = true;
m_storage_identity->SetValue(_("<error>"));
m_has_storage = true;
}
}
inline void UpdateOwnIdentity()
inline void UpdateStorageIdentity()
{
wxString identity(m_cred_own.get_identity());
m_own_identity->SetValue(
wxString identity(m_cred_storage.get_identity());
m_storage_identity->SetValue(
!identity.empty() ? identity :
m_cred_own.empty() ? _("<empty>") : _("<blank ID>"));
m_cred_storage.empty() ? _("<empty>") : _("<blank ID>"));
}
inline void UpdatePresharedIdentity()
inline void UpdateConfigIdentity()
{
wxString identity(m_cred_preshared.get_identity());
m_preshared_identity->SetValue(
!identity.empty() ? identity :
m_cred_preshared.empty() ? _("<empty>") : _("<blank ID>"));
wxString identity(m_cred_config.get_identity());
m_config_identity->SetValue(
!identity.empty() ? identity :
m_cred_config.empty() ? _("<empty>") : _("<blank ID>"));
}
/// \endcond
@@ -769,9 +775,9 @@ protected:
eap::config_method_with_cred &m_cfg; ///< EAP method configuration
private:
bool m_has_own; ///< Does the user has (some sort of) credentials stored in Credential Manager?
_Tcred m_cred_own; ///< Temporary own credential data
_Tcred m_cred_preshared; ///< Temporary pre-shared credential data
bool m_has_storage; ///< Does the user has (some sort of) credentials stored in Credential Manager?
_Tcred m_cred_storage; ///< Temporary stored credential data
_Tcred m_cred_config; ///< Temporary config credential data
};
@@ -791,7 +797,7 @@ public:
/// \param[in] cfg Configuration data
/// \param[inout] cred Credentials data
/// \param[in] parent Parent window
/// \param[in] is_config Is this panel used to pre-enter credentials? When \c true, the "Remember" checkbox is always selected and disabled.
/// \param[in] is_config Is this panel used to config credentials?
///
wxEAPCredentialsPanel(const eap::config_provider &prov, const eap::config_method_with_cred &cfg, _Tcred &cred, wxWindow* parent, bool is_config = false) :
m_prov(prov),
@@ -800,48 +806,33 @@ public:
m_is_config(is_config),
_Tbase(parent)
{
if (!is_config && !m_cfg.m_use_cred && m_cfg.m_allow_save) {
m_remember = new wxCheckBox(m_sb_credentials->GetStaticBox(), wxID_ANY, _("&Remember"));
m_remember->SetHelpText(_("Check if you would like to save credentials"));
m_sb_credentials_vert->Add(m_remember, 0, wxALL|wxEXPAND, 5);
} else
m_remember = NULL;
}
virtual void SetRemember(bool val)
{
return m_remember->SetValue(val);
if (m_remember)
m_remember->SetValue(val);
}
virtual bool GetRemember() const
{
return m_remember->GetValue();
return m_remember ?
m_remember->GetValue() :
!m_cfg.m_use_cred && m_cfg.m_allow_save;
}
protected:
/// \cond internal
virtual bool TransferDataToWindow()
{
if (m_is_config) {
// Configuration mode
// Always store credentials (somewhere).
m_remember->SetValue(true);
m_remember->Enable(false);
} else if (m_cfg.m_use_preshared) {
// Credential prompt mode & Using pre-shared credentials
m_remember->SetValue(false);
m_remember->Enable(false);
} else if (!m_cfg.m_allow_save) {
// Credential prompt mode & using own credentials & saving is not allowed
m_remember->SetValue(false);
m_remember->Enable(false);
}
return _Tbase::TransferDataToWindow();
}
/// \endcond
protected:
const eap::config_provider &m_prov; ///< Provider configuration
const eap::config_method_with_cred &m_cfg; ///< Method configuration
_Tcred &m_cred; ///< Credentials
bool m_is_config; ///< Is this a configuration dialog?
wxCheckBox *m_remember; ///< "Remember" checkbox
};
@@ -856,15 +847,16 @@ public:
/// \param[in] cfg Configuration data
/// \param[inout] cred Credentials data
/// \param[in] parent Parent window
/// \param[in] is_config Is this panel used to pre-enter credentials? When \c true, the "Remember" checkbox is always selected and disabled.
/// \param[in] is_config Is this panel used to config credentials?
///
wxPasswordCredentialsPanel(const eap::config_provider &prov, const eap::config_method_with_cred &cfg, _Tcred &cred, wxWindow* parent, bool is_config = false) :
m_password_set(false),
wxEAPCredentialsPanel<_Tcred, _Tbase>(prov, cfg, cred, parent, is_config)
{
// Load and set icon.
winstd::library lib_shell32;
if (lib_shell32.load(_T("shell32.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE))
m_credentials_icon->SetIcon(wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(269)));
if (lib_shell32.load(_T("imageres.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE))
m_credentials_icon->SetIcon(wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(82)));
bool layout = false;
if (!m_prov.m_lbl_alt_credential.empty()) {
@@ -894,43 +886,43 @@ protected:
{
m_identity->SetValue(m_cred.m_identity);
m_identity->SetSelection(0, -1);
m_password->SetValue(m_cred.m_password.empty() ? wxEmptyString : s_dummy_password);
m_password->SetValue(m_cred.m_password.empty() ? wxEmptyString : wxT("dummypass"));
m_password_set = false;
if (!m_is_config && m_cfg.m_use_preshared) {
// Credential prompt mode & Using pre-shared credentials
if (!m_is_config && m_cfg.m_use_cred) {
// Credential prompt mode & Using configured credentials
m_identity_label->Enable(false);
m_identity ->Enable(false);
m_password_label->Enable(false);
m_password ->Enable(false);
}
return wxEAPCredentialsPanel<_Tcred, wxEAPCredentialsPassPanelBase>::TransferDataToWindow();
return wxEAPCredentialsPanel<_Tcred, wxPasswordCredentialsPanelBase>::TransferDataToWindow();
}
virtual bool TransferDataFromWindow()
{
if (!wxEAPCredentialsPanel<_Tcred, wxEAPCredentialsPassPanelBase>::TransferDataFromWindow())
if (!wxEAPCredentialsPanel<_Tcred, wxPasswordCredentialsPanelBase>::TransferDataFromWindow())
return false;
m_cred.m_identity = m_identity->GetValue();
wxString pass = m_password->GetValue();
if (pass.compare(s_dummy_password) != 0) {
m_cred.m_password = pass;
pass.assign(pass.length(), wxT('*'));
}
if (m_password_set)
m_cred.m_password = m_password->GetValue();
return true;
}
virtual void OnPasswordText(wxCommandEvent& /*event*/)
{
m_password_set = true;
}
/// \endcond
private:
static const wxStringCharType *s_dummy_password;
bool m_password_set;
};
template <class _Tcred, class _Tbase>
const wxStringCharType *wxPasswordCredentialsPanel<_Tcred, _Tbase>::s_dummy_password = wxT("dummypass");
inline wxIcon wxLoadIconFromResource(HINSTANCE hinst, PCWSTR pszName, int cx, int cy)
{

View File

@@ -226,146 +226,125 @@ wxEAPNotePanelBase::~wxEAPNotePanelBase()
wxEAPCredentialsConfigPanelBase::wxEAPCredentialsConfigPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
wxStaticBoxSizer* sb_credentials;
sb_credentials = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Client Credentials") ), wxVERTICAL );
m_sb_credentials = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("%s User Credentials") ), wxVERTICAL );
wxBoxSizer* sb_credentials_horiz;
sb_credentials_horiz = new wxBoxSizer( wxHORIZONTAL );
m_credentials_icon = new wxStaticBitmap( sb_credentials->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
m_credentials_icon = new wxStaticBitmap( m_sb_credentials->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
sb_credentials_horiz->Add( m_credentials_icon, 0, wxALL, 5 );
wxBoxSizer* sb_credentials_vert;
sb_credentials_vert = new wxBoxSizer( wxVERTICAL );
m_credentials_label = new wxStaticText( sb_credentials->GetStaticBox(), wxID_ANY, _("Manage credentials used to connect."), wxDefaultPosition, wxDefaultSize, 0 );
m_credentials_label = new wxStaticText( m_sb_credentials->GetStaticBox(), wxID_ANY, _("Select the source where your credentials used to connect are stored."), wxDefaultPosition, wxDefaultSize, 0 );
m_credentials_label->Wrap( 440 );
sb_credentials_vert->Add( m_credentials_label, 0, wxALL|wxEXPAND, 5 );
wxBoxSizer* sb_cred_radio;
sb_cred_radio = new wxBoxSizer( wxVERTICAL );
m_storage = new wxRadioButton( m_sb_credentials->GetStaticBox(), wxID_ANY, _("Use credentials from Credential &Manager:"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
m_storage->SetToolTip( _("Select this option if you would like to use credentials stored in Windows Credential Manager") );
wxBoxSizer* sz_own;
sz_own = new wxBoxSizer( wxVERTICAL );
sb_credentials_vert->Add( m_storage, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
wxBoxSizer* sz_own_inner;
sz_own_inner = new wxBoxSizer( wxHORIZONTAL );
wxBoxSizer* sz_storage;
sz_storage = new wxBoxSizer( wxVERTICAL );
m_own = new wxRadioButton( sb_credentials->GetStaticBox(), wxID_ANY, _("Use &own credentials:"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
m_own->SetToolTip( _("Select this option if you have your unique credentials to connect") );
m_storage_identity = new wxTextCtrl( m_sb_credentials->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
m_storage_identity->SetToolTip( _("Your present credentials stored in Windows Credential Manager") );
sz_own_inner->Add( m_own, 2, wxEXPAND, 5 );
sz_storage->Add( m_storage_identity, 3, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
m_own_identity = new wxTextCtrl( sb_credentials->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
m_own_identity->SetToolTip( _("Your credentials loaded from Windows Credential Manager") );
wxBoxSizer* sb_buttons_storage;
sb_buttons_storage = new wxBoxSizer( wxHORIZONTAL );
sz_own_inner->Add( m_own_identity, 3, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
m_storage_clear = new wxButton( m_sb_credentials->GetStaticBox(), wxID_ANY, _("&Clear Credentials"), wxDefaultPosition, wxDefaultSize, 0 );
m_storage_clear->SetToolTip( _("Click to clear your credentials from Credential Manager.\nNote: You will be prompted to enter credentials when connecting.") );
sb_buttons_storage->Add( m_storage_clear, 0, wxRIGHT, 5 );
m_storage_set = new wxButton( m_sb_credentials->GetStaticBox(), wxID_ANY, _("&Set Credentials..."), wxDefaultPosition, wxDefaultSize, 0 );
m_storage_set->SetToolTip( _("Click here to set or modify your credentials") );
sb_buttons_storage->Add( m_storage_set, 0, wxLEFT, 5 );
sz_own->Add( sz_own_inner, 1, wxEXPAND|wxBOTTOM, 5 );
wxBoxSizer* sb_buttons_own;
sb_buttons_own = new wxBoxSizer( wxHORIZONTAL );
m_own_clear = new wxButton( sb_credentials->GetStaticBox(), wxID_ANY, _("&Clear Credentials"), wxDefaultPosition, wxDefaultSize, 0 );
m_own_clear->SetToolTip( _("Click to clear your credentials from Credential Manager.\nNote: You will be prompted to enter credentials when connecting.") );
sb_buttons_own->Add( m_own_clear, 0, wxRIGHT, 5 );
m_own_set = new wxButton( sb_credentials->GetStaticBox(), wxID_ANY, _("&Set Credentials..."), wxDefaultPosition, wxDefaultSize, 0 );
m_own_set->SetToolTip( _("Click here to set or modify your credentials") );
sb_buttons_own->Add( m_own_set, 0, wxLEFT, 5 );
sz_storage->Add( sb_buttons_storage, 0, wxALIGN_RIGHT|wxTOP, 5 );
sz_own->Add( sb_buttons_own, 0, wxALIGN_RIGHT, 5 );
sb_credentials_vert->Add( sz_storage, 0, wxEXPAND|wxALL, 5 );
m_config = new wxRadioButton( m_sb_credentials->GetStaticBox(), wxID_ANY, _("Use credentials from &profile configuration:"), wxDefaultPosition, wxDefaultSize, 0 );
m_config->SetToolTip( _("Select this option if you would like to store credentials as a part of profile configuration") );
sb_credentials_vert->Add( m_config, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
wxBoxSizer* sz_config;
sz_config = new wxBoxSizer( wxVERTICAL );
m_config_identity = new wxTextCtrl( m_sb_credentials->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
m_config_identity->SetToolTip( _("Profile configuration credentials") );
sz_config->Add( m_config_identity, 3, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
wxBoxSizer* sb_buttons_config;
sb_buttons_config = new wxBoxSizer( wxHORIZONTAL );
m_config_set = new wxButton( m_sb_credentials->GetStaticBox(), wxID_ANY, _("&Set Credentials..."), wxDefaultPosition, wxDefaultSize, 0 );
m_config_set->SetToolTip( _("Click here to set or modify your credentials") );
sb_buttons_config->Add( m_config_set, 0, 0, 5 );
sb_cred_radio->Add( sz_own, 0, wxEXPAND|wxBOTTOM, 5 );
wxBoxSizer* sz_preshared;
sz_preshared = new wxBoxSizer( wxVERTICAL );
wxBoxSizer* sz_preshared_inner;
sz_preshared_inner = new wxBoxSizer( wxHORIZONTAL );
m_preshared = new wxRadioButton( sb_credentials->GetStaticBox(), wxID_ANY, _("Use &pre-shared credentials:"), wxDefaultPosition, wxDefaultSize, 0 );
m_preshared->SetToolTip( _("Select this options if all clients connect using the same credentials") );
sz_preshared_inner->Add( m_preshared, 2, wxEXPAND, 5 );
m_preshared_identity = new wxTextCtrl( sb_credentials->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
m_preshared_identity->SetToolTip( _("Common (pre-shared) credentials") );
sz_preshared_inner->Add( m_preshared_identity, 3, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
sz_config->Add( sb_buttons_config, 0, wxALIGN_RIGHT|wxTOP, 5 );
sz_preshared->Add( sz_preshared_inner, 1, wxEXPAND|wxBOTTOM, 5 );
wxBoxSizer* sb_buttons_preshared;
sb_buttons_preshared = new wxBoxSizer( wxHORIZONTAL );
m_preshared_set = new wxButton( sb_credentials->GetStaticBox(), wxID_ANY, _("&Set Credentials..."), wxDefaultPosition, wxDefaultSize, 0 );
m_preshared_set->SetToolTip( _("Click here to set or modify your credentials") );
sb_buttons_preshared->Add( m_preshared_set, 0, 0, 5 );
sz_preshared->Add( sb_buttons_preshared, 0, wxALIGN_RIGHT, 5 );
sb_cred_radio->Add( sz_preshared, 0, wxEXPAND|wxTOP, 5 );
sb_credentials_vert->Add( sb_cred_radio, 0, wxEXPAND|wxALL, 5 );
sb_credentials_vert->Add( sz_config, 0, wxEXPAND|wxALL, 5 );
sb_credentials_horiz->Add( sb_credentials_vert, 1, wxEXPAND, 5 );
sb_credentials->Add( sb_credentials_horiz, 1, wxEXPAND, 5 );
m_sb_credentials->Add( sb_credentials_horiz, 1, wxEXPAND, 5 );
this->SetSizer( sb_credentials );
this->SetSizer( m_sb_credentials );
this->Layout();
m_timer_own.SetOwner( this, wxID_ANY );
m_timer_storage.SetOwner( this, wxID_ANY );
// Connect Events
this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( wxEAPCredentialsConfigPanelBase::OnUpdateUI ) );
m_own_clear->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnClearOwn ), NULL, this );
m_own_set->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnSetOwn ), NULL, this );
m_preshared_set->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnSetPreshared ), NULL, this );
this->Connect( wxID_ANY, wxEVT_TIMER, wxTimerEventHandler( wxEAPCredentialsConfigPanelBase::OnTimerOwn ) );
m_storage_clear->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnClearStorage ), NULL, this );
m_storage_set->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnSetStorage ), NULL, this );
m_config_set->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnSetConfig ), NULL, this );
this->Connect( wxID_ANY, wxEVT_TIMER, wxTimerEventHandler( wxEAPCredentialsConfigPanelBase::OnTimerStorage ) );
}
wxEAPCredentialsConfigPanelBase::~wxEAPCredentialsConfigPanelBase()
{
// Disconnect Events
this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( wxEAPCredentialsConfigPanelBase::OnUpdateUI ) );
m_own_clear->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnClearOwn ), NULL, this );
m_own_set->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnSetOwn ), NULL, this );
m_preshared_set->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnSetPreshared ), NULL, this );
this->Disconnect( wxID_ANY, wxEVT_TIMER, wxTimerEventHandler( wxEAPCredentialsConfigPanelBase::OnTimerOwn ) );
m_storage_clear->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnClearStorage ), NULL, this );
m_storage_set->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnSetStorage ), NULL, this );
m_config_set->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnSetConfig ), NULL, this );
this->Disconnect( wxID_ANY, wxEVT_TIMER, wxTimerEventHandler( wxEAPCredentialsConfigPanelBase::OnTimerStorage ) );
}
wxEAPCredentialsPassPanelBase::wxEAPCredentialsPassPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxEAPCredentialsPanelBase( parent, id, pos, size, style )
wxPasswordCredentialsPanelBase::wxPasswordCredentialsPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxEAPCredentialsPanelBase( parent, id, pos, size, style )
{
wxStaticBoxSizer* sb_credentials;
sb_credentials = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Client Credentials") ), wxVERTICAL );
m_sb_credentials = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("User ID and Password") ), wxVERTICAL );
wxBoxSizer* sb_credentials_horiz;
sb_credentials_horiz = new wxBoxSizer( wxHORIZONTAL );
m_credentials_icon = new wxStaticBitmap( sb_credentials->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
m_credentials_icon = new wxStaticBitmap( m_sb_credentials->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
sb_credentials_horiz->Add( m_credentials_icon, 0, wxALL, 5 );
wxBoxSizer* sb_credentials_vert;
sb_credentials_vert = new wxBoxSizer( wxVERTICAL );
m_sb_credentials_vert = new wxBoxSizer( wxVERTICAL );
m_credentials_label = new wxStaticText( sb_credentials->GetStaticBox(), wxID_ANY, _("Please provide your user ID and password."), wxDefaultPosition, wxDefaultSize, 0 );
m_credentials_label = new wxStaticText( m_sb_credentials->GetStaticBox(), wxID_ANY, _("Please provide your user ID and password."), wxDefaultPosition, wxDefaultSize, 0 );
m_credentials_label->Wrap( 440 );
sb_credentials_vert->Add( m_credentials_label, 0, wxALL|wxEXPAND, 5 );
m_sb_credentials_vert->Add( m_credentials_label, 0, wxALL|wxEXPAND, 5 );
wxFlexGridSizer* sb_credentials_tbl;
sb_credentials_tbl = new wxFlexGridSizer( 0, 2, 5, 5 );
@@ -373,45 +352,46 @@ wxEAPCredentialsPassPanelBase::wxEAPCredentialsPassPanelBase( wxWindow* parent,
sb_credentials_tbl->SetFlexibleDirection( wxBOTH );
sb_credentials_tbl->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
m_identity_label = new wxStaticText( sb_credentials->GetStaticBox(), wxID_ANY, _("User ID:"), wxDefaultPosition, wxDefaultSize, 0 );
m_identity_label = new wxStaticText( m_sb_credentials->GetStaticBox(), wxID_ANY, _("User ID:"), wxDefaultPosition, wxDefaultSize, 0 );
m_identity_label->Wrap( -1 );
sb_credentials_tbl->Add( m_identity_label, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
m_identity = new wxTextCtrl( sb_credentials->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_identity = new wxTextCtrl( m_sb_credentials->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_identity->SetToolTip( _("Enter your user name here (user@domain.org, DOMAIN\\User, etc.)") );
sb_credentials_tbl->Add( m_identity, 2, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
m_password_label = new wxStaticText( sb_credentials->GetStaticBox(), wxID_ANY, _("Password:"), wxDefaultPosition, wxDefaultSize, 0 );
m_password_label = new wxStaticText( m_sb_credentials->GetStaticBox(), wxID_ANY, _("Password:"), wxDefaultPosition, wxDefaultSize, 0 );
m_password_label->Wrap( -1 );
sb_credentials_tbl->Add( m_password_label, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
m_password = new wxTextCtrl( sb_credentials->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD );
m_password = new wxTextCtrl( m_sb_credentials->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD );
m_password->SetToolTip( _("Enter your password here") );
sb_credentials_tbl->Add( m_password, 2, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
sb_credentials_vert->Add( sb_credentials_tbl, 0, wxEXPAND|wxALL, 5 );
m_remember = new wxCheckBox( sb_credentials->GetStaticBox(), wxID_ANY, _("&Remember"), wxDefaultPosition, wxDefaultSize, 0 );
m_remember->SetHelpText( _("Check if you would like to save username and password") );
sb_credentials_vert->Add( m_remember, 0, wxALL|wxEXPAND, 5 );
m_sb_credentials_vert->Add( sb_credentials_tbl, 0, wxEXPAND|wxALL, 5 );
sb_credentials_horiz->Add( sb_credentials_vert, 1, wxEXPAND, 5 );
sb_credentials_horiz->Add( m_sb_credentials_vert, 1, wxEXPAND, 5 );
sb_credentials->Add( sb_credentials_horiz, 0, wxEXPAND, 5 );
m_sb_credentials->Add( sb_credentials_horiz, 0, wxEXPAND, 5 );
this->SetSizer( sb_credentials );
this->SetSizer( m_sb_credentials );
this->Layout();
// Connect Events
m_password->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( wxPasswordCredentialsPanelBase::OnPasswordText ), NULL, this );
}
wxEAPCredentialsPassPanelBase::~wxEAPCredentialsPassPanelBase()
wxPasswordCredentialsPanelBase::~wxPasswordCredentialsPanelBase()
{
// Disconnect Events
m_password->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( wxPasswordCredentialsPanelBase::OnPasswordText ), NULL, this );
}
wxEAPProviderContactInfoPanelBase::wxEAPProviderContactInfoPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )

File diff suppressed because it is too large Load Diff

View File

@@ -34,8 +34,8 @@ class wxEAPBannerPanel;
#include <wx/textctrl.h>
#include <wx/statbox.h>
#include <wx/timer.h>
#include <wx/checkbox.h>
#include <wx/choice.h>
#include <wx/checkbox.h>
///////////////////////////////////////////////////////////////////////////
@@ -165,23 +165,24 @@ class wxEAPCredentialsConfigPanelBase : public wxPanel
private:
protected:
wxStaticBoxSizer* m_sb_credentials;
wxStaticBitmap* m_credentials_icon;
wxStaticText* m_credentials_label;
wxRadioButton* m_own;
wxTextCtrl* m_own_identity;
wxButton* m_own_clear;
wxButton* m_own_set;
wxRadioButton* m_preshared;
wxTextCtrl* m_preshared_identity;
wxButton* m_preshared_set;
wxTimer m_timer_own;
wxRadioButton* m_storage;
wxTextCtrl* m_storage_identity;
wxButton* m_storage_clear;
wxButton* m_storage_set;
wxRadioButton* m_config;
wxTextCtrl* m_config_identity;
wxButton* m_config_set;
wxTimer m_timer_storage;
// Virtual event handlers, overide them in your derived class
virtual void OnUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }
virtual void OnClearOwn( wxCommandEvent& event ) { event.Skip(); }
virtual void OnSetOwn( wxCommandEvent& event ) { event.Skip(); }
virtual void OnSetPreshared( wxCommandEvent& event ) { event.Skip(); }
virtual void OnTimerOwn( wxTimerEvent& event ) { event.Skip(); }
virtual void OnClearStorage( wxCommandEvent& event ) { event.Skip(); }
virtual void OnSetStorage( wxCommandEvent& event ) { event.Skip(); }
virtual void OnSetConfig( wxCommandEvent& event ) { event.Skip(); }
virtual void OnTimerStorage( wxTimerEvent& event ) { event.Skip(); }
public:
@@ -192,25 +193,30 @@ class wxEAPCredentialsConfigPanelBase : public wxPanel
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxEAPCredentialsPassPanelBase
/// Class wxPasswordCredentialsPanelBase
///////////////////////////////////////////////////////////////////////////////
class wxEAPCredentialsPassPanelBase : public wxEAPCredentialsPanelBase
class wxPasswordCredentialsPanelBase : public wxEAPCredentialsPanelBase
{
private:
protected:
wxStaticBoxSizer* m_sb_credentials;
wxStaticBitmap* m_credentials_icon;
wxBoxSizer* m_sb_credentials_vert;
wxStaticText* m_credentials_label;
wxStaticText* m_identity_label;
wxTextCtrl* m_identity;
wxStaticText* m_password_label;
wxTextCtrl* m_password;
wxCheckBox* m_remember;
// Virtual event handlers, overide them in your derived class
virtual void OnPasswordText( wxCommandEvent& event ) { event.Skip(); }
public:
wxEAPCredentialsPassPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,-1 ), long style = wxTAB_TRAVERSAL );
~wxEAPCredentialsPassPanelBase();
wxPasswordCredentialsPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,-1 ), long style = wxTAB_TRAVERSAL );
~wxPasswordCredentialsPanelBase();
};

View File

@@ -27,7 +27,6 @@
wxEAPBannerPanel::wxEAPBannerPanel(wxWindow* parent) : wxEAPBannerPanelBase(parent)
{
m_title->SetLabelText(wxT(PRODUCT_NAME_STR));
}

Binary file not shown.

View File

@@ -95,6 +95,11 @@
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Events\build\Events.vcxproj">
<Project>{d63f24bd-92a0-4d6b-8b69-ed947e4d2b1b}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>

View File

@@ -40,6 +40,8 @@ namespace eap
{
class method_mschapv2 : public method_noneap
{
WINSTD_NONCOPYABLE(method_mschapv2)
public:
///
/// Constructs an EAP method
@@ -132,7 +134,7 @@ namespace eap
static std::list<std::string> parse_response(_In_count_(count) const char *resp, _In_ size_t count);
protected:
credentials_pass &m_cred; ///< EAP-TLS user credentials
credentials_pass &m_cred; ///< Method user credentials
winstd::crypt_prov m_cp; ///< Cryptography provider for general services
challenge_mschapv2 m_challenge_server; ///< MSCHAP server challenge

View File

@@ -30,7 +30,7 @@ using namespace winstd;
eap::config_method_mschapv2::config_method_mschapv2(_In_ module &mod, _In_ unsigned int level) : config_method_with_cred(mod, level)
{
m_preshared.reset(new credentials_pass(mod));
m_cred.reset(new credentials_pass(mod));
}

View File

@@ -24,7 +24,7 @@
///
/// MSCHAPv2 credential configuration panel
///
typedef wxEAPCredentialsConfigPanel<eap::credentials_pass, wxPasswordCredentialsPanel<eap::credentials_pass, wxEAPCredentialsPassPanelBase> > wxMSCHAPv2CredentialsConfigPanel;
typedef wxEAPCredentialsConfigPanel<eap::credentials_pass, wxPasswordCredentialsPanel<eap::credentials_pass, wxPasswordCredentialsPanelBase> > wxMSCHAPv2CredentialsConfigPanel;
///
/// MSCHAPv2 configuration panel
@@ -34,7 +34,7 @@ class wxMSCHAPv2ConfigPanel;
///
/// MSCHAPv2 credential entry panel
///
typedef wxPasswordCredentialsPanel<eap::credentials_pass, wxEAPCredentialsPassPanelBase> wxMSCHAPv2CredentialsPanel;
typedef wxPasswordCredentialsPanel<eap::credentials_pass, wxPasswordCredentialsPanelBase> wxMSCHAPv2CredentialsPanel;
#pragma once

View File

@@ -30,7 +30,7 @@ wxMSCHAPv2ConfigPanel::wxMSCHAPv2ConfigPanel(const eap::config_provider &prov, e
wxBoxSizer* sb_content;
sb_content = new wxBoxSizer( wxVERTICAL );
m_credentials = new wxMSCHAPv2CredentialsConfigPanel(prov, cfg, this);
m_credentials = new wxMSCHAPv2CredentialsConfigPanel(prov, cfg, this, _("MSCHAPv2 User ID and Password"));
sb_content->Add(m_credentials, 0, wxEXPAND, 5);
this->SetSizer(sb_content);

View File

@@ -93,6 +93,11 @@
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Events\build\Events.vcxproj">
<Project>{d63f24bd-92a0-4d6b-8b69-ed947e4d2b1b}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>

View File

@@ -38,6 +38,8 @@ namespace eap
{
class method_pap : public method_noneap
{
WINSTD_NONCOPYABLE(method_pap)
public:
///
/// Constructs an EAP method
@@ -91,7 +93,7 @@ namespace eap
/// @}
protected:
credentials_pass &m_cred; ///< EAP-TLS user credentials
credentials_pass &m_cred; ///< Method user credentials
enum {
phase_unknown = -1, ///< Unknown phase

View File

@@ -30,7 +30,7 @@ using namespace winstd;
eap::config_method_pap::config_method_pap(_In_ module &mod, _In_ unsigned int level) : config_method_with_cred(mod, level)
{
m_preshared.reset(new credentials_pass(mod));
m_cred.reset(new credentials_pass(mod));
}

View File

@@ -74,6 +74,7 @@ void eap::method_pap::process_request_packet(
_In_ DWORD dwReceivedPacketSize,
_Inout_ EapPeerMethodOutput *pEapOutput)
{
UNREFERENCED_PARAMETER(pReceivedPacket);
assert(pReceivedPacket || dwReceivedPacketSize == 0);
assert(pEapOutput);

Some files were not shown because too many files have changed in this diff Show More