https://git.reactos.org/?p=reactos.git;a=commitdiff;h=aaa0cb67240655feca095293adc121ee114f6f76

commit aaa0cb67240655feca095293adc121ee114f6f76
Author:     Eric Kohl <[email protected]>
AuthorDate: Sat Jun 17 15:23:18 2023 +0200
Commit:     Eric Kohl <[email protected]>
CommitDate: Sat Jun 17 15:23:18 2023 +0200

    [IPCONFIG] Use conutils and replace hardcoded strings
---
 base/applications/network/ipconfig/CMakeLists.txt |   4 +-
 base/applications/network/ipconfig/ipconfig.c     | 518 ++++++++++------------
 base/applications/network/ipconfig/lang/bg-BG.rc  |  39 ++
 base/applications/network/ipconfig/lang/de-DE.rc  |  39 ++
 base/applications/network/ipconfig/lang/el-GR.rc  |  39 ++
 base/applications/network/ipconfig/lang/en-US.rc  |  41 +-
 base/applications/network/ipconfig/lang/es-ES.rc  |  38 ++
 base/applications/network/ipconfig/lang/fr-FR.rc  |  39 ++
 base/applications/network/ipconfig/lang/id-ID.rc  |  39 ++
 base/applications/network/ipconfig/lang/it-IT.rc  |  39 ++
 base/applications/network/ipconfig/lang/no-NO.rc  |  39 ++
 base/applications/network/ipconfig/lang/pl-PL.rc  |  39 ++
 base/applications/network/ipconfig/lang/ro-RO.rc  |  39 ++
 base/applications/network/ipconfig/lang/ru-RU.rc  |  39 ++
 base/applications/network/ipconfig/lang/sk-SK.rc  |  39 ++
 base/applications/network/ipconfig/lang/sq-AL.rc  |  39 ++
 base/applications/network/ipconfig/lang/sv-SE.rc  |  39 ++
 base/applications/network/ipconfig/lang/tr-TR.rc  |  39 ++
 base/applications/network/ipconfig/lang/uk-UA.rc  |  39 ++
 base/applications/network/ipconfig/lang/zh-CN.rc  |  39 ++
 base/applications/network/ipconfig/lang/zh-TW.rc  |  39 ++
 base/applications/network/ipconfig/resource.h     |  58 ++-
 22 files changed, 1018 insertions(+), 304 deletions(-)

diff --git a/base/applications/network/ipconfig/CMakeLists.txt 
b/base/applications/network/ipconfig/CMakeLists.txt
index f91e1969a28..cd0a65d0c8e 100644
--- a/base/applications/network/ipconfig/CMakeLists.txt
+++ b/base/applications/network/ipconfig/CMakeLists.txt
@@ -1,5 +1,7 @@
+include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/conutils)
 
 add_executable(ipconfig ipconfig.c ipconfig.rc)
-set_module_type(ipconfig win32cui)
+set_module_type(ipconfig win32cui UNICODE)
+target_link_libraries(ipconfig conutils ${PSEH_LIB})
 add_importlibs(ipconfig user32 iphlpapi dnsapi advapi32 msvcrt kernel32 ntdll)
 add_cd_file(TARGET ipconfig DESTINATION reactos/system32 FOR all)
diff --git a/base/applications/network/ipconfig/ipconfig.c 
b/base/applications/network/ipconfig/ipconfig.c
index 8124d8c85d2..3a5702d065d 100644
--- a/base/applications/network/ipconfig/ipconfig.c
+++ b/base/applications/network/ipconfig/ipconfig.c
@@ -19,6 +19,7 @@
 #include <winnls.h>
 #include <winuser.h>
 #include <winreg.h>
+#include <winnls.h>
 #include <stdio.h>
 #include <tchar.h>
 #include <time.h>
@@ -27,6 +28,8 @@
 #include <inaddr.h>
 #include <windns.h>
 #include <windns_undoc.h>
+#include <strsafe.h>
+#include <conutils.h>
 
 #include "resource.h"
 
@@ -120,119 +123,12 @@ GetRecordTypeName(WORD wType)
     return szType;
 }
 
-int LoadStringAndOem(HINSTANCE hInst,
-                     UINT uID,
-                     LPTSTR szNode,
-                     int byteSize)
-{
-    TCHAR *szTmp;
-    int res;
-
-    szTmp = (LPTSTR)HeapAlloc(ProcessHeap, 0, byteSize);
-    if (szTmp == NULL)
-    {
-        return 0;
-    }
-
-    res = LoadString(hInst, uID, szTmp, byteSize);
-    CharToOem(szTmp, szNode);
-    HeapFree(ProcessHeap, 0, szTmp);
-    return res;
-}
-
-LPTSTR GetNodeTypeName(UINT NodeType)
-{
-    static TCHAR szNode[14];
-
-    switch (NodeType)
-    {
-        case 1:
-            if (!LoadStringAndOem(hInstance, IDS_BCAST, szNode,  
sizeof(szNode)))
-                return NULL;
-            break;
-
-        case 2:
-            if (!LoadStringAndOem(hInstance, IDS_P2P, szNode,  sizeof(szNode)))
-                return NULL;
-            break;
-
-        case 4:
-            if (!LoadStringAndOem(hInstance, IDS_MIXED, szNode,  
sizeof(szNode)))
-                return NULL;
-            break;
-
-        case 8:
-            if (!LoadStringAndOem(hInstance, IDS_HYBRID, szNode,  
sizeof(szNode)))
-                return NULL;
-            break;
-
-        default :
-            if (!LoadStringAndOem(hInstance, IDS_UNKNOWN, szNode,  
sizeof(szNode)))
-                return NULL;
-            break;
-    }
-
-    return szNode;
-}
-
-
-LPTSTR GetInterfaceTypeName(UINT InterfaceType)
-{
-    static TCHAR szIntType[25];
-
-    switch (InterfaceType)
-    {
-        case MIB_IF_TYPE_OTHER:
-            if (!LoadStringAndOem(hInstance, IDS_OTHER, szIntType, 
sizeof(szIntType)))
-                return NULL;
-            break;
-
-        case MIB_IF_TYPE_ETHERNET:
-            if (!LoadStringAndOem(hInstance, IDS_ETH, szIntType, 
sizeof(szIntType)))
-                return NULL;
-            break;
-
-        case MIB_IF_TYPE_TOKENRING:
-            if (!LoadStringAndOem(hInstance, IDS_TOKEN, szIntType, 
sizeof(szIntType)))
-                return NULL;
-            break;
-
-        case MIB_IF_TYPE_FDDI:
-            if (!LoadStringAndOem(hInstance, IDS_FDDI, szIntType, 
sizeof(szIntType)))
-                return NULL;
-            break;
-
-        case MIB_IF_TYPE_PPP:
-            if (!LoadStringAndOem(hInstance, IDS_PPP, szIntType, 
sizeof(szIntType)))
-                return NULL;
-            break;
-
-        case MIB_IF_TYPE_LOOPBACK:
-            if (!LoadStringAndOem(hInstance, IDS_LOOP, szIntType, 
sizeof(szIntType)))
-                return NULL;
-            break;
-
-        case MIB_IF_TYPE_SLIP:
-            if (!LoadStringAndOem(hInstance, IDS_SLIP, szIntType, 
sizeof(szIntType)))
-                return NULL;
-            break;
-
-        default:
-            if (!LoadStringAndOem(hInstance, IDS_UNKNOWN, szIntType, 
sizeof(szIntType)))
-                return NULL;
-            break;
-    }
-
-    return szIntType;
-}
-
-
 /* print MAC address */
-PTCHAR PrintMacAddr(PBYTE Mac)
+PCHAR PrintMacAddr(PBYTE Mac)
 {
-    static TCHAR MacAddr[20];
+    static CHAR MacAddr[20];
 
-    _stprintf(MacAddr, _T("%02x-%02x-%02x-%02x-%02x-%02x"),
+    sprintf(MacAddr, "%02X-%02X-%02X-%02X-%02X-%02X",
         Mac[0], Mac[1], Mac[2], Mac[3], Mac[4],  Mac[5]);
 
     return MacAddr;
@@ -326,89 +222,87 @@ VOID DoFormatMessage(LONG ErrorCode)
     }
 }
 
-
-LPTSTR GetConnectionType(LPTSTR lpClass)
+VOID
+PrintAdapterFriendlyName(LPSTR lpClass)
 {
     HKEY hKey = NULL;
-    LPTSTR ConType = NULL;
-    LPTSTR ConTypeTmp = NULL;
-    TCHAR Path[256];
-    LPTSTR PrePath  = 
_T("SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\");
-    LPTSTR PostPath = _T("\\Connection");
+    LPSTR ConType = NULL;
+    LPSTR ConTypeTmp = NULL;
+    CHAR Path[256];
+    LPSTR PrePath  = 
"SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\";
+    LPSTR PostPath = "\\Connection";
     DWORD PathSize;
     DWORD dwType;
     DWORD dwDataSize;
 
     /* don't overflow the buffer */
-    PathSize = lstrlen(PrePath) + lstrlen(lpClass) + lstrlen(PostPath) + 1;
+    PathSize = strlen(PrePath) + strlen(lpClass) + strlen(PostPath) + 1;
     if (PathSize >= 255)
-        return NULL;
+        return;
 
-    wsprintf(Path, _T("%s%s%s"), PrePath, lpClass, PostPath);
+    sprintf(Path, "%s%s%s", PrePath, lpClass, PostPath);
 
-    if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
-                     Path,
-                     0,
-                     KEY_READ,
-                     &hKey) == ERROR_SUCCESS)
+    if (RegOpenKeyExA(HKEY_LOCAL_MACHINE,
+                      Path,
+                      0,
+                      KEY_READ,
+                      &hKey) == ERROR_SUCCESS)
     {
-        if (RegQueryValueEx(hKey,
-                            _T("Name"),
-                            NULL,
-                            &dwType,
-                            NULL,
-                            &dwDataSize) == ERROR_SUCCESS)
+        if (RegQueryValueExA(hKey,
+                             "Name",
+                             NULL,
+                             &dwType,
+                             NULL,
+                             &dwDataSize) == ERROR_SUCCESS)
         {
-            ConTypeTmp = (LPTSTR)HeapAlloc(ProcessHeap,
-                                           0,
-                                           dwDataSize);
-
+            ConTypeTmp = (LPSTR)HeapAlloc(ProcessHeap,
+                                          0,
+                                          dwDataSize);
             if (ConTypeTmp == NULL)
-                return NULL;
-
-            ConType = (LPTSTR)HeapAlloc(ProcessHeap,
-                                        0,
-                                        dwDataSize);
+                return;
 
+            ConType = (LPSTR)HeapAlloc(ProcessHeap,
+                                       0,
+                                       dwDataSize);
             if (ConType == NULL)
             {
                 HeapFree(ProcessHeap, 0, ConTypeTmp);
-                return NULL;
+                return;
             }
 
-            if (RegQueryValueEx(hKey,
-                                _T("Name"),
-                                NULL,
-                                &dwType,
-                                (PBYTE)ConTypeTmp,
-                                &dwDataSize) != ERROR_SUCCESS)
+            if (RegQueryValueExA(hKey,
+                                 "Name",
+                                 NULL,
+                                 &dwType,
+                                 (PBYTE)ConTypeTmp,
+                                 &dwDataSize) != ERROR_SUCCESS)
             {
-                HeapFree(ProcessHeap,
-                         0,
-                         ConType);
-
+                HeapFree(ProcessHeap, 0, ConType);
                 ConType = NULL;
             }
 
             if (ConType)
-                CharToOem(ConTypeTmp, ConType);
+                CharToOemA(ConTypeTmp, ConType);
+
+            printf("%s\n", ConType);
+
             HeapFree(ProcessHeap, 0, ConTypeTmp);
+            HeapFree(ProcessHeap, 0, ConType);
         }
     }
 
     if (hKey != NULL)
         RegCloseKey(hKey);
-
-    return ConType;
 }
 
-
-LPTSTR GetConnectionDescription(LPTSTR lpClass)
+static
+VOID
+PrintAdapterDescription(LPSTR lpClass)
 {
     HKEY hBaseKey = NULL;
     HKEY hClassKey = NULL;
-    LPTSTR lpKeyClass = NULL;
-    LPTSTR lpConDesc = NULL;
+    LPSTR lpKeyClass = NULL;
+    LPSTR lpConDesc = NULL;
     LPTSTR lpPath = NULL;
     TCHAR szPrePath[] = 
_T("SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002bE10318}\\");
     DWORD dwType;
@@ -421,7 +315,7 @@ LPTSTR GetConnectionDescription(LPTSTR lpClass)
                      KEY_READ,
                      &hBaseKey) != ERROR_SUCCESS)
     {
-        return NULL;
+        return;
     }
 
     for (i = 0; ; i++)
@@ -473,25 +367,25 @@ LPTSTR GetConnectionDescription(LPTSTR lpClass)
         HeapFree(ProcessHeap, 0, lpPath);
         lpPath = NULL;
 
-        if (RegQueryValueEx(hClassKey,
-                            _T("NetCfgInstanceId"),
-                            NULL,
-                            &dwType,
-                            NULL,
-                            &dwDataSize) == ERROR_SUCCESS)
+        if (RegQueryValueExA(hClassKey,
+                             "NetCfgInstanceId",
+                             NULL,
+                             &dwType,
+                             NULL,
+                             &dwDataSize) == ERROR_SUCCESS)
         {
-            lpKeyClass = (LPTSTR)HeapAlloc(ProcessHeap,
-                                           0,
-                                           dwDataSize);
+            lpKeyClass = (LPSTR)HeapAlloc(ProcessHeap,
+                                          0,
+                                          dwDataSize);
             if (lpKeyClass == NULL)
                 goto CLEANUP;
 
-            if (RegQueryValueEx(hClassKey,
-                                _T("NetCfgInstanceId"),
-                                NULL,
-                                &dwType,
-                                (PBYTE)lpKeyClass,
-                                &dwDataSize) != ERROR_SUCCESS)
+            if (RegQueryValueExA(hClassKey,
+                                 "NetCfgInstanceId",
+                                 NULL,
+                                 &dwType,
+                                 (PBYTE)lpKeyClass,
+                                 &dwDataSize) != ERROR_SUCCESS)
             {
                 HeapFree(ProcessHeap, 0, lpKeyClass);
                 lpKeyClass = NULL;
@@ -501,40 +395,37 @@ LPTSTR GetConnectionDescription(LPTSTR lpClass)
         else
             continue;
 
-        if (!lstrcmp(lpClass, lpKeyClass))
+        if (!strcmp(lpClass, lpKeyClass))
         {
             HeapFree(ProcessHeap, 0, lpKeyClass);
             lpKeyClass = NULL;
 
-            if (RegQueryValueEx(hClassKey,
-                                _T("DriverDesc"),
-                                NULL,
-                                &dwType,
-                                NULL,
-                                &dwDataSize) == ERROR_SUCCESS)
+            if (RegQueryValueExA(hClassKey,
+                                 "DriverDesc",
+                                 NULL,
+                                 &dwType,
+                                 NULL,
+                                 &dwDataSize) == ERROR_SUCCESS)
             {
-                lpConDesc = (LPTSTR)HeapAlloc(ProcessHeap,
-                                              0,
-                                              dwDataSize);
-                if (lpConDesc == NULL)
-                    goto CLEANUP;
-
-                if (RegQueryValueEx(hClassKey,
-                                    _T("DriverDesc"),
-                                    NULL,
-                                    &dwType,
-                                    (PBYTE)lpConDesc,
-                                    &dwDataSize) != ERROR_SUCCESS)
+                lpConDesc = (LPSTR)HeapAlloc(ProcessHeap,
+                                             0,
+                                             dwDataSize);
+                if (lpConDesc != NULL)
                 {
+                    if (RegQueryValueExA(hClassKey,
+                                         "DriverDesc",
+                                         NULL,
+                                         &dwType,
+                                         (PBYTE)lpConDesc,
+                                         &dwDataSize) == ERROR_SUCCESS)
+                    {
+                        printf("%s", lpConDesc);
+                    }
+
                     HeapFree(ProcessHeap, 0, lpConDesc);
                     lpConDesc = NULL;
-                    goto CLEANUP;
                 }
             }
-            else
-            {
-                lpConDesc = NULL;
-            }
 
             break;
         }
@@ -549,10 +440,89 @@ CLEANUP:
         HeapFree(ProcessHeap, 0, lpPath);
     if (lpKeyClass != NULL)
         HeapFree(ProcessHeap, 0, lpKeyClass);
+}
+
+static
+VOID
+PrintNodeType(UINT NodeType)
+{
+    ConResPrintf(StdOut, IDS_NODETYPE);
+
+    switch (NodeType)
+    {
+        case 1:
+            ConResPrintf(StdOut, IDS_BCAST);
+            break;
+
+        case 2:
+            ConResPrintf(StdOut, IDS_P2P);
+            break;
 
-    return lpConDesc;
+        case 4:
+            ConResPrintf(StdOut, IDS_MIXED);
+            break;
+
+        case 8:
+            ConResPrintf(StdOut, IDS_HYBRID);
+            break;
+
+        default :
+            ConResPrintf(StdOut, IDS_UNKNOWN);
+            break;
+    }
+    printf("\n");
 }
 
+static
+VOID
+PrintAdapterTypeAndName(
+    PIP_ADAPTER_INFO pAdapterInfo)
+{
+    printf("\n");
+
+    switch (pAdapterInfo->Type)
+    {
+        case MIB_IF_TYPE_OTHER:
+            ConResPrintf(StdOut, IDS_OTHER);
+            break;
+
+        case MIB_IF_TYPE_ETHERNET:
+            ConResPrintf(StdOut, IDS_ETH);
+            break;
+
+        case MIB_IF_TYPE_TOKENRING:
+            ConResPrintf(StdOut, IDS_TOKEN);
+            break;
+
+        case MIB_IF_TYPE_FDDI:
+            ConResPrintf(StdOut, IDS_FDDI);
+            break;
+
+        case MIB_IF_TYPE_PPP:
+            ConResPrintf(StdOut, IDS_PPP);
+            break;
+
+        case MIB_IF_TYPE_LOOPBACK:
+            ConResPrintf(StdOut, IDS_LOOP);
+            break;
+
+        case MIB_IF_TYPE_SLIP:
+            ConResPrintf(StdOut, IDS_SLIP);
+            break;
+
+        case IF_TYPE_IEEE80211:
+            ConResPrintf(StdOut, IDS_WIFI);
+            break;
+
+        default:
+            ConResPrintf(StdOut, IDS_UNKNOWNADAPTER);
+            break;
+    }
+
+    printf(": ");
+    PrintAdapterFriendlyName(pAdapterInfo->AdapterName);
+    printf("\n");
+}
 
 VOID ShowInfo(BOOL bAll)
 {
@@ -628,45 +598,44 @@ VOID ShowInfo(BOOL bAll)
 
     pAdapter = pAdapterInfo;
 
-    _tprintf(_T("\nReactOS IP Configuration\n\n"));
+    ConResPrintf(StdOut, IDS_HEADER);
+
     if (bAll)
     {
-        _tprintf(_T("\tHost Name . . . . . . . . . . . . : %s\n"), 
pFixedInfo->HostName);
-        _tprintf(_T("\tPrimary DNS Suffix. . . . . . . . : %s\n"), 
(pszDomainName != NULL) ? pszDomainName : "");
-        _tprintf(_T("\tNode Type . . . . . . . . . . . . : %s\n"), 
GetNodeTypeName(pFixedInfo->NodeType));
+        ConResPrintf(StdOut, IDS_HOSTNAME, pFixedInfo->HostName);
+        ConResPrintf(StdOut, IDS_PRIMARYDNSSUFFIX, (pszDomainName != NULL) ? 
pszDomainName : "");
+
+        PrintNodeType(pFixedInfo->NodeType);
+
         if (pFixedInfo->EnableRouting)
-            _tprintf(_T("\tIP Routing Enabled. . . . . . . . : Yes\n"));
+            ConResPrintf(StdOut, IDS_IPROUTINGYES);
         else
-            _tprintf(_T("\tIP Routing Enabled. . . . . . . . : No\n"));
+            ConResPrintf(StdOut, IDS_IPROUTINGNO);
+
         if (pAdapter && pAdapter->HaveWins)
-            _tprintf(_T("\tWINS Proxy enabled. . . . . . . . : Yes\n"));
+            ConResPrintf(StdOut, IDS_WINSPROXYYES);
         else
-            _tprintf(_T("\tWINS Proxy enabled. . . . . . . . : No\n"));
+            ConResPrintf(StdOut, IDS_WINSPROXYNO);
+
         if (pszDomainName != NULL && pszDomainName[0] != 0)
         {
-            _tprintf(_T("\tDNS Suffix Search List. . . . . . : %s\n"), 
pszDomainName);
-            _tprintf(_T("\t                                    %s\n"), 
pFixedInfo->DomainName);
+            ConResPrintf(StdOut, IDS_DNSSUFFIXLIST, pszDomainName);
+            ConResPrintf(StdOut, IDS_EMPTYLINE, pFixedInfo->DomainName);
         }
         else
         {
-            _tprintf(_T("\tDNS Suffix Search List. . . . . . : %s\n"), 
pFixedInfo->DomainName);
+            ConResPrintf(StdOut, IDS_DNSSUFFIXLIST, pFixedInfo->DomainName);
         }
     }
 
     while (pAdapter)
     {
-        LPTSTR IntType, myConType;
         BOOLEAN bConnected = TRUE;
 
         mibEntry.dwIndex = pAdapter->Index;
         GetIfEntry(&mibEntry);
 
-        IntType = GetInterfaceTypeName(pAdapter->Type);
-        myConType = GetConnectionType(pAdapter->AdapterName);
-
-        _tprintf(_T("\n%s %s: \n\n"), IntType , myConType);
-
-        if (myConType != NULL) HeapFree(ProcessHeap, 0, myConType);
+        PrintAdapterTypeAndName(pAdapter);
 
         if (GetPerAdapterInfo(pAdapter->Index, pPerAdapterInfo, 
&ulPerAdapterInfoLength) == ERROR_BUFFER_OVERFLOW)
         {
@@ -681,35 +650,38 @@ VOID ShowInfo(BOOL bAll)
         if (mibEntry.dwOperStatus != MIB_IF_OPER_STATUS_CONNECTED && 
mibEntry.dwOperStatus != MIB_IF_OPER_STATUS_OPERATIONAL)
         {
             bConnected = FALSE;
-            _tprintf(_T("\tMedia State . . . . . . . . . . . : Media 
disconnected\n"));
+            ConResPrintf(StdOut, IDS_MEDIADISCONNECTED);
         }
         else
         {
-            _tprintf(_T("\tConnection-specific DNS Suffix. . : %s\n"), 
pFixedInfo->DomainName);
+            ConResPrintf(StdOut, IDS_CONNECTIONDNSSUFFIX, 
pFixedInfo->DomainName);
         }
 
         if (bAll)
         {
-            LPTSTR lpDesc = GetConnectionDescription(pAdapter->AdapterName);
-            _tprintf(_T("\tDescription . . . . . . . . . . . : %s\n"), lpDesc);
-            HeapFree(ProcessHeap, 0, lpDesc);
-            _tprintf(_T("\tPhysical Address. . . . . . . . . : %s\n"), 
PrintMacAddr(pAdapter->Address));
+            ConResPrintf(StdOut, IDS_DESCRIPTION);
+            PrintAdapterDescription(pAdapter->AdapterName);
+            printf("\n");
+
+            ConResPrintf(StdOut, IDS_PHYSICALADDRESS, 
PrintMacAddr(pAdapter->Address));
+
             if (bConnected)
             {
                 if (pAdapter->DhcpEnabled)
                 {
-                    _tprintf(_T("\tDHCP Enabled. . . . . . . . . . . : 
Yes\n"));
+                    ConResPrintf(StdOut, IDS_DHCPYES);
+
                     if (pPerAdapterInfo != NULL)
                     {
                         if (pPerAdapterInfo->AutoconfigEnabled)
-                            _tprintf(_T("\tAutoconfiguration Enabled . . . . : 
Yes\n"));
+                            ConResPrintf(StdOut, IDS_AUTOCONFIGYES);
                         else
-                            _tprintf(_T("\tAutoconfiguration Enabled . . . . : 
No\n"));
+                            ConResPrintf(StdOut, IDS_AUTOCONFIGNO);
                     }
                 }
                 else
                 {
-                    _tprintf(_T("\tDHCP Enabled. . . . . . . . . . . : No\n"));
+                    ConResPrintf(StdOut, IDS_DHCPNO);
                 }
             }
         }
@@ -720,53 +692,52 @@ VOID ShowInfo(BOOL bAll)
             continue;
         }
 
-        _tprintf(_T("\tIP Address. . . . . . . . . . . . : %s\n"), 
pAdapter->IpAddressList.IpAddress.String);
-        _tprintf(_T("\tSubnet Mask . . . . . . . . . . . : %s\n"), 
pAdapter->IpAddressList.IpMask.String);
-        if (pAdapter->GatewayList.IpAddress.String[0] != '0')
-            _tprintf(_T("\tDefault Gateway . . . . . . . . . : %s\n"), 
pAdapter->GatewayList.IpAddress.String);
+        ConResPrintf(StdOut, IDS_IPADDRESS, 
pAdapter->IpAddressList.IpAddress.String);
+        ConResPrintf(StdOut, IDS_SUBNETMASK, 
pAdapter->IpAddressList.IpMask.String);
+
+        if (strcmp(pAdapter->GatewayList.IpAddress.String, "0.0.0.0"))
+            ConResPrintf(StdOut, IDS_DEFAULTGATEWAY, 
pAdapter->GatewayList.IpAddress.String);
         else
-            _tprintf(_T("\tDefault Gateway . . . . . . . . . :\n"));
+            ConResPrintf(StdOut, IDS_DEFAULTGATEWAY, "");
 
         if (bAll)
         {
             PIP_ADDR_STRING pIPAddr;
 
             if (pAdapter->DhcpEnabled)
-               _tprintf(_T("\tDHCP Server . . . . . . . . . . . : %s\n"), 
pAdapter->DhcpServer.IpAddress.String);
+                ConResPrintf(StdOut, IDS_DHCPSERVER, 
pAdapter->DhcpServer.IpAddress.String);
 
-            _tprintf(_T("\tDNS Servers . . . . . . . . . . . : "));
-            _tprintf(_T("%s\n"), pFixedInfo->DnsServerList.IpAddress.String);
+            ConResPrintf(StdOut, IDS_DNSSERVERS, 
pFixedInfo->DnsServerList.IpAddress.String);
             pIPAddr = pFixedInfo->DnsServerList.Next;
             while (pIPAddr)
             {
-                _tprintf(_T("\t\t\t\t\t    %s\n"), pIPAddr ->IpAddress.String 
);
+                ConResPrintf(StdOut, IDS_EMPTYLINE, pIPAddr 
->IpAddress.String);
                 pIPAddr = pIPAddr->Next;
             }
 
             if (pAdapter->HaveWins)
             {
-                _tprintf(_T("\tPrimary WINS Server . . . . . . . : %s\n"), 
pAdapter->PrimaryWinsServer.IpAddress.String);
-                _tprintf(_T("\tSecondary WINS Server . . . . . . : %s\n"), 
pAdapter->SecondaryWinsServer.IpAddress.String);
+                ConResPrintf(StdOut, IDS_PRIMARYWINSSERVER, 
pAdapter->PrimaryWinsServer.IpAddress.String);
+                ConResPrintf(StdOut, IDS_SECONDARYWINSSERVER, 
pAdapter->SecondaryWinsServer.IpAddress.String);
             }
 
-            if (pAdapter->DhcpEnabled && 
_tcscmp(pAdapter->DhcpServer.IpAddress.String, _T("255.255.255.255")))
+            if (pAdapter->DhcpEnabled && 
strcmp(pAdapter->DhcpServer.IpAddress.String, "255.255.255.255"))
             {
                 PTSTR DateTimeString;
                 DateTimeString = timeToStr(pAdapter->LeaseObtained);
-                _tprintf(_T("\tLease Obtained. . . . . . . . . . : %s\n"), 
DateTimeString ? DateTimeString : _T("N/A"));
+                ConResPrintf(StdOut, IDS_LEASEOBTAINED, DateTimeString ? 
DateTimeString : _T("N/A"));
                 if (DateTimeString)
                 {
                     HeapFree(ProcessHeap, 0, DateTimeString);
                 }
                 DateTimeString = timeToStr(pAdapter->LeaseExpires);
-                _tprintf(_T("\tLease Expires . . . . . . . . . . : %s\n"), 
DateTimeString ? DateTimeString : _T("N/A"));
+                ConResPrintf(StdOut, IDS_LEASEEXPIRES, DateTimeString ? 
DateTimeString : _T("N/A"));
                 if (DateTimeString)
                 {
                     HeapFree(ProcessHeap, 0, DateTimeString);
                 }
             }
         }
-        _tprintf(_T("\n"));
 
         HeapFree(ProcessHeap, 0, pPerAdapterInfo);
         pPerAdapterInfo = NULL;
@@ -842,9 +813,6 @@ VOID Release(LPTSTR Index)
     }
 }
 
-
-
-
 VOID Renew(LPTSTR Index)
 {
     IP_ADAPTER_INDEX_MAP AdapterInfo;
@@ -914,7 +882,7 @@ VOID Renew(LPTSTR Index)
 VOID
 FlushDns(VOID)
 {
-    _tprintf(_T("\nReactOS IP Configuration\n\n"));
+    ConResPrintf(StdOut, IDS_HEADER);
 
     if (DnsFlushResolverCache())
         _tprintf(_T("The DNS Resolver Cache has been deleted.\n"));
@@ -952,20 +920,20 @@ DisplayDnsRecord(
     {
         if (Status == DNS_ERROR_RCODE_NAME_ERROR)
         {
-            _tprintf(_T("\t%S\n"), pszName);
+            _tprintf(_T("\t%ls\n"), pszName);
             _tprintf(_T("\t----------------------------------------\n"));
             _tprintf(_T("\tName does not exist\n\n"));
         }
         else if (Status == DNS_INFO_NO_RECORDS)
         {
-            _tprintf(_T("\t%S\n"), pszName);
+            _tprintf(_T("\t%ls\n"), pszName);
             _tprintf(_T("\t----------------------------------------\n"));
             _tprintf(_T("\tNo records of type %s\n\n"), 
GetRecordTypeName(wType));
         }
         return;
     }
 
-    _tprintf(_T("\t%S\n"), pszName);
+    _tprintf(_T("\t%ls\n"), pszName);
     _tprintf(_T("\t----------------------------------------\n"));
 
     pThisRecord = pQueryResults;
@@ -973,7 +941,7 @@ DisplayDnsRecord(
     {
         pNextRecord = pThisRecord->pNext;
 
-        _tprintf(_T("\tRecord Name . . . . . : %S\n"), pThisRecord->pName);
+        _tprintf(_T("\tRecord Name . . . . . : %ls\n"), pThisRecord->pName);
         _tprintf(_T("\tRecord Type . . . . . : %hu\n"), pThisRecord->wType);
         _tprintf(_T("\tTime To Live. . . . . : %lu\n"), pThisRecord->dwTtl);
         _tprintf(_T("\tData Length . . . . . : %hu\n"), 
pThisRecord->wDataLength);
@@ -1002,15 +970,15 @@ DisplayDnsRecord(
             case DNS_TYPE_A:
                 Addr4.S_un.S_addr = pThisRecord->Data.A.IpAddress;
                 RtlIpv4AddressToStringW(&Addr4, szBuffer);
-                _tprintf(_T("\tA (Host) Record . . . : %S\n"), szBuffer);
+                _tprintf(_T("\tA (Host) Record . . . : %ls\n"), szBuffer);
                 break;
 
             case DNS_TYPE_NS:
-                _tprintf(_T("\tNS Record . . . . . . : %S\n"), 
pThisRecord->Data.NS.pNameHost);
+                _tprintf(_T("\tNS Record . . . . . . : %ls\n"), 
pThisRecord->Data.NS.pNameHost);
                 break;
 
             case DNS_TYPE_CNAME:
-                _tprintf(_T("\tCNAME Record. . . . . : %S\n"), 
pThisRecord->Data.CNAME.pNameHost);
+                _tprintf(_T("\tCNAME Record. . . . . : %ls\n"), 
pThisRecord->Data.CNAME.pNameHost);
                 break;
 
             case DNS_TYPE_SOA:
@@ -1018,7 +986,7 @@ DisplayDnsRecord(
                 break;
 
             case DNS_TYPE_PTR:
-                _tprintf(_T("\tPTR Record. . . . . . : %S\n"), 
pThisRecord->Data.PTR.pNameHost);
+                _tprintf(_T("\tPTR Record. . . . . . : %ls\n"), 
pThisRecord->Data.PTR.pNameHost);
                 break;
 
             case DNS_TYPE_MX:
@@ -1028,7 +996,7 @@ DisplayDnsRecord(
             case DNS_TYPE_AAAA:
                 RtlCopyMemory(&Addr6, &pThisRecord->Data.AAAA.Ip6Address, 
sizeof(IN6_ADDR));
                 RtlIpv6AddressToStringW(&Addr6, szBuffer);
-                _tprintf(_T("\tAAAA Record . . . . . : %S\n"), szBuffer);
+                _tprintf(_T("\tAAAA Record . . . . . : %ls\n"), szBuffer);
                 break;
 
             case DNS_TYPE_ATMA:
@@ -1047,13 +1015,12 @@ DisplayDnsRecord(
     DnsRecordListFree((PDNS_RECORD)pQueryResults, DnsFreeRecordList);
 }
 
-
 VOID
 DisplayDns(VOID)
 {
     PDNS_CACHE_ENTRY DnsEntry = NULL, pThisEntry, pNextEntry;
 
-    _tprintf(_T("\nReactOS IP Configuration\n\n"));
+    ConResPrintf(StdOut, IDS_HEADER);
 
     if (!DnsGetCacheDataTable(&DnsEntry))
     {
@@ -1085,40 +1052,10 @@ DisplayDns(VOID)
 
 VOID Usage(VOID)
 {
-    HRSRC hRes;
-    LPTSTR lpUsage;
-    DWORD Size;
-
-    LPTSTR lpName = (LPTSTR)MAKEINTRESOURCE((IDS_USAGE >> 4) + 1);
-
-    hRes = FindResource(hInstance,
-                        lpName,
-                        RT_STRING);
-    if (hRes != NULL)
-    {
-        if ((Size = SizeofResource(hInstance,
-                                   hRes)))
-        {
-            lpUsage = (LPTSTR)HeapAlloc(ProcessHeap,
-                                        0,
-                                        Size);
-            if (lpUsage == NULL)
-                return;
-
-            if (LoadStringAndOem(hInstance,
-                           IDS_USAGE,
-                           lpUsage,
-                           Size))
-            {
-                _tprintf(_T("%s"), lpUsage);
-            }
-
-            HeapFree(ProcessHeap, 0, lpUsage);
-        }
-    }
+    ConResPrintf(StdOut, IDS_USAGE);
 }
 
-int main(int argc, char *argv[])
+int wmain(int argc, wchar_t *argv[])
 {
     BOOL DoUsage=FALSE;
     BOOL DoAll=FALSE;
@@ -1130,6 +1067,9 @@ int main(int argc, char *argv[])
     BOOL DoShowclassid=FALSE;
     BOOL DoSetclassid=FALSE;
 
+    /* Initialize the Console Standard Streams */
+    ConInitStdStreams();
+
     hInstance = GetModuleHandle(NULL);
     ProcessHeap = GetProcessHeap();
 
diff --git a/base/applications/network/ipconfig/lang/bg-BG.rc 
b/base/applications/network/ipconfig/lang/bg-BG.rc
index 4a581558a37..55f6b37d01d 100644
--- a/base/applications/network/ipconfig/lang/bg-BG.rc
+++ b/base/applications/network/ipconfig/lang/bg-BG.rc
@@ -1,5 +1,42 @@
 LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Разпръскване"
@@ -11,6 +48,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Друг вид карта"
     IDS_ETH "Карта Ethernet"
     IDS_TOKEN "Карта Token Ring"
@@ -18,6 +56,7 @@ BEGIN
     IDS_PPP "Карта PPP"
     IDS_LOOP "Карта Loopback"
     IDS_SLIP "Карта SLIP"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/de-DE.rc 
b/base/applications/network/ipconfig/lang/de-DE.rc
index fda0ab3be46..efe249db721 100644
--- a/base/applications/network/ipconfig/lang/de-DE.rc
+++ b/base/applications/network/ipconfig/lang/de-DE.rc
@@ -1,5 +1,42 @@
 LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS-IP-Konfiguration\n\n"
+    IDS_HOSTNAME            "\tHostname. . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimäres DNS-Suffix . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tKnotentyp . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP-Routing aktiviert. . . . . . . : Nein\n"
+    IDS_IPROUTINGYES        "\tIP-Routing aktiviert. . . . . . . : Ja\n"
+    IDS_WINSPROXYNO         "\tWINS-Proxy aktiviert. . . . . . . : Nein\n"
+    IDS_WINSPROXYYES        "\tWINS-Proxy aktiviert. . . . . . . : Ja\n"
+    IDS_DNSSUFFIXLIST       "\tDNS-Suffixliste . . . . . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedienstatus. . . . . . . . . . . : Es besteht 
keine Verbindung\n"
+    IDS_CONNECTIONDNSSUFFIX "\tVerbindungsspezifisches DNS-Suffix: %hs\n"
+    IDS_DESCRIPTION         "\tBeschreibung. . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysikalische Adresse . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP aktiviert. . . . . . . . . . : Nein\n"
+    IDS_DHCPYES             "\tDHCP aktiviert. . . . . . . . . . : Ja\n"
+    IDS_AUTOCONFIGNO        "\tAutokonfiguration aktiviert . . . : Nein\n"
+    IDS_AUTOCONFIGYES       "\tAutokonfiguration aktiviert . . . : Ja\n"
+    IDS_IPADDRESS           "\tIP-Adresse. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnetzmaske. . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tStandardgateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP-Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS-Server. . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimärer WINS-Server. . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSekundärer WINS-Server. . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease erhalten. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease läuft ab. . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Broadcast"
@@ -11,6 +48,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Anderer Adapter"
     IDS_ETH "Ethernet-Adapter"
     IDS_TOKEN "Token-Ring-Adapter"
@@ -18,6 +56,7 @@ BEGIN
     IDS_PPP "PPP-Adapter"
     IDS_LOOP "Loopback-Adapter"
     IDS_SLIP "SLIP-Adapter"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/el-GR.rc 
b/base/applications/network/ipconfig/lang/el-GR.rc
index 78594f682c3..8754fbac37c 100644
--- a/base/applications/network/ipconfig/lang/el-GR.rc
+++ b/base/applications/network/ipconfig/lang/el-GR.rc
@@ -1,5 +1,42 @@
 LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Broadcast"
@@ -11,6 +48,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Άλλος τύπος προσαρμογέα"
     IDS_ETH "Προσαρμογέας Ethernet"
     IDS_TOKEN "Προσαρμογέας Token Ring"
@@ -18,6 +56,7 @@ BEGIN
     IDS_PPP "Προσαρμογέας PPP"
     IDS_LOOP "Προσαρμογέας Loopback"
     IDS_SLIP "Προσαρμογέας SLIP"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/en-US.rc 
b/base/applications/network/ipconfig/lang/en-US.rc
index bad49ed7423..78543bd0792 100644
--- a/base/applications/network/ipconfig/lang/en-US.rc
+++ b/base/applications/network/ipconfig/lang/en-US.rc
@@ -1,16 +1,54 @@
 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Broadcast"
     IDS_P2P "Peer To Peer"
     IDS_MIXED "Mixed"
     IDS_HYBRID "Hybrid"
-    IDS_UNKNOWN "unknown"
+    IDS_UNKNOWN "Unknown"
 END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Other Type Of Adapter"
     IDS_ETH "Ethernet Adapter"
     IDS_TOKEN "Token Ring Adapter"
@@ -18,6 +56,7 @@ BEGIN
     IDS_PPP "PPP Adapter"
     IDS_LOOP "Loopback Adapter"
     IDS_SLIP "SLIP Adapter"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/es-ES.rc 
b/base/applications/network/ipconfig/lang/es-ES.rc
index 363433f91dd..5beceaaa09c 100644
--- a/base/applications/network/ipconfig/lang/es-ES.rc
+++ b/base/applications/network/ipconfig/lang/es-ES.rc
@@ -3,6 +3,42 @@
 
 LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST   "Difusión"
@@ -14,6 +50,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Otro tipo de adaptador"
     IDS_ETH   "Adaptador Ethernet"
     IDS_TOKEN "Adaptador de red en anillo"
@@ -21,6 +58,7 @@ BEGIN
     IDS_PPP   "Adaptador PPP"
     IDS_LOOP  "Adaptador de bucle invertido"
     IDS_SLIP  "Adaptador SLIP"
+    IDS_WIFI  "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/fr-FR.rc 
b/base/applications/network/ipconfig/lang/fr-FR.rc
index dfd6d53317a..618589c78e0 100644
--- a/base/applications/network/ipconfig/lang/fr-FR.rc
+++ b/base/applications/network/ipconfig/lang/fr-FR.rc
@@ -1,5 +1,42 @@
 LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Broadcast"
@@ -11,6 +48,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Autre Type d'adapteur"
     IDS_ETH "Adapteur Ethernet"
     IDS_TOKEN "Adapteur Token Ring"
@@ -18,6 +56,7 @@ BEGIN
     IDS_PPP "Adapteur PPP"
     IDS_LOOP "Adapteur Loopback"
     IDS_SLIP "Adapteur SLIP"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/id-ID.rc 
b/base/applications/network/ipconfig/lang/id-ID.rc
index a6d2bf042b7..d3f67e51368 100644
--- a/base/applications/network/ipconfig/lang/id-ID.rc
+++ b/base/applications/network/ipconfig/lang/id-ID.rc
@@ -1,5 +1,42 @@
 LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Siarkan"
@@ -11,6 +48,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Adapter Tipe Lainnya"
     IDS_ETH "Adapter Ethernet"
     IDS_TOKEN "Adapter Token Ring"
@@ -18,6 +56,7 @@ BEGIN
     IDS_PPP "Adapter PPP"
     IDS_LOOP "Adapter Loopback"
     IDS_SLIP "Adapter SLIP"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/it-IT.rc 
b/base/applications/network/ipconfig/lang/it-IT.rc
index d49ccdfa2fd..f2c00981247 100644
--- a/base/applications/network/ipconfig/lang/it-IT.rc
+++ b/base/applications/network/ipconfig/lang/it-IT.rc
@@ -2,6 +2,43 @@
 
 LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Broadcast"
@@ -13,6 +50,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Altro tipo di adattatore"
     IDS_ETH "Adattatore Ethernet"
     IDS_TOKEN "Adattatore Token Ring"
@@ -20,6 +58,7 @@ BEGIN
     IDS_PPP "Adattatore PPP"
     IDS_LOOP "Adattatore Loopback"
     IDS_SLIP "Adattatore SLIP"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/no-NO.rc 
b/base/applications/network/ipconfig/lang/no-NO.rc
index 7ada296fdda..d3b7938d8ea 100644
--- a/base/applications/network/ipconfig/lang/no-NO.rc
+++ b/base/applications/network/ipconfig/lang/no-NO.rc
@@ -1,5 +1,42 @@
 LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Broadcast"
@@ -11,6 +48,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Other Type Of Adapter"
     IDS_ETH "Ethernet Adapter"
     IDS_TOKEN "Token Ring Adapter"
@@ -18,6 +56,7 @@ BEGIN
     IDS_PPP "PPP Adapter"
     IDS_LOOP "Loopback Adapter"
     IDS_SLIP "SLIP Adapter"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/pl-PL.rc 
b/base/applications/network/ipconfig/lang/pl-PL.rc
index eb0ef4e53a0..bcedb0468d0 100644
--- a/base/applications/network/ipconfig/lang/pl-PL.rc
+++ b/base/applications/network/ipconfig/lang/pl-PL.rc
@@ -7,6 +7,43 @@
 
 LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Transmisja"
@@ -18,6 +55,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "inny rodzaj karty"
     IDS_ETH "karta Ethernet"
     IDS_TOKEN "karta Token Ring"
@@ -25,6 +63,7 @@ BEGIN
     IDS_PPP "karta PPP"
     IDS_LOOP "karta Loopback"
     IDS_SLIP "karta SLIP"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/ro-RO.rc 
b/base/applications/network/ipconfig/lang/ro-RO.rc
index a7a1a8c70e9..3c6a4678f67 100644
--- a/base/applications/network/ipconfig/lang/ro-RO.rc
+++ b/base/applications/network/ipconfig/lang/ro-RO.rc
@@ -6,6 +6,43 @@
 
 LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Difuzare"
@@ -17,6 +54,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "alt tip de adaptor"
     IDS_ETH "adaptor Ethernet"
     IDS_TOKEN "adaptor Token Ring"
@@ -24,6 +62,7 @@ BEGIN
     IDS_PPP "adaptor PPP"
     IDS_LOOP "adaptor Loopback"
     IDS_SLIP "adaptor SLIP"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/ru-RU.rc 
b/base/applications/network/ipconfig/lang/ru-RU.rc
index 366df722d5a..794f3c84776 100644
--- a/base/applications/network/ipconfig/lang/ru-RU.rc
+++ b/base/applications/network/ipconfig/lang/ru-RU.rc
@@ -2,6 +2,43 @@
 
 LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Широковещательный"
@@ -13,6 +50,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Другой тип адаптера"
     IDS_ETH "Ethernet адаптер"
     IDS_TOKEN "Адаптер Token Ring"
@@ -20,6 +58,7 @@ BEGIN
     IDS_PPP "Адаптер PPP"
     IDS_LOOP "Адаптер замыкания на себя"
     IDS_SLIP "Адаптер SLIP"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/sk-SK.rc 
b/base/applications/network/ipconfig/lang/sk-SK.rc
index b276841ad51..aba51b31816 100644
--- a/base/applications/network/ipconfig/lang/sk-SK.rc
+++ b/base/applications/network/ipconfig/lang/sk-SK.rc
@@ -4,6 +4,43 @@
 
 LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Vysielací"
@@ -15,6 +52,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Iný adaptér"
     IDS_ETH "Adaptér siete Ethernet"
     IDS_TOKEN "Adaptér siete Token Ring"
@@ -22,6 +60,7 @@ BEGIN
     IDS_PPP "Adaptér PPP"
     IDS_LOOP "Adaptér pre spätnú slučku"
     IDS_SLIP "Adaptér SLIP"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/sq-AL.rc 
b/base/applications/network/ipconfig/lang/sq-AL.rc
index 733ca05d937..bce64b609a5 100644
--- a/base/applications/network/ipconfig/lang/sq-AL.rc
+++ b/base/applications/network/ipconfig/lang/sq-AL.rc
@@ -4,6 +4,43 @@
 
 LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Transmeto"
@@ -15,6 +52,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Tipe te tjera adaptuesi"
     IDS_ETH "Adapter Ethernet"
     IDS_TOKEN "Adapter Token Ring"
@@ -22,6 +60,7 @@ BEGIN
     IDS_PPP "Adapter PPP"
     IDS_LOOP "Adapter Loopback"
     IDS_SLIP "Adapter SLIP"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/sv-SE.rc 
b/base/applications/network/ipconfig/lang/sv-SE.rc
index 47678dccb09..36deb5fb754 100644
--- a/base/applications/network/ipconfig/lang/sv-SE.rc
+++ b/base/applications/network/ipconfig/lang/sv-SE.rc
@@ -7,6 +7,43 @@
 
 LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Broadcast"
@@ -18,6 +55,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Annan typ av adapter"
     IDS_ETH "Ethernet-adapter"
     IDS_TOKEN "Tokenring-adapter"
@@ -25,6 +63,7 @@ BEGIN
     IDS_PPP "PPP-adapter"
     IDS_LOOP "Loopback-adapter"
     IDS_SLIP "SLIP-adapter"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/tr-TR.rc 
b/base/applications/network/ipconfig/lang/tr-TR.rc
index 8ce770d073c..f9b4376e6ae 100644
--- a/base/applications/network/ipconfig/lang/tr-TR.rc
+++ b/base/applications/network/ipconfig/lang/tr-TR.rc
@@ -2,6 +2,43 @@
 
 LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Yayın"
@@ -13,6 +50,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Diğer Bağdaştırıcı"
     IDS_ETH "Ethernet Bağdaştırıcısı"
     IDS_TOKEN "Simgeli Halka Bağdaştırıcısı"
@@ -20,6 +58,7 @@ BEGIN
     IDS_PPP "PPP Bağdaştırıcısı"
     IDS_LOOP "Geri Döngü Bağdaştırıcısı"
     IDS_SLIP "SLIP Bağdaştırıcısı"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/uk-UA.rc 
b/base/applications/network/ipconfig/lang/uk-UA.rc
index 608d52f029d..3200f6ca9c9 100644
--- a/base/applications/network/ipconfig/lang/uk-UA.rc
+++ b/base/applications/network/ipconfig/lang/uk-UA.rc
@@ -8,6 +8,43 @@
 
 LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "Broadcast"
@@ -19,6 +56,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "Інший тип адаптера"
     IDS_ETH "Ethernet адаптер"
     IDS_TOKEN "Token Ring адаптер"
@@ -26,6 +64,7 @@ BEGIN
     IDS_PPP "PPP адаптер"
     IDS_LOOP "Loopback адаптер"
     IDS_SLIP "SLIP адаптер"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/zh-CN.rc 
b/base/applications/network/ipconfig/lang/zh-CN.rc
index 31ae167c8c4..e24fcb60741 100644
--- a/base/applications/network/ipconfig/lang/zh-CN.rc
+++ b/base/applications/network/ipconfig/lang/zh-CN.rc
@@ -2,6 +2,43 @@
 
 LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "广播"
@@ -13,6 +50,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "其他类型的适配器"
     IDS_ETH "以太网适配器"
     IDS_TOKEN "令牌环适配器"
@@ -20,6 +58,7 @@ BEGIN
     IDS_PPP "PPP 适配器"
     IDS_LOOP "本地环回适配器"
     IDS_SLIP "SLIP 适配器"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/lang/zh-TW.rc 
b/base/applications/network/ipconfig/lang/zh-TW.rc
index fad49d5c240..5ba939ea4b6 100644
--- a/base/applications/network/ipconfig/lang/zh-TW.rc
+++ b/base/applications/network/ipconfig/lang/zh-TW.rc
@@ -2,6 +2,43 @@
 
 LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
 
+STRINGTABLE
+BEGIN
+    IDS_HEADER "\nReactOS IP Configuration\n\n"
+    IDS_HOSTNAME            "\tHost Name . . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYDNSSUFFIX    "\tPrimary DNS Suffix. . . . . . . . : %hs\n"
+    IDS_NODETYPE            "\tNode Type . . . . . . . . . . . . : "
+    IDS_IPROUTINGNO         "\tIP Routing Enabled. . . . . . . . : No\n"
+    IDS_IPROUTINGYES        "\tIP Routing Enabled. . . . . . . . : Yes\n"
+    IDS_WINSPROXYNO         "\tWINS Proxy enabled. . . . . . . . : No\n"
+    IDS_WINSPROXYYES        "\tWINS Proxy enabled. . . . . . . . : Yes\n"
+    IDS_DNSSUFFIXLIST       "\tDNS Suffix Search List. . . . . . : %hs\n"
+    IDS_EMPTYLINE           "\t                                    %hs\n"
+    IDS_MEDIADISCONNECTED   "\tMedia State . . . . . . . . . . . : Media 
disconnected\n"
+    IDS_CONNECTIONDNSSUFFIX "\tConnection-specific DNS Suffix. . : %hs\n"
+    IDS_DESCRIPTION         "\tDescription . . . . . . . . . . . : "
+    IDS_PHYSICALADDRESS     "\tPhysical Address. . . . . . . . . : %hs\n"
+    IDS_DHCPNO              "\tDHCP Enabled. . . . . . . . . . . : No\n"
+    IDS_DHCPYES             "\tDHCP Enabled. . . . . . . . . . . : Yes\n"
+    IDS_AUTOCONFIGNO        "\tAutoconfiguration Enabled . . . . : No\n"
+    IDS_AUTOCONFIGYES       "\tAutoconfiguration Enabled . . . . : Yes\n"
+    IDS_IPADDRESS           "\tIP Address. . . . . . . . . . . . : %hs\n"
+    IDS_SUBNETMASK          "\tSubnet Mask . . . . . . . . . . . : %hs\n"
+    IDS_DEFAULTGATEWAY      "\tDefault Gateway . . . . . . . . . : %hs\n"
+    IDS_DHCPSERVER          "\tDHCP Server . . . . . . . . . . . : %hs\n"
+    IDS_DNSSERVERS          "\tDNS Servers . . . . . . . . . . . : %hs\n"
+    IDS_PRIMARYWINSSERVER   "\tPrimary WINS Server . . . . . . . : %hs\n"
+    IDS_SECONDARYWINSSERVER "\tSecondary WINS Server . . . . . . : %hs\n"
+    IDS_LEASEOBTAINED       "\tLease Obtained. . . . . . . . . . : %s\n"
+    IDS_LEASEEXPIRES        "\tLease Expires . . . . . . . . . . : %s\n"
+END
+
+STRINGTABLE
+BEGIN
+    IDS_YES "Yes"
+    IDS_NO  "No"
+END
+
 STRINGTABLE
 BEGIN
     IDS_BCAST "廣播"
@@ -13,6 +50,7 @@ END
 
 STRINGTABLE
 BEGIN
+    IDS_UNKNOWNADAPTER "Unknown Adapter"
     IDS_OTHER "其他類型的配接器"
     IDS_ETH "乙太網配接器"
     IDS_TOKEN "權杖環配接器"
@@ -20,6 +58,7 @@ BEGIN
     IDS_PPP "PPP 配接器"
     IDS_LOOP "本地環回配接器"
     IDS_SLIP "SLIP 配接器"
+    IDS_WIFI "Wireless Network Adapter"
 END
 
 STRINGTABLE
diff --git a/base/applications/network/ipconfig/resource.h 
b/base/applications/network/ipconfig/resource.h
index 5f1d4d11207..73750c0caa5 100644
--- a/base/applications/network/ipconfig/resource.h
+++ b/base/applications/network/ipconfig/resource.h
@@ -1,19 +1,51 @@
 #pragma once
 
-#define IDS_USAGE 100
+#define IDS_HEADER              100
+#define IDS_HOSTNAME            101
+#define IDS_PRIMARYDNSSUFFIX    102
+#define IDS_NODETYPE            103
+#define IDS_IPROUTINGNO         104
+#define IDS_IPROUTINGYES        105
+#define IDS_WINSPROXYNO         106
+#define IDS_WINSPROXYYES        107
+#define IDS_DNSSUFFIXLIST       108
+#define IDS_EMPTYLINE           109
+#define IDS_UNKNOWNADAPTER      110
+#define IDS_MEDIADISCONNECTED   111
+#define IDS_CONNECTIONDNSSUFFIX 112
+#define IDS_DESCRIPTION         113
+#define IDS_PHYSICALADDRESS     114
+#define IDS_DHCPNO              115
+#define IDS_DHCPYES             116
+#define IDS_AUTOCONFIGNO        117
+#define IDS_AUTOCONFIGYES       118
+#define IDS_IPADDRESS           119
+#define IDS_SUBNETMASK          120
+#define IDS_DEFAULTGATEWAY      121
+#define IDS_DHCPSERVER          122
+#define IDS_DNSSERVERS          123
+#define IDS_PRIMARYWINSSERVER   124
+#define IDS_SECONDARYWINSSERVER 125
+#define IDS_LEASEOBTAINED       126
+#define IDS_LEASEEXPIRES        127
 
-#define IDS_UNKNOWN 101
+#define IDS_YES 138
+#define IDS_NO 139
 
-#define IDS_BCAST  102
-#define IDS_P2P    103
-#define IDS_MIXED  104
-#define IDS_HYBRID 105
+#define IDS_UNKNOWN 141
+#define IDS_BCAST   142
+#define IDS_P2P     143
+#define IDS_MIXED   144
+#define IDS_HYBRID  145
 
 /* adapter types */
-#define IDS_OTHER 106
-#define IDS_ETH   107
-#define IDS_TOKEN 108
-#define IDS_FDDI  109
-#define IDS_PPP   110
-#define IDS_LOOP  111
-#define IDS_SLIP  112
+#define IDS_OTHER 146
+#define IDS_ETH   147
+#define IDS_TOKEN 148
+#define IDS_FDDI  149
+#define IDS_PPP   150
+#define IDS_LOOP  151
+#define IDS_SLIP  152
+#define IDS_WIFI  153
+
+#define IDS_USAGE 160

Reply via email to