diff --git a/README.rst b/README.rst index 2c2f115..e25043b 100644 --- a/README.rst +++ b/README.rst @@ -313,6 +313,10 @@ silent_connection not be shown while connecting. Warnings such as interactive service not started or multiple config files with same name are also suppressed. +mfa_token + If set to "1", a separate field token field will be added to the + authentication window. + show_balloon 0: Never show any connected balloon diff --git a/localization.c b/localization.c index 9714d6e..3736a09 100644 --- a/localization.c +++ b/localization.c @@ -521,6 +521,8 @@ GeneralSettingsDlgProc(HWND hwndDlg, UINT msg, UNUSED WPARAM wParam, LPARAM lPar Button_SetCheck(GetDlgItem(hwndDlg, ID_CHK_LOG_APPEND), BST_CHECKED); if (o.silent_connection) Button_SetCheck(GetDlgItem(hwndDlg, ID_CHK_SILENT), BST_CHECKED); + if (o.mfa_token) + Button_SetCheck(GetDlgItem(hwndDlg, ID_CHK_TOKEN), BST_CHECKED); if (o.iservice_admin) Button_SetCheck(GetDlgItem(hwndDlg, ID_CHK_ALWAYS_USE_ISERVICE), BST_CHECKED); if (o.show_balloon == 0) @@ -575,6 +577,8 @@ GeneralSettingsDlgProc(HWND hwndDlg, UINT msg, UNUSED WPARAM wParam, LPARAM lPar (Button_GetCheck(GetDlgItem(hwndDlg, ID_CHK_LOG_APPEND)) == BST_CHECKED); o.silent_connection = (Button_GetCheck(GetDlgItem(hwndDlg, ID_CHK_SILENT)) == BST_CHECKED); + o.mfa_token = + (Button_GetCheck(GetDlgItem(hwndDlg, ID_CHK_TOKEN)) == BST_CHECKED); o.iservice_admin = (Button_GetCheck(GetDlgItem(hwndDlg, ID_CHK_ALWAYS_USE_ISERVICE)) == BST_CHECKED); if (IsDlgButtonChecked(hwndDlg, ID_RB_BALLOON0)) diff --git a/misc.c b/misc.c index 733705d..b1802ed 100644 --- a/misc.c +++ b/misc.c @@ -249,7 +249,64 @@ out: return retval; } +/* + * Generate a management command from double user inputs and send it + */ +BOOL +ManagementCommandFromTwoInputs(connection_t* c, LPCSTR fmt, HWND hDlg, int id, int id2) +{ + BOOL retval = FALSE; + LPSTR input, input2, cmd; + int input_len, input2_len, cmd_len; + GetDlgItemTextUtf8(hDlg, id, &input, &input_len); + GetDlgItemTextUtf8(hDlg, id2, &input2, &input2_len); + + /* Escape input if needed */ + char* input_e = escape_string(input); + if (!input_e) + { + goto out; + } + free(input); + input = input_e; + input_len = strlen(input); + + char* input2_e = escape_string(input2); + if (!input2_e) + { + goto out; + } + free(input2); + input2 = input2_e; + input2_len = strlen(input2); + + cmd_len = input_len + input2_len + strlen(fmt); + cmd = malloc(cmd_len); + if (cmd) + { + snprintf(cmd, cmd_len, fmt, input, input2); + retval = ManagementCommand(c, cmd, NULL, regular); + free(cmd); + } + +out: + /* Clear buffers with potentially secret content */ + if (input_len) + { + memset(input, 'x', input_len); + SetDlgItemTextA(hDlg, id, input); + free(input); + } + if (input2_len) + { + memset(input2, 'x', input2_len); + SetDlgItemTextA(hDlg, id2, input2); + free(input2); + } + + return retval; +} /* * Generate a management command from double user inputs and send it diff --git a/misc.h b/misc.h index af8bb17..5d972b4 100644 --- a/misc.h +++ b/misc.h @@ -27,6 +27,7 @@ #include "options.h" BOOL ManagementCommandFromInput(connection_t *, LPCSTR, HWND, int); +BOOL ManagementCommandFromTwoInputs(connection_t *, LPCSTR, HWND, int, int); BOOL ManagementCommandFromTwoInputsBase64(connection_t*, LPCSTR, HWND, int, int); BOOL ManagementCommandFromInputBase64(connection_t *, LPCSTR, HWND, int); diff --git a/openvpn-gui-res.h b/openvpn-gui-res.h index fcc45dd..0cf911b 100644 --- a/openvpn-gui-res.h +++ b/openvpn-gui-res.h @@ -40,6 +40,9 @@ #define ID_EDT_PASSPHRASE 151 #define ID_LTEXT_PASSWORD 152 +/* Token */ +#define ID_LTEXT_TOKEN 155 + /* Status Dialog */ #define ID_DLG_STATUS 160 #define ID_TXT_STATUS 161 @@ -65,6 +68,9 @@ #define ID_EDT_AUTH_USER 181 #define ID_EDT_AUTH_PASS 182 +#define ID_DLG_AUTH_TOKEN 194 +#define ID_EDT_AUTH_TOKEN 195 + /* Auth Username/Password/Challenge Dialog */ #define ID_DLG_AUTH_CHALLENGE 183 #define ID_TXT_AUTH_CHALLENGE 184 @@ -119,6 +125,8 @@ #define ID_CHK_PLAP_REG 248 #define ID_CHK_AUTO_RESTART 249 +#define ID_CHK_TOKEN 260 + /* Proxy Auth Dialog */ #define ID_DLG_PROXY_AUTH 250 #define ID_EDT_PROXY_USER 251 @@ -379,6 +387,7 @@ /* Invalid input errors */ #define IDS_ERR_INVALID_PASSWORD_INPUT 2152 #define IDS_ERR_INVALID_USERNAME_INPUT 2153 +#define IDS_ERR_INVALID_TOKEN_INPUT 2154 /* pkcs11 related */ #define IDS_ERR_NO_PKCS11 2160 diff --git a/openvpn.c b/openvpn.c index 2ee1427..ec968db 100644 --- a/openvpn.c +++ b/openvpn.c @@ -503,6 +503,7 @@ UserAuthDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) auth_param_t *param; WCHAR username[USER_PASS_LEN] = L""; WCHAR password[USER_PASS_LEN] = L""; + WCHAR token[USER_PASS_LEN] = L""; switch (msg) { @@ -539,7 +540,8 @@ UserAuthDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { SetDlgItemTextW(hwndDlg, ID_EDT_AUTH_PASS, password); if (username[0] != L'\0' && !(param->flags & FLAG_CR_TYPE_SCRV1) - && password[0] != L'\0' && param->c->failed_auth_attempts == 0) + && password[0] != L'\0' && param->c->failed_auth_attempts == 0 + && o.mfa_token == 0) { /* user/pass available and no challenge response needed: skip dialog * if silent_connection is on, else auto submit after a few seconds. @@ -552,6 +554,7 @@ UserAuthDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) /* if auth failed, highlight password so that user can type over */ else if (param->c->failed_auth_attempts) { + // @todo errorhandling for wrong token SendMessage(GetDlgItem(hwndDlg, ID_EDT_AUTH_PASS), EM_SETSEL, 0, MAKELONG(0,-1)); } else if (param->flags & FLAG_CR_TYPE_SCRV1) @@ -590,6 +593,7 @@ UserAuthDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { case ID_EDT_AUTH_USER: case ID_EDT_AUTH_PASS: + case ID_EDT_AUTH_TOKEN: case ID_EDT_AUTH_CHALLENGE: if (HIWORD(wParam) == EN_UPDATE) { @@ -598,7 +602,8 @@ UserAuthDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) && (GetWindowTextLength(GetDlgItem(hwndDlg, ID_EDT_AUTH_PASS)) || ((param->flags & FLAG_CR_TYPE_SCRV1) && GetWindowTextLength(GetDlgItem(hwndDlg, ID_EDT_AUTH_CHALLENGE))) - ); + ) + && (o.mfa_token == 0 || param->flags & FLAG_CR_TYPE_SCRV1 || GetWindowTextLength(GetDlgItem(hwndDlg, ID_EDT_AUTH_TOKEN))); EnableWindow(GetDlgItem(hwndDlg, IDOK), enableOK); } AutoCloseCancel(hwndDlg); /* user interrupt */ @@ -626,6 +631,16 @@ UserAuthDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) } SaveUsername(param->c->config_name, username); } + if (GetDlgItemTextW(hwndDlg, ID_EDT_AUTH_TOKEN, token, _countof(token))) + { + BOOL token_invalid = !validate_input(token, L"\n"); + SecureZeroMemory(token, sizeof(token)); + if (token_invalid) + { + show_error_tip(GetDlgItem(hwndDlg, ID_EDT_AUTH_TOKEN), LoadLocalizedString(IDS_ERR_INVALID_TOKEN_INPUT)); + return 0; + } + } if (GetDlgItemTextW(hwndDlg, ID_EDT_AUTH_PASS, password, _countof(password))) { if (!validate_input(password, L"\n")) @@ -643,6 +658,8 @@ UserAuthDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) ManagementCommandFromInput(param->c, "username \"Auth\" \"%s\"", hwndDlg, ID_EDT_AUTH_USER); if (param->flags & FLAG_CR_TYPE_SCRV1) ManagementCommandFromTwoInputsBase64(param->c, "password \"Auth\" \"SCRV1:%s:%s\"", hwndDlg, ID_EDT_AUTH_PASS, ID_EDT_AUTH_CHALLENGE); + else if (o.mfa_token == 1) + ManagementCommandFromTwoInputs(param->c, "password \"Auth\" \"%s%s\"", hwndDlg, ID_EDT_AUTH_PASS, ID_EDT_AUTH_TOKEN); else ManagementCommandFromInput(param->c, "password \"Auth\" \"%s\"", hwndDlg, ID_EDT_AUTH_PASS); EndDialog(hwndDlg, LOWORD(wParam)); @@ -1255,6 +1272,10 @@ OnPassword(connection_t *c, char *msg) param->str = strdup(chstr + 5); LocalizedDialogBoxParam(ID_DLG_AUTH_CHALLENGE, UserAuthDialogFunc, (LPARAM) param); } + else if (o.mfa_token == 1) + { + LocalizedDialogBoxParam(ID_DLG_AUTH_TOKEN, UserAuthDialogFunc, (LPARAM)param); + } else { LocalizedDialogBoxParam(ID_DLG_AUTH, UserAuthDialogFunc, (LPARAM) param); diff --git a/options.c b/options.c index 94e2581..3b44dce 100644 --- a/options.c +++ b/options.c @@ -218,6 +218,11 @@ add_option(options_t *options, int i, TCHAR **p) ++i; options->silent_connection = _ttoi(p[1]) ? 1 : 0; } + else if (streq(p[0], _T("mfa_token")) && p[1]) + { + ++i; + options->mfa_token = _ttoi(p[1]) ? 1 : 0; + } else if (streq(p[0], _T("passphrase_attempts")) && p[1]) { ++i; diff --git a/options.h b/options.h index 72757a6..b16eb21 100644 --- a/options.h +++ b/options.h @@ -214,6 +214,7 @@ typedef struct { TCHAR log_viewer[MAX_PATH]; TCHAR editor[MAX_PATH]; DWORD silent_connection; + DWORD mfa_token; DWORD iservice_admin; DWORD show_balloon; DWORD show_script_window; diff --git a/registry.c b/registry.c index 88cb17b..a8c59e2 100644 --- a/registry.c +++ b/registry.c @@ -57,6 +57,7 @@ struct regkey_int { {L"iservice_admin", &o.iservice_admin, 1}, {L"show_balloon", &o.show_balloon, 1}, {L"silent_connection", &o.silent_connection, 0}, + {L"mfa_token", &o.mfa_token, 0}, {L"preconnectscript_timeout", &o.preconnectscript_timeout, 10}, {L"connectscript_timeout", &o.connectscript_timeout, 30}, {L"disconnectscript_timeout", &o.disconnectscript_timeout, 10}, diff --git a/res/openvpn-gui-res-cs.rc b/res/openvpn-gui-res-cs.rc index 40c4465..a668b0e 100644 --- a/res/openvpn-gui-res-cs.rc +++ b/res/openvpn-gui-res-cs.rc @@ -53,6 +53,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_CZECH, SUBLANG_DEFAULT +BEGIN + LTEXT "Jméno:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "Heslo:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "Uložit heslo", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "Zrušit", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -556,6 +575,7 @@ jednou jako správce, aby se registr aktualizoval." IDS_NFO_KEY_PASS_RETRY "Wrong password. Try again…" IDS_ERR_INVALID_PASSWORD_INPUT "Invalid character in password" IDS_ERR_INVALID_USERNAME_INPUT "Invalid character in username" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Connecting automatically in %u seconds…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI is already running. Right click on the tray icon to start." IDS_NFO_BYTECOUNT "Bytes in: %ls out: %ls" diff --git a/res/openvpn-gui-res-de.rc b/res/openvpn-gui-res-de.rc index 3069c45..c1e5203 100644 --- a/res/openvpn-gui-res-de.rc +++ b/res/openvpn-gui-res-de.rc @@ -53,6 +53,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT +BEGIN + LTEXT "&Benutzer:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "&Passwort:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "&Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "Passwort &speichern", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "&OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "&Abbrechen", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -160,21 +179,22 @@ BEGIN GROUPBOX "Systemstart", 202, 6, 47, 235, 30 AUTOCHECKBOX "Mit &Windows starten", ID_CHK_STARTUP, 17, 59, 200, 12 - GROUPBOX "Einstellungen", ID_GROUPBOX3, 6, 82, 235, 165 + GROUPBOX "Einstellungen", ID_GROUPBOX3, 6, 82, 235, 180 AUTOCHECKBOX "An &Log anhängen", ID_CHK_LOG_APPEND, 17, 95, 200, 10 AUTOCHECKBOX "&Skriptfenster zeigen", ID_CHK_SHOW_SCRIPT_WIN, 17, 110, 200, 10 AUTOCHECKBOX "Stille &Verbindung", ID_CHK_SILENT, 17, 125, 200, 10 - AUTOCHECKBOX "Interactive Service immer verwenden", ID_CHK_ALWAYS_USE_ISERVICE, 17, 140, 200, 10 - LTEXT "Zeige Benachrichtigung", ID_TXT_BALLOON, 17, 155, 100, 10 - AUTORADIOBUTTON "Beim Verb&inden", ID_RB_BALLOON1, 17, 170, 60, 10, WS_GROUP | WS_TABSTOP - AUTORADIOBUTTON "Beim Verbinden/&erneut Verbinden", ID_RB_BALLOON2, 83, 170, 120, 10 - AUTORADIOBUTTON "&Nie", ID_RB_BALLOON0, 210, 170, 30, 10 - LTEXT "Persistent Connections", ID_TXT_PERSISTENT, 17, 185, 100, 10 - AUTORADIOBUTTON "A&uto", ID_RB_BALLOON3, 17, 200, 60, 10, WS_GROUP | WS_TABSTOP - AUTORADIOBUTTON "&Manual", ID_RB_BALLOON4, 83, 200, 90, 10 - AUTORADIOBUTTON "&Disable", ID_RB_BALLOON5, 180, 200, 50, 10 - AUTOCHECKBOX "Enable Pre-Logon A&ccess Provider (requires admin access)", ID_CHK_PLAP_REG, 17, 215, 200, 10 - AUTOCHECKBOX "Enable auto restart of active connections", ID_CHK_AUTO_RESTART, 17, 230, 200, 10 + AUTOCHECKBOX "MFA &Token", ID_CHK_TOKEN, 17, 140, 200, 10 + AUTOCHECKBOX "Interactive Service immer verwenden", ID_CHK_ALWAYS_USE_ISERVICE, 17, 155, 200, 10 + LTEXT "Zeige Benachrichtigung", ID_TXT_BALLOON, 17, 170, 100, 10 + AUTORADIOBUTTON "Beim Verb&inden", ID_RB_BALLOON1, 17, 185, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "Beim Verbinden/&erneut Verbinden", ID_RB_BALLOON2, 83, 185, 120, 10 + AUTORADIOBUTTON "&Nie", ID_RB_BALLOON0, 210, 185, 30, 10 + LTEXT "Persistent Connections", ID_TXT_PERSISTENT, 17, 200, 100, 10 + AUTORADIOBUTTON "A&uto", ID_RB_BALLOON3, 17, 215, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Manual", ID_RB_BALLOON4, 83, 215, 90, 10 + AUTORADIOBUTTON "&Disable", ID_RB_BALLOON5, 180, 215, 50, 10 + AUTOCHECKBOX "Enable Pre-Logon A&ccess Provider (requires admin access)", ID_CHK_PLAP_REG, 17, 230, 200, 10 + AUTOCHECKBOX "Enable auto restart of active connections", ID_CHK_AUTO_RESTART, 17, 245, 200, 10 END /* Advanced Dialog */ @@ -558,6 +578,7 @@ als Administrator ausführen, um die Registry zu aktualisieren." IDS_NFO_KEY_PASS_RETRY "Falsches Passwort. Erneut versuchen…" IDS_ERR_INVALID_PASSWORD_INPUT "Unzulässiges Zeichen im Passwort" IDS_ERR_INVALID_USERNAME_INPUT "Unzulässiges Zeichen im Benutzername" + IDS_ERR_INVALID_TOKEN_INPUT "Unzulässiges Zeichen im Token" IDS_NFO_AUTO_CONNECT "Verbindet automatisch in %u Sekunden…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI läuft bereits. Klicken Sie rechts auf das Symbol in der Taskleiste, um die Anwendung zu starten." IDS_NFO_BYTECOUNT "Bytes eingehend: %ls ausgehend: %ls" diff --git a/res/openvpn-gui-res-dk.rc b/res/openvpn-gui-res-dk.rc index 7adc163..bdf14f8 100644 --- a/res/openvpn-gui-res-dk.rc +++ b/res/openvpn-gui-res-dk.rc @@ -54,6 +54,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_DANISH, SUBLANG_DEFAULT +BEGIN + LTEXT "Brugernavn:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "Kodeord:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "Husk kodeord", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "Annuller", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -556,6 +575,7 @@ en gang som administrator for at opdatere registret." IDS_NFO_KEY_PASS_RETRY "Wrong password. Try again…" IDS_ERR_INVALID_PASSWORD_INPUT "Invalid character in password" IDS_ERR_INVALID_USERNAME_INPUT "Invalid character in username" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Connecting automatically in %u seconds…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI is already running. Right click on the tray icon to start." IDS_NFO_BYTECOUNT "Bytes in: %ls out: %ls" diff --git a/res/openvpn-gui-res-en.rc b/res/openvpn-gui-res-en.rc index 42117ef..0525940 100644 --- a/res/openvpn-gui-res-en.rc +++ b/res/openvpn-gui-res-en.rc @@ -53,6 +53,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT +BEGIN + LTEXT "&Username:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "&Password:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "&Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "&Save password", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "&OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "&Cancel", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -174,21 +193,22 @@ BEGIN GROUPBOX "Startup", 202, 6, 47, 235, 30 AUTOCHECKBOX "Launch on User &Logon", ID_CHK_STARTUP, 17, 59, 100, 12 - GROUPBOX "Preferences", ID_GROUPBOX3, 6, 82, 235, 165 + GROUPBOX "Preferences", ID_GROUPBOX3, 6, 82, 235, 180 AUTOCHECKBOX "A&ppend to log", ID_CHK_LOG_APPEND, 17, 95, 60, 10 AUTOCHECKBOX "Show script &window", ID_CHK_SHOW_SCRIPT_WIN, 17, 110, 200, 10 AUTOCHECKBOX "S&ilent connection", ID_CHK_SILENT, 17, 125, 200, 10 - AUTOCHECKBOX "&Always use interactive service", ID_CHK_ALWAYS_USE_ISERVICE, 17, 140, 200, 10 - LTEXT "Show Balloon", ID_TXT_BALLOON, 17, 155, 100, 10 - AUTORADIOBUTTON "On &connect", ID_RB_BALLOON1, 28, 170, 50, 10, WS_GROUP | WS_TABSTOP - AUTORADIOBUTTON "On connect/&reconnect", ID_RB_BALLOON2, 86, 170, 90, 10 - AUTORADIOBUTTON "&Never", ID_RB_BALLOON0, 181, 170, 40, 10 - LTEXT "Persistent Connections", ID_TXT_PERSISTENT, 17, 185, 100, 10 - AUTORADIOBUTTON "A&uto", ID_RB_BALLOON3, 28, 200, 50, 10, WS_GROUP | WS_TABSTOP - AUTORADIOBUTTON "&Manual", ID_RB_BALLOON4, 86, 200, 90, 10 - AUTORADIOBUTTON "&Disable", ID_RB_BALLOON5, 181, 200, 40, 10 - AUTOCHECKBOX "Enable Pre-Logon A&ccess Provider (requires admin access)", ID_CHK_PLAP_REG, 17, 215, 200, 10 - AUTOCHECKBOX "Enable auto restart of active connections", ID_CHK_AUTO_RESTART, 17, 230, 200, 10 + AUTOCHECKBOX "MFA &Token", ID_CHK_TOKEN, 17, 140, 200, 10 + AUTOCHECKBOX "&Always use interactive service", ID_CHK_ALWAYS_USE_ISERVICE, 17, 155, 200, 10 + LTEXT "Show Balloon", ID_TXT_BALLOON, 17, 170, 100, 10 + AUTORADIOBUTTON "On &connect", ID_RB_BALLOON1, 28, 185, 50, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "On connect/&reconnect", ID_RB_BALLOON2, 86, 185, 90, 10 + AUTORADIOBUTTON "&Never", ID_RB_BALLOON0, 181, 185, 40, 10 + LTEXT "Persistent Connections", ID_TXT_PERSISTENT, 17, 200, 100, 10 + AUTORADIOBUTTON "A&uto", ID_RB_BALLOON3, 28, 215, 50, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "&Manual", ID_RB_BALLOON4, 86, 215, 90, 10 + AUTORADIOBUTTON "&Disable", ID_RB_BALLOON5, 181, 215, 40, 10 + AUTOCHECKBOX "Enable Pre-Logon A&ccess Provider (requires admin access)", ID_CHK_PLAP_REG, 17, 230, 200, 10 + AUTOCHECKBOX "Enable auto restart of active connections", ID_CHK_AUTO_RESTART, 17, 245, 200, 10 END /* Advanced Dialog */ @@ -572,6 +592,7 @@ once as Administrator to update the registry." IDS_NFO_KEY_PASS_RETRY "Wrong password. Try again…" IDS_ERR_INVALID_PASSWORD_INPUT "Invalid character in password" IDS_ERR_INVALID_USERNAME_INPUT "Invalid character in username" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Connecting automatically in %u seconds…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI is already running. Right click on the tray icon to start." IDS_NFO_BYTECOUNT "Bytes in: %ls out: %ls" diff --git a/res/openvpn-gui-res-es.rc b/res/openvpn-gui-res-es.rc index ee5977f..aa098b6 100644 --- a/res/openvpn-gui-res-es.rc +++ b/res/openvpn-gui-res-es.rc @@ -52,6 +52,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_SPANISH, SUBLANG_DEFAULT +BEGIN + LTEXT "Usuario:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "Password:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "Save password", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "Cancelar", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -553,6 +572,7 @@ nuevo como Administrator para actualizar el registro." IDS_NFO_KEY_PASS_RETRY "Wrong password. Try again…" IDS_ERR_INVALID_PASSWORD_INPUT "Invalid character in password" IDS_ERR_INVALID_USERNAME_INPUT "Invalid character in username" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Connecting automatically in %u seconds…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI is already running. Right click on the tray icon to start." IDS_NFO_BYTECOUNT "Bytes in: %ls out: %ls" diff --git a/res/openvpn-gui-res-fa.rc b/res/openvpn-gui-res-fa.rc index eb492ac..f7050ff 100644 --- a/res/openvpn-gui-res-fa.rc +++ b/res/openvpn-gui-res-fa.rc @@ -55,6 +55,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_FARSI, SUBLANG_DEFAULT +BEGIN + LTEXT "نام کاربری :", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "رمز عبور :", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "نگه داشتن رمز عبور", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "بسیار خوب", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "لغو", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -563,6 +582,7 @@ OpenVPN احتمالا نصب نشده است" IDS_NFO_KEY_PASS_RETRY "پسورد اشتباه است. مجددا تلاش کنید…" IDS_ERR_INVALID_PASSWORD_INPUT "کاراکتر غیر مجاز در رمز عبور" IDS_ERR_INVALID_USERNAME_INPUT "کاراکتر غیر مجاز در نام کاربری" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "اتصال خودکار در %u ثانیه آینده…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI قبلا باز شده. کلیک راست کنید بر روی آن در نماد های برنامه ها." IDS_NFO_BYTECOUNT "بایت به: %ls خروج: %ls" diff --git a/res/openvpn-gui-res-fi.rc b/res/openvpn-gui-res-fi.rc index 1b4b00c..a38aba9 100644 --- a/res/openvpn-gui-res-fi.rc +++ b/res/openvpn-gui-res-fi.rc @@ -53,6 +53,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT +BEGIN + LTEXT "Käyttäjänimi:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "Salasana:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "Tallenna salasana", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "Peruuta", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -557,6 +576,7 @@ ajaa ylläpitäjän oikeuksin, jotta se saa lisättyä rekisteriin tietoja." IDS_NFO_KEY_PASS_RETRY "Wrong password. Try again…" IDS_ERR_INVALID_PASSWORD_INPUT "Invalid character in password" IDS_ERR_INVALID_USERNAME_INPUT "Invalid character in username" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Connecting automatically in %u seconds…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI is already running. Right click on the tray icon to start." IDS_NFO_BYTECOUNT "Bytes in: %ls out: %ls" diff --git a/res/openvpn-gui-res-fr.rc b/res/openvpn-gui-res-fr.rc index fe10444..a35b320 100644 --- a/res/openvpn-gui-res-fr.rc +++ b/res/openvpn-gui-res-fr.rc @@ -52,6 +52,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT +BEGIN + LTEXT "Utilisateur:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "Mot de passe:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "Se souvenir du mot de passe", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "Annuler", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -556,6 +575,7 @@ en tant qu'Administrator pour mettre à jour la base de registre." IDS_NFO_KEY_PASS_RETRY "Mauvais mot de passe. Réessayer..." IDS_ERR_INVALID_PASSWORD_INPUT "Invalid character in password" IDS_ERR_INVALID_USERNAME_INPUT "Invalid character in username" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Connecting automatically in %u seconds…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI is already running. Right click on the tray icon to start." IDS_NFO_BYTECOUNT "Bytes in: %ls out: %ls" diff --git a/res/openvpn-gui-res-it.rc b/res/openvpn-gui-res-it.rc index b41ce66..154a258 100644 --- a/res/openvpn-gui-res-it.rc +++ b/res/openvpn-gui-res-it.rc @@ -52,6 +52,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT +BEGIN + LTEXT "Nome &utente:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "&Password:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "&Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "&Ricorda password", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "&OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "&Annulla", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -558,6 +577,7 @@ Puoi far partire questa applicazione una volta che l'amministratore ha aggiornat IDS_NFO_KEY_PASS_RETRY "Password errata. Riprova." IDS_ERR_INVALID_PASSWORD_INPUT "Carattere non valido nella password" IDS_ERR_INVALID_USERNAME_INPUT "Carattere non valido nel nome utente" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Connessione automatica tra %u secondi…" IDS_NFO_CLICK_HERE_TO_START "L'interfaccia di OpenVPN è già in esecuzione.\nPer avviare fai clic con il tasto destro sull'icona nell'area di notifica." IDS_NFO_BYTECOUNT "Byte in: %ls out: %ls" diff --git a/res/openvpn-gui-res-jp.rc b/res/openvpn-gui-res-jp.rc index 315abdf..c8c67d0 100644 --- a/res/openvpn-gui-res-jp.rc +++ b/res/openvpn-gui-res-jp.rc @@ -55,6 +55,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT +BEGIN + LTEXT "ユーザー名(&U):", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "パスワード(&P):", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token(&T):", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "パスワードを保存(&S)", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "OK(&O)", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "キャンセル(&C)", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -556,6 +575,7 @@ OpenVPNがインストールされていない可能性があります。" IDS_NFO_KEY_PASS_RETRY "パスワードが正しくありません。もう一度試行してください..." IDS_ERR_INVALID_PASSWORD_INPUT "パスワードで使用できない文字です" IDS_ERR_INVALID_USERNAME_INPUT "ユーザー名で使用できない文字です" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "%u 秒で自動的に再接続します…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI は既に実行されています。トレイアイコンを右クリックして開始してください。" IDS_NFO_BYTECOUNT "バイト数 受信: %ls 送信: %ls" diff --git a/res/openvpn-gui-res-kr.rc b/res/openvpn-gui-res-kr.rc index 4d7e6d3..3027945 100644 --- a/res/openvpn-gui-res-kr.rc +++ b/res/openvpn-gui-res-kr.rc @@ -54,6 +54,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 9, "맑은 고딕" +LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT +BEGIN + LTEXT "사용자:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "암호:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "암호 저장", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "확인", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "취소", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -554,6 +573,7 @@ Administrator 권한으로 이 프로그램을 실행해야 합니다." IDS_NFO_KEY_PASS_RETRY "암호 오류. 재입력 하십시오." IDS_ERR_INVALID_PASSWORD_INPUT "암호에 잘못된 문자가 있습니다." IDS_ERR_INVALID_USERNAME_INPUT "사용자 이름에 잘못된 문자가 있습니다." + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "%u초 후 자동으로 연결..." IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI 가 이미 실행 중입니다. 시작하려면 작업 표시줄의 아이콘을 마우스 우클릭 하십시오." IDS_NFO_BYTECOUNT "수신 바이트: %ls 전송 바이트: %ls" diff --git a/res/openvpn-gui-res-nl.rc b/res/openvpn-gui-res-nl.rc index 9f119ad..9d39f19 100644 --- a/res/openvpn-gui-res-nl.rc +++ b/res/openvpn-gui-res-nl.rc @@ -52,6 +52,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_DUTCH, SUBLANG_DEFAULT +BEGIN + LTEXT "Gebruikersnaam:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "Wachtwoord:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "Wachtwoord opslaan", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "Annuleren", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -557,6 +576,7 @@ om de registerinstellingen te updaten." IDS_NFO_KEY_PASS_RETRY "Onjuist wachtwoord. Probeer opnieuw..." IDS_ERR_INVALID_PASSWORD_INPUT "Ongeldig karakter in het wachtwoord" IDS_ERR_INVALID_USERNAME_INPUT "Ongeldig karakter in de gebruikersnaam" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Automatisch verbinden over %u seconden..." IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI draait al. Klik met de rechtermuisknop op het tray icon om te starten." IDS_NFO_BYTECOUNT "Bytes in: %ls uit: %ls" diff --git a/res/openvpn-gui-res-no.rc b/res/openvpn-gui-res-no.rc index f39b557..91798c0 100644 --- a/res/openvpn-gui-res-no.rc +++ b/res/openvpn-gui-res-no.rc @@ -53,6 +53,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_NORWEGIAN, SUBLANG_DEFAULT +BEGIN + LTEXT "Brukernavn:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "Passord:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "Husk passord", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "Avbryt", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -547,6 +566,7 @@ Wintun driver will not work." IDS_NFO_KEY_PASS_RETRY "Wrong password. Try again…" IDS_ERR_INVALID_PASSWORD_INPUT "Invalid character in password" IDS_ERR_INVALID_USERNAME_INPUT "Invalid character in username" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Connecting automatically in %u seconds…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI is already running. Right click on the tray icon to start." IDS_NFO_BYTECOUNT "Bytes in: %ls out: %ls" diff --git a/res/openvpn-gui-res-pl.rc b/res/openvpn-gui-res-pl.rc index 526f64a..877b53d 100644 --- a/res/openvpn-gui-res-pl.rc +++ b/res/openvpn-gui-res-pl.rc @@ -54,6 +54,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_POLISH, SUBLANG_DEFAULT +BEGIN + LTEXT "Użytkownik:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "Hasło:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "Zapisz hasło", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "Anuluj", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -555,6 +574,7 @@ z prawami administratora aby uaktualnić rejestr." IDS_NFO_KEY_PASS_RETRY "Nieprawidłowe hasło. Spróbuj ponownie…" IDS_ERR_INVALID_PASSWORD_INPUT "Nieprawidłowy znak w haśle" IDS_ERR_INVALID_USERNAME_INPUT "Nieprawidłowy znak w nazwie użytkownika" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Automatycznie połączenie za %u sek…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI jest już uruchomiony. Kliknij prawym przyciskiem myszy na ikonę w pasku zadań aby rozpocząć." IDS_NFO_BYTECOUNT "Bajtów pobranych: %ls wysłanych: %ls" diff --git a/res/openvpn-gui-res-pt.rc b/res/openvpn-gui-res-pt.rc index 4541e71..7e32c8f 100644 --- a/res/openvpn-gui-res-pt.rc +++ b/res/openvpn-gui-res-pt.rc @@ -52,6 +52,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT +BEGIN + LTEXT "Usuário:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "Senha:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "Salvar senha", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "Cancelar", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -555,6 +574,7 @@ uma vez como Administrador para alterar o registro." IDS_NFO_KEY_PASS_RETRY "Senha incorreta. Tente novamente…" IDS_ERR_INVALID_PASSWORD_INPUT "Caractere inválido na senha" IDS_ERR_INVALID_USERNAME_INPUT "Caractere inválido no nome de usuário" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Conectando automaticamente em %u segundos…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI já está em execução. Clique direito no ícone da área de notificação para iniciar." IDS_NFO_BYTECOUNT "Bytes recebidos: %ls enviados: %ls" diff --git a/res/openvpn-gui-res-ru.rc b/res/openvpn-gui-res-ru.rc index 4382ef7..a87d389 100644 --- a/res/openvpn-gui-res-ru.rc +++ b/res/openvpn-gui-res-ru.rc @@ -54,6 +54,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 180, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT +BEGIN + LTEXT "Имя пользователя:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "Пароль:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "Запомнить", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "Отмена", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -556,6 +575,7 @@ OpenVPN, возможно, не установлен." IDS_NFO_KEY_PASS_RETRY "Неправильный пароль" IDS_ERR_INVALID_PASSWORD_INPUT "Недопустимый символ в пароле" IDS_ERR_INVALID_USERNAME_INPUT "Недопустимый символ в имени пользователя" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Автоматическое подключение через %u сек..." IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI уже запущен. Нажмите правой кнопкой на иконке в трее чтобы развернуть." IDS_NFO_BYTECOUNT "Входящие байты: %ls Исходящие байты: %ls" diff --git a/res/openvpn-gui-res-se.rc b/res/openvpn-gui-res-se.rc index a659bd2..0d01591 100644 --- a/res/openvpn-gui-res-se.rc +++ b/res/openvpn-gui-res-se.rc @@ -52,6 +52,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT +BEGIN + LTEXT "Användarnamn:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "Lösenord:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "Save password", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "Avbryt", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -550,6 +569,7 @@ Wintun driver ska inte fungera." IDS_NFO_KEY_PASS_RETRY "Wrong password. Try again…" IDS_ERR_INVALID_PASSWORD_INPUT "Invalid character in password" IDS_ERR_INVALID_USERNAME_INPUT "Invalid character in username" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Connecting automatically in %u seconds…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI is already running. Right click on the tray icon to start." IDS_NFO_BYTECOUNT "Bytes in: %ls out: %ls" diff --git a/res/openvpn-gui-res-tr.rc b/res/openvpn-gui-res-tr.rc index 1e103f0..7a5630c 100644 --- a/res/openvpn-gui-res-tr.rc +++ b/res/openvpn-gui-res-tr.rc @@ -54,6 +54,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT +BEGIN + LTEXT "Kullanıcı Adı:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "Şifre:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "Save password", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "Tamam", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "Çıkış", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -555,6 +574,7 @@ sistem yönetici haklarına sahip olmanız gerekmektedir.." IDS_NFO_KEY_PASS_RETRY "Wrong password. Try again…" IDS_ERR_INVALID_PASSWORD_INPUT "Invalid character in password" IDS_ERR_INVALID_USERNAME_INPUT "Invalid character in username" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Connecting automatically in %u seconds…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI is already running. Right click on the tray icon to start." IDS_NFO_BYTECOUNT "Bytes in: %ls out: %ls" diff --git a/res/openvpn-gui-res-ua.rc b/res/openvpn-gui-res-ua.rc index bfb4001..52d5f26 100644 --- a/res/openvpn-gui-res-ua.rc +++ b/res/openvpn-gui-res-ua.rc @@ -52,6 +52,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 180, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT +BEGIN + LTEXT "Ім'я користувача:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "Пароль:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "Запам'ятати", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "OK", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "Скасувати", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -556,6 +575,7 @@ OpenVPN, можливо, не встановлений." IDS_ERR_INVALID_PASSWORD_INPUT "Невірний символ у паролі" IDS_ERR_INVALID_USERNAME_INPUT "Невірний символ в імені користувача" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Автоматичне підключення через %u секунд…" IDS_NFO_CLICK_HERE_TO_START "Графічний інтерфейс OpenVPN вже запущений. Клацніть правою кнопкою мишки на піктограмі OpenVPN в лотку, щоб його запустити." IDS_NFO_BYTECOUNT "Завантажено байт: %ls Передано байт: %ls" diff --git a/res/openvpn-gui-res-zh-hans.rc b/res/openvpn-gui-res-zh-hans.rc index c9d0a62..52741ed 100644 --- a/res/openvpn-gui-res-zh-hans.rc +++ b/res/openvpn-gui-res-zh-hans.rc @@ -55,6 +55,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED +BEGIN + LTEXT "用户名:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "密码:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "保存密码", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "确定", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "取消", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -557,6 +576,7 @@ Wintun驱动程序将无法正常工作。" IDS_NFO_KEY_PASS_RETRY "密码错误。请重试..." IDS_ERR_INVALID_PASSWORD_INPUT "密码中有无效字符" IDS_ERR_INVALID_USERNAME_INPUT "用户名称中有无效字符" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "在 %u 秒后自动连接..." IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI 已经运行. 右击任务栏图标启动." IDS_NFO_BYTECOUNT "接收字节: %ls 发送字节: %ls" diff --git a/res/openvpn-gui-res-zh-hant.rc b/res/openvpn-gui-res-zh-hant.rc index 4ea9902..99d5c01 100644 --- a/res/openvpn-gui-res-zh-hant.rc +++ b/res/openvpn-gui-res-zh-hant.rc @@ -55,6 +55,25 @@ BEGIN LTEXT "", ID_TXT_WARNING, 6, 80, 150, 10 END +/* Auth Username/Password/Token Dialog */ +ID_DLG_AUTH_TOKEN DIALOGEX 6, 18, 160, 112 +STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CENTER | DS_SETFOREGROUND +EXSTYLE WS_EX_TOPMOST +FONT 8, "Microsoft Sans Serif" +LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL +BEGIN + LTEXT "使用者名稱:", ID_LTEXT_USERNAME, 6, 9, 50, 10 + EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL + LTEXT "密碼:", ID_LTEXT_PASSWORD, 6, 26, 50, 10 + EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Token:", ID_LTEXT_TOKEN, 6, 42, 50, 10 + EDITTEXT ID_EDT_AUTH_TOKEN, 60, 39, 94, 12, ES_AUTOHSCROLL + CHECKBOX "儲存密碼", ID_CHK_SAVE_PASS, 6, 58, 100, 10 + PUSHBUTTON "確認", IDOK, 20, 75, 50, 14, BS_DEFPUSHBUTTON | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "取消", IDCANCEL, 90, 75, 52, 14 + LTEXT "", ID_TXT_WARNING, 6, 95, 150, 10 +END + /* Auth Username/Password/Challenge Dialog */ ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 129 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND @@ -557,6 +576,7 @@ Wintun driver will not work." IDS_NFO_KEY_PASS_RETRY "Wrong password. Try again…" IDS_ERR_INVALID_PASSWORD_INPUT "Invalid character in password" IDS_ERR_INVALID_USERNAME_INPUT "Invalid character in username" + IDS_ERR_INVALID_TOKEN_INPUT "Invalid character in token" IDS_NFO_AUTO_CONNECT "Connecting automatically in %u seconds…" IDS_NFO_CLICK_HERE_TO_START "OpenVPN GUI is already running. Right click on the tray icon to start." IDS_NFO_BYTECOUNT "Bytes in: %ls out: %ls"