Index: dll/win32/shlwapi/resource.h =================================================================== --- dll/win32/shlwapi/resource.h (revision 56102) +++ dll/win32/shlwapi/resource.h (working copy) @@ -24,9 +24,10 @@ #include #define IDS_BYTES_FORMAT 64 -#define IDS_TIME_INTERVAL_HOURS 65 -#define IDS_TIME_INTERVAL_MINUTES 66 -#define IDS_TIME_INTERVAL_SECONDS 67 +#define IDS_BYTE_NOTATION 65 +#define IDS_TIME_INTERVAL_HOURS 66 +#define IDS_TIME_INTERVAL_MINUTES 67 +#define IDS_TIME_INTERVAL_SECONDS 68 /* These numbers match native ID's and shouldn't be arbitrarily changed */ #define IDD_ERR_DIALOG 0x1200 Index: dll/win32/shlwapi/shlwapi_Da.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Da.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Da.rc (working copy) @@ -39,6 +39,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld bytes" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " hr" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " sec" Index: dll/win32/shlwapi/shlwapi_De.rc =================================================================== --- dll/win32/shlwapi/shlwapi_De.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_De.rc (working copy) @@ -41,6 +41,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld Bytes" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " Std" IDS_TIME_INTERVAL_MINUTES " Min" IDS_TIME_INTERVAL_SECONDS " Sek" Index: dll/win32/shlwapi/shlwapi_En.rc =================================================================== --- dll/win32/shlwapi/shlwapi_En.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_En.rc (working copy) @@ -39,6 +39,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld bytes" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " hr" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " sec" Index: dll/win32/shlwapi/shlwapi_Es.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Es.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Es.rc (working copy) @@ -39,6 +39,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld bytes" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " hr" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " sec" Index: dll/win32/shlwapi/shlwapi_Fi.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Fi.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Fi.rc (working copy) @@ -39,6 +39,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld bytes" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " hr" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " sec" Index: dll/win32/shlwapi/shlwapi_Fr.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Fr.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Fr.rc (working copy) @@ -42,6 +42,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld bytes" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " h" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " s" Index: dll/win32/shlwapi/shlwapi_Hu.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Hu.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Hu.rc (working copy) @@ -42,6 +42,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld bájt" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " óra" IDS_TIME_INTERVAL_MINUTES " perc" IDS_TIME_INTERVAL_SECONDS " mp" Index: dll/win32/shlwapi/shlwapi_It.rc =================================================================== --- dll/win32/shlwapi/shlwapi_It.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_It.rc (working copy) @@ -39,6 +39,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld bytes" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " hr" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " sec" Index: dll/win32/shlwapi/shlwapi_Ja.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Ja.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Ja.rc (working copy) @@ -42,6 +42,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld bytes" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " hr" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " sec" Index: dll/win32/shlwapi/shlwapi_Ko.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Ko.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Ko.rc (working copy) @@ -40,6 +40,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld Ʈ" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS "" IDS_TIME_INTERVAL_MINUTES " " IDS_TIME_INTERVAL_SECONDS " " Index: dll/win32/shlwapi/shlwapi_Lt.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Lt.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Lt.rc (working copy) @@ -42,6 +42,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld baitai" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " val" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " sek" Index: dll/win32/shlwapi/shlwapi_Nl.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Nl.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Nl.rc (working copy) @@ -39,6 +39,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld bytes" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " hr" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " sec" Index: dll/win32/shlwapi/shlwapi_No.rc =================================================================== --- dll/win32/shlwapi/shlwapi_No.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_No.rc (working copy) @@ -39,6 +39,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld byte" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " hr" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " sec" Index: dll/win32/shlwapi/shlwapi_Pl.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Pl.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Pl.rc (working copy) @@ -40,6 +40,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld bajtw" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " godz." IDS_TIME_INTERVAL_MINUTES " min." IDS_TIME_INTERVAL_SECONDS " s" Index: dll/win32/shlwapi/shlwapi_Pt.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Pt.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Pt.rc (working copy) @@ -43,6 +43,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld bytes" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " hr" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " seg" Index: dll/win32/shlwapi/shlwapi_Ro.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Ro.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Ro.rc (working copy) @@ -40,6 +40,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld octeți" + IDS_BYTE_NOTATION "o" IDS_TIME_INTERVAL_HOURS " ore" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " sec" Index: dll/win32/shlwapi/shlwapi_Ru.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Ru.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Ru.rc (working copy) @@ -42,6 +42,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld байт" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " час" IDS_TIME_INTERVAL_MINUTES " мин" IDS_TIME_INTERVAL_SECONDS " сек" Index: dll/win32/shlwapi/shlwapi_Si.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Si.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Si.rc (working copy) @@ -41,6 +41,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld bajtov" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " ur" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " sek" Index: dll/win32/shlwapi/shlwapi_Sk.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Sk.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Sk.rc (working copy) @@ -39,6 +39,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld bajtov" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " hod." IDS_TIME_INTERVAL_MINUTES " min." IDS_TIME_INTERVAL_SECONDS " s" Index: dll/win32/shlwapi/shlwapi_Sv.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Sv.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Sv.rc (working copy) @@ -39,6 +39,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld byte" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " h" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " s" Index: dll/win32/shlwapi/shlwapi_Tr.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Tr.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Tr.rc (working copy) @@ -39,6 +39,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld bytes" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " hr" IDS_TIME_INTERVAL_MINUTES " min" IDS_TIME_INTERVAL_SECONDS " sec" Index: dll/win32/shlwapi/shlwapi_Uk.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Uk.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Uk.rc (working copy) @@ -42,6 +42,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld байт" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " год" IDS_TIME_INTERVAL_MINUTES " хв" IDS_TIME_INTERVAL_SECONDS " сек." Index: dll/win32/shlwapi/shlwapi_Zh.rc =================================================================== --- dll/win32/shlwapi/shlwapi_Zh.rc (revision 56102) +++ dll/win32/shlwapi/shlwapi_Zh.rc (working copy) @@ -66,6 +66,7 @@ STRINGTABLE { IDS_BYTES_FORMAT "%ld 字節" + IDS_BYTE_NOTATION "B" IDS_TIME_INTERVAL_HOURS " 小時" IDS_TIME_INTERVAL_MINUTES " 分" IDS_TIME_INTERVAL_SECONDS " 秒" Index: dll/win32/shlwapi/string.c =================================================================== --- dll/win32/shlwapi/string.c (revision 56102) +++ dll/win32/shlwapi/string.c (working copy) @@ -1673,7 +1673,8 @@ */ LPWSTR WINAPI StrFormatKBSizeW(LONGLONG llBytes, LPWSTR lpszDest, UINT cchMax) { - static const WCHAR kb[] = {' ','K','B',0}; + static const WCHAR kb[] = {' ','k',0}; + WCHAR wszByteNotation[2]; LONGLONG llKB = (llBytes + 1023) >> 10; int len; @@ -1682,10 +1683,15 @@ if (!FormatInt(llKB, lpszDest, cchMax)) return NULL; + LoadStringW(shlwapi_hInstance, IDS_BYTE_NOTATION, wszByteNotation, 2); + len = lstrlenW(lpszDest); - if (cchMax - len < 4) + if (cchMax - len < 3 + 2) return NULL; + lstrcatW(lpszDest, kb); + lstrcatW(lpszDest, wszByteNotation); + return lpszDest; } @@ -2314,9 +2320,9 @@ static const SHLWAPI_BYTEFORMATS bfFormats[] = { - { 10*KB, 10.24, 100.0, 2, 'K' }, /* 10 KB */ - { 100*KB, 102.4, 10.0, 1, 'K' }, /* 100 KB */ - { 1000*KB, 1024.0, 1.0, 0, 'K' }, /* 1000 KB */ + { 10*KB, 10.24, 100.0, 2, 'k' }, /* 10 KB */ + { 100*KB, 102.4, 10.0, 1, 'k' }, /* 100 KB */ + { 1000*KB, 1024.0, 1.0, 0, 'k' }, /* 1000 KB */ { 10*MB, 10485.76, 100.0, 2, 'M' }, /* 10 MB */ { 100*MB, 104857.6, 10.0, 1, 'M' }, /* 100 MB */ { 1000*MB, 1048576.0, 1.0, 0, 'M' }, /* 1000 MB */ @@ -2331,7 +2337,8 @@ { 1000*PB, 1073741824.0, 1.00, 0, 'P' }, /* 1000 PB */ { 0, 10995116277.76, 100.00, 2, 'E' } /* EB's, catch all */ }; - WCHAR wszAdd[] = {' ','?','B',0}; + WCHAR wszAdd[] = {' ','?',0}; + WCHAR wszByteNotation[2]; double dBytes; UINT i = 0; @@ -2374,6 +2381,10 @@ return NULL; wszAdd[1] = bfFormats[i].wPrefix; StrCatBuffW(lpszDest, wszAdd, cchMax); + + LoadStringW(shlwapi_hInstance, IDS_BYTE_NOTATION, wszByteNotation, 2); + StrCatBuffW(lpszDest, wszByteNotation, cchMax); + return lpszDest; }