From ce84695cefe0b94078e51d550179240e34766971 Mon Sep 17 00:00:00 2001 From: Jan Zerebecki Date: Wed, 14 Jul 2010 00:12:57 +0200 Subject: [PATCH] pop fafc973c8c92ea6fa823adc8f5a7f591f01396fd --- .gitignore | 1 + ANNOUNCE | 627 +++-- VERSION | 2 +- configure | 18 +- dlls/advapi32/Makefile.in | 3 +- dlls/advapi32/crypt.c | 58 +- dlls/advapi32/tests/security.c | 64 +- dlls/appwiz.cpl/Pt.rc | 75 +- dlls/avifil32/avifile_Ko.rc | 40 +- dlls/avifil32/avifile_Pt.rc | 37 +- dlls/browseui/rsrc_Pt.rc | 13 +- dlls/comctl32/comctl_Ko.rc | 6 +- dlls/comctl32/imagelist.c | 8 +- dlls/comctl32/tests/imagelist.c | 187 +- dlls/comctl32/tests/treeview.c | 26 + dlls/comdlg32/cdlg_Ja.rc | 119 +- dlls/credui/credui_Pt.rc | 43 +- dlls/crypt32/tests/encode.c | 4 +- dlls/crypt32/tests/store.c | 10 +- dlls/d3d10/tests/effect.c | 20 +- dlls/d3dx9_36/shader.c | 2 +- dlls/d3dx9_36/tests/asm.c | 6 +- dlls/d3dxof/mszip.c | 4 +- dlls/dbghelp/cpu_x86_64.c | 2 +- dlls/ddraw/ddraw.c | 2 +- dlls/ddraw/direct3d.c | 12 +- dlls/ddraw/surface.c | 28 +- dlls/ddraw/tests/d3d.c | 110 + dlls/ddraw/tests/dsurface.c | 8 + dlls/gdi32/dc.c | 5 + dlls/gdiplus/brush.c | 52 +- dlls/gdiplus/gdiplus.spec | 10 +- dlls/gdiplus/graphics.c | 16 +- dlls/gdiplus/image.c | 33 + dlls/gphoto2.ds/Makefile.in | 2 + dlls/gphoto2.ds/{gphoto2_Ko.rc => gphoto2_Ja.rc} | 37 +- dlls/gphoto2.ds/gphoto2_Ko.rc | 10 +- dlls/gphoto2.ds/gphoto2_Pt.rc | 46 + dlls/gphoto2.ds/{gphoto2_Pt.rc => gphoto2_Ro.rc} | 35 +- dlls/hhctrl.ocx/Ja.rc | 64 + dlls/hhctrl.ocx/Makefile.in | 2 + dlls/hhctrl.ocx/Ro.rc | 63 + dlls/hlink/tests/hlink.c | 8 +- dlls/jscript/Makefile.in | 1 + dlls/jscript/jscript_Ja.rc | 51 + dlls/jscript/jscript_Pt.rc | 29 + dlls/jscript/jscript_Ro.rc | 22 +- dlls/jscript/tests/lang.js | 4 +- dlls/kernel32/Makefile.in | 1 + dlls/kernel32/computername.c | 2 +- dlls/kernel32/kernel32.spec | 4 +- dlls/kernel32/nls/ita.nls | 32 +- dlls/kernel32/nls/{winerr_plk.mc => winerr_ita.mc} | 2774 ++++++++++---------- dlls/kernel32/nls/winerr_plk.mc | 5 + dlls/kernel32/path.c | 4 + dlls/kernel32/process.c | 10 - dlls/kernel32/tests/thread.c | 4 +- dlls/krnl386.exe16/ioports.c | 2 +- dlls/localspl/Makefile.in | 1 + dlls/{sane.ds/sane_Pt.rc => localspl/spl_Ja.rc} | 27 +- dlls/mapi32/{Pt.rc => Ja.rc} | 14 +- dlls/mapi32/{Pt.rc => Ko.rc} | 14 +- dlls/mapi32/Makefile.in | 2 + dlls/mapi32/Pt.rc | 13 +- dlls/mmdevapi/audio.c | 2 +- dlls/mmdevapi/audiovolume.c | 2 +- dlls/mmdevapi/tests/capture.c | 4 +- dlls/mmdevapi/tests/dependency.c | 2 +- dlls/mmsystem.dll16/message16.c | 70 +- dlls/mmsystem.dll16/mmio16.c | 23 +- dlls/mmsystem.dll16/mmsystem.c | 79 +- dlls/mmsystem.dll16/winemm16.h | 2 +- dlls/msacm32/msacm_Pt.rc | 11 +- dlls/mshtml/Pt.rc | 53 + dlls/mshtml/htmlevent.c | 2 +- dlls/mshtml/mshtml.inf | 38 +- dlls/mshtml/tests/events.c | 52 +- dlls/mshtml/tests/htmldoc.c | 5 + dlls/msi/media.c | 12 +- dlls/msi/msi_Pt.rc | 51 +- dlls/msvcr100/msvcr100.c | 2 - dlls/msvcr100/msvcr100.spec | 8 +- dlls/msvcr70/msvcr70.spec | 2 +- dlls/msvcr71/msvcr71.spec | 2 +- dlls/msvcr80/msvcr80.spec | 8 +- dlls/msvcr90/msvcr90.spec | 8 +- dlls/msvcr90/tests/msvcr90.c | 2 +- dlls/msvcrt/dir.c | 208 ++ dlls/msvcrt/locale.c | 12 + dlls/msvcrt/msvcrt.spec | 8 +- dlls/msvcrt/tests/dir.c | 215 ++ dlls/msvcrt/tests/file.c | 2 +- dlls/msvcrt/tests/misc.c | 2 +- dlls/msvcrt/tests/string.c | 2 +- dlls/msvfw32/Makefile.in | 1 + dlls/msvfw32/msvfw32_Ro.rc | 57 + dlls/msxml3/domdoc.c | 30 +- dlls/msxml3/factory.c | 3 +- dlls/msxml3/node.c | 2 + dlls/msxml3/tests/domdoc.c | 40 + dlls/msxml3/tests/xmlelem.c | 10 + dlls/msxml3/xmlelem.c | 76 +- dlls/ntdll/error.c | 2 +- dlls/ntdll/file.c | 24 +- dlls/ntdll/server.c | 22 + dlls/ntdll/signal_i386.c | 9 +- dlls/ntdll/signal_x86_64.c | 9 +- dlls/ntdll/tests/exception.c | 15 +- dlls/oleacc/oleacc_Pt.rc | 72 + dlls/oleaut32/tests/olepicture.c | 4 +- dlls/oledlg/Makefile.in | 1 + dlls/oledlg/oledlg_Ko.rc | 23 +- dlls/oledlg/oledlg_Nl.rc | 40 +- dlls/oledlg/oledlg_Pt.rc | 55 +- dlls/oledlg/oledlg_Ro.rc | 101 + dlls/opengl32/tests/opengl.c | 2 +- dlls/psapi/tests/psapi_main.c | 21 +- dlls/sane.ds/sane_Pt.rc | 16 +- dlls/serialui/Makefile.in | 1 + dlls/serialui/Pt.rc | 9 +- dlls/serialui/Ro.rc | 45 + dlls/setupapi/Ko.rc | 6 +- dlls/setupx.dll16/setupx_main.c | 2 +- dlls/shdoclc/Ja.rc | 252 ++ dlls/shdoclc/Ko.rc | 501 ++-- dlls/shdoclc/Makefile.in | 1 + dlls/shdocvw/iexplore.c | 1 + dlls/shdocvw/tests/webbrowser.c | 6 + dlls/shdocvw/webbrowser.c | 22 +- dlls/shell32/control.c | 1 + dlls/shell32/dde.c | 6 +- dlls/shell32/shell32_Nl.rc | 50 +- dlls/shell32/tests/shellpath.c | 2 +- dlls/shell32/tests/shlexec.c | 137 + dlls/shell32/tests/shlfolder.c | 7 +- dlls/shell32/tests/shlview.c | 4 +- dlls/shlwapi/tests/ordinal.c | 6 +- dlls/shlwapi/tests/url.c | 4 +- dlls/shlwapi/url.c | 4 +- dlls/urlmon/tests/uri.c | 2 +- dlls/usbd.sys/usbd.c | 15 +- dlls/user32/dde_server.c | 59 +- dlls/user32/msgbox.c | 6 +- dlls/user32/sysparams.c | 2 +- dlls/user32/tests/dde.c | 732 ++++-- dlls/usp10/bidi.c | 2 +- dlls/usp10/tests/usp10.c | 2 +- dlls/uxtheme/buffer.c | 8 +- dlls/winealsa.drv/alsa.c | 15 - dlls/winealsa.drv/waveout.c | 12 - dlls/wined3d/glsl_shader.c | 4 +- dlls/wined3d/surface.c | 61 +- dlls/winejoystick.drv/joystick.c | 4 +- dlls/wineps.drv/afm.c | 7 +- dlls/wineps.drv/truetype.c | 2 +- dlls/wineps.drv/type1afm.c | 2 +- dlls/winex11.drv/event.c | 1 + dlls/winex11.drv/xim.c | 2 +- dlls/winex11.drv/xrender.c | 16 +- dlls/wininet/wininet_Ko.rc | 31 +- dlls/winspool.drv/Ja.rc | 45 + dlls/winspool.drv/Makefile.in | 1 + dlls/ws2_32/tests/sock.c | 18 +- include/d3dx9.h | 1 + include/msvcrt/stdlib.h | 2 + include/wincrypt.h | 20 +- loader/wine.man.in | 18 +- programs/cmd/De.rc | 2 +- programs/cmd/En.rc | 4 +- programs/cmd/Fr.rc | 4 +- programs/cmd/It.rc | 4 +- programs/cmd/Lt.rc | 4 +- programs/cmd/Nl.rc | 4 +- programs/cmd/wcmdmain.c | 7 +- programs/net/Makefile.in | 1 + programs/net/Ro.rc | 48 + programs/notepad/Pt.rc | 29 +- programs/notepad/Si.rc | 2 +- programs/notepad/Wa.rc | 1 + programs/notepad/Zh.rc | 1 + programs/progman/Pt.rc | 38 +- programs/reg/Makefile.in | 1 + programs/reg/Ro.rc | 40 + programs/regedit/Es.rc | 4 +- programs/start/Es.rc | 2 +- programs/taskmgr/Si.rc | 6 +- programs/wineboot/wineboot_No.rc | 2 +- programs/wineboot/wineboot_Si.rc | 2 +- programs/winebrowser/main.c | 18 +- programs/winecfg/Es.rc | 2 +- programs/winecfg/Ko.rc | 677 ++--- programs/winecfg/Pt.rc | 320 ++- programs/winecfg/Zh.rc | 2 +- programs/winecfg/about.c | 2 - programs/winecfg/audio.c | 47 +- programs/wineconsole/wineconsole_Es.rc | 2 +- programs/winedbg/Makefile.in | 1 + programs/winedbg/rsrc_Ro.rc | 58 + programs/winedevice/device.c | 3 +- programs/winefile/Pt.rc | 204 +- programs/winemenubuilder/winemenubuilder.c | 2 +- programs/winemine/main.c | 1 + programs/winetest/gui.c | 3 +- programs/winetest/main.c | 11 + programs/winetest/send.c | 2 + programs/winetest/winetest.h | 1 + programs/winhlp32/Es.rc | 42 +- programs/winhlp32/Nl.rc | 2 +- programs/wordpad/No.rc | 7 - programs/wordpad/Pt.rc | 183 +- programs/wordpad/Tr.rc | 124 - programs/wordpad/Zh.rc | 24 - programs/wordpad/print.c | 4 +- programs/wordpad/wordpad.c | 2 +- programs/wordpad/wordpad.h | 1 - programs/xcopy/En.rc | 6 +- programs/xcopy/Makefile.in | 1 + programs/xcopy/Ro.rc | 80 + tools/winedump/README | 2 +- tools/winegcc/winegcc.c | 2 +- tools/winemaker | 17 +- 221 files changed, 6950 insertions(+), 3724 deletions(-) rewrite ANNOUNCE (93%) copy dlls/gphoto2.ds/{gphoto2_Ko.rc => gphoto2_Ja.rc} (62%) copy dlls/gphoto2.ds/{gphoto2_Pt.rc => gphoto2_Ro.rc} (62%) create mode 100644 dlls/hhctrl.ocx/Ja.rc create mode 100644 dlls/hhctrl.ocx/Ro.rc create mode 100644 dlls/jscript/jscript_Ja.rc copy dlls/kernel32/nls/{winerr_plk.mc => winerr_ita.mc} (61%) copy dlls/{sane.ds/sane_Pt.rc => localspl/spl_Ja.rc} (62%) copy dlls/mapi32/{Pt.rc => Ja.rc} (70%) copy dlls/mapi32/{Pt.rc => Ko.rc} (73%) create mode 100644 dlls/msvfw32/msvfw32_Ro.rc create mode 100644 dlls/oledlg/oledlg_Ro.rc create mode 100644 dlls/serialui/Ro.rc create mode 100644 dlls/shdoclc/Ja.rc rewrite dlls/shdoclc/Ko.rc (76%) create mode 100644 dlls/winspool.drv/Ja.rc create mode 100644 programs/net/Ro.rc create mode 100644 programs/reg/Ro.rc rewrite programs/winecfg/Ko.rc (70%) create mode 100644 programs/winedbg/rsrc_Ro.rc create mode 100644 programs/xcopy/Ro.rc diff --git a/.gitignore b/.gitignore index 7ea85a64447..ba6b9be059c 100644 --- a/.gitignore +++ b/.gitignore @@ -57,6 +57,7 @@ dlls/kernel32/nls/winerr_dan.mc.rc dlls/kernel32/nls/winerr_deu.mc.rc dlls/kernel32/nls/winerr_enu.mc.rc dlls/kernel32/nls/winerr_fra.mc.rc +dlls/kernel32/nls/winerr_ita.mc.rc dlls/kernel32/nls/winerr_jpn.mc.rc dlls/kernel32/nls/winerr_kor.mc.rc dlls/kernel32/nls/winerr_lth.mc.rc diff --git a/ANNOUNCE b/ANNOUNCE dissimilarity index 93% index 34b32e92f8f..876e26e7f0a 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,283 +1,344 @@ -The Wine development release 1.2-rc4 is now available. - -What's new in this release (see below for details): - - Many translation updates. - - A lot of bug fixes. - -The source is available from the following locations: - - http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.2-rc4.tar.bz2 - http://prdownloads.sourceforge.net/wine/wine-1.2-rc4.tar.bz2 - -Binary packages for various distributions will be available from: - - http://www.winehq.org/site/download - -You will find documentation on http://www.winehq.org/site/documentation - -You can also get the current source directly from the git -repository. Check http://www.winehq.org/site/git for details. - -Wine is available thanks to the work of many people. See the file -AUTHORS in the distribution for the complete list. - ----------------------------------------------------------------- - -Bugs fixed in 1.2-rc4: - - 4813 Haegemonia crashes on startup - 7893 cubloc locks up when you choose 'run' - 9136 Hitman 4: PostProcessing\Blur artefacts - 9140 Can not install AutoCad 2006 - 9320 No applications inside virtual desktop get properly focused and activated - 9579 Window doesnt redraw after restoring - 10142 Switching workspaces/desktops can make some application windows disappear - 10558 Srim 2006 does not work - 11028 Cannot type into IMVU chat window after it first loses focus. - 11548 Coastal Explorer launches but has no toolbar or menus - 11661 Confusing error message when executing application on noexec fs - 11933 Alien Shooter 2 demo crashes on exit when playing at 1024x768 - 12752 Zak McKracken - Between Time and Space aborts after game loading screen - 13007 ADIsimPLL: crashes after the "tip-of-the-day" dialog is closed - 13064 AfterEffects 7 tryout crashes on startup, needs GDI32.dll.CreateFontIndirectExW - 13402 rendering glitches in fr-030 candytron party - 13423 Firefox unusable when computer loaded down [dogfood] - 13438 Eudora 7.1.0.9: printing garbled after first half page - 14097 Zak McKracken - Between Time and Space mp3 problem - 14557 Sins of a solar empire straddles both monitors in xinerama mode - 15010 Peggle Deluxe and Peggle Extreme: black screen with 3D hardware acceleration - 15012 Thunder:crashes when click the resume(开始) button to continue the task.Also EXCEPTION_ACCESS_VIOLATION error. - 15099 Bionic Commando Rearmed wont run - 15284 Direct3D output is at half the frame rate of OpenGL output in WinUAE - 15452 Freewire aborts due to incorrect handling of COLORRES nIndex in winex11's GetDeviceCaps() - 15819 BeyondCompare hangs when restoring window or changing desktops - 15884 Tooltips displayed in mIRC when windows are minimized - 15941 Mount & Blade crashes with 'Unable to create render target texture' - 16380 Program manager window appears unexpectedly - 17275 Aquamark 3 crashes at end after failing to access VIDEOPRT.SYS - 17311 REDCINE: Application crash at startup - 17697 SNetTerm won't start - 17778 WinPolis drawing errors - 17992 fixme:d3d error, screen is broken, and then flips forever - 18596 AOL Instant Messenger 6.9 exits silently - 18615 Motocross Madness 2: upside down display as mouse moves over button - 18934 Free PDF to Word Doc converter's installer reports wrong ClassNN (appinstall) - 19128 UseGLSL=disabled stops FIFA WM 2006 with vertex shader error - 19316 winecfg.exe: cannot access the 'Audio' Tab - 19507 Harry Potter a. t. Half-Blood Prince Demo Installer in infinite loop - 19573 Adobe CS4 installer's Quit button doesn't do anything - 19624 winspool.drv needs to properly handle local printer server config data queries (XPSEPSC update/installer) - 19628 Muziic reports an error and exits - 20499 Bottom part is not visible in windows with custom-drawn title bar - 20666 Garmin WebUpdater install screen (nearly) empty - 21156 Add torrents in webUI with µTorrent >= 2.0 doesn't work - 21181 Wine does not compile on Cygwin - 21402 Microsoft GIF Animator fails to install correctly - 21526 several programs fail to compile under cygwin - 21534 TF2 stops when pushing on the key : "Display multiplayer scores" (tab key by default) - 21609 Multiple games loose most sound effects or crash - 21844 Homeworld 2: no sound - 21865 Homeworld 2 crashes - 21982 DPC Latency Checker barfs loading its driver - 22148 Mount & Blade crashes after intro video - 22289 Cannot find -lmsvcrt on a msvcr90 test under Cygwin - 22595 Zwinky install fails - 22686 VectorWorks 11.5 shows icons in toolbars on mouseover only - 22725 Entering two columns of numerical data in Excel 2003 leads to crash - 22811 Graphical rendering problem in cad program - 22824 Guitar Pro 5 - window disappears after minimizing - 22941 New behaviour of wineconsole (Alt+F4 emulation by [x] button pressing) causes problems with FAR manager - 22952 Babaschess, invisible text on black background input text box - 22979 winhelp: Gets stuck in infinite loop loading some help files - 23054 WinHEX: Cannot open website link in help - 23092 FL Studio built-in file browser fails with long pathnames and/or long filenames - 23116 No sound inDawn Of War - Soulstorm Demo - 23130 MSVCR100.dll fails to initialize, needs kernel32.RtlPcToFileHeader - 23143 SlingPlayer 2 unable to remember password - 23200 cygwin build broken in dlls/ws2_32/tests/sock.c - 23202 Cyberboard Player has missing disabled icons on menubar - 23206 Print output from builtin notepad lacks spaces - 23231 Cannot close window in the background by pressing the Close button of that window - ----------------------------------------------------------------- - -Changes since 1.2-rc3: - -Alexander Scott-Johns (2): - msvcrt/tests: Rename a variable. - include/msvcrt: Update a bit. - -Alexandre Julliard (21): - atl: Fix parsing of extended dialog templates. - atl: Implemented AtlCreateTargetDC. - krnl386: Defined the SMapLS/UnMapLS_IP_EBP functions explicitly to make life easier for winapi_check. - shell32: Create a 32-bpp image list to get alpha blended icons. - appwiz.cpl: Create a 32-bpp image list to get alpha blended icons. - winecfg: Fix pointer truncation in audio setup. - winegcc: Add explicit support for the Cygwin platform. - include: Define the SPLREG winspool string constants. - ntdll: Make the DOS area accessible even when not using it to hide bugs in broken apps. - winedevice: Fix up protections before writing to the NT header. - winegcc: Load the Unicode argv dynamically from the generated stub. - ws2_32/tests: Reorder includes so that winsock.h is included before system headers. - wrc: Avoid use of toupper/isupper on signed chars. - user32: Don't try to alpha blend icons when drawing to a monochrome device. - ntdll: Print a warning when failing to set execute permissions on a section. - user32/tests: Expand the DCX_NORESETATTR test to make sure we check the correct DC. - user32/tests: Ignore repeat key flag that causes occasional failures on Windows. - user32/tests: Fix some class tests that behave differently on WoW64. - shell32: Flesh out the stub DDE query for Progman groups a little. - gdi32: Fix the sign of the vertical text position in ExtTextOutW. - user32: Destroy the unused buttons in a message box instead of only hiding them. - -Andrew Nguyen (16): - msxml3: Add proper skips when msxml3 DOM interfaces are unavailable. - msxml3: Ignore the encoding attribute when loading a new XML document in IXMLDOMDocument::loadXML. - msxml3/tests: Correct the sense of a few test failure messages. - winex11.drv: Report a non-zero COLORRES capability value. - setupapi: Avoid useless initializations in SetupIterateCabinetA/W. - setupapi: Validate the cabinet filename parameter in SetupIterateCabinetA. - setupapi: Validate the cabinet filename parameter in SetupIterateCabinetW. - setupapi/tests: Add tests to show that SetupIterateCabinet handles callback exceptions on newer Windows. - setupapi/tests: Add simple enumeration tests for SetupIterateCabinetA. - setupapi/tests: Add simple enumeration tests for SetupIterateCabinetW. - setupapi: Exhaustively test the invalid parameter handling of SetupDecompressOrCopyFileA. - setupapi: Only extract the first MSZIP cabinet file in SetupDecompressOrExtractFile. - setupapi: Add a few traces for SetupDecompressOrCopyFileW. - ntdll/tests: Add tests to examine output file part pointer behavior for RtlGetFullPathName_U. - kernel32/tests: Add tests to examine output file part pointer behavior for GetFullPathNameA. - kernel32/tests: Add tests to examine output file part pointer behavior for GetFullPathNameW. - -André Hentschel (3): - propsys: Mention that the functions are stubs. - winegcc: Add detection for --param options. - winemaker: Avoid setting variable to an uninitialized value. - -Aric Stewart (3): - usp10/tests: Having numbers in the ScriptStringXtoCP tests causes unpredictable behavior. - usp10/tests: Remove a test for a bug corrected in later versions of usp10. - usp10/tests: Windows 95 does not set invalid glyphs to 0 but instead 0x80. - -Damjan Jovanovic (3): - kernel32: Revert 3f1404bf29676d79dd76ffd31e2630bb9f2b0b60 and add better CopyFile tests. - kernel32: Add a CopyFile test. - kernel32: Stop CopyFile from overwriting a file with itself. - -Detlef Riekenberg (7): - msvcr7x: Sync exports to msvcrt. - msvcr100: Sync exports to msvcr90. - msvcr80: Sync exports to msvcr90. - winspool: Support the spooler in GetPrinterData. - winspool/tests: Test GetPrinterData/Ex for the print spooler. - winspool: Return ERROR_MORE_DATA, when the app probe for the needed buffer size. - winspool/tests: Handle the Windows bug in GetPrinterDataEx. - -Dylan Smith (1): - wordpad: Fix failing GetDlgItem that forced screen repaint. - -Eric Pouech (4): - winhelp: Fix trailing space in window name for JumpID macro. - winhelp: Avoid accessing a window in global window list after it has been freed. - winhelp: When following a link, don't do it into a popup, but its parent. - winmm: Only compute dwFileSize for MMIO objects with a DOS ioproc. - -Hans Leidekker (3): - propsys: Return success from PSRegisterPropertySchema. - msi: Don't trace the contents of an output buffer. - msi: Add tests for MsiLocateComponent and make them pass. - -Henri Verbeet (3): - winealsa.drv: Add some missing newlines. - ntdll: The FPU control word for newly created threads is 0x27f. - ddraw: Register / unregister the ddraw window class from DllMain(). - -Huw Davies (1): - wineps.drv: Don't return an error for empty glyphs. - -Igor Paliychuk (3): - localui: Add Ukrainian translations. - iccvid: Add Ukrainian translations. - localspl: Add Ukrainian translations. - -Jacek Caban (5): - shobjidl.idl: Added INewWindowManager declaration. - docobj.idl: Added OLECMDID_UPDATETRAVELENTRY_DATARECOVERY declaration. - mshtml: Don't crash in on_start_uri_open on nscontainer without associated document. - shdocvw: Silence QueryService traces in non-interactive runs. - mshtml: Added IHTMLWindow2::open test. - -Jose Rostagno (2): - localui: Add Spanish translation. - notepad: Update Spanish translation. - -Juan Lang (5): - crypt32: Add support for szCERT_STORE_PROV_PKCS7 to CertOpenStore. - crypt32/tests: Test opening serialized stores. - crypt32: Terminate reading a serialized store upon reading an empty property. - crypt32: Increment current pointer on successful reads from memory. - crypt32: Add support for CERT_STORE_PROV_SERIALIZED to CertOpenStore. - -Jörg Höhle (1): - mmsystem: Log MCI command name again. - -Luca Bennati (3): - cryptui: Add Italian translation. - crypt32: Add Italian translation. - oleacc: Add Italian translation. - -Marcus Meissner (1): - atl: Also handle struct sizes for 64bit. - -Michael Stefaniuc (7): - mapi32: The Portuguese translation is in UTF-8. - wordpad: Remove untranslated resources from the Hungarian translation. - wordpad: "Fix" two errors in the Chinese translations. - notepad: Fix an error in the Czech translation. - notepad: Fix an error in the Portuguese (Brazil) translation. - notepad: Fix an error in the Bulgarian translation. - jscript: Add the Romanian translation. - -Nikolay Sivov (5): - gdi32: Add CreateFontIndirectEx implementation. - kernel32: Export RtlPcToFileHeader on x86-64 platform. - msxml3: Avoid SysStringLen() testing for an empty string in ::createNode(). - msxml3: Use defined macros to access internal XPath structures. - winhlp32: Added missed Russian resource. - -Paul Chitescu (2): - winex11.drv: Post a WM_SYSCOMMAND SC_CLOSE when the window manager asks to close a window. - user32: Use a safer method of freeing user handles to prevent zeroing out a newly allocated handle. - -Paul Vriens (1): - user32: Add another flag to the TRACE(). - -Piotr Caban (1): - atl: Pass correct arguments to fuctions executed by AtlInternalQueryInterface. - -Ricardo Filipe (6): - jscript: Update Portuguese Portugal translation. - shell32: Update Portuguese Portugal translation. - wineboot: Update Portuguese Portugal translation. - winecfg: Update Portuguese Portugal translation. - wordpad: Update Portuguese Portugal translation. - mapi32: Add Portuguese Portugal translation. - -Rico Schüller (1): - wined3d: Improve fglrx glsl spam filter. - -Roderick Colenbrander (1): - wined3d: Add NPOT quirk for GeforceFX 5200. - -Sven Baars (2): - wldap32: Fix Dutch translation. - oleacc: Fix Dutch translation. - -Vitaly Lipatov (1): - Update Russian translations. - -Łukasz Wojniłowicz (1): - winhlp32: Update the Polish translation. - --- -Alexandre Julliard -julliard@winehq.org +The Wine development release 1.2-rc5 is now available. + +What's new in this release (see below for details): + - Many translation updates. + - A lot of bug fixes. + +The source is available from the following locations: + + http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.2-rc5.tar.bz2 + http://prdownloads.sourceforge.net/wine/wine-1.2-rc5.tar.bz2 + +Binary packages for various distributions will be available from: + + http://www.winehq.org/site/download + +You will find documentation on http://www.winehq.org/site/documentation + +You can also get the current source directly from the git +repository. Check http://www.winehq.org/site/git for details. + +Wine is available thanks to the work of many people. See the file +AUTHORS in the distribution for the complete list. + +---------------------------------------------------------------- + +Bugs fixed in 1.2-rc5: + + 3756 ATMEL AVRStudio4 crash + 8665 winecfg: please do not remove not-present directories + 11188 Most attempts to save in Warcraft III 1.21a Reign of Chaos crash the game + 12973 QIP: Does not work + 13028 winetest's Stop button does not work + 13891 start.exe http://someurl/ does not work (affects any app that invokes external browser, e.g. Google Sketchup) + 14319 When running Call of Duty 2, the text in the main game menu is blocky and unreadable. + 14554 FLSynthmaker menus show up on the wrong screen in Xinerama mode + 15567 Navision 4.0 sp2 stoped to work when wine upgraded to version 1.1.5 + 15728 star wars force commander graphics are blocky + 16001 Quicken crashes when attempting to load files. + 16342 Songbird can't play music files + 16368 installer need access to My Documents + 16670 Angry Planet Temper (app does not start) starting problems give some dll differences + 18314 The Witcher: Launcher window invisible (taskbar enty appears) + 18450 EVE Online crashes + 18710 Installer omits question because of langid + 18808 Microsoft FlightSimulator 9 (2004): surface errors and missing textures + 19154 Recent Blizzard Downloader crashing during download + 19394 Quicken 2007 Basic Crashes on file load + 19419 EVE Online crashes when loading Caldari station environment + 20084 winetricks -q controlpad fails + 20145 DrawIconEx() doesn't draw 1 bpp monochrome Icons correctly + 20155 FlatOut 2 - some UI elements shown as transparent white instead of correct color + 20698 FlatOut 2 - Screen is rendered as black (HUD and menus are working) + 20816 Civilization II crashes on startup when sound is enabled in Wine + 20821 Fusion Sega emulator renders content misplaced + 20848 Pumuckl: regained sound but crashes at start (16bit mm) + 21125 Asteroids game crashes when sound is enabled + 21498 Metatrader 4: window gets lost after minimize + 21509 Windows 7 SDK aborts on startup because of unimplemented gdiplus.GdipGetImageThumbnail + 21962 Call of Duty 4 crashes + 22003 Napoleon: Total War demo has no sound + 22311 PlayOnline viewer corrupts terminal console + 22684 Jedi Knight: Dark Forces II screen flips when picking up an item + 22685 unimplemented function msvcr90.dll._wmakepath_s (affects Spiceworks) + 22897 Mouse cursor is damaged when DCOM98 is used + 22990 Lotus Organizer and Word Pro will not print + 23025 D-Pad is not functional in epsxe + 23112 flash player install crashes + 23169 GeForce FX: Extremely low performance with NPOT textures + 23171 Adobe CS4 installer causes a page fault + 23201 Motocross Madness 2 crashes at start (d3d) + 23238 Repton 3: crashes when viewing map (unhandled page fault on write) + 23241 Icons are blacked out/blank in some Altium Designer 2009 GUI elements + 23242 Windows Platform SDK 2003 installer crashes + 23263 Moon Tycoon gets stuck in loop saying No Direct3D / Switching to software rasterizer. + 23274 Jedi Knight: Dark Forces II screen blue-tearing when picking up an item + 23306 AOE III: Polish patch v1.13 fails to apply + 23314 cmd treats all command lines with '/?' as builtin commands + +---------------------------------------------------------------- + +Changes since 1.2-rc4: + +Akihiro Sagawa (9): + hhctrl.ocx: Add Japanese translation. + comdlg32: Update Japanese translation. + gphoto2.ds: Add Japanese translation. + mapi32: Add Japanese translation. + localspl: Update Japanese translation. + shdoclc: Add Japanese translation. + winspool.drv: Add Japanese translation. + jscript: Add Japanese translation. + shdoclc: Fix Japanese translation. + +Alessandro Pignotti (1): + winedevice: Use 64-bit wide delta when relocating. + +Alexandre Julliard (20): + hlink/tests: Comment out a test for an uninitialized return value. + ntdll: Fix the initial FPU control word on 64-bit. + shell32/tests: Use the windows directory for the SHParseDisplayName test to avoid ambiguous namings. + user32: Fallback to English in MessageBoxIndirect if the specified language is not supported. + advapi32: Make rpcrt4 a delayed import to work around circular dependencies with native. + ntdll: Fix the initial FPU control word on 32-bit too. + jscript/tests: Fix a test that fails because of the reduced FPU precision. + psapi/tests: Fix the working set tests for Wow64. + ntdll/tests: Fix some exception tests for Wow64. + kernel32: Add the TlsAlloc/FreeInternal entry points. + user32/tests: Add more systematic tests to validate the DDE client-side A<->W conversions. + user32/tests: Fix some DDE test failures on Win9x. + kernel32: Avoid returning the same name when GetTempFileName is called twice in a short interval. + ntdll: Add a WINEARCH environment variable that allows forcing a specific 32- or 64-bit architecture. + user32/tests: Restructure the DDE end-to-end tests to make it easier to add new cases. + user32/tests: Add some Unicode test cases for A/W mappings. + user32/tests: Fix more DDE test failures on Win9x. + user32: Add a heuristic for Unicode mappings of DDE data on the server side. + Revert "winebrowser: Convert URL obtained through DdeGetData to Unicode." + shell32: Fix DDE command tracing now that we are receiving Unicode. + +Andrew Nguyen (6): + ddraw: Validate structure pointers and sizes in IDirect3D3::FindDevice. + ddraw: Allow the ddraw RGB device to be enumerated in IDirect3D3::FindDevice. + ddraw/tests: Add an observation regarding device color model criteria for IDirect3D3::FindDevice. + msvcrt: Implement _makepath_s. + msvcrt: Implement _wmakepath_s. + gdiplus: Add a few additional traces to gdiplus image functions. + +Andrey Turkin (1): + ntdll: Fix race in NtRead/WriteFile. + +André Hentschel (13): + winedump: Update README. + cmd: Update German translation. + user32: Update comment. + krnl386.exe16: Update a comment. + winemaker: Ignore the Global section. + winemaker: Ignore files not found by the search function. + winemaker: Warn on include path starting with drive letter. + winemaker: Don't use deprecated -mcpu option. + uxtheme: Quiet a noisy fixme. + winetest: Implement aborting. + kernel32: Update a warning. + wineps.drv: Update comments. + winetest: Also abort while sending. + +Aric Stewart (2): + winex11.drv: Make UploadGlyph fallback to notdef and space so as to not fail. + shlwapi: URL_FILE_USE_PATHURL flag only unescapes file urls in UrlCanonicalize. + +Aurimas Fišeras (1): + cmd: Update Lithuanian translation. + +Dmitry Timoshkov (1): + comctl32: Add a bunch of imagelist storage tests, make them pass under Wine. + +Dylan Smith (5): + winemine: Native RegisterClassEx requires cbSize to be set. + shell32: Native RegisterClassEx requires cbSize to be set. + shdocvw: Native RegisterClassEx requires cbSize to be set. + wordpad: Remove untranslated resources from the Chinese translation. + wordpad: Use correct resource ID for tab stops dialog. + +Eric Pouech (2): + mmsystem.drv: Always map parameters for all callback kinds. + mmsystem.drv: Always create a thunk for MMIO objects. + +Florian Köberle (1): + comctl32/tests: Test calculating the rect of a child item while handling TVN_ITEMEXPANDED. + +Francois Gouget (27): + crypt32/tests: Add a trailing '\n' to ok() calls. + d3d10/tests: Add a trailing '\n' to ok() calls. + msvcrt/tests: Add a trailing '\n' to an ok() call. + opengl32/tests: Add a trailing '\n' to a skip() call. + usp10/tests: Add a trailing '\n' to an ok() call. + msvcrt/tests: Make test_dup2() static. + shlwapi/tests: Make the XXX_Construct() functions static. + ntdll: Fix a typo in a parameter name. + ws2_32/tests: Fix a typo in a variable name. + msvcr90/tests: Make test_invalid_parameter_handler() static. + winemenubuilder: Add a trailing '\n' to a FIXME() call. + msvcr100: The msvcr100 debug channel is unused so remove it. + mmdevapi/tests: Add a trailing '\n' to an ok() call. + wined3d: Remove spaces after '\n's. + shell32/tests: Make I{DataObject,ShellBrowser}Impl_Construct() static. + d3dxof: Make fdi_{alloc,free}() static. + d3dx9_36: Make assemble_shader() static. + gdiplus: Make measure_ranges_callback() static. + wordpad: Make print_preview() and preview_page_hittest() static. + kernel32: GetProcessDword() is unused so remove it. + usbd.sys: Fix the test for type control endpoints. + winecfg: The winecfg debug channel is unused so remove it. + programs: Remove spaces before '\n's in the resources. + winhlp32: Remove a space before an ellipsis in the Dutch translation. + wineboot: Remove a space before an ellipsis in the Norwegian (Bokmal) translation. + programs: Add a space before ellipses in the Slovenian translation. + Assorted typo and spelling fixes. + +Frédéric Delanoy (2): + cmd: Initial PATH value taken from registry, not wine.conf. + cmd: Update French translation. + +Gustavo Henrique Milaré (21): + winecfg: Update Portuguese translation. + wordpad: Update Portuguese translation. + browseui: Update Portuguese (Brazilian) translation. + appwiz.cpl: Update Portuguese translation. + notepad: Fix Portuguese translation. + credui: Update Portuguese (Brazilian) translation. + avifil32: Update Portuguese (Brazilian) translation. + wordpad: Fix Portuguese translation. + notepad: Update Portuguese (Brazilian) translation. + winefile: Update Portuguese translation. + progman: Update Portuguese translation. + gphoto2.gs: Update Portuguese (Brazilian) translation. + jscript: Update Portuguese (Brazilian) translation. + mapi32: Update Portuguese (Brazilian) translation. + msacm32: Update Portuguese (Brazilian) translation. + mshtml: Updated Portuguese (Brazilian) translation. + oledlg: Update Portuguese (Brazilian) translation. + msi: Update Portuguese (Brazilian) translation. + oleacc: Update Portuguese (Brazilian) translation. + sane.ds: Update Portuguese (Brazilian) translation. + serialui: Fix Portuguese (Brazilian) translation. + +Hans Leidekker (1): + msi: Avoid a crash when the cabinet file must be downloaded. + +Henri Verbeet (2): + wined3d: read_from_framebuffer_texture() isn't suitable for readback of onscreen surfaces. + ddraw: Avoid an integer overflow in IDirectDrawSurfaceImpl_BltFast(). + +Hwang YunSong (9): + comctl32: Update Korean resource. + gphoto2.ds: Update Korean resource. + oledlg: Update Korean resource. + setupapi: Update Korean resource. + shdoclc: Update Korean resource. + winecfg: Update Korean resource. + wininet: Update Korean resource. + avifil32: Update Korean resource. + mapi32: New Korean resource. + +Ilya Basin (1): + shell32/tests: SHELL_ArgifyW(%2|%*|%~3, ...) tests. + +Jacek Caban (4): + mshtml: Fixed event tests. + mshtml: Check if event_table entry is allocated before using it in remove_event_handler. + shdocvw: Return IHTMLDocument2's IDispatch in get_Document. + mshtml: Use correct iexplore.exe path in mshtml.inf. + +Jose Rostagno (5): + wineconsole: Fix Spanish translation. + winecfg: Fix Spanish translation. + start: Fix Spanish translation. + regedit: Fix Spanish translation. + winhlp32: Fix Spanish translation. + +Juan Lang (1): + wincrypt.h: Remove duplicate definitions. + +Jörg Höhle (2): + winealsa: Only linear PCM is supported. + mmsystem: Handle WAVE_FORMAT_QUERY case. + +Ken Thomases (1): + winex11: Allow setting focus on active window, if no focus window. + +Luca Bennati (2): + kernel32: Update Italian translation. + cmd: Update Italian translation. + +Maarten Lankhorst (1): + winecfg: Only initialise the audio drivers once. + +Marko Nikolic (2): + advapi32/tests: Fixed -Wsign-compare warnings in security tests. + advapi32/tests Fixed test macro in ConvertSecurityDescriptorToString. + +Matteo Bruni (1): + wined3d: Check for error conditions in GL call. + +Michael Stefaniuc (17): + wordpad: "Fix" an error in the Norvegian translation. + wordpad: Remove untranslated resources from the Turkish translation. + winecfg: Fix an error in the Chinese (Traditional) translation. + xcopy: Add the Romanian translation. + xcopy: Update the English resource. + cmd: Don't treat all command lines with '/?' as builtin commands. + serialui: Add the Romanian translation. + hhctrl.ocx: Add the Romanian translation. + gphoto.ds: Add the Romanian translation. + net: Add the Romanian translation. + notepad: Fix an error in the Wallon resource. + notepad: Fix an error in the Chinese (Simplified) resource. + msvfw32: Add the Romanian translation. + oledlg: Add the Romanian translation. + jscript: Update the Romanian translation. + reg: Add the Romanian translation. + winedbg: Add the Romanian translation. + +Misha Koshelev (1): + include: Include d3dx9shape.h in d3dx9.h. + +Nikolay Sivov (10): + msxml3: Don't force parser encoding when loading from file. + msxml3: Support xml:lang attribute in IXMLElement::getAttribute(). + msxml3: Don't crash on null pointer when doing ::Next() on a last child. + msxml3: Extend traces for inc/dec refs on libxml2 documents. + msxml3: Properly free namespace structure pointer. + msxml3: Use vtable macros consistently, depending on pointer type. + msxml3: Silence a warning in ::get_baseName() for document nodes. + msxml3: Accept CLSID_FreeThreadedDOMDocument30 in class factory. + msxml3: Don't free namespace data tracked in a tree. + msxml3/tests: A test to show difference in XPath and XSLPattern for node position. + +Paul Chitescu (1): + gdi32: If driver is missing claim vectorial fonts are supported so GDI fonts (freetype) are used. + +Peter Davies (1): + winegcc: Enable the use of gcov and PGO. + +Piotr Caban (1): + msvcrt: Added __crtLCMapStringW partial implementation. + +Sven Baars (3): + cmd: Update Dutch translation. + oledlg: Fix Dutch translation. + shell32: Fix Dutch translation. + +Vincent Povirk (6): + gdiplus: Stub GdipGetRenderingOrigin. + gdiplus: Stub GdipGetLineTransform. + gdiplus: Stub GdipMultiplyLineTransform. + gdiplus: Stub GdipGetPathGradientCenterColor. + gdiplus: Always create path gradient brushes with blend positions. + gdiplus: Stub GdipGetEncoderParameterListSize. + +Łukasz Wojniłowicz (1): + kernel32: Update the Polish translation. + +-- +Alexandre Julliard +julliard@winehq.org diff --git a/VERSION b/VERSION index 653dbe8a26e..c98ff9d9186 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Wine version 1.2-rc4 +Wine version 1.2-rc5 diff --git a/configure b/configure index 078bb4d7e54..c8f96fac892 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for Wine 1.2-rc4. +# Generated by GNU Autoconf 2.65 for Wine 1.2-rc5. # # Report bugs to . # @@ -552,8 +552,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Wine' PACKAGE_TARNAME='wine' -PACKAGE_VERSION='1.2-rc4' -PACKAGE_STRING='Wine 1.2-rc4' +PACKAGE_VERSION='1.2-rc5' +PACKAGE_STRING='Wine 1.2-rc5' PACKAGE_BUGREPORT='wine-devel@winehq.org' PACKAGE_URL='http://www.winehq.org' @@ -1367,7 +1367,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Wine 1.2-rc4 to adapt to many kinds of systems. +\`configure' configures Wine 1.2-rc5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1436,7 +1436,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Wine 1.2-rc4:";; + short | recursive ) echo "Configuration of Wine 1.2-rc5:";; esac cat <<\_ACEOF @@ -1580,7 +1580,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Wine configure 1.2-rc4 +Wine configure 1.2-rc5 generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2100,7 +2100,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Wine $as_me 1.2-rc4, which was +It was created by Wine $as_me 1.2-rc5, which was generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -15445,7 +15445,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Wine $as_me 1.2-rc4, which was +This file was extended by Wine $as_me 1.2-rc5, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15516,7 +15516,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Wine config.status 1.2-rc4 +Wine config.status 1.2-rc5 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" diff --git a/dlls/advapi32/Makefile.in b/dlls/advapi32/Makefile.in index a3d0efca33d..d880360b56d 100644 --- a/dlls/advapi32/Makefile.in +++ b/dlls/advapi32/Makefile.in @@ -5,7 +5,8 @@ SRCDIR = @srcdir@ VPATH = @srcdir@ MODULE = advapi32.dll IMPORTLIB = advapi32 -IMPORTS = rpcrt4 kernel32 ntdll +IMPORTS = kernel32 ntdll +DELAYIMPORTS = rpcrt4 EXTRALIBS = @SECURITYLIB@ C_SRCS = \ diff --git a/dlls/advapi32/crypt.c b/dlls/advapi32/crypt.c index bb019d04608..4235e8373cc 100644 --- a/dlls/advapi32/crypt.c +++ b/dlls/advapi32/crypt.c @@ -284,40 +284,30 @@ static void CRYPT_CreateMachineGuid(void) r = RegQueryValueExW(key, machineGuidW, NULL, NULL, NULL, &size); if (r == ERROR_FILE_NOT_FOUND) { - static const WCHAR rpcrt4[] = { - 'r','p','c','r','t','4',0 }; - HMODULE lib = LoadLibraryW(rpcrt4); - - if (lib) - { - RPC_STATUS (RPC_ENTRY *pUuidCreate)(UUID *); - UUID uuid; - WCHAR buf[37]; - RPC_STATUS rs; - static const WCHAR uuidFmt[] = { - '%','0','8','x','-','%','0','4','x','-', - '%','0','4','x','-','%','0','2','x', - '%','0','2','x','-','%','0','2','x', - '%','0','2','x','%','0','2','x', - '%','0','2','x','%','0','2','x', - '%','0','2','x',0 }; - - pUuidCreate = (void *)GetProcAddress(lib, "UuidCreate"); - rs = pUuidCreate(&uuid); - if (rs == S_OK) - { - sprintfW(buf, uuidFmt, - uuid.Data1, uuid.Data2, uuid.Data3, - uuid.Data4[0], uuid.Data4[1], - uuid.Data4[2], uuid.Data4[3], - uuid.Data4[4], uuid.Data4[5], - uuid.Data4[6], uuid.Data4[7] ); - RegSetValueExW(key, machineGuidW, 0, REG_SZ, - (const BYTE *)buf, - (lstrlenW(buf)+1)*sizeof(WCHAR)); - } - FreeLibrary(lib); - } + UUID uuid; + WCHAR buf[37]; + RPC_STATUS rs; + static const WCHAR uuidFmt[] = { + '%','0','8','x','-','%','0','4','x','-', + '%','0','4','x','-','%','0','2','x', + '%','0','2','x','-','%','0','2','x', + '%','0','2','x','%','0','2','x', + '%','0','2','x','%','0','2','x', + '%','0','2','x',0 }; + + rs = UuidCreate(&uuid); + if (rs == S_OK) + { + sprintfW(buf, uuidFmt, + uuid.Data1, uuid.Data2, uuid.Data3, + uuid.Data4[0], uuid.Data4[1], + uuid.Data4[2], uuid.Data4[3], + uuid.Data4[4], uuid.Data4[5], + uuid.Data4[6], uuid.Data4[7] ); + RegSetValueExW(key, machineGuidW, 0, REG_SZ, + (const BYTE *)buf, + (lstrlenW(buf)+1)*sizeof(WCHAR)); + } } RegCloseKey(key); } diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c index 029568c50a0..2b14ae5a991 100644 --- a/dlls/advapi32/tests/security.c +++ b/dlls/advapi32/tests/security.c @@ -656,7 +656,7 @@ static void test_lookupPrivilegeValue(void) { "SeCreateGlobalPrivilege", SE_CREATE_GLOBAL_PRIVILEGE }, }; BOOL (WINAPI *pLookupPrivilegeValueA)(LPCSTR, LPCSTR, PLUID); - int i; + unsigned int i; LUID luid; BOOL ret; @@ -913,13 +913,13 @@ static void test_AccessCheck(void) /* SD without owner/group */ SetLastError(0xdeadbeef); - Access = AccessStatus = 0xdeadbeef; + Access = AccessStatus = 0x1abe11ed; ret = AccessCheck(SecurityDescriptor, Token, KEY_QUERY_VALUE, &Mapping, PrivSet, &PrivSetLen, &Access, &AccessStatus); err = GetLastError(); ok(!ret && err == ERROR_INVALID_SECURITY_DESCR, "AccessCheck should have " "failed with ERROR_INVALID_SECURITY_DESCR, instead of %d\n", err); - ok(Access == 0xdeadbeef && AccessStatus == 0xdeadbeef, + ok(Access == 0x1abe11ed && AccessStatus == 0x1abe11ed, "Access and/or AccessStatus were changed!\n"); /* Set owner and group */ @@ -930,50 +930,50 @@ static void test_AccessCheck(void) /* Generic access mask */ SetLastError(0xdeadbeef); - Access = AccessStatus = 0xdeadbeef; + Access = AccessStatus = 0x1abe11ed; ret = AccessCheck(SecurityDescriptor, Token, GENERIC_READ, &Mapping, PrivSet, &PrivSetLen, &Access, &AccessStatus); err = GetLastError(); ok(!ret && err == ERROR_GENERIC_NOT_MAPPED, "AccessCheck should have failed " "with ERROR_GENERIC_NOT_MAPPED, instead of %d\n", err); - ok(Access == 0xdeadbeef && AccessStatus == 0xdeadbeef, + ok(Access == 0x1abe11ed && AccessStatus == 0x1abe11ed, "Access and/or AccessStatus were changed!\n"); /* Generic access mask - no privilegeset buffer */ SetLastError(0xdeadbeef); - Access = AccessStatus = 0xdeadbeef; + Access = AccessStatus = 0x1abe11ed; ret = AccessCheck(SecurityDescriptor, Token, GENERIC_READ, &Mapping, NULL, &PrivSetLen, &Access, &AccessStatus); err = GetLastError(); ok(!ret && err == ERROR_NOACCESS, "AccessCheck should have failed " "with ERROR_NOACCESS, instead of %d\n", err); - ok(Access == 0xdeadbeef && AccessStatus == 0xdeadbeef, + ok(Access == 0x1abe11ed && AccessStatus == 0x1abe11ed, "Access and/or AccessStatus were changed!\n"); /* Generic access mask - no returnlength */ SetLastError(0xdeadbeef); - Access = AccessStatus = 0xdeadbeef; + Access = AccessStatus = 0x1abe11ed; ret = AccessCheck(SecurityDescriptor, Token, GENERIC_READ, &Mapping, PrivSet, NULL, &Access, &AccessStatus); err = GetLastError(); ok(!ret && err == ERROR_NOACCESS, "AccessCheck should have failed " "with ERROR_NOACCESS, instead of %d\n", err); - ok(Access == 0xdeadbeef && AccessStatus == 0xdeadbeef, + ok(Access == 0x1abe11ed && AccessStatus == 0x1abe11ed, "Access and/or AccessStatus were changed!\n"); /* Generic access mask - no privilegeset buffer, no returnlength */ SetLastError(0xdeadbeef); - Access = AccessStatus = 0xdeadbeef; + Access = AccessStatus = 0x1abe11ed; ret = AccessCheck(SecurityDescriptor, Token, GENERIC_READ, &Mapping, NULL, NULL, &Access, &AccessStatus); err = GetLastError(); ok(!ret && err == ERROR_NOACCESS, "AccessCheck should have failed " "with ERROR_NOACCESS, instead of %d\n", err); - ok(Access == 0xdeadbeef && AccessStatus == 0xdeadbeef, + ok(Access == 0x1abe11ed && AccessStatus == 0x1abe11ed, "Access and/or AccessStatus were changed!\n"); /* sd with no dacl present */ - Access = AccessStatus = 0xdeadbeef; + Access = AccessStatus = 0x1abe11ed; ret = SetSecurityDescriptorDacl(SecurityDescriptor, FALSE, NULL, FALSE); ok(ret, "SetSecurityDescriptorDacl failed with error %d\n", GetLastError()); ret = AccessCheck(SecurityDescriptor, Token, KEY_READ, &Mapping, @@ -985,20 +985,20 @@ static void test_AccessCheck(void) /* sd with no dacl present - no privilegeset buffer */ SetLastError(0xdeadbeef); - Access = AccessStatus = 0xdeadbeef; + Access = AccessStatus = 0x1abe11ed; ret = AccessCheck(SecurityDescriptor, Token, GENERIC_READ, &Mapping, NULL, &PrivSetLen, &Access, &AccessStatus); err = GetLastError(); ok(!ret && err == ERROR_NOACCESS, "AccessCheck should have failed " "with ERROR_NOACCESS, instead of %d\n", err); - ok(Access == 0xdeadbeef && AccessStatus == 0xdeadbeef, + ok(Access == 0x1abe11ed && AccessStatus == 0x1abe11ed, "Access and/or AccessStatus were changed!\n"); if(pNtAccessCheck) { /* Generic access mask - no privilegeset buffer */ SetLastError(0xdeadbeef); - Access = ntAccessStatus = 0xdeadbeef; + Access = ntAccessStatus = 0x1abe11ed; ntret = pNtAccessCheck(SecurityDescriptor, Token, GENERIC_READ, &Mapping, NULL, &PrivSetLen, &Access, &ntAccessStatus); err = GetLastError(); @@ -1006,12 +1006,12 @@ static void test_AccessCheck(void) "NtAccessCheck should have failed with STATUS_ACCESS_VIOLATION, got %x\n", ntret); ok(err == 0xdeadbeef, "NtAccessCheck shouldn't set last error, got %d\n", err); - ok(Access == 0xdeadbeef && ntAccessStatus == 0xdeadbeef, + ok(Access == 0x1abe11ed && ntAccessStatus == 0x1abe11ed, "Access and/or AccessStatus were changed!\n"); /* Generic access mask - no returnlength */ SetLastError(0xdeadbeef); - Access = ntAccessStatus = 0xdeadbeef; + Access = ntAccessStatus = 0x1abe11ed; ntret = pNtAccessCheck(SecurityDescriptor, Token, GENERIC_READ, &Mapping, PrivSet, NULL, &Access, &ntAccessStatus); err = GetLastError(); @@ -1019,12 +1019,12 @@ static void test_AccessCheck(void) "NtAccessCheck should have failed with STATUS_ACCESS_VIOLATION, got %x\n", ntret); ok(err == 0xdeadbeef, "NtAccessCheck shouldn't set last error, got %d\n", err); - ok(Access == 0xdeadbeef && ntAccessStatus == 0xdeadbeef, + ok(Access == 0x1abe11ed && ntAccessStatus == 0x1abe11ed, "Access and/or AccessStatus were changed!\n"); /* Generic access mask - no privilegeset buffer, no returnlength */ SetLastError(0xdeadbeef); - Access = ntAccessStatus = 0xdeadbeef; + Access = ntAccessStatus = 0x1abe11ed; ntret = pNtAccessCheck(SecurityDescriptor, Token, GENERIC_READ, &Mapping, NULL, NULL, &Access, &ntAccessStatus); err = GetLastError(); @@ -1032,14 +1032,14 @@ static void test_AccessCheck(void) "NtAccessCheck should have failed with STATUS_ACCESS_VIOLATION, got %x\n", ntret); ok(err == 0xdeadbeef, "NtAccessCheck shouldn't set last error, got %d\n", err); - ok(Access == 0xdeadbeef && ntAccessStatus == 0xdeadbeef, + ok(Access == 0x1abe11ed && ntAccessStatus == 0x1abe11ed, "Access and/or AccessStatus were changed!\n"); } else win_skip("NtAccessCheck unavailable. Skipping.\n"); /* sd with NULL dacl */ - Access = AccessStatus = 0xdeadbeef; + Access = AccessStatus = 0x1abe11ed; ret = SetSecurityDescriptorDacl(SecurityDescriptor, TRUE, NULL, FALSE); ok(ret, "SetSecurityDescriptorDacl failed with error %d\n", GetLastError()); ret = AccessCheck(SecurityDescriptor, Token, KEY_READ, &Mapping, @@ -1067,7 +1067,7 @@ static void test_AccessCheck(void) ok(res, "AddAccessDeniedAce failed with error %d\n", GetLastError()); /* sd with dacl */ - Access = AccessStatus = 0xdeadbeef; + Access = AccessStatus = 0x1abe11ed; ret = AccessCheck(SecurityDescriptor, Token, KEY_READ, &Mapping, PrivSet, &PrivSetLen, &Access, &AccessStatus); ok(ret, "AccessCheck failed with error %d\n", GetLastError()); @@ -1085,7 +1085,7 @@ static void test_AccessCheck(void) /* Access denied by SD */ SetLastError(0xdeadbeef); - Access = AccessStatus = 0xdeadbeef; + Access = AccessStatus = 0x1abe11ed; ret = AccessCheck(SecurityDescriptor, Token, KEY_WRITE, &Mapping, PrivSet, &PrivSetLen, &Access, &AccessStatus); ok(ret, "AccessCheck failed with error %d\n", GetLastError()); @@ -1420,7 +1420,7 @@ static void test_CreateWellKnownSid(void) PSID domainsid, sid; DWORD size, error; BOOL ret; - int i; + unsigned int i; if (!pCreateWellKnownSid) { @@ -1466,13 +1466,13 @@ static void test_CreateWellKnownSid(void) cb = sizeof(sid_buffer); if (!pCreateWellKnownSid(i, domainsid, sid_buffer, &cb)) { - skip("Well known SIDs starting from %d are not implemented\n", i); + skip("Well known SIDs starting from %u are not implemented\n", i); break; } } cb = sizeof(sid_buffer); - ok(pCreateWellKnownSid(i, value->without_domain ? NULL : domainsid, sid_buffer, &cb), "Couldn't create well known sid %d\n", i); + ok(pCreateWellKnownSid(i, value->without_domain ? NULL : domainsid, sid_buffer, &cb), "Couldn't create well known sid %u\n", i); expect_eq(GetSidLengthRequired(*GetSidSubAuthorityCount(sid_buffer)), cb, DWORD, "%d"); ok(IsValidSid(sid_buffer), "The sid is not valid\n"); ok(pConvertSidToStringSidA(sid_buffer, &str), "Couldn't convert SID to string\n"); @@ -1484,9 +1484,9 @@ static void test_CreateWellKnownSid(void) { char buf2[SECURITY_MAX_SID_SIZE]; cb = sizeof(buf2); - ok(pCreateWellKnownSid(i, domainsid, buf2, &cb), "Couldn't create well known sid %d with optional domain\n", i); + ok(pCreateWellKnownSid(i, domainsid, buf2, &cb), "Couldn't create well known sid %u with optional domain\n", i); expect_eq(GetSidLengthRequired(*GetSidSubAuthorityCount(sid_buffer)), cb, DWORD, "%d"); - ok(memcmp(buf2, sid_buffer, cb) == 0, "SID create with domain is different than without (%d)\n", i); + ok(memcmp(buf2, sid_buffer, cb) == 0, "SID create with domain is different than without (%u)\n", i); } } @@ -2674,7 +2674,7 @@ static void test_ConvertStringSecurityDescriptor(void) BOOL ret; PSECURITY_DESCRIPTOR pSD; static const WCHAR Blank[] = { 0 }; - int i; + unsigned int i; static const struct { const char *sidstring; @@ -2733,11 +2733,11 @@ static void test_ConvertStringSecurityDescriptor(void) ret = pConvertStringSecurityDescriptorToSecurityDescriptorA( cssd[i].sidstring, cssd[i].revision, &pSD, NULL); GLE = GetLastError(); - ok(ret == cssd[i].ret, "(%02d) Expected %s (%d)\n", i, cssd[i].ret ? "success" : "failure", GLE); + ok(ret == cssd[i].ret, "(%02u) Expected %s (%d)\n", i, cssd[i].ret ? "success" : "failure", GLE); if (!cssd[i].ret) ok(GLE == cssd[i].GLE || (cssd[i].altGLE && GLE == cssd[i].altGLE), - "(%02d) Unexpected last error %d\n", i, GLE); + "(%02u) Unexpected last error %d\n", i, GLE); if (ret) LocalFree(pSD); } @@ -2812,7 +2812,7 @@ static void test_ConvertSecurityDescriptorToString(void) #define CHECK_ONE_OF_AND_FREE(exp_str1, exp_str2) \ ok(strcmp(string, (exp_str1)) == 0 || strcmp(string, (exp_str2)) == 0, "String mismatch (expected\n\"%s\" or\n\"%s\", got\n\"%s\")\n", (exp_str1), (exp_str2), string); \ - ok(len >= (strlen(string) + 1), "Length mismatch (expected %d, got %d)\n", lstrlen(string) + 1, len); \ + ok(len >= (strlen(exp_str1) + 1) || len >= (strlen(exp_str2) + 1), "Length mismatch (expected %d or %d, got %d)\n", lstrlen(exp_str1) + 1, lstrlen(exp_str2) + 1, len); \ LocalFree(string); InitializeSecurityDescriptor(&desc, SECURITY_DESCRIPTOR_REVISION); diff --git a/dlls/appwiz.cpl/Pt.rc b/dlls/appwiz.cpl/Pt.rc index cf013cfe88f..87d50a4b4dd 100644 --- a/dlls/appwiz.cpl/Pt.rc +++ b/dlls/appwiz.cpl/Pt.rc @@ -2,6 +2,7 @@ * Add/Remove Programs Portuguese resources * * Copyright 2001-2002, 2008 Ricardo Filipe +* Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -23,6 +24,26 @@ #pragma code_page(65001) +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE +{ + IDS_CPL_TITLE, "Adicionar/Remover Programas" + IDS_CPL_DESC, "Permite a instalação de novo software, ou a remoção de software existente no seu computador." + IDS_TAB1_TITLE, "Aplicativos" + + IDS_UNINSTALL_FAILED, "Não foi possível executar o desinstalador, '%s'. Deseja remover do registo a entrada de desinstalação para este programa?" + IDS_NOT_SPECIFIED, "Não especificado" + + IDS_COLUMN_NAME, "Nome" + IDS_COLUMN_PUBLISHER, "Editor" + IDS_COLUMN_VERSION, "Versão" + IDS_INSTALL_FILTER, "Programas de Instalação\0*instal*.exe;*setup*.exe;*.msi\0Programas (*.exe)\0*.exe\0Todos os arquivos (*.*)\0*.*\0\0" + + IDS_REMOVE, "&Remover..." + IDS_MODIFY_REMOVE, "&Modificar/Remover..." +} + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE STRINGTABLE @@ -43,6 +64,28 @@ STRINGTABLE IDS_MODIFY_REMOVE, "&Modificar/Remover..." } + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDD_MAIN DIALOG 0, 0, 320, 220 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Instalar/Desinstalar" +FONT 8, "MS Shell Dlg" +{ + CONTROL "Para instalar um programa novo a partir de uma disquete, CD-ROM ou do seu disco rígido, clique em Instalar.", 1000, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 40, 7, 270, 20 + CONTROL "&Instalar...", IDC_INSTALL, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 246, 26, 64, 14 + CONTROL "", -1, "STATIC", SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE, 7, 46, 303, 1 + CONTROL 2, 1001, "STATIC", SS_ICON | WS_CHILD | WS_VISIBLE, 7, 7, 21, 20 + CONTROL "O software seguinte pode ser automaticamente removido. Para remover um programa ou modificar os seus componentes instalados selecione-o na lista e clique em Adicionar/Remover.", 1002, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 40, 57, 270, 30 + CONTROL "", IDL_PROGRAMS, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SORTASCENDING | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 7, 90, 303, 100 + CONTROL "&Informação de Suporte...", IDC_SUPPORT_INFO, "button", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 198, 94, 14 + CONTROL "&Modificar...", IDC_MODIFY, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 172, 198, 68, 14 + CONTROL "&Remover...", IDC_ADDREMOVE, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 244, 198, 68, 14 + CONTROL 3, 1003, "STATIC", SS_ICON | WS_CHILD | WS_VISIBLE, 7, 57, 21, 20 +} + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + IDD_MAIN DIALOG 0, 0, 320, 220 STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Instalar/Desinstalar" @@ -54,12 +97,42 @@ FONT 8, "MS Shell Dlg" CONTROL 2, 1001, "STATIC", SS_ICON | WS_CHILD | WS_VISIBLE, 7, 7, 21, 20 CONTROL "O software seguinte pode ser automaticamente removido. Para remover um programa ou modificar os seus componentes instalados seleccione-o da lista e clique em Adicionar/Remover.", 1002, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 40, 57, 270, 30 CONTROL "", IDL_PROGRAMS, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SORTASCENDING | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 7, 90, 303, 100 - CONTROL "&Informação de Suporte...", IDC_SUPPORT_INFO, "button", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 104, 198, 64, 14 + CONTROL "&Informação de Suporte...", IDC_SUPPORT_INFO, "button", BS_PUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 198, 94, 14 CONTROL "&Modificar...", IDC_MODIFY, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 172, 198, 68, 14 CONTROL "&Remover...", IDC_ADDREMOVE, "BUTTON", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 244, 198, 68, 14 CONTROL 3, 1003, "STATIC", SS_ICON | WS_CHILD | WS_VISIBLE, 7, 57, 21, 20 } + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDD_INFO DIALOG 0, 0, 256, 138 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Informação de Suporte" +FONT 8, "MS Shell Dlg" +{ + CONTROL "OK", IDOK, "BUTTON", BS_DEFPUSHBUTTON | BS_CENTER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 103, 116, 50, 14 + CONTROL "A informação seguinte pode ser usada para obter suporte técnico para %s:", IDC_INFO_LABEL, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 12, 9, 228, 19 + CONTROL "Editor:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 30, 60, 8 + CONTROL "Versão:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 40, 60, 8 + CONTROL "Contato:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 50, 60, 8 + CONTROL "Informação de Suporte:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 60, 64, 8 + CONTROL "Telefone de Suporte:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 70, 68, 8 + CONTROL "Leia-me:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 80, 60, 8 + CONTROL "Atualizações de Produto:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 90, 60, 8 + CONTROL "Comentários:", -1, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 16, 100, 60, 8 + CONTROL "", IDC_INFO_PUBLISHER, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 30, 136, 8 + CONTROL "", IDC_INFO_VERSION, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 40, 136, 8 + CONTROL "", IDC_INFO_CONTACT, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 50, 136, 8 + CONTROL "", IDC_INFO_SUPPORT, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 60, 136, 8 + CONTROL "", IDC_INFO_PHONE, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 70, 136, 8 + CONTROL "", IDC_INFO_README, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 80, 136, 8 + CONTROL "", IDC_INFO_UPDATES, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 90, 136, 8 + CONTROL "", IDC_INFO_COMMENTS, "static", SS_LEFT | WS_CHILD | WS_VISIBLE, 104, 100, 136, 8 +} + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + IDD_INFO DIALOG 0, 0, 256, 138 STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Informação de Suporte" diff --git a/dlls/avifil32/avifile_Ko.rc b/dlls/avifil32/avifile_Ko.rc index 622880cb01b..285a9a20fca 100644 --- a/dlls/avifil32/avifile_Ko.rc +++ b/dlls/avifil32/avifile_Ko.rc @@ -1,6 +1,6 @@ /* - * Copyright 2002 Michael Günnewig - * Copyright 2005 YunSong Hwang + * Copyright 2002 Michael Günnewig + * Copyright 2005,2010 YunSong Hwang * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,35 +19,37 @@ #include "avifile_private.h" +#pragma code_page(65001) + LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "¾ÐÃà ¿É¼Ç" +CAPTION "압축 옵션" FONT 9, "MS Shell Dlg" BEGIN - LTEXT "½ºÆ®¸² ¼±ÅÃ(&C):",-1,2,5,154,10 + LTEXT "스트림 선택(&C):",-1,2,5,154,10 COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "¿É¼Ç(&O)...",IDC_OPTIONS,170,17,50,14 - AUTOCHECKBOX "Ç×»ó »óÈ£¹èÄ¡(&I)",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + PUSHBUTTON "옵션(&O)...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "항상 인터리브 적용(&I)",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL - LTEXT "ÇÁ·¹ÀÓ",-1,129,43,36,9 - LTEXT "ÇöÀç Çü½Ä:",-1,3,56,73,9 - LTEXT "ÇÊ¿äÇÑ °ø°£",IDC_FORMATTEXT,75,56,90,26 - DEFPUSHBUTTON "È®ÀÎ",IDOK,170,42,50,14 - PUSHBUTTON "Ãë¼Ò",IDCANCEL,170,61,50,14 + LTEXT "프레임",-1,129,43,36,9 + LTEXT "현재 형식:",-1,3,56,73,9 + LTEXT "예약된 공간",IDC_FORMATTEXT,75,56,90,26 + DEFPUSHBUTTON "확인",IDOK,170,42,50,14 + PUSHBUTTON "취소",IDCANCEL,170,61,50,14 END STRINGTABLE DISCARDABLE { - IDS_WAVESTREAMFORMAT "¿þÀ̺êÆû: %s" - IDS_WAVEFILETYPE "¿þÀ̺êÆû" - IDS_ALLMULTIMEDIA "¸ðµç ¸ÖƼ¹Ìµð¾î ÆÄÀÏ" - IDS_ALLFILES "¸ðµç ÆÄÀÏ (*.*)@*.*" - IDS_VIDEO "ºñµð¿À" - IDS_AUDIO "¿Àµð¿À" + IDS_WAVESTREAMFORMAT "파형: %s" + IDS_WAVEFILETYPE "파형" + IDS_ALLMULTIMEDIA "모든 멀티미디어 파일" + IDS_ALLFILES "모든 파일 (*.*)@*.*" + IDS_VIDEO "비디오" + IDS_AUDIO "오디오" IDS_AVISTREAMFORMAT "%s %s #%d" - IDS_AVIFILETYPE "Wine AVI-±âº»-ÆÄÀÏÇڵ鷯" - IDS_UNCOMPRESSED "ºñ¾ÐÃà" + IDS_AVIFILETYPE "Wine AVI-기본-파일핸들러·¯" + IDS_UNCOMPRESSED "압축안됨" } diff --git a/dlls/avifil32/avifile_Pt.rc b/dlls/avifil32/avifile_Pt.rc index ce3d032eb91..9ef3abff9e5 100644 --- a/dlls/avifil32/avifile_Pt.rc +++ b/dlls/avifil32/avifile_Pt.rc @@ -1,6 +1,7 @@ /* * Copyright 2003 Marcelo Duarte - * Copyright 2006 Américo José Melo + * Copyright 2006 Américo José Melo + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,20 +20,22 @@ #include "avifile_private.h" +#pragma code_page(65001) + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Opções de compressão" +CAPTION "Opções de compressão" FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Escolha a stream:",-1,2,5,154,10 COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Opções...",IDC_OPTIONS,170,17,50,14 - AUTOCHECKBOX "&Interleave every",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + PUSHBUTTON "&Opções...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Entrelaçar todos",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL - LTEXT "frames",-1,129,43,36,9 + LTEXT "quadros",-1,129,43,36,9 LTEXT "Formato atual:",-1,3,56,73,9 LTEXT "This space for rent",IDC_FORMATTEXT,75,56,90,26 DEFPUSHBUTTON "OK",IDOK,170,42,50,14 @@ -43,14 +46,14 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE IDD_SAVEOPTIONS DIALOG FIXED IMPURE 43, 37, 226, 82 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Opções de compressão" +CAPTION "Opções de compressão" FONT 8, "MS Shell Dlg" BEGIN LTEXT "&Escolha a stream:",-1,2,5,154,10 COMBOBOX IDC_STREAM,2,18,154,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Opções...",IDC_OPTIONS,170,17,50,14 - AUTOCHECKBOX "&Interlaçar a todos os",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP + PUSHBUTTON "&Opções...",IDC_OPTIONS,170,17,50,14 + AUTOCHECKBOX "&Interlaçar a todos os",IDC_INTERLEAVE,3,42,85,11,WS_TABSTOP EDITTEXT IDC_INTERLEAVEEVERY,91,41,32,12,ES_AUTOHSCROLL LTEXT "molduras",-1,129,43,36,9 LTEXT "Formato actual:",-1,3,56,73,9 @@ -66,13 +69,13 @@ STRINGTABLE DISCARDABLE { IDS_WAVESTREAMFORMAT "Formato wave: %s" IDS_WAVEFILETYPE "Formato wave" - IDS_ALLMULTIMEDIA "Todos arquivos multimídia" + IDS_ALLMULTIMEDIA "Todos arquivos multimídia" IDS_ALLFILES "Todos os arquivos (*.*)@*.*" - IDS_VIDEO "vídeo" - IDS_AUDIO "áudio" + IDS_VIDEO "vídeo" + IDS_AUDIO "áudio" IDS_AVISTREAMFORMAT "%s %s #%d" - IDS_AVIFILETYPE "Wine AVI-manipulador padrão de arquivo" - IDS_UNCOMPRESSED "sem compressão" + IDS_AVIFILETYPE "Manipulador de AVI padrão do Wine" + IDS_UNCOMPRESSED "sem compressão" } LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE @@ -81,11 +84,11 @@ STRINGTABLE DISCARDABLE { IDS_WAVESTREAMFORMAT "Formato wave: %s" IDS_WAVEFILETYPE "Formato wave" - IDS_ALLMULTIMEDIA "Todos os ficheiros multimédia" + IDS_ALLMULTIMEDIA "Todos os ficheiros multimédia" IDS_ALLFILES "Todos os ficheiros (*.*)@*.*" - IDS_VIDEO "vídeo" - IDS_AUDIO "áudio" + IDS_VIDEO "vídeo" + IDS_AUDIO "áudio" IDS_AVISTREAMFORMAT "%s %s #%d" IDS_AVIFILETYPE "Manipulador AVI Wine predefinido" - IDS_UNCOMPRESSED "sem compressão" + IDS_UNCOMPRESSED "sem compressão" } diff --git a/dlls/browseui/rsrc_Pt.rc b/dlls/browseui/rsrc_Pt.rc index fe07405a062..53204242ccb 100644 --- a/dlls/browseui/rsrc_Pt.rc +++ b/dlls/browseui/rsrc_Pt.rc @@ -1,5 +1,6 @@ /* * Copyright 2008 Ricardo Filipe + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,13 +19,23 @@ #include "resids.h" -LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE +{ + IDS_CANCELLING "Cancelando..." +} + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE STRINGTABLE { IDS_CANCELLING "A cancelar..." } + +LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL + IDD_PROGRESS_DLG DIALOG 0, 0, 260, 85 STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU CAPTION "" diff --git a/dlls/comctl32/comctl_Ko.rc b/dlls/comctl32/comctl_Ko.rc index daf9917e62a..4f9ec0aff25 100644 --- a/dlls/comctl32/comctl_Ko.rc +++ b/dlls/comctl32/comctl_Ko.rc @@ -1,6 +1,6 @@ /* * Copyright 2002 Won-kyu Park - * Copyright 2005,2007 YunSong Hwang + * Copyright 2005,2007,2010 YunSong Hwang * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -56,10 +56,10 @@ CAPTION " FONT 9, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "´Ý±â(&C)", IDCANCEL,308,6,44,14 - PUSHBUTTON "´Ù½Ã(&E)", IDC_RESET_BTN,308,23,44,14 + PUSHBUTTON "Àç¼³Á¤(&E)", IDC_RESET_BTN,308,23,44,14 PUSHBUTTON "µµ¿ò¸»(&H)", IDC_HELP_BTN,308,40,44,14 PUSHBUTTON "À§·Î À̵¿(&U)", IDC_MOVEUP_BTN,308,74,44,14 - PUSHBUTTON "¾Æ·¡·ÎÀ̵¿(&D)", IDC_MOVEDN_BTN,308,91,49,14 + PUSHBUTTON "¾Æ·¡·Î À̵¿(&D)", IDC_MOVEDN_BTN,308,91,49,14 LTEXT "°¡´ÉÇÑ ¹öÆ°(&V)", -1,4,5,84,10 LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP PUSHBUTTON "´õÇϱâ(&A) ->", IDOK, 131, 42, 44, 14 diff --git a/dlls/comctl32/imagelist.c b/dlls/comctl32/imagelist.c index 6e445b5c5cc..47279c9812a 100644 --- a/dlls/comctl32/imagelist.c +++ b/dlls/comctl32/imagelist.c @@ -260,12 +260,12 @@ IMAGELIST_InternalExpandBitmaps(HIMAGELIST himl, INT nImageCount) INT nNewCount; SIZE sz; - TRACE("%p has %d allocated %d images\n", himl, himl->cCurImage, himl->cMaxImage); + TRACE("%p has allocated %d, max %d, grow %d images\n", himl, himl->cCurImage, himl->cMaxImage, himl->cGrow); - if (himl->cCurImage + nImageCount <= himl->cMaxImage) - return; + if (himl->cCurImage + nImageCount < himl->cMaxImage) + return; - nNewCount = himl->cCurImage + max(nImageCount, himl->cGrow) + 1; + nNewCount = himl->cMaxImage + max(nImageCount, himl->cGrow) + 1; imagelist_get_bitmap_size(himl, nNewCount, &sz); diff --git a/dlls/comctl32/tests/imagelist.c b/dlls/comctl32/tests/imagelist.c index cf749c82732..5398201d708 100644 --- a/dlls/comctl32/tests/imagelist.c +++ b/dlls/comctl32/tests/imagelist.c @@ -126,6 +126,7 @@ static HIMAGELIST createImageList(int cx, int cy) HIMAGELIST himl = ImageList_Create(cx, cy, ILC_COLOR, 1, 1); HBITMAP hbm = CreateBitmap(48, 48, 1, 1, bitmap_bits); ImageList_Add(himl, hbm, NULL); + DeleteObject(hbm); return himl; } @@ -831,7 +832,7 @@ static void check_bitmap_data(const char *bm_data, ULONG bm_data_size, #endif } -static void check_ilhead_data(const char *ilh_data, INT cx, INT cy, INT cur, INT max) +static void check_ilhead_data(const char *ilh_data, INT cx, INT cy, INT cur, INT max, INT grow) { const ILHEAD *ilh = (const ILHEAD *)ilh_data; @@ -839,7 +840,7 @@ static void check_ilhead_data(const char *ilh_data, INT cx, INT cy, INT cur, INT ok(ilh->usVersion == 0x101, "wrong usVersion %x (expected 0x101)\n", ilh->usVersion); ok(ilh->cCurImage == cur, "wrong cCurImage %d (expected %d)\n", ilh->cCurImage, cur); ok(ilh->cMaxImage == max, "wrong cMaxImage %d (expected %d)\n", ilh->cMaxImage, max); - ok(ilh->cGrow == 4, "wrong cGrow %d (expected 4)\n", ilh->cGrow); + ok(ilh->cGrow == grow, "wrong cGrow %d (expected %d)\n", ilh->cGrow, grow); ok(ilh->cx == cx, "wrong cx %d (expected %d)\n", ilh->cx, cx); ok(ilh->cy == cy, "wrong cy %d (expected %d)\n", ilh->cy, cy); ok(ilh->bkcolor == CLR_NONE, "wrong bkcolor %x\n", ilh->bkcolor); @@ -892,38 +893,20 @@ static HBITMAP create_bitmap(INT cx, INT cy, COLORREF color, const char *comment return hbmp; } -static void image_list_init(HIMAGELIST himl) -{ - HBITMAP hbm; - char comment[16]; - INT n = 1; - -#define add_bitmap(grey) \ - sprintf(comment, "%d", n++); \ - hbm = create_bitmap(BMP_CX, BMP_CX, RGB((grey),(grey),(grey)), comment); \ - ImageList_Add(himl, hbm, NULL); - - add_bitmap(255); add_bitmap(170); add_bitmap(85); add_bitmap(0); - add_bitmap(0); add_bitmap(85); add_bitmap(170); add_bitmap(255); - add_bitmap(255); add_bitmap(170); add_bitmap(85); add_bitmap(0); - add_bitmap(0); add_bitmap(85); add_bitmap(170); add_bitmap(255); - add_bitmap(255); add_bitmap(170); add_bitmap(85); add_bitmap(0); - add_bitmap(0); add_bitmap(85); add_bitmap(170); add_bitmap(255); -#undef add_bitmap -} - #define iml_clear_stream_data() \ HeapFree(GetProcessHeap(), 0, Test_Stream.iml_data); \ Test_Stream.iml_data = NULL; \ Test_Stream.iml_data_size = 0; -static void check_iml_data(HIMAGELIST himl, INT cx, INT cy, INT cur, INT max, +static void check_iml_data(HIMAGELIST himl, INT cx, INT cy, INT cur, INT max, INT grow, INT width, INT height, INT bpp, const char *comment) { INT ret, cxx, cyy; + trace("%s\n", comment); + ret = ImageList_GetImageCount(himl); - ok(ret == cur, "expected cur %d got %d\n", cur, ret); + ok(ret == cur, "expected image count %d got %d\n", cur, ret); ret = ImageList_GetIconSize(himl, &cxx, &cyy); ok(ret, "ImageList_GetIconSize failed\n"); @@ -937,57 +920,191 @@ static void check_iml_data(HIMAGELIST himl, INT cx, INT cy, INT cur, INT max, ok(Test_Stream.iml_data != 0, "ImageList_Write didn't write any data\n"); ok(Test_Stream.iml_data_size > sizeof(ILHEAD), "ImageList_Write wrote not enough data\n"); - check_ilhead_data(Test_Stream.iml_data, cx, cy, cur, max); + check_ilhead_data(Test_Stream.iml_data, cx, cy, cur, max, grow); check_bitmap_data(Test_Stream.iml_data + sizeof(ILHEAD), Test_Stream.iml_data_size - sizeof(ILHEAD), width, height, bpp, comment); } +static void image_list_init(HIMAGELIST himl) +{ + HBITMAP hbm; + char comment[16]; + INT n = 1, i; + static const struct test_data + { + BYTE grey; + INT cx, cy, cur, max, grow, width, height, bpp; + const char *comment; + } td[] = + { + { 255, BMP_CX, BMP_CX, 1, 2, 4, BMP_CX * 4, BMP_CX * 1, 24, "total 1" }, + { 170, BMP_CX, BMP_CX, 2, 7, 4, BMP_CX * 4, BMP_CX * 2, 24, "total 2" }, + { 85, BMP_CX, BMP_CX, 3, 7, 4, BMP_CX * 4, BMP_CX * 2, 24, "total 3" }, + { 0, BMP_CX, BMP_CX, 4, 7, 4, BMP_CX * 4, BMP_CX * 2, 24, "total 4" }, + { 0, BMP_CX, BMP_CX, 5, 7, 4, BMP_CX * 4, BMP_CX * 2, 24, "total 5" }, + { 85, BMP_CX, BMP_CX, 6, 7, 4, BMP_CX * 4, BMP_CX * 2, 24, "total 6" }, + { 170, BMP_CX, BMP_CX, 7, 12, 4, BMP_CX * 4, BMP_CX * 3, 24, "total 7" }, + { 255, BMP_CX, BMP_CX, 8, 12, 4, BMP_CX * 4, BMP_CX * 3, 24, "total 8" }, + { 255, BMP_CX, BMP_CX, 9, 12, 4, BMP_CX * 4, BMP_CX * 3, 24, "total 9" }, + { 170, BMP_CX, BMP_CX, 10, 12, 4, BMP_CX * 4, BMP_CX * 3, 24, "total 10" }, + { 85, BMP_CX, BMP_CX, 11, 12, 4, BMP_CX * 4, BMP_CX * 3, 24, "total 11" }, + { 0, BMP_CX, BMP_CX, 12, 17, 4, BMP_CX * 4, BMP_CX * 5, 24, "total 12" }, + { 0, BMP_CX, BMP_CX, 13, 17, 4, BMP_CX * 4, BMP_CX * 5, 24, "total 13" }, + { 85, BMP_CX, BMP_CX, 14, 17, 4, BMP_CX * 4, BMP_CX * 5, 24, "total 14" }, + { 170, BMP_CX, BMP_CX, 15, 17, 4, BMP_CX * 4, BMP_CX * 5, 24, "total 15" }, + { 255, BMP_CX, BMP_CX, 16, 17, 4, BMP_CX * 4, BMP_CX * 5, 24, "total 16" }, + { 255, BMP_CX, BMP_CX, 17, 22, 4, BMP_CX * 4, BMP_CX * 6, 24, "total 17" }, + { 170, BMP_CX, BMP_CX, 18, 22, 4, BMP_CX * 4, BMP_CX * 6, 24, "total 18" }, + { 85, BMP_CX, BMP_CX, 19, 22, 4, BMP_CX * 4, BMP_CX * 6, 24, "total 19" }, + { 0, BMP_CX, BMP_CX, 20, 22, 4, BMP_CX * 4, BMP_CX * 6, 24, "total 20" }, + { 0, BMP_CX, BMP_CX, 21, 22, 4, BMP_CX * 4, BMP_CX * 6, 24, "total 21" }, + { 85, BMP_CX, BMP_CX, 22, 27, 4, BMP_CX * 4, BMP_CX * 7, 24, "total 22" }, + { 170, BMP_CX, BMP_CX, 23, 27, 4, BMP_CX * 4, BMP_CX * 7, 24, "total 23" }, + { 255, BMP_CX, BMP_CX, 24, 27, 4, BMP_CX * 4, BMP_CX * 7, 24, "total 24" } + }; + + check_iml_data(himl, BMP_CX, BMP_CX, 0, 2, 4, BMP_CX * 4, BMP_CX * 1, 24, "total 0"); + +#define add_bitmap(grey) \ + sprintf(comment, "%d", n++); \ + hbm = create_bitmap(BMP_CX, BMP_CX, RGB((grey),(grey),(grey)), comment); \ + ImageList_Add(himl, hbm, NULL); \ + DeleteObject(hbm); + + for (i = 0; i < sizeof(td)/sizeof(td[0]); i++) + { + add_bitmap(td[i].grey); + check_iml_data(himl, td[i].cx, td[i].cy, td[i].cur, td[i].max, td[i].grow, + td[i].width, td[i].height, td[i].bpp, td[i].comment); + } +#undef add_bitmap +} + static void test_imagelist_storage(void) { HIMAGELIST himl; - BOOL ret; + HBITMAP hbm; + INT ret; himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 1, 1); ok(himl != 0, "ImageList_Create failed\n"); - check_iml_data(himl, BMP_CX, BMP_CX, 0, 2, BMP_CX * 4, BMP_CX * 1, 24, "empty"); + check_iml_data(himl, BMP_CX, BMP_CX, 0, 2, 4, BMP_CX * 4, BMP_CX * 1, 24, "empty"); image_list_init(himl); - check_iml_data(himl, BMP_CX, BMP_CX, 24, 27, BMP_CX * 4, BMP_CX * 7, 24, "orig"); + check_iml_data(himl, BMP_CX, BMP_CX, 24, 27, 4, BMP_CX * 4, BMP_CX * 7, 24, "orig"); ret = ImageList_Remove(himl, 4); ok(ret, "ImageList_Remove failed\n"); - check_iml_data(himl, BMP_CX, BMP_CX, 23, 27, BMP_CX * 4, BMP_CX * 7, 24, "1"); + check_iml_data(himl, BMP_CX, BMP_CX, 23, 27, 4, BMP_CX * 4, BMP_CX * 7, 24, "1"); ret = ImageList_Remove(himl, 5); ok(ret, "ImageList_Remove failed\n"); - check_iml_data(himl, BMP_CX, BMP_CX, 22, 27, BMP_CX * 4, BMP_CX * 7, 24, "2"); + check_iml_data(himl, BMP_CX, BMP_CX, 22, 27, 4, BMP_CX * 4, BMP_CX * 7, 24, "2"); ret = ImageList_Remove(himl, 6); ok(ret, "ImageList_Remove failed\n"); - check_iml_data(himl, BMP_CX, BMP_CX, 21, 27, BMP_CX * 4, BMP_CX * 7, 24, "3"); + check_iml_data(himl, BMP_CX, BMP_CX, 21, 27, 4, BMP_CX * 4, BMP_CX * 7, 24, "3"); ret = ImageList_Remove(himl, 7); ok(ret, "ImageList_Remove failed\n"); - check_iml_data(himl, BMP_CX, BMP_CX, 20, 27, BMP_CX * 4, BMP_CX * 7, 24, "4"); + check_iml_data(himl, BMP_CX, BMP_CX, 20, 27, 4, BMP_CX * 4, BMP_CX * 7, 24, "4"); ret = ImageList_Remove(himl, -2); ok(!ret, "ImageList_Remove(-2) should fail\n"); - check_iml_data(himl, BMP_CX, BMP_CX, 20, 27, BMP_CX * 4, BMP_CX * 7, 24, "5"); + check_iml_data(himl, BMP_CX, BMP_CX, 20, 27, 4, BMP_CX * 4, BMP_CX * 7, 24, "5"); ret = ImageList_Remove(himl, 20); ok(!ret, "ImageList_Remove(20) should fail\n"); - check_iml_data(himl, BMP_CX, BMP_CX, 20, 27, BMP_CX * 4, BMP_CX * 7, 24, "6"); + check_iml_data(himl, BMP_CX, BMP_CX, 20, 27, 4, BMP_CX * 4, BMP_CX * 7, 24, "6"); ret = ImageList_Remove(himl, -1); ok(ret, "ImageList_Remove(-1) failed\n"); - check_iml_data(himl, BMP_CX, BMP_CX, 0, 4, BMP_CX * 4, BMP_CX * 1, 24, "7"); + check_iml_data(himl, BMP_CX, BMP_CX, 0, 4, 4, BMP_CX * 4, BMP_CX * 1, 24, "7"); ret = ImageList_Destroy(himl); ok(ret, "ImageList_Destroy failed\n"); iml_clear_stream_data(); + + /* test ImageList_Create storage allocation */ + + himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 0, 32); + ok(himl != 0, "ImageList_Create failed\n"); + check_iml_data(himl, BMP_CX, BMP_CX, 0, 1, 32, BMP_CX * 4, BMP_CX * 1, 24, "init 0 grow 32"); + hbm = create_bitmap(BMP_CX * 9, BMP_CX, 0, "9"); + ret = ImageList_Add(himl, hbm, NULL); + ok(ret == 0, "ImageList_Add returned %d, expected 0\n", ret); + check_iml_data(himl, BMP_CX, BMP_CX, 1, 34, 32, BMP_CX * 4, BMP_CX * 9, 24, "add 1 x 9"); + DeleteObject(hbm); + ret = ImageList_Destroy(himl); + ok(ret, "ImageList_Destroy failed\n"); + iml_clear_stream_data(); + + himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 4, 4); + ok(himl != 0, "ImageList_Create failed\n"); + check_iml_data(himl, BMP_CX, BMP_CX, 0, 5, 4, BMP_CX * 4, BMP_CX * 2, 24, "init 4 grow 4"); + hbm = create_bitmap(BMP_CX, BMP_CX * 9, 0, "9"); + ret = ImageList_Add(himl, hbm, NULL); + ok(ret == 0, "ImageList_Add returned %d, expected 0\n", ret); + check_iml_data(himl, BMP_CX, BMP_CX, 9, 15, 4, BMP_CX * 4, BMP_CX * 4, 24, "add 9 x 1"); + ret = ImageList_Add(himl, hbm, NULL); + ok(ret == 9, "ImageList_Add returned %d, expected 9\n", ret); + check_iml_data(himl, BMP_CX, BMP_CX, 18, 25, 4, BMP_CX * 4, BMP_CX * 7, 24, "add 9 x 1"); + DeleteObject(hbm); + ret = ImageList_Destroy(himl); + ok(ret, "ImageList_Destroy failed\n"); + iml_clear_stream_data(); + + himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 207, 209); + ok(himl != 0, "ImageList_Create failed\n"); + check_iml_data(himl, BMP_CX, BMP_CX, 0, 208, 212, BMP_CX * 4, BMP_CX * 52, 24, "init 207 grow 209"); + ret = ImageList_Destroy(himl); + ok(ret, "ImageList_Destroy failed\n"); + iml_clear_stream_data(); + + himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 209, 207); + ok(himl != 0, "ImageList_Create failed\n"); + check_iml_data(himl, BMP_CX, BMP_CX, 0, 210, 208, BMP_CX * 4, BMP_CX * 53, 24, "init 209 grow 207"); + ret = ImageList_Destroy(himl); + ok(ret, "ImageList_Destroy failed\n"); + iml_clear_stream_data(); + + himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 14, 4); + ok(himl != 0, "ImageList_Create failed\n"); + check_iml_data(himl, BMP_CX, BMP_CX, 0, 15, 4, BMP_CX * 4, BMP_CX * 4, 24, "init 14 grow 4"); + ret = ImageList_Destroy(himl); + ok(ret, "ImageList_Destroy failed\n"); + iml_clear_stream_data(); + + himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 5, 9); + ok(himl != 0, "ImageList_Create failed\n"); + check_iml_data(himl, BMP_CX, BMP_CX, 0, 6, 12, BMP_CX * 4, BMP_CX * 2, 24, "init 5 grow 9"); + ret = ImageList_Destroy(himl); + ok(ret, "ImageList_Destroy failed\n"); + iml_clear_stream_data(); + + himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 9, 5); + ok(himl != 0, "ImageList_Create failed\n"); + check_iml_data(himl, BMP_CX, BMP_CX, 0, 10, 8, BMP_CX * 4, BMP_CX * 3, 24, "init 9 grow 5"); + ret = ImageList_Destroy(himl); + ok(ret, "ImageList_Destroy failed\n"); + iml_clear_stream_data(); + + himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 2, 4); + ok(himl != 0, "ImageList_Create failed\n"); + check_iml_data(himl, BMP_CX, BMP_CX, 0, 3, 4, BMP_CX * 4, BMP_CX * 1, 24, "init 2 grow 4"); + ret = ImageList_Destroy(himl); + ok(ret, "ImageList_Destroy failed\n"); + iml_clear_stream_data(); + + himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 4, 2); + ok(himl != 0, "ImageList_Create failed\n"); + check_iml_data(himl, BMP_CX, BMP_CX, 0, 5, 4, BMP_CX * 4, BMP_CX * 2, 24, "init 4 grow 2"); + ret = ImageList_Destroy(himl); + ok(ret, "ImageList_Destroy failed\n"); + iml_clear_stream_data(); } static void test_shell_imagelist(void) diff --git a/dlls/comctl32/tests/treeview.c b/dlls/comctl32/tests/treeview.c index a0d8e77080a..320deba0e0e 100644 --- a/dlls/comctl32/tests/treeview.c +++ b/dlls/comctl32/tests/treeview.c @@ -819,12 +819,15 @@ static void test_get_set_unicodeformat(void) static TVITEMA g_item_expanding, g_item_expanded; static BOOL g_get_from_expand; +static BOOL g_get_rect_in_expand; static LRESULT CALLBACK parent_wnd_proc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { static LONG defwndproc_counter = 0; struct message msg; LRESULT ret; + RECT rect; + HTREEITEM visibleItem; msg.message = message; msg.flags = sent|wparam|lparam; @@ -907,6 +910,17 @@ static LRESULT CALLBACK parent_wnd_proc(HWND hWnd, UINT message, WPARAM wParam, ret = SendMessageA(pHdr->hwndFrom, TVM_GETITEMA, 0, (LPARAM)&g_item_expanded); ok(ret == TRUE, "got %lu\n", ret); } + if (g_get_rect_in_expand) { + visibleItem = TreeView_GetNextItem(pHdr->hwndFrom, NULL, TVGN_FIRSTVISIBLE); + ok(pTreeView->itemNew.hItem == visibleItem, "expanded item == first visible item\n"); + *(HTREEITEM*)&rect = visibleItem; + ok(SendMessage(pHdr->hwndFrom, TVM_GETITEMRECT, TRUE, (LPARAM)&rect), "Failed to get rect for first visible item.\n"); + visibleItem = TreeView_GetNextItem(pHdr->hwndFrom, visibleItem, TVGN_NEXTVISIBLE); + *(HTREEITEM*)&rect = visibleItem; + ok(visibleItem != NULL, "There must be a visible item after the first visisble item.\n"); + todo_wine + ok(SendMessage(pHdr->hwndFrom, TVM_GETITEMRECT, TRUE, (LPARAM)&rect), "Failed to get rect for second visible item.\n"); + } break; } } @@ -1167,6 +1181,17 @@ static void test_expandnotify(void) DestroyWindow(hTree); } +static void test_rect_retrieval_after_expand_with_select(void) { + BOOL ret; + HWND hTree; + hTree = create_treeview_control(); + fill_tree(hTree); + g_get_rect_in_expand = TRUE; + ret = TreeView_Select(hTree, hChild, TVGN_CARET); + g_get_rect_in_expand = FALSE; + ok(ret,"TreeView_Select should return true\n"); +} + START_TEST(treeview) { HMODULE hComctl32; @@ -1227,6 +1252,7 @@ START_TEST(treeview) test_itemedit(); test_treeview_classinfo(); test_expandnotify(); + test_rect_retrieval_after_expand_with_select(); PostMessageA(hMainWnd, WM_CLOSE, 0, 0); while(GetMessageA(&msg,0,0,0)) { diff --git a/dlls/comdlg32/cdlg_Ja.rc b/dlls/comdlg32/cdlg_Ja.rc index 0e0358f1f01..6e1687719b8 100644 --- a/dlls/comdlg32/cdlg_Ja.rc +++ b/dlls/comdlg32/cdlg_Ja.rc @@ -375,78 +375,77 @@ STRINGTABLE DISCARDABLE IDS_VERIFYFILE "ファイル名を確認してください。" IDS_CREATEFILE "このファイルは存在しません。\n作成しますか?" IDS_OVERWRITEFILE "ファイルは既に存在します。\n上書きしますか?" - IDS_INVALID_FILENAME_TITLE "Invalid character(s) in path" + IDS_INVALID_FILENAME_TITLE "ファイル名に使えない文字" IDS_INVALID_FILENAME "ファイル名には以下の文字は使えません:\n / : < > |" - IDS_PATHNOTEXISTING "Path does not exist" - IDS_FILENOTEXISTING "File does not exist" + IDS_PATHNOTEXISTING "パスが見つかりません" + IDS_FILENOTEXISTING "ファイルが見つかりません" } STRINGTABLE DISCARDABLE { - IDS_UPFOLDER "Up One Level" - IDS_NEWFOLDER "Create New Folder" - IDS_LISTVIEW "List" - IDS_REPORTVIEW "Details" - IDS_TODESKTOP "Browse to Desktop" + IDS_UPFOLDER "一つ上のフォルダへ" + IDS_NEWFOLDER "新しいフォルダの作成" + IDS_LISTVIEW "一覧" + IDS_REPORTVIEW "詳細" + IDS_TODESKTOP "デスクトップを参照" } STRINGTABLE DISCARDABLE { - PD32_PRINT_TITLE "Print" + PD32_PRINT_TITLE "印刷" PD32_VALUE_UREADABLE "Unreadable Entry" - PD32_INVALID_PAGE_RANGE "This value does not lie within the page range.\n\ -Please enter a value between %d and %d." - PD32_FROM_NOT_ABOVE_TO "The 'from' entry cannot exceed the \ -'to' entry." - PD32_MARGINS_OVERLAP "Margins overlap or fall outside \ -Paper boundaries.\nPlease reenter margins." - PD32_NR_OF_COPIES_EMPTY "The number of 'Number of copies' \ -value cannot be empty." - PD32_TOO_LARGE_COPIES "This large number of copies is not \ -supported by your printer.\nPlease enter a value between 1 and %d." - PD32_PRINT_ERROR "A printer error occurred." - PD32_NO_DEFAULT_PRINTER "No default printer defined." - PD32_CANT_FIND_PRINTER "Cannot find the printer." - PD32_OUT_OF_MEMORY "Out of memory." - PD32_GENERIC_ERROR "An error occurred." - PD32_DRIVER_UNKNOWN "Unknown printer driver." - PD32_NO_DEVICES "Before you can perform printer-related tasks \ -such as page setup or printing a document, you need to install a printer. \ -Please install one and retry." - - PD32_DEFAULT_PRINTER "Default Printer; " - PD32_NR_OF_DOCUMENTS_IN_QUEUE "There are %d documents in the queue" - PD32_MARGINS_IN_INCHES "Margins [inches]" - PD32_MARGINS_IN_MILLIMETERS "Margins [mm]" + PD32_INVALID_PAGE_RANGE "この値はページの範囲に含まれません。\n\ +%d から %d までの値を入力してください。" + PD32_FROM_NOT_ABOVE_TO "開始ページの値は、終了ページの値を\ +超えない値にしてください。" + PD32_MARGINS_OVERLAP "余白が重なっているか、用紙の境界を\ +超えています。\n余白を再入力してください。" + PD32_NR_OF_COPIES_EMPTY "部数は、空にできません。" + PD32_TOO_LARGE_COPIES "部数がプリンタがサポートしている\ +を超えています。\n1 から %d までの値を入力してください。" + PD32_PRINT_ERROR "プリンタ エラーが発生しました。" + PD32_NO_DEFAULT_PRINTER "既定のプリンタが定義されていません。" + PD32_CANT_FIND_PRINTER "プリンタが見つかりません。" + PD32_OUT_OF_MEMORY "メモリ不足です。" + PD32_GENERIC_ERROR "エラーが発生しました。" + PD32_DRIVER_UNKNOWN "プリンタ ドライバが不明です。" + PD32_NO_DEVICES "ページ設定や文書を印刷するなどのプリンタ関連の\ +タスクを実施する前に、プリンタをインストールする必要があります。 \ +プリンタをインストールしてから再度実行してください。" + + PD32_DEFAULT_PRINTER "既定のプリンタ " + PD32_NR_OF_DOCUMENTS_IN_QUEUE "キューに %d つの文書" + PD32_MARGINS_IN_INCHES "余白 [インチ]" + PD32_MARGINS_IN_MILLIMETERS "余白 [mm]" PD32_MILLIMETERS "mm" - PD32_PRINTER_STATUS_READY "Ready" - PD32_PRINTER_STATUS_PAUSED "Paused; " - PD32_PRINTER_STATUS_ERROR "Error; " - PD32_PRINTER_STATUS_PENDING_DELETION "Pending deletion; " - PD32_PRINTER_STATUS_PAPER_JAM "Paper jam; " - PD32_PRINTER_STATUS_PAPER_OUT "Out of paper; " - PD32_PRINTER_STATUS_MANUAL_FEED "Feed paper manual; " - PD32_PRINTER_STATUS_PAPER_PROBLEM "Paper problem; " - PD32_PRINTER_STATUS_OFFLINE "Printer offline; " - PD32_PRINTER_STATUS_IO_ACTIVE "I/O Active; " - PD32_PRINTER_STATUS_BUSY "Busy; " - PD32_PRINTER_STATUS_PRINTING "Printing; " - PD32_PRINTER_STATUS_OUTPUT_BIN_FULL "Output tray is full; " - PD32_PRINTER_STATUS_NOT_AVAILABLE "Not available; " - PD32_PRINTER_STATUS_WAITING "Waiting; " - PD32_PRINTER_STATUS_PROCESSING "Processing; " - PD32_PRINTER_STATUS_INITIALIZING "Initialising; " - PD32_PRINTER_STATUS_WARMING_UP "Warming up; " - PD32_PRINTER_STATUS_TONER_LOW "Toner low; " - PD32_PRINTER_STATUS_NO_TONER "No toner; " - PD32_PRINTER_STATUS_PAGE_PUNT "Page punt; " - PD32_PRINTER_STATUS_USER_INTERVENTION "Interrupted by user; " - PD32_PRINTER_STATUS_OUT_OF_MEMORY "Out of memory; " - PD32_PRINTER_STATUS_DOOR_OPEN "The printer door is open; " - PD32_PRINTER_STATUS_SERVER_UNKNOWN "Print server unknown; " - PD32_PRINTER_STATUS_POWER_SAVE "Power save mode; " + PD32_PRINTER_STATUS_READY "準備完了" + PD32_PRINTER_STATUS_PAUSED "一時停止 -" + PD32_PRINTER_STATUS_ERROR "エラー -" + PD32_PRINTER_STATUS_PENDING_DELETION "削除待ち -" + PD32_PRINTER_STATUS_PAPER_JAM "紙詰まり -" + PD32_PRINTER_STATUS_PAPER_OUT "用紙切れ -" + PD32_PRINTER_STATUS_MANUAL_FEED "手差し -" + PD32_PRINTER_STATUS_PAPER_PROBLEM "用紙の問題 -" + PD32_PRINTER_STATUS_OFFLINE "オフライン -" + PD32_PRINTER_STATUS_IO_ACTIVE "入出力中 -" + PD32_PRINTER_STATUS_BUSY "ビジー -" + PD32_PRINTER_STATUS_PRINTING "印刷中 -" + PD32_PRINTER_STATUS_OUTPUT_BIN_FULL "出力トレイが満杯 -" + PD32_PRINTER_STATUS_NOT_AVAILABLE "利用不可 -" + PD32_PRINTER_STATUS_WAITING "待機中 -" + PD32_PRINTER_STATUS_PROCESSING "処理中 -" + PD32_PRINTER_STATUS_INITIALIZING "初期化中 -" + PD32_PRINTER_STATUS_WARMING_UP "ウォーミング アップ -" + PD32_PRINTER_STATUS_TONER_LOW "トナー少量 -" + PD32_PRINTER_STATUS_NO_TONER "トナーなし -" + PD32_PRINTER_STATUS_PAGE_PUNT "処理不能 -" + PD32_PRINTER_STATUS_USER_INTERVENTION "ユーザー操作が必要 -" + PD32_PRINTER_STATUS_OUT_OF_MEMORY "メモリ不足 -" + PD32_PRINTER_STATUS_DOOR_OPEN "プリンタ カバー開放 -" + PD32_PRINTER_STATUS_SERVER_UNKNOWN "プリント サーバ不明 -" + PD32_PRINTER_STATUS_POWER_SAVE "省電力モード -" } STRINGTABLE DISCARDABLE /* Font styles */ @@ -479,7 +478,7 @@ STRINGTABLE DISCARDABLE /* Color names */ STRINGTABLE DISCARDABLE { - IDS_FONT_SIZE "Select a font size between %d and %d points." + IDS_FONT_SIZE "フォントサイズを %d ポイントから %d ポイントの間で選択してください。" IDS_SAVE_BUTTON "保存(&S)" IDS_SAVE_IN "保存する場所(&I):" IDS_SAVE "保存" diff --git a/dlls/credui/credui_Pt.rc b/dlls/credui/credui_Pt.rc index 2283e43bfda..b4f47979689 100644 --- a/dlls/credui/credui_Pt.rc +++ b/dlls/credui/credui_Pt.rc @@ -2,6 +2,7 @@ * Portuguese language resource file for Credentials UI * * Copyright 2008 Ricardo Filipe + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +21,30 @@ #include "credui_resources.h" -LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL +#pragma code_page(65001) + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDD_CREDDIALOG DIALOG DISCARDABLE 0, 0, 213, 149 +STYLE DS_MODALFRAME | DS_NOIDLEMSG | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "IDS_TITLEFORMAT" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL IDB_BANNER,-1,"Static",SS_BITMAP | SS_CENTERIMAGE,0, + 0,213,37 + LTEXT "IDS_MESSAGEFORMAT",IDC_MESSAGE,8,48,199,8,NOT WS_GROUP + LTEXT "Nome de &usuário:",-1,8,62,72,12,SS_CENTERIMAGE + CONTROL "",IDC_USERNAME,"ComboBoxEx32",CBS_DROPDOWN | + CBS_NOINTEGRALHEIGHT | WS_TABSTOP,80,62,126,87 + LTEXT "&Senha:",-1,8,80,72,12,SS_CENTERIMAGE + EDITTEXT IDC_PASSWORD,80,80,126,12,ES_PASSWORD | ES_AUTOHSCROLL + CONTROL "&Lembrar a senha",IDC_SAVE,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,80,98,126,12 + DEFPUSHBUTTON "OK",IDOK,97,128,50,14 + PUSHBUTTON "Cancelar",IDCANCEL,156,128,50,14 +END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE IDD_CREDDIALOG DIALOG DISCARDABLE 0, 0, 213, 149 STYLE DS_MODALFRAME | DS_NOIDLEMSG | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU @@ -41,12 +65,27 @@ BEGIN PUSHBUTTON "Cancelar",IDCANCEL,156,128,50,14 END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE DISCARDABLE +{ + IDS_TITLEFORMAT "Conectar a %s" + IDS_MESSAGEFORMAT "Conectando a %s" + IDS_INCORRECTPASSWORDTITLE "Logon mal sucedido" + IDS_INCORRECTPASSWORD "Certifique-se de que nome de usuário\ne senha estão corretos." + IDS_CAPSLOCKONTITLE "Caps Lock ligado" + IDS_CAPSLOCKON "Ter o Caps Lock ligado pode provocar a introdução incorreta da sua senha.\n\nPressione a tecla Caps Lock no seu teclado para desligar o Caps Lock antes\nde introduzir a senha." +} + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + STRINGTABLE DISCARDABLE { IDS_TITLEFORMAT "Ligar a %s" IDS_MESSAGEFORMAT "A ligar a %s" IDS_INCORRECTPASSWORDTITLE "Logon mal sucedido" - IDS_INCORRECTPASSWORD "Verifique que o seu nome de utilizador\ne password estão correctos." + IDS_INCORRECTPASSWORD "Verifique que o seu nome de utilizador\ne password estão correctos." IDS_CAPSLOCKONTITLE "Caps Lock ligado" IDS_CAPSLOCKON "Tendo o Caps Lock ligado pode provocar que introduza a sua password incorrectamente.\n\nPressione a tecla Caps Lock no seu teclado para desligar o Caps Lock antes\nde introduzir a password." } diff --git a/dlls/crypt32/tests/encode.c b/dlls/crypt32/tests/encode.c index d60843ae85d..cc59a59e6a5 100644 --- a/dlls/crypt32/tests/encode.c +++ b/dlls/crypt32/tests/encode.c @@ -7962,7 +7962,7 @@ static void testPortPublicKeyInfo(void) CRYPT_DELETEKEYSET); ret = CryptAcquireContextA(&csp, cspName, MS_DEF_PROV, PROV_RSA_FULL, CRYPT_NEWKEYSET); - ok(ret,"CryptAcquireContextA failed"); + ok(ret,"CryptAcquireContextA failed\n"); testExportPublicKey(csp, &info); testImportPublicKey(csp, info); @@ -7971,7 +7971,7 @@ static void testPortPublicKeyInfo(void) CryptReleaseContext(csp, 0); ret = CryptAcquireContextA(&csp, cspName, MS_DEF_PROV, PROV_RSA_FULL, CRYPT_DELETEKEYSET); - ok(ret,"CryptAcquireContextA failed"); + ok(ret,"CryptAcquireContextA failed\n"); } START_TEST(encode) diff --git a/dlls/crypt32/tests/store.c b/dlls/crypt32/tests/store.c index 3d55935073c..10a85a346fe 100644 --- a/dlls/crypt32/tests/store.c +++ b/dlls/crypt32/tests/store.c @@ -2228,7 +2228,7 @@ static void testAddCertificateLink(void) ok(ret, "CertAddCertificateLinkToStore failed: %08x\n", GetLastError()); if (ret) { - ok(linked->hCertStore == store1, "unexpected store"); + ok(linked->hCertStore == store1, "unexpected store\n"); ret = CertSerializeCertificateStoreElement(linked, 0, NULL, &size); ok(ret, "CertSerializeCertificateStoreElement failed: %08x\n", GetLastError()); @@ -2300,7 +2300,7 @@ static void testAddCertificateLink(void) ok(ret, "CertAddCertificateLinkToStore failed: %08x\n", GetLastError()); if (ret) { - ok(linked->hCertStore == store2, "unexpected store"); + ok(linked->hCertStore == store2, "unexpected store\n"); ret = CertSerializeCertificateStoreElement(linked, 0, NULL, &size); ok(ret, "CertSerializeCertificateStoreElement failed: %08x\n", GetLastError()); @@ -2360,7 +2360,7 @@ static void testAddCertificateLink(void) ok(ret, "CertAddCertificateLinkToStore failed: %08x\n", GetLastError()); if (ret) { - ok(linked->hCertStore == store2, "unexpected store"); + ok(linked->hCertStore == store2, "unexpected store\n"); ret = CertSerializeCertificateStoreElement(linked, 0, NULL, &size); ok(ret, "CertSerializeCertificateStoreElement failed: %08x\n", GetLastError()); @@ -2429,7 +2429,7 @@ static void testAddCertificateLink(void) ok(ret, "CertAddCertificateLinkToStore failed: %08x\n", GetLastError()); if (ret) { - ok(linked->hCertStore == store2, "unexpected store"); + ok(linked->hCertStore == store2, "unexpected store\n"); ret = pCertControlStore(store2, 0, CERT_STORE_CTRL_COMMIT, NULL); ok(ret, "CertControlStore failed: %d\n", ret); compareStore(store2, "file store -> system store", @@ -2452,7 +2452,7 @@ static void testAddCertificateLink(void) ok(ret, "CertAddCertificateLinkToStore failed: %08x\n", GetLastError()); if (ret) { - ok(linked->hCertStore == store2, "unexpected store"); + ok(linked->hCertStore == store2, "unexpected store\n"); CertDeleteCertificateFromStore(linked); } CertCloseStore(store2, 0); diff --git a/dlls/d3d10/tests/effect.c b/dlls/d3d10/tests/effect.c index a8c5886f935..eab6d6d61b4 100644 --- a/dlls/d3d10/tests/effect.c +++ b/dlls/d3d10/tests/effect.c @@ -3536,7 +3536,7 @@ static void test_effect_get_variable_by(ID3D10Device *device) /* variable f1 */ variable_by_index = effect->lpVtbl->GetVariableByIndex(effect, 0); - ok(null_variable != variable_by_index, "GetVariableByIndex failed %p", variable_by_index); + ok(null_variable != variable_by_index, "GetVariableByIndex failed %p\n", variable_by_index); variable = effect->lpVtbl->GetVariableByName(effect, "f1"); ok(variable_by_index == variable, "GetVariableByName got %p, expected %p\n", variable, variable_by_index); @@ -3546,7 +3546,7 @@ static void test_effect_get_variable_by(ID3D10Device *device) /* variable f2 */ variable_by_index = effect->lpVtbl->GetVariableByIndex(effect, 1); - ok(null_variable != variable_by_index, "GetVariableByIndex failed %p", variable_by_index); + ok(null_variable != variable_by_index, "GetVariableByIndex failed %p\n", variable_by_index); variable = effect->lpVtbl->GetVariableByName(effect, "f2"); ok(variable_by_index == variable, "GetVariableByName got %p, expected %p\n", variable, variable_by_index); @@ -3556,18 +3556,18 @@ static void test_effect_get_variable_by(ID3D10Device *device) /* variable f3 */ variable_by_index = effect->lpVtbl->GetVariableByIndex(effect, 2); - ok(null_variable != variable_by_index, "GetVariableByIndex failed %p", variable_by_index); + ok(null_variable != variable_by_index, "GetVariableByIndex failed %p\n", variable_by_index); variable = effect->lpVtbl->GetVariableByName(effect, "f3"); ok(variable_by_index == variable, "GetVariableByName got %p, expected %p\n", variable, variable_by_index); variable = effect->lpVtbl->GetVariableBySemantic(effect, "SV_POSITION"); - ok(variable != null_variable, "GetVariableBySemantic failed %p", variable); - ok(variable != variable_by_index, "GetVariableBySemantic failed %p", variable); + ok(variable != null_variable, "GetVariableBySemantic failed %p\n", variable); + ok(variable != variable_by_index, "GetVariableBySemantic failed %p\n", variable); /* variable f4 */ variable_by_index = effect->lpVtbl->GetVariableByIndex(effect, 3); - ok(null_variable != variable_by_index, "GetVariableByIndex failed %p", variable_by_index); + ok(null_variable != variable_by_index, "GetVariableByIndex failed %p\n", variable_by_index); variable = effect->lpVtbl->GetVariableByName(effect, "f4"); ok(variable_by_index == variable, "GetVariableByName got %p, expected %p\n", variable, variable_by_index); @@ -3577,7 +3577,7 @@ static void test_effect_get_variable_by(ID3D10Device *device) /* variable tex1 */ variable_by_index = effect->lpVtbl->GetVariableByIndex(effect, 4); - ok(null_variable != variable_by_index, "GetVariableByIndex failed %p", variable_by_index); + ok(null_variable != variable_by_index, "GetVariableByIndex failed %p\n", variable_by_index); variable = effect->lpVtbl->GetVariableByName(effect, "tex1"); ok(variable_by_index == variable, "GetVariableByName got %p, expected %p\n", variable, variable_by_index); @@ -3587,14 +3587,14 @@ static void test_effect_get_variable_by(ID3D10Device *device) /* variable tex2 */ variable_by_index = effect->lpVtbl->GetVariableByIndex(effect, 5); - ok(null_variable != variable_by_index, "GetVariableByIndex failed %p", variable_by_index); + ok(null_variable != variable_by_index, "GetVariableByIndex failed %p\n", variable_by_index); variable = effect->lpVtbl->GetVariableByName(effect, "tex2"); ok(variable_by_index == variable, "GetVariableByName got %p, expected %p\n", variable, variable_by_index); variable = effect->lpVtbl->GetVariableBySemantic(effect, "COLOR1"); - ok(variable != null_variable, "GetVariableBySemantic failed %p", variable); - ok(variable != variable_by_index, "GetVariableBySemantic failed %p", variable); + ok(variable != null_variable, "GetVariableBySemantic failed %p\n", variable); + ok(variable != variable_by_index, "GetVariableBySemantic failed %p\n", variable); effect->lpVtbl->Release(effect); } diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c index 3a7824a606a..9677e0bca65 100644 --- a/dlls/d3dx9_36/shader.c +++ b/dlls/d3dx9_36/shader.c @@ -382,7 +382,7 @@ static int wpp_close_output(void) return 1; } -HRESULT assemble_shader(const char *preprocShader, const char *preprocMessages, +static HRESULT assemble_shader(const char *preprocShader, const char *preprocMessages, LPD3DXBUFFER* ppShader, LPD3DXBUFFER* ppErrorMsgs) { struct bwriter_shader *shader; diff --git a/dlls/d3dx9_36/tests/asm.c b/dlls/d3dx9_36/tests/asm.c index 276a6e2a41a..23ec48444da 100644 --- a/dlls/d3dx9_36/tests/asm.c +++ b/dlls/d3dx9_36/tests/asm.c @@ -1362,13 +1362,13 @@ static void failure_test(void) { /* shader 42: no modifiers with vs dcl sampler instruction */ "vs_3_0\n" "dcl_2d_pp s0\n", - /* shader 43: can't explicitely declare input registers in ps_2_0 */ + /* shader 43: can't explicitly declare input registers in ps_2_0 */ "ps_2_0\n" "dcl_texcoord0 t0\n", - /* shader 44: can't implicitely declare registers in vs */ + /* shader 44: can't implicitly declare registers in vs */ "vs_2_0\n" "dcl o0\n", - /* shader 45: can't implicitely declare samplers in vs */ + /* shader 45: can't implicitly declare samplers in vs */ "vs_3_0\n" "dcl s2\n", /* shader 46: no tx registers in ps_3_0 */ diff --git a/dlls/d3dxof/mszip.c b/dlls/d3dxof/mszip.c index 73fa848d219..179661634f7 100644 --- a/dlls/d3dxof/mszip.c +++ b/dlls/d3dxof/mszip.c @@ -607,12 +607,12 @@ static int ZIPfdi_decomp(int inlen, int outlen, fdi_decomp_state *decomp_state) return DECR_OK; } -void * __cdecl fdi_alloc(ULONG cb) +static void * __cdecl fdi_alloc(ULONG cb) { return HeapAlloc(GetProcessHeap(), 0, cb); } -void __cdecl fdi_free(void *pv) +static void __cdecl fdi_free(void *pv) { HeapFree(GetProcessHeap(), 0, pv); } diff --git a/dlls/dbghelp/cpu_x86_64.c b/dlls/dbghelp/cpu_x86_64.c index f07d8e46f2a..7b719cee829 100644 --- a/dlls/dbghelp/cpu_x86_64.c +++ b/dlls/dbghelp/cpu_x86_64.c @@ -238,7 +238,7 @@ static void dump_unwind_info(HANDLE hProcess, ULONG64 base, RUNTIME_FUNCTION *fu } } -/* highly derivated from dlls/ntdlls/signal_x86_64.c */ +/* highly derived from dlls/ntdll/signal_x86_64.c */ static ULONG64 get_int_reg(CONTEXT *context, int reg) { return *(&context->Rax + reg); diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c index 7d6558dcc6f..d5511ad2ed5 100644 --- a/dlls/ddraw/ddraw.c +++ b/dlls/ddraw/ddraw.c @@ -345,7 +345,7 @@ IDirectDrawImpl_Release(IDirectDraw7 *iface) * DDSCL_SETDEVICEWINDOW: Sets a window specially used for rendering (I don't * expect any difference to a normal window for wine) * DDSCL_CREATEDEVICEWINDOW: Tells ddraw to create its own window for - * rendering (Possible test case: Half-life) + * rendering (Possible test case: Half-Life) * * Unsure about these: DDSCL_FPUSETUP DDSCL_FPURESERVE * diff --git a/dlls/ddraw/direct3d.c b/dlls/ddraw/direct3d.c index 3f2410fe8a7..edbcc28758e 100644 --- a/dlls/ddraw/direct3d.c +++ b/dlls/ddraw/direct3d.c @@ -666,6 +666,13 @@ IDirect3DImpl_3_FindDevice(IDirect3D3 *iface, TRACE("(%p)->(%p,%p)\n", This, D3DDFS, D3DFDR); + if (!D3DDFS || !D3DFDR) + return DDERR_INVALIDPARAMS; + + if (D3DDFS->dwSize != sizeof(D3DFINDDEVICESEARCH) || + D3DFDR->dwSize != sizeof(D3DFINDDEVICERESULT)) + return DDERR_INVALIDPARAMS; + if ((D3DDFS->dwFlags & D3DFDS_COLORMODEL) && (D3DDFS->dcmColorModel != D3DCOLOR_RGB)) { @@ -677,10 +684,11 @@ IDirect3DImpl_3_FindDevice(IDirect3D3 *iface, TRACE(" trying to match guid %s.\n", debugstr_guid(&(D3DDFS->guid))); if ((IsEqualGUID(&IID_D3DDEVICE_WineD3D, &(D3DDFS->guid)) == 0) && (IsEqualGUID(&IID_IDirect3DHALDevice, &(D3DDFS->guid)) == 0) && - (IsEqualGUID(&IID_IDirect3DRefDevice, &(D3DDFS->guid)) == 0)) + (IsEqualGUID(&IID_IDirect3DRefDevice, &(D3DDFS->guid)) == 0) && + (IsEqualGUID(&IID_IDirect3DRGBDevice, &(D3DDFS->guid)) == 0)) { TRACE(" no match for this GUID.\n"); - return DDERR_INVALIDPARAMS; + return DDERR_NOTFOUND; } } diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c index bfe83a4905e..ef7b38185cb 100644 --- a/dlls/ddraw/surface.c +++ b/dlls/ddraw/surface.c @@ -2077,9 +2077,13 @@ IDirectDrawSurfaceImpl_BltFast(IDirectDrawSurface7 *iface, { IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *src = (IDirectDrawSurfaceImpl *)Source; + DWORD src_w, src_h, dst_w, dst_h; HRESULT hr; TRACE("(%p)->(%d,%d,%p,%p,%d): Relay\n", This, dstx, dsty, Source, rsrc, trans); + dst_w = This->surface_desc.dwWidth; + dst_h = This->surface_desc.dwHeight; + /* Source must be != NULL, This is not checked by windows. Windows happily throws a 0xc0000005 * in that case */ @@ -2092,21 +2096,21 @@ IDirectDrawSurfaceImpl_BltFast(IDirectDrawSurface7 *iface, WARN("Source rectangle is invalid, returning DDERR_INVALIDRECT\n"); return DDERR_INVALIDRECT; } - if(dstx + rsrc->right - rsrc->left > This->surface_desc.dwWidth || - dsty + rsrc->bottom - rsrc->top > This->surface_desc.dwHeight) - { - WARN("Destination area out of bounds, returning DDERR_INVALIDRECT\n"); - return DDERR_INVALIDRECT; - } + + src_w = rsrc->right - rsrc->left; + src_h = rsrc->bottom - rsrc->top; } else { - if(dstx + src->surface_desc.dwWidth > This->surface_desc.dwWidth || - dsty + src->surface_desc.dwHeight > This->surface_desc.dwHeight) - { - WARN("Destination area out of bounds, returning DDERR_INVALIDRECT\n"); - return DDERR_INVALIDRECT; - } + src_w = src->surface_desc.dwWidth; + src_h = src->surface_desc.dwHeight; + } + + if (src_w > dst_w || dstx > dst_w - src_w + || src_h > dst_h || dsty > dst_h - src_h) + { + WARN("Destination area out of bounds, returning DDERR_INVALIDRECT.\n"); + return DDERR_INVALIDRECT; } EnterCriticalSection(&ddraw_cs); diff --git a/dlls/ddraw/tests/d3d.c b/dlls/ddraw/tests/d3d.c index 26dc1cfa429..069bc963fde 100644 --- a/dlls/ddraw/tests/d3d.c +++ b/dlls/ddraw/tests/d3d.c @@ -3391,6 +3391,115 @@ static void VertexBufferLockRest(void) IDirect3DVertexBuffer7_Release(buffer); } +static void FindDevice(void) +{ + static const struct + { + const GUID *guid; + int todo; + } deviceGUIDs[] = + { + {&IID_IDirect3DRampDevice, 1}, + {&IID_IDirect3DRGBDevice}, + }; + + D3DFINDDEVICESEARCH search = {0}; + D3DFINDDEVICERESULT result = {0}; + HRESULT hr; + int i; + + /* Test invalid parameters. */ + hr = IDirect3D_FindDevice(Direct3D1, NULL, NULL); + ok(hr == DDERR_INVALIDPARAMS, + "Expected IDirect3D1::FindDevice to return DDERR_INVALIDPARAMS, got 0x%08x\n", hr); + + hr = IDirect3D_FindDevice(Direct3D1, NULL, &result); + ok(hr == DDERR_INVALIDPARAMS, + "Expected IDirect3D1::FindDevice to return DDERR_INVALIDPARAMS, got 0x%08x\n", hr); + + hr = IDirect3D_FindDevice(Direct3D1, &search, NULL); + ok(hr == DDERR_INVALIDPARAMS, + "Expected IDirect3D1::FindDevice to return DDERR_INVALIDPARAMS, got 0x%08x\n", hr); + + search.dwSize = 0; + result.dwSize = 0; + + hr = IDirect3D_FindDevice(Direct3D1, &search, &result); + ok(hr == DDERR_INVALIDPARAMS, + "Expected IDirect3D1::FindDevice to return DDERR_INVALIDPARAMS, got 0x%08x\n", hr); + + search.dwSize = sizeof(search) + 1; + result.dwSize = sizeof(result) + 1; + + hr = IDirect3D_FindDevice(Direct3D1, &search, &result); + ok(hr == DDERR_INVALIDPARAMS, + "Expected IDirect3D1::FindDevice to return DDERR_INVALIDPARAMS, got 0x%08x\n", hr); + + /* Specifying no flags is permitted. */ + search.dwSize = sizeof(search); + search.dwFlags = 0; + result.dwSize = sizeof(result); + + hr = IDirect3D_FindDevice(Direct3D1, &search, &result); + ok(hr == D3D_OK, + "Expected IDirect3D1::FindDevice to return D3D_OK, got 0x%08x\n", hr); + + /* Try an arbitrary non-device GUID. */ + search.dwSize = sizeof(search); + search.dwFlags = D3DFDS_GUID; + search.guid = IID_IDirect3D; + result.dwSize = sizeof(result); + + hr = IDirect3D_FindDevice(Direct3D1, &search, &result); + ok(hr == DDERR_NOTFOUND, + "Expected IDirect3D1::FindDevice to return DDERR_NOTFOUND, got 0x%08x\n", hr); + + /* The reference device GUID can't be enumerated. */ + search.dwSize = sizeof(search); + search.dwFlags = D3DFDS_GUID; + search.guid = IID_IDirect3DRefDevice; + result.dwSize = sizeof(result); + + hr = IDirect3D_FindDevice(Direct3D1, &search, &result); + todo_wine + ok(hr == DDERR_NOTFOUND, + "Expected IDirect3D1::FindDevice to return DDERR_NOTFOUND, got 0x%08x\n", hr); + + /* These GUIDs appear to be always present. */ + for (i = 0; i < sizeof(deviceGUIDs)/sizeof(deviceGUIDs[0]); i++) + { + search.dwSize = sizeof(search); + search.dwFlags = D3DFDS_GUID; + search.guid = *deviceGUIDs[i].guid; + result.dwSize = sizeof(result); + + hr = IDirect3D_FindDevice(Direct3D1, &search, &result); + + if (deviceGUIDs[i].todo) + { + todo_wine + ok(hr == D3D_OK, + "[%d] Expected IDirect3D1::FindDevice to return D3D_OK, got 0x%08x\n", i, hr); + } + else + { + ok(hr == D3D_OK, + "[%d] Expected IDirect3D1::FindDevice to return D3D_OK, got 0x%08x\n", i, hr); + } + } + + /* Curiously the color model criteria seem to be ignored. */ + search.dwSize = sizeof(search); + search.dwFlags = D3DFDS_COLORMODEL; + search.dcmColorModel = 0xdeadbeef; + result.dwSize = sizeof(result); + + hr = IDirect3D_FindDevice(Direct3D1, &search, &result); + todo_wine + ok(hr == D3D_OK, + "Expected IDirect3D1::FindDevice to return D3D_OK, got 0x%08x\n", hr); +} + START_TEST(d3d) { init_function_pointers(); @@ -3425,6 +3534,7 @@ START_TEST(d3d) Direct3D1Test(); TextureLoadTest(); ViewportTest(); + FindDevice(); D3D1_releaseObjects(); } diff --git a/dlls/ddraw/tests/dsurface.c b/dlls/ddraw/tests/dsurface.c index bfd5eaeab86..20e8634b7b9 100644 --- a/dlls/ddraw/tests/dsurface.c +++ b/dlls/ddraw/tests/dsurface.c @@ -2537,6 +2537,14 @@ static void BltParamTest(void) ok(hr == DDERR_INVALIDRECT, "BltFast with a rectangle resulting in an off-surface write returned %08x\n", hr); hr = IDirectDrawSurface_BltFast(surface1, 90, 90, surface2, NULL, 0); ok(hr == DDERR_INVALIDRECT, "BltFast with a rectangle resulting in an off-surface write returned %08x\n", hr); + + hr = IDirectDrawSurface_BltFast(surface1, -10, 0, surface2, NULL, 0); + ok(hr == DDERR_INVALIDRECT, "BltFast with an offset resulting in an off-surface write returned %08x\n", hr); + hr = IDirectDrawSurface_BltFast(surface1, 0, -10, surface2, NULL, 0); + ok(hr == DDERR_INVALIDRECT, "BltFast with an offset resulting in an off-surface write returned %08x\n", hr); + hr = IDirectDrawSurface_BltFast(surface2, 20, 20, surface1, &valid, 0); + ok(hr == DD_OK, "BltFast from bigger to smaller surface using a valid rectangle and offset returned %08x\n", hr); + hr = IDirectDrawSurface_BltFast(surface2, 0, 0, surface1, &invalid1, 0); ok(hr == DDERR_INVALIDRECT, "BltFast with invalid rectangle 1 returned %08x\n", hr); hr = IDirectDrawSurface_BltFast(surface2, 0, 0, surface1, &invalid2, 0); diff --git a/dlls/gdi32/dc.c b/dlls/gdi32/dc.c index f3a62bde004..c55442f912b 100644 --- a/dlls/gdi32/dc.c +++ b/dlls/gdi32/dc.c @@ -912,6 +912,11 @@ INT WINAPI GetDeviceCaps( HDC hdc, INT cap ) case LOGPIXELSX: ret = 72; break; case LOGPIXELSY: ret = 72; break; case SIZEPALETTE: ret = 2; break; + case TEXTCAPS: + ret = (TC_OP_CHARACTER | TC_OP_STROKE | TC_CP_STROKE | + TC_CR_ANY | TC_SF_X_YINDEP | TC_SA_DOUBLE | TC_SA_INTEGER | + TC_SA_CONTIN | TC_UA_ABLE | TC_SO_ABLE | TC_RA_ABLE | TC_VA_ABLE); + break; } release_dc_ptr( dc ); } diff --git a/dlls/gdiplus/brush.c b/dlls/gdiplus/brush.c index 57db380f3a4..b399fce3032 100644 --- a/dlls/gdiplus/brush.c +++ b/dlls/gdiplus/brush.c @@ -574,12 +574,15 @@ GpStatus WINGDIPAPI GdipCreatePathGradient(GDIPCONST GpPointF* points, if (!*grad) return OutOfMemory; (*grad)->blendfac = GdipAlloc(sizeof(REAL)); - if(!(*grad)->blendfac){ + (*grad)->blendpos = GdipAlloc(sizeof(REAL)); + if(!(*grad)->blendfac || !(*grad)->blendpos){ + GdipFree((*grad)->blendfac); + GdipFree((*grad)->blendpos); GdipFree(*grad); return OutOfMemory; } (*grad)->blendfac[0] = 1.0; - (*grad)->blendpos = NULL; + (*grad)->blendpos[0] = 1.0; (*grad)->blendcount = 1; (*grad)->pathdata.Count = count; @@ -664,12 +667,15 @@ GpStatus WINGDIPAPI GdipCreatePathGradientFromPath(GDIPCONST GpPath* path, if (!*grad) return OutOfMemory; (*grad)->blendfac = GdipAlloc(sizeof(REAL)); - if(!(*grad)->blendfac){ + (*grad)->blendpos = GdipAlloc(sizeof(REAL)); + if(!(*grad)->blendfac || !(*grad)->blendpos){ + GdipFree((*grad)->blendfac); + GdipFree((*grad)->blendpos); GdipFree(*grad); return OutOfMemory; } (*grad)->blendfac[0] = 1.0; - (*grad)->blendpos = NULL; + (*grad)->blendpos[0] = 1.0; (*grad)->blendcount = 1; (*grad)->pathdata.Count = path->pathdata.Count; @@ -1064,6 +1070,19 @@ GpStatus WINGDIPAPI GdipGetPathGradientCenterPointI(GpPathGradient *grad, return ret; } +GpStatus WINGDIPAPI GdipGetPathGradientCenterColor(GpPathGradient *grad, + ARGB *colors) +{ + static int calls; + + TRACE("(%p,%p)\n", grad, colors); + + if(!(calls++)) + FIXME("not implemented\n"); + + return NotImplemented; +} + GpStatus WINGDIPAPI GdipGetPathGradientFocusScales(GpPathGradient *grad, REAL *x, REAL *y) { @@ -1784,6 +1803,18 @@ GpStatus WINGDIPAPI GdipSetLineTransform(GpLineGradient *brush, return NotImplemented; } +GpStatus WINGDIPAPI GdipGetLineTransform(GpLineGradient *brush, GpMatrix *matrix) +{ + static int calls; + + TRACE("(%p,%p)\n", brush, matrix); + + if(!(calls++)) + FIXME("not implemented\n"); + + return NotImplemented; +} + GpStatus WINGDIPAPI GdipScaleLineTransform(GpLineGradient *brush, REAL sx, REAL sy, GpMatrixOrder order) { @@ -1797,6 +1828,19 @@ GpStatus WINGDIPAPI GdipScaleLineTransform(GpLineGradient *brush, REAL sx, REAL return NotImplemented; } +GpStatus WINGDIPAPI GdipMultiplyLineTransform(GpLineGradient *brush, + GDIPCONST GpMatrix *matrix, GpMatrixOrder order) +{ + static int calls; + + TRACE("(%p,%p,%u)\n", brush, matrix, order); + + if(!(calls++)) + FIXME("not implemented\n"); + + return NotImplemented; +} + GpStatus WINGDIPAPI GdipTranslateLineTransform(GpLineGradient* brush, REAL dx, REAL dy, GpMatrixOrder order) { diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index 14e7fbff4a8..bf0de649289 100644 --- a/dlls/gdiplus/gdiplus.spec +++ b/dlls/gdiplus/gdiplus.spec @@ -262,7 +262,7 @@ @ stub GdipGetEffectParameters @ stdcall GdipGetEmHeight(ptr long ptr) @ stub GdipGetEncoderParameterList -@ stub GdipGetEncoderParameterListSize +@ stdcall GdipGetEncoderParameterListSize(ptr ptr ptr) @ stdcall GdipGetFamily(ptr ptr) @ stdcall GdipGetFamilyName(ptr ptr long) @ stdcall GdipGetFontCollectionFamilyCount(ptr ptr) @@ -309,7 +309,7 @@ @ stdcall GdipGetLineRect(ptr ptr) @ stdcall GdipGetLineRectI(ptr ptr) @ stdcall GdipGetLineSpacing(ptr long ptr) -@ stub GdipGetLineTransform +@ stdcall GdipGetLineTransform(ptr ptr) @ stdcall GdipGetLineWrapMode(ptr ptr) @ stdcall GdipGetLogFontA(ptr ptr ptr) @ stdcall GdipGetLogFontW(ptr ptr ptr) @@ -327,7 +327,7 @@ @ stdcall GdipGetPathFillMode(ptr ptr) @ stdcall GdipGetPathGradientBlend(ptr ptr ptr long) @ stdcall GdipGetPathGradientBlendCount(ptr ptr) -@ stub GdipGetPathGradientCenterColor +@ stdcall GdipGetPathGradientCenterColor(ptr ptr) @ stdcall GdipGetPathGradientCenterPoint(ptr ptr) @ stdcall GdipGetPathGradientCenterPointI(ptr ptr) @ stdcall GdipGetPathGradientFocusScales(ptr ptr ptr) @@ -383,7 +383,7 @@ @ stub GdipGetRegionScans @ stdcall GdipGetRegionScansCount(ptr ptr ptr) @ stub GdipGetRegionScansI -@ stub GdipGetRenderingOrigin +@ stdcall GdipGetRenderingOrigin(ptr ptr ptr) @ stdcall GdipGetSmoothingMode(ptr ptr) @ stdcall GdipGetSolidFillColor(ptr ptr) @ stdcall GdipGetStringFormatAlign(ptr ptr) @@ -442,7 +442,7 @@ @ stdcall GdipMeasureCharacterRanges(ptr wstr long ptr ptr ptr long ptr) @ stdcall GdipMeasureDriverString(ptr ptr long ptr ptr long ptr ptr) @ stdcall GdipMeasureString(ptr wstr long ptr ptr ptr ptr ptr ptr) -@ stub GdipMultiplyLineTransform +@ stdcall GdipMultiplyLineTransform(ptr ptr long) @ stdcall GdipMultiplyMatrix(ptr ptr long) @ stub GdipMultiplyPathGradientTransform @ stub GdipMultiplyPenTransform diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index 68e422e9f16..5fed0179f1f 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -3653,7 +3653,7 @@ struct measure_ranges_args { GpRegion **regions; }; -GpStatus measure_ranges_callback(GpGraphics *graphics, +static GpStatus measure_ranges_callback(GpGraphics *graphics, GDIPCONST WCHAR *string, INT index, INT length, GDIPCONST GpFont *font, GDIPCONST RectF *rect, GDIPCONST GpStringFormat *format, INT lineno, const RectF *bounds, void *user_data) @@ -4216,6 +4216,20 @@ GpStatus WINGDIPAPI GdipSetRenderingOrigin(GpGraphics *graphics, INT x, INT y) return NotImplemented; } +GpStatus WINGDIPAPI GdipGetRenderingOrigin(GpGraphics *graphics, INT *x, INT *y) +{ + static int calls; + + TRACE("(%p,%p,%p)\n", graphics, x, y); + + if (!(calls++)) + FIXME("not implemented\n"); + + *x = *y = 0; + + return NotImplemented; +} + GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics *graphics, SmoothingMode mode) { TRACE("(%p, %d)\n", graphics, mode); diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c index 8b551154e77..252e19a19b0 100644 --- a/dlls/gdiplus/image.c +++ b/dlls/gdiplus/image.c @@ -1391,6 +1391,8 @@ GpStatus WINGDIPAPI GdipCreateBitmapFromGraphics(INT width, INT height, static int calls; GpStatus ret; + TRACE("(%d, %d, %p, %p)\n", width, height, target, bitmap); + if(!target || !bitmap) return InvalidParameter; @@ -2133,6 +2135,8 @@ GpStatus WINGDIPAPI GdipGetImagePixelFormat(GpImage *image, PixelFormat *format) GpStatus WINGDIPAPI GdipGetImageRawFormat(GpImage *image, GUID *format) { + TRACE("(%p, %p)\n", image, format); + if(!image || !format) return InvalidParameter; @@ -2195,6 +2199,8 @@ GpStatus WINGDIPAPI GdipGetMetafileHeaderFromMetafile(GpMetafile * metafile, { static int calls; + TRACE("(%p, %p)\n", metafile, header); + if(!metafile || !header) return InvalidParameter; @@ -2211,6 +2217,8 @@ GpStatus WINGDIPAPI GdipGetAllPropertyItems(GpImage *image, UINT size, { static int calls; + TRACE("(%p, %u, %u, %p)\n", image, size, num, items); + if(!(calls++)) FIXME("not implemented\n"); @@ -2221,6 +2229,8 @@ GpStatus WINGDIPAPI GdipGetPropertyCount(GpImage *image, UINT* num) { static int calls; + TRACE("(%p, %p)\n", image, num); + if(!(calls++)) FIXME("not implemented\n"); @@ -2231,6 +2241,8 @@ GpStatus WINGDIPAPI GdipGetPropertyIdList(GpImage *image, UINT num, PROPID* list { static int calls; + TRACE("(%p, %u, %p)\n", image, num, list); + if(!(calls++)) FIXME("not implemented\n"); @@ -2242,6 +2254,8 @@ GpStatus WINGDIPAPI GdipGetPropertyItem(GpImage *image, PROPID id, UINT size, { static int calls; + TRACE("(%p, %u, %u, %p)\n", image, id, size, buffer); + if(!(calls++)) FIXME("not implemented\n"); @@ -2311,6 +2325,8 @@ GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage *image, GpStatus WINGDIPAPI GdipImageGetFrameDimensionsCount(GpImage *image, UINT* count) { + TRACE("(%p, %p)\n", image, count); + /* Native gdiplus 1.1 does not yet support multiple frame dimensions. */ if(!image || !count) @@ -2354,6 +2370,8 @@ GpStatus WINGDIPAPI GdipImageSelectActiveFrame(GpImage *image, { static int calls; + TRACE("(%p, %s, %u)\n", image, debugstr_guid(dimensionID), frameidx); + if(!image || !dimensionID) return InvalidParameter; @@ -3297,6 +3315,21 @@ GpStatus WINGDIPAPI GdipGetImageEncoders(UINT numEncoders, UINT size, ImageCodec return Ok; } +GpStatus WINGDIPAPI GdipGetEncoderParameterListSize(GpImage *image, + GDIPCONST CLSID* clsidEncoder, UINT *size) +{ + static int calls; + + TRACE("(%p,%s,%p)\n", image, debugstr_guid(clsidEncoder), size); + + if(!(calls++)) + FIXME("not implemented\n"); + + *size = 0; + + return NotImplemented; +} + /***************************************************************************** * GdipCreateBitmapFromHBITMAP [GDIPLUS.@] */ diff --git a/dlls/gphoto2.ds/Makefile.in b/dlls/gphoto2.ds/Makefile.in index 691b6ec6a1d..5cbde22af19 100644 --- a/dlls/gphoto2.ds/Makefile.in +++ b/dlls/gphoto2.ds/Makefile.in @@ -20,12 +20,14 @@ RC_SRCS = \ gphoto2_Es.rc \ gphoto2_Fr.rc \ gphoto2_It.rc \ + gphoto2_Ja.rc \ gphoto2_Ko.rc \ gphoto2_Lt.rc \ gphoto2_Nl.rc \ gphoto2_No.rc \ gphoto2_Pl.rc \ gphoto2_Pt.rc \ + gphoto2_Ro.rc \ gphoto2_Ru.rc \ gphoto2_Si.rc \ gphoto2_Sv.rc \ diff --git a/dlls/gphoto2.ds/gphoto2_Ko.rc b/dlls/gphoto2.ds/gphoto2_Ja.rc similarity index 62% copy from dlls/gphoto2.ds/gphoto2_Ko.rc copy to dlls/gphoto2.ds/gphoto2_Ja.rc index 7f83d25cc76..d3f8611876e 100644 --- a/dlls/gphoto2.ds/gphoto2_Ko.rc +++ b/dlls/gphoto2.ds/gphoto2_Ja.rc @@ -1,8 +1,8 @@ /* - * Korean resources for Twain + * Japanese resources for Twain * * Copyright 2006 CodeWeavers, Aric Stewart - * Copyright 2006,2007 YunSong Hwang + * Copyright 2010 Akihiro Sagawa * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -21,37 +21,40 @@ #include "resource.h" -LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT +/* UTF-8 */ +#pragma code_page(65001) + +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT IDD_CAMERAUI DIALOG DISCARDABLE 0, 0, 372, 273 -STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_VISIBLE | +STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Ä«¸Þ¶óÀÇ Çʸ§" -FONT 9, "MS Shell Dlg" +CAPTION "カメラにあるファイル" +FONT 8, "MS Shell Dlg" BEGIN CONTROL "List1",IDC_LIST1,"SysListView32", LVS_ICON | WS_BORDER | WS_TABSTOP,7,7,358,229 - DEFPUSHBUTTON "¼±ÅÃµÈ °ÍÀ» ºÒ·¯¿À±â",IDC_IMPORT,152,252,72,14 - PUSHBUTTON " ¹Ì¸® º¸±â",IDC_FETCH,7,252,64,14 - PUSHBUTTON "¸ðµÎ ºÒ·¯¿À±â",IDC_IMPORTALL,80,252,64,14 - CONTROL "´ëÈ­»óÀÚ Áö³ªÄ¡±â",IDC_SKIP,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,230,252,76,14 - PUSHBUTTON "³ª°¡±â",IDC_EXIT,315,252,50,14 + DEFPUSHBUTTON "インポート",IDC_IMPORT,152,252,72,14 + PUSHBUTTON "プレビュー",IDC_FETCH,7,252,64,14 + PUSHBUTTON "すべてインポート",IDC_IMPORTALL,80,252,64,14 + CONTROL "このダイアログをスキップ",IDC_SKIP,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,230,252,76,14 + PUSHBUTTON "終了",IDC_EXIT,315,252,50,14 END IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 186, 46 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE | DS_CENTER | DS_SETFOREGROUND -CAPTION "¿Å±â´Â Áß" -FONT 9, "MS Shell Dlg" +CAPTION "転送中" +FONT 8, "MS Shell Dlg" BEGIN - LTEXT "¿Å±â´Â Áß...Àá½Ã¸¸ ±â´Ù¸®½Ê½Ã¿À",IDC_STATIC,5,19,176,8, SS_CENTER + LTEXT "転送中です... お待ちください",IDC_STATIC,5,19,176,8, SS_CENTER END IDD_CONNECTING DIALOG DISCARDABLE 0, 0, 280, 116 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU| WS_VISIBLE | DS_CENTER -CAPTION "Ä«¸Þ¶óÇÏ°í ¿¬°áÁß" -FONT 9, "MS Shell Dlg" +CAPTION "カメラに接続中" +FONT 8, "MS Shell Dlg" BEGIN CONTROL "",IDC_BITMAP,"Static",SS_BITMAP|SS_CENTERIMAGE,4,4,110,110 - LTEXT "Ä«¸Þ¶óÇÏ°í ¿¬°áÁß... Àá½Ã¸¸ ±â´Ù¸®½Ê½Ã¿À",IDC_STATIC,128,58, + LTEXT "カメラに接続しています... お待ちください",IDC_STATIC,128,58, 116,8 END diff --git a/dlls/gphoto2.ds/gphoto2_Ko.rc b/dlls/gphoto2.ds/gphoto2_Ko.rc index 7f83d25cc76..922d821d34a 100644 --- a/dlls/gphoto2.ds/gphoto2_Ko.rc +++ b/dlls/gphoto2.ds/gphoto2_Ko.rc @@ -2,7 +2,7 @@ * Korean resources for Twain * * Copyright 2006 CodeWeavers, Aric Stewart - * Copyright 2006,2007 YunSong Hwang + * Copyright 2006,2007,2010 YunSong Hwang * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -26,7 +26,7 @@ LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT IDD_CAMERAUI DIALOG DISCARDABLE 0, 0, 372, 273 STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Ä«¸Þ¶óÀÇ Çʸ§" +CAPTION "Ä«¸Þ¶ó¿¡ ÀÖ´Â ÆÄ" FONT 9, "MS Shell Dlg" BEGIN CONTROL "List1",IDC_LIST1,"SysListView32", LVS_ICON | WS_BORDER | @@ -43,7 +43,7 @@ STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE | DS_CENTE CAPTION "¿Å±â´Â Áß" FONT 9, "MS Shell Dlg" BEGIN - LTEXT "¿Å±â´Â Áß...Àá½Ã¸¸ ±â´Ù¸®½Ê½Ã¿À",IDC_STATIC,5,19,176,8, SS_CENTER + LTEXT "¿Å±â´Â Áß... Àá½Ã¸¸ ±â´Ù¸®½Ê½Ã¿À",IDC_STATIC,5,19,176,8, SS_CENTER END IDD_CONNECTING DIALOG DISCARDABLE 0, 0, 280, 116 @@ -52,6 +52,6 @@ CAPTION "ī FONT 9, "MS Shell Dlg" BEGIN CONTROL "",IDC_BITMAP,"Static",SS_BITMAP|SS_CENTERIMAGE,4,4,110,110 - LTEXT "Ä«¸Þ¶óÇÏ°í ¿¬°áÁß... Àá½Ã¸¸ ±â´Ù¸®½Ê½Ã¿À",IDC_STATIC,128,58, - 116,8 + LTEXT "Ä«¸Þ¶óÇÏ°í ¿¬°áÁß... Àá½Ã¸¸ ±â´Ù¸®½Ê½Ã¿À",IDC_STATIC,128,58, + 134,8 END diff --git a/dlls/gphoto2.ds/gphoto2_Pt.rc b/dlls/gphoto2.ds/gphoto2_Pt.rc index 284f55798c2..fef94e0c586 100644 --- a/dlls/gphoto2.ds/gphoto2_Pt.rc +++ b/dlls/gphoto2.ds/gphoto2_Pt.rc @@ -2,6 +2,7 @@ * Portuguese resources for Twain * * Copyright 2008 Ricardo Filipe + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -22,6 +23,23 @@ #pragma code_page(65001) +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDD_CAMERAUI DIALOG DISCARDABLE 0, 0, 372, 273 +STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_VISIBLE | + WS_CAPTION | WS_SYSMENU +CAPTION "Arquivos na Câmera" +FONT 8, "MS Sans Serif" +BEGIN + CONTROL "List1",IDC_LIST1,"SysListView32", LVS_ICON | WS_BORDER | +WS_TABSTOP,7,7,358,229 + DEFPUSHBUTTON "Importar Selecionado",IDC_IMPORT,152,252,72,14 + PUSHBUTTON "Pré-visualizar",IDC_FETCH,7,252,64,14 + PUSHBUTTON "Importar tudo",IDC_IMPORTALL,80,252,64,14 + CONTROL "Passar à frente",IDC_SKIP,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,230,252,76,14 + PUSHBUTTON "Sair",IDC_EXIT,315,252,50,14 +END + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE IDD_CAMERAUI DIALOG DISCARDABLE 0, 0, 372, 273 @@ -39,6 +57,19 @@ WS_TABSTOP,7,7,358,229 PUSHBUTTON "Sair",IDC_EXIT,315,252,50,14 END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 186, 46 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE | DS_CENTER | DS_SETFOREGROUND +CAPTION "Transferindo" +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "Transferindo... Por favor espere",IDC_STATIC,5,19,176,8, SS_CENTER +END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 186, 46 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE | DS_CENTER | DS_SETFOREGROUND CAPTION "A transferir" @@ -47,6 +78,21 @@ BEGIN LTEXT "A transferir... Por favor espere",IDC_STATIC,5,19,176,8, SS_CENTER END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDD_CONNECTING DIALOG DISCARDABLE 0, 0, 280, 116 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU| WS_VISIBLE | DS_CENTER +CAPTION "Contectando à câmera" +FONT 8, "MS Sans Serif" +BEGIN + CONTROL "",IDC_BITMAP,"Static",SS_BITMAP|SS_CENTERIMAGE,4,4,110,110 + LTEXT "Contectando à câmera... Por favor espere",IDC_STATIC,128,58, + 116,8 +END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + IDD_CONNECTING DIALOG DISCARDABLE 0, 0, 280, 116 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU| WS_VISIBLE | DS_CENTER CAPTION "A ligar à câmara" diff --git a/dlls/gphoto2.ds/gphoto2_Pt.rc b/dlls/gphoto2.ds/gphoto2_Ro.rc similarity index 62% copy from dlls/gphoto2.ds/gphoto2_Pt.rc copy to dlls/gphoto2.ds/gphoto2_Ro.rc index 284f55798c2..9cfe1b2c834 100644 --- a/dlls/gphoto2.ds/gphoto2_Pt.rc +++ b/dlls/gphoto2.ds/gphoto2_Ro.rc @@ -1,7 +1,7 @@ /* - * Portuguese resources for Twain - * - * Copyright 2008 Ricardo Filipe + * Copyright 2006 CodeWeavers, Aric Stewart + * Copyright 2010 Claudia Cotună + * Michael Stefaniuc * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,39 +20,38 @@ #include "resource.h" -#pragma code_page(65001) +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE +#pragma code_page(65001) IDD_CAMERAUI DIALOG DISCARDABLE 0, 0, 372, 273 STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Ficheiros na Câmara" +CAPTION "Fișiere în aparatul foto" FONT 8, "MS Sans Serif" BEGIN - CONTROL "List1",IDC_LIST1,"SysListView32", LVS_ICON | WS_BORDER | + CONTROL "Lista1",IDC_LIST1,"SysListView32", LVS_ICON | WS_BORDER | WS_TABSTOP,7,7,358,229 - DEFPUSHBUTTON "Importar Seleccionado",IDC_IMPORT,152,252,72,14 - PUSHBUTTON "Pré-visualizar",IDC_FETCH,7,252,64,14 - PUSHBUTTON "Importar tudo",IDC_IMPORTALL,80,252,64,14 - CONTROL "Passar à frente",IDC_SKIP,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,230,252,76,14 - PUSHBUTTON "Sair",IDC_EXIT,315,252,50,14 + DEFPUSHBUTTON "Importă selecția",IDC_IMPORT,152,252,72,14 + PUSHBUTTON "Previzualizare",IDC_FETCH,7,252,64,14 + PUSHBUTTON "Importă tot",IDC_IMPORTALL,80,252,64,14 + CONTROL "Omite acest dialog",IDC_SKIP,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,230,252,76,14 + PUSHBUTTON "Ieșire",IDC_EXIT,315,252,50,14 END IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 186, 46 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE | DS_CENTER | DS_SETFOREGROUND -CAPTION "A transferir" +CAPTION "Transferare" FONT 8, "MS Sans Serif" BEGIN - LTEXT "A transferir... Por favor espere",IDC_STATIC,5,19,176,8, SS_CENTER + LTEXT "Se transferă... Așteptați",IDC_STATIC,5,19,176,8, SS_CENTER END IDD_CONNECTING DIALOG DISCARDABLE 0, 0, 280, 116 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU| WS_VISIBLE | DS_CENTER -CAPTION "A ligar à câmara" +CAPTION "Conectare la cameră" FONT 8, "MS Sans Serif" BEGIN - CONTROL "",IDC_BITMAP,"Static",SS_BITMAP|SS_CENTERIMAGE,4,4,110,110 - LTEXT "A ligar à câmara... Por favor espere",IDC_STATIC,128,58, - 116,8 + CONTROL "",IDC_BITMAP,"Static",SS_BITMAP|SS_CENTERIMAGE,4,4,110,110 + LTEXT "Se conectează la cameră... Așteptați",IDC_STATIC,128,58,116,8 END diff --git a/dlls/hhctrl.ocx/Ja.rc b/dlls/hhctrl.ocx/Ja.rc new file mode 100644 index 00000000000..f16beab2da0 --- /dev/null +++ b/dlls/hhctrl.ocx/Ja.rc @@ -0,0 +1,64 @@ +/* + * HTML Help resources + * Japanese Language Support + * + * Copyright 2005 James Hawkins + * Copyright 2010 Akihiro Sagawa + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "resource.h" + +/* UTF-8 */ +#pragma code_page(65001) + +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT + +STRINGTABLE +BEGIN + IDS_CONTENTS "目次(&C)" + IDS_INDEX "索引(&N)" + IDS_SEARCH "検索(&S)" + IDS_FAVORITES "お気に入り(&I)" +END + +STRINGTABLE +BEGIN + IDTB_EXPAND "表示" + IDTB_CONTRACT "非表示" + IDTB_STOP "中止" + IDTB_REFRESH "更新" + IDTB_BACK "戻る" + IDTB_HOME "ホーム" + IDTB_SYNC "同期" + IDTB_PRINT "印刷" + IDTB_OPTIONS "オプション" + IDTB_FORWARD "進む" + IDTB_NOTES "IDTB_NOTES" + IDTB_BROWSE_FWD "IDTB_BROWSE_FWD" + IDTB_BROWSE_BACK "IDT_BROWSE_BACK" + IDTB_CONTENTS "IDTB_CONTENTS" + IDTB_INDEX "IDTB_INDEX" + IDTB_SEARCH "IDTB_SEARCH" + IDTB_HISTORY "IDTB_HISTORY" + IDTB_FAVORITES "IDTB_FAVORITES" + IDTB_JUMP1 "ジャンプ1" + IDTB_JUMP2 "ジャンプ2" + IDTB_CUSTOMIZE "カスタマイズ" + IDTB_ZOOM "フォント" + IDTB_TOC_NEXT "IDTB_TOC_NEXT" + IDTB_TOC_PREV "IDTB_TOC_PREV" +END diff --git a/dlls/hhctrl.ocx/Makefile.in b/dlls/hhctrl.ocx/Makefile.in index 569c8e0a8d7..1dd511b870e 100644 --- a/dlls/hhctrl.ocx/Makefile.in +++ b/dlls/hhctrl.ocx/Makefile.in @@ -27,12 +27,14 @@ RC_SRCS = \ Fr.rc \ Hu.rc \ It.rc \ + Ja.rc \ Ko.rc \ Lt.rc \ Nl.rc \ No.rc \ Pl.rc \ Pt.rc \ + Ro.rc \ Ru.rc \ Si.rc \ Sv.rc \ diff --git a/dlls/hhctrl.ocx/Ro.rc b/dlls/hhctrl.ocx/Ro.rc new file mode 100644 index 00000000000..28f75692f24 --- /dev/null +++ b/dlls/hhctrl.ocx/Ro.rc @@ -0,0 +1,63 @@ +/* + * HTML Help resources + * + * Copyright 2005 James Hawkins + * Copyright 2010 Claudia Cotună + * Michael Stefaniuc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "resource.h" + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +#pragma code_page(65001) + +STRINGTABLE +BEGIN + IDS_CONTENTS "&Cuprins" + IDS_INDEX "I&ndex" + IDS_SEARCH "C&aută" + IDS_FAVORITES "Favor&ite" +END + +STRINGTABLE +BEGIN + IDTB_EXPAND "Afișează" + IDTB_CONTRACT "Ascunde" + IDTB_STOP "Oprește" + IDTB_REFRESH "Actualizează" + IDTB_BACK "Înapoi" + IDTB_HOME "Acasă" + IDTB_SYNC "Sincronizează" + IDTB_PRINT "Imprimă" + IDTB_OPTIONS "Opțiuni" + IDTB_FORWARD "Înainte" + IDTB_NOTES "IDTB_NOTES" + IDTB_BROWSE_FWD "IDTB_BROWSE_FWD" + IDTB_BROWSE_BACK "IDT_BROWSE_BACK" + IDTB_CONTENTS "IDTB_CONTENTS" + IDTB_INDEX "IDTB_INDEX" + IDTB_SEARCH "IDTB_SEARCH" + IDTB_HISTORY "IDTB_HISTORY" + IDTB_FAVORITES "IDTB_FAVORITES" + IDTB_JUMP1 "Salt1" + IDTB_JUMP2 "Salt2" + IDTB_CUSTOMIZE "Personalizare" + IDTB_ZOOM "Zoom" + IDTB_TOC_NEXT "IDTB_TOC_NEXT" + IDTB_TOC_PREV "IDTB_TOC_PREV" +END diff --git a/dlls/hlink/tests/hlink.c b/dlls/hlink/tests/hlink.c index d454819e57c..cf031f5c9c7 100644 --- a/dlls/hlink/tests/hlink.c +++ b/dlls/hlink/tests/hlink.c @@ -1093,7 +1093,8 @@ static void test_HlinkGetSetMonikerReference(void) /* invalid HLINKSETF flags */ hres = IHlink_SetMonikerReference(hlink, 12, dummy2, two); - ok(hres == 12, "IHlink_SetMonikerReference should've failed with 0x%08x, failed with 0x%08x\n", 12, hres); + /* Windows returns garbage; on 32-bit it returns the flags probably because the compiler happened to store them in %eax at some point */ + if (0) ok(hres == 12, "IHlink_SetMonikerReference should've failed with 0x%08x, failed with 0x%08x\n", 12, hres); hres = IHlink_GetMonikerReference(hlink, HLINKGETREF_DEFAULT, &found_trgt, &found_loc); ok(found_trgt == dummy, "Found target should've been %p, was: %p\n", dummy, found_trgt); @@ -1244,10 +1245,11 @@ static void test_HlinkGetSetStringReference(void) CoTaskMemFree(fnd_loc); hres = IHlink_SetStringReference(link, 4, NULL, NULL); - ok(hres == 4, "IHlink_SetStringReference should have failed with 0x4, instead: 0x%08x\n", hres); + /* Windows returns garbage; on 32-bit it returns the flags probably because the compiler happened to store them in %eax at some point */ + if (0) ok(hres == 4, "IHlink_SetStringReference should have failed with 0x4, instead: 0x%08x\n", hres); hres = IHlink_SetStringReference(link, -4, NULL, NULL); - ok(hres == -4, "IHlink_SetStringReference should have failed with 0xFFFFFFFC, instead: 0x%08x\n", hres); + if (0) ok(hres == -4, "IHlink_SetStringReference should have failed with 0xFFFFFFFC, instead: 0x%08x\n", hres); IHlink_Release(link); } diff --git a/dlls/jscript/Makefile.in b/dlls/jscript/Makefile.in index b22e15d5f0e..56cf82482d7 100644 --- a/dlls/jscript/Makefile.in +++ b/dlls/jscript/Makefile.in @@ -12,6 +12,7 @@ RC_SRCS = \ jscript_Es.rc \ jscript_Fr.rc \ jscript_It.rc \ + jscript_Ja.rc \ jscript_Ko.rc \ jscript_Lt.rc \ jscript_Nl.rc \ diff --git a/dlls/jscript/jscript_Ja.rc b/dlls/jscript/jscript_Ja.rc new file mode 100644 index 00000000000..97517518c74 --- /dev/null +++ b/dlls/jscript/jscript_Ja.rc @@ -0,0 +1,51 @@ +/* + * Copyright 2009 Piotr Caban + * Copyright 2010 Akihiro Sagawa + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "resource.h" + +/* UTF-8 */ +#pragma code_page(65001) + +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_TO_PRIMITIVE "オブジェクトを基本型に変換できません" + IDS_INVALID_CALL_ARG "手続き呼び出しまたは引数が無効です" + IDS_CREATE_OBJ_ERROR "オートメーション サーバはオブジェクトを生成できません" + IDS_NO_PROPERTY "オブジェクトはこのプロパティまたはメソッドをサポートしていません" + IDS_ARG_NOT_OPT "引数は省略できません" + IDS_SYNTAX_ERROR "文法エラー" + IDS_SEMICOLON "';'を期待していました" + IDS_LBRACKET "'('を期待していました" + IDS_RBRACKET "')'を期待していました" + IDS_UNTERMINATED_STR "文字列定数が終端していません" + IDS_NOT_FUNC "関数を期待していました" + IDS_NOT_DATE "'[object]' は日付オブジェクトではありません" + IDS_NOT_NUM "数値を期待していました" + IDS_OBJECT_EXPECTED "オブジェクトを期待していました" + IDS_ILLEGAL_ASSIGN "不正な割り当て" + IDS_UNDEFINED "'|'は定義されていません" + IDS_NOT_BOOL "論理オブジェクトを期待していました" + IDS_JSCRIPT_EXPECTED "JScriptオブジェクトを期待していました" + IDS_REGEXP_SYNTAX_ERROR "正規表現に文法誤りがあります" + IDS_URI_INVALID_CHAR "エンコードされるURIに無効な文字が含まれています" + IDS_INVALID_LENGTH "配列の長さは有限の正整数でなければなりません" + IDS_ARRAY_EXPECTED "配列オブジェクトを期待していました" +} diff --git a/dlls/jscript/jscript_Pt.rc b/dlls/jscript/jscript_Pt.rc index 0ac712b26a3..a907b1063be 100644 --- a/dlls/jscript/jscript_Pt.rc +++ b/dlls/jscript/jscript_Pt.rc @@ -1,5 +1,6 @@ /* * Copyright 2009 Ricardo Filipe + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,6 +21,34 @@ #pragma code_page(65001) +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE DISCARDABLE +{ + IDS_TO_PRIMITIVE "Erro ao converter objeto em tipo primitivo" + IDS_INVALID_CALL_ARG "Argumento ou chamada de procedimento inválida" + IDS_CREATE_OBJ_ERROR "O servidor de automação não conseguiu criar o objeto" + IDS_NO_PROPERTY "O objeto não suporta esta propriedade ou método" + IDS_ARG_NOT_OPT "Argumento não opcional" + IDS_SYNTAX_ERROR "Erro de sintaxe" + IDS_SEMICOLON "';' esperado" + IDS_LBRACKET "'(' esperado" + IDS_RBRACKET "')' esperado" + IDS_UNTERMINATED_STR "Constante de string não terminada" + IDS_NOT_FUNC "Função esperada" + IDS_NOT_DATE "'[object]' não é um objeto de data" + IDS_NOT_NUM "Número esperado" + IDS_OBJECT_EXPECTED "Objeto esperado" + IDS_ILLEGAL_ASSIGN "Atribuição ilegal" + IDS_UNDEFINED "'|' é indefinido" + IDS_NOT_BOOL "Objeto boleano esperado" + IDS_JSCRIPT_EXPECTED "Objeto JScript esperado" + IDS_REGEXP_SYNTAX_ERROR "Erro de sintaxe na expressão regular" + IDS_URI_INVALID_CHAR "URI a ser codificado contém caracteres inválidos" + IDS_INVALID_LENGTH "Tamanho do vetor tem que ser um inteiro finito positivo" + IDS_ARRAY_EXPECTED "Objeto Array esperado" +} + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE STRINGTABLE DISCARDABLE diff --git a/dlls/jscript/jscript_Ro.rc b/dlls/jscript/jscript_Ro.rc index 066e200faf8..481e62975d6 100644 --- a/dlls/jscript/jscript_Ro.rc +++ b/dlls/jscript/jscript_Ro.rc @@ -32,20 +32,20 @@ STRINGTABLE DISCARDABLE IDS_NO_PROPERTY "Obiectul nu suportă această proprietate sau metodă" IDS_ARG_NOT_OPT "Argumentul nu este opțional" IDS_SYNTAX_ERROR "Eroare de sintaxă" - IDS_SEMICOLON "„;” presupus" - IDS_LBRACKET "„(” presupus" - IDS_RBRACKET "„)” presupus" - IDS_UNTERMINATED_STR "Constantă de șir nedeterminată" - IDS_NOT_FUNC "Funcție presupusă" + IDS_SEMICOLON "Se așteaptă „;”" + IDS_LBRACKET "Se așteaptă „(”" + IDS_RBRACKET "Se așteaptă „)”" + IDS_UNTERMINATED_STR "Șir constant neterminat" + IDS_NOT_FUNC "Se așteaptă o funcție" IDS_NOT_DATE "„[obiect]” nu este un obiect de tip dată" - IDS_NOT_NUM "Număr presupus" - IDS_OBJECT_EXPECTED "Obiect presupus" + IDS_NOT_NUM "Se așteaptă un număr" + IDS_OBJECT_EXPECTED "Se așteaptă un obiect" IDS_ILLEGAL_ASSIGN "Atribuire ilegală" IDS_UNDEFINED "„|” nu este definit" - IDS_NOT_BOOL "Obiect boolean presupus" - IDS_JSCRIPT_EXPECTED "Obiect JScript presupus" - IDS_REGEXP_SYNTAX_ERROR "Eroare de sintaxă în expresie rațională" + IDS_NOT_BOOL "Se așteaptă un obiect boolean" + IDS_JSCRIPT_EXPECTED "Se așteaptă un obiect JScript" + IDS_REGEXP_SYNTAX_ERROR "Eroare de sintaxă în expresia regulată" IDS_URI_INVALID_CHAR "URI care trebuie codificat conține caractere nevalide" IDS_INVALID_LENGTH "Lungimea unei matrice trebuie să fie un număr întreg pozitiv" - IDS_ARRAY_EXPECTED "Obiect matrice presupus" + IDS_ARRAY_EXPECTED "Se așteaptă un obiect matrice" } diff --git a/dlls/jscript/tests/lang.js b/dlls/jscript/tests/lang.js index 495762ee599..36a75f5b701 100644 --- a/dlls/jscript/tests/lang.js +++ b/dlls/jscript/tests/lang.js @@ -263,7 +263,9 @@ ok(tmp === 7, "2*3.5 !== 7"); ok(getVT(tmp) === "VT_I4", "getVT(2*3.5) !== VT_I4"); tmp = 2.5*3.5; -ok(tmp === 8.75, "2.5*3.5 !== 8.75"); +/* FIXME: the parser loses precision */ +/* ok(tmp === 8.75, "2.5*3.5 !== 8.75"); */ +ok(tmp > 8.749999 && tmp < 8.750001, "2.5*3.5 !== 8.75"); ok(getVT(tmp) === "VT_R8", "getVT(2.5*3.5) !== VT_R8"); tmp = 4/2; diff --git a/dlls/kernel32/Makefile.in b/dlls/kernel32/Makefile.in index c7395317050..58cbd7a683e 100644 --- a/dlls/kernel32/Makefile.in +++ b/dlls/kernel32/Makefile.in @@ -55,6 +55,7 @@ MC_SRCS = \ nls/winerr_deu.mc \ nls/winerr_enu.mc \ nls/winerr_fra.mc \ + nls/winerr_ita.mc \ nls/winerr_jpn.mc \ nls/winerr_kor.mc \ nls/winerr_lth.mc \ diff --git a/dlls/kernel32/computername.c b/dlls/kernel32/computername.c index 258f2977f6f..f710d7c5771 100644 --- a/dlls/kernel32/computername.c +++ b/dlls/kernel32/computername.c @@ -551,7 +551,7 @@ BOOL WINAPI SetComputerNameW( LPCWSTR lpComputerName ) { /* This check isn't necessary, but may help debugging problems. */ WARN( "Disabled by Wine Configuration.\n" ); - WARN( "Set \"UseDnsComputerName\" = \"N\" in category [Network] to enable.\n" ); + WARN( "Set \"UseDnsComputerName\" = \"N\" in HKCU\\Software\\Wine\\Network to enable.\n" ); SetLastError ( ERROR_ACCESS_DENIED ); return FALSE; } diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index f08e752808e..dbcb179f262 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -1095,9 +1095,9 @@ @ stdcall Thread32Next(long ptr) @ stdcall -i386 -private ThunkConnect32(ptr str str str ptr ptr) krnl386.exe16.ThunkConnect32 @ stdcall TlsAlloc() -@ stub TlsAllocInternal +@ stdcall TlsAllocInternal() TlsAlloc @ stdcall TlsFree(long) -@ stub TlsFreeInternal +@ stdcall TlsFreeInternal(long) TlsFree @ stdcall TlsGetValue(long) @ stdcall TlsSetValue(long ptr) @ stdcall Toolhelp32ReadProcessMemory(long ptr ptr long ptr) diff --git a/dlls/kernel32/nls/ita.nls b/dlls/kernel32/nls/ita.nls index 6fb4fc45e15..a74fe36bde5 100644 --- a/dlls/kernel32/nls/ita.nls +++ b/dlls/kernel32/nls/ita.nls @@ -136,21 +136,21 @@ STRINGTABLE LANGUAGE LANG_ITALIAN, SUBLANG_ITALIAN LOCALE_STIMEFORMAT "H.mm.ss" LOCALE_SYEARMONTH "MMMM yyyy" - LGRPID_WESTERN_EUROPE+LGRPID_RES_BASE "Western Europe and United States" - LGRPID_CENTRAL_EUROPE+LGRPID_RES_BASE "Central Europe" - LGRPID_BALTIC+LGRPID_RES_BASE "Baltic" - LGRPID_GREEK+LGRPID_RES_BASE "Greek" - LGRPID_CYRILLIC+LGRPID_RES_BASE "Cyrillic" - LGRPID_TURKISH+LGRPID_RES_BASE "Turkic" - LGRPID_JAPANESE+LGRPID_RES_BASE "Japanese" - LGRPID_KOREAN+LGRPID_RES_BASE "Korean" - LGRPID_TRADITIONAL_CHINESE+LGRPID_RES_BASE "Traditional Chinese" - LGRPID_SIMPLIFIED_CHINESE+LGRPID_RES_BASE "Simplified Chinese" + LGRPID_WESTERN_EUROPE+LGRPID_RES_BASE "Europa Occidentale e Stati Uniti" + LGRPID_CENTRAL_EUROPE+LGRPID_RES_BASE "Europa Centrale" + LGRPID_BALTIC+LGRPID_RES_BASE "Baltico" + LGRPID_GREEK+LGRPID_RES_BASE "Greco" + LGRPID_CYRILLIC+LGRPID_RES_BASE "Cirillico" + LGRPID_TURKISH+LGRPID_RES_BASE "Turco" + LGRPID_JAPANESE+LGRPID_RES_BASE "Giapponese" + LGRPID_KOREAN+LGRPID_RES_BASE "Coreano" + LGRPID_TRADITIONAL_CHINESE+LGRPID_RES_BASE "Cinese Tradizionale" + LGRPID_SIMPLIFIED_CHINESE+LGRPID_RES_BASE "Cinese Semplificato" LGRPID_THAI+LGRPID_RES_BASE "Thai" - LGRPID_HEBREW+LGRPID_RES_BASE "Hebrew" - LGRPID_ARABIC+LGRPID_RES_BASE "Arabic" - LGRPID_VIETNAMESE+LGRPID_RES_BASE "Vietnamese" - LGRPID_INDIC+LGRPID_RES_BASE "Indic" - LGRPID_GEORGIAN+LGRPID_RES_BASE "Georgian" - LGRPID_ARMENIAN+LGRPID_RES_BASE "Armenian" + LGRPID_HEBREW+LGRPID_RES_BASE "Ebraico" + LGRPID_ARABIC+LGRPID_RES_BASE "Arabo" + LGRPID_VIETNAMESE+LGRPID_RES_BASE "Vietnamita" + LGRPID_INDIC+LGRPID_RES_BASE "Indu" + LGRPID_GEORGIAN+LGRPID_RES_BASE "Georgico" + LGRPID_ARMENIAN+LGRPID_RES_BASE "Armeno" } diff --git a/dlls/kernel32/nls/winerr_plk.mc b/dlls/kernel32/nls/winerr_ita.mc similarity index 61% copy from dlls/kernel32/nls/winerr_plk.mc copy to dlls/kernel32/nls/winerr_ita.mc index cb1517bbae5..2ca8f36cfac 100644 --- a/dlls/kernel32/nls/winerr_plk.mc +++ b/dlls/kernel32/nls/winerr_ita.mc @@ -1,5 +1,6 @@ ; -; Copyright 2009 £ukasz Wojni³owicz +; Copyright 2000 Dave Pickles +; Copyright 2010 Luca Bennati ; ; This library is free software; you can redistribute it and/or ; modify it under the terms of the GNU Lesser General Public @@ -16,3716 +17,3721 @@ ; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA ; -LanguageNames=(PLK=0x0015:winerr) -CodePages=(PLK=1250:0) +LanguageNames=(ITA=0x10:winerr) +CodePages=(ITA=65001:0) MessageId=0 SymbolicName=ERROR_SUCCESS -Language=PLK -Sukces +Language=ITA +Successo . MessageId=1 SymbolicName=ERROR_INVALID_FUNCTION -Language=PLK -Niepoprawna funkcja +Language=ITA +Funzione non valida . MessageId=2 SymbolicName=ERROR_FILE_NOT_FOUND -Language=PLK -Nie znaleziono pliku +Language=ITA +File non trovato . MessageId=3 SymbolicName=ERROR_PATH_NOT_FOUND -Language=PLK -Nie znaleziono œcie¿ki +Language=ITA +Percorso non trovato . MessageId=4 SymbolicName=ERROR_TOO_MANY_OPEN_FILES -Language=PLK -Zbyt du¿o otwartych plików +Language=ITA +Troppi file aperti . MessageId=5 SymbolicName=ERROR_ACCESS_DENIED -Language=PLK -Dostêp zastrze¿ony +Language=ITA +Accesso negato . MessageId=6 SymbolicName=ERROR_INVALID_HANDLE -Language=PLK -Niepoprawny uchwyt +Language=ITA +Handle non valido . MessageId=7 SymbolicName=ERROR_ARENA_TRASHED -Language=PLK -Pamiêæ zaœmiecona +Language=ITA +Memoria buttata . MessageId=8 SymbolicName=ERROR_NOT_ENOUGH_MEMORY -Language=PLK -Zbyt ma³o pamiêci +Language=ITA +Non abbastanza memoria . MessageId=9 SymbolicName=ERROR_INVALID_BLOCK -Language=PLK -Niepoprawny blok +Language=ITA +Blocco non valido . MessageId=10 SymbolicName=ERROR_BAD_ENVIRONMENT -Language=PLK -Z³e œrodowisko +Language=ITA +Ambiente non corretto . MessageId=11 SymbolicName=ERROR_BAD_FORMAT -Language=PLK -Z³y format +Language=ITA +Formato non corretto . MessageId=12 SymbolicName=ERROR_INVALID_ACCESS -Language=PLK -Niepoprawny dostêp +Language=ITA +Accesso non valido . MessageId=13 SymbolicName=ERROR_INVALID_DATA -Language=PLK -Niepoprawne dane +Language=ITA +Dati non validi . MessageId=14 SymbolicName=ERROR_OUTOFMEMORY -Language=PLK -Wyczerpano pamiêæ +Language=ITA +Finita memoria disponibile . MessageId=15 SymbolicName=ERROR_INVALID_DRIVE -Language=PLK -Niepoprawny napêd +Language=ITA +Unità non valida . MessageId=16 SymbolicName=ERROR_CURRENT_DIRECTORY -Language=PLK -Nie mo¿na usun¹æ aktualnego folderu +Language=ITA +Impossibile eliminare la cartella corrente . MessageId=17 SymbolicName=ERROR_NOT_SAME_DEVICE -Language=PLK -To nie to samo urz¹dzenie +Language=ITA +Non la stessa unità . MessageId=18 SymbolicName=ERROR_NO_MORE_FILES -Language=PLK -Nie ma wiêcej plików +Language=ITA +Nessun file più . MessageId=19 SymbolicName=ERROR_WRITE_PROTECT -Language=PLK -Zapis chroniony +Language=ITA +Protetto da scrittura . MessageId=20 SymbolicName=ERROR_BAD_UNIT -Language=PLK -Z³a jednostka +Language=ITA +Unità non corretta . MessageId=21 SymbolicName=ERROR_NOT_READY -Language=PLK -Nie gotowe +Language=ITA +Non pronto . MessageId=22 SymbolicName=ERROR_BAD_COMMAND -Language=PLK -Z³e polecenie +Language=ITA +Comando non corretto . MessageId=23 SymbolicName=ERROR_CRC -Language=PLK -B³¹d CRC +Language=ITA +Errore CRC . MessageId=24 SymbolicName=ERROR_BAD_LENGTH -Language=PLK -Z³a d³ugoœæ +Language=ITA +Lunghezza non corretta . MessageId=25 SymbolicName=ERROR_SEEK -Language=PLK -B³¹d ¿¹dania w pliku +Language=ITA +Errore di seek . MessageId=26 SymbolicName=ERROR_NOT_DOS_DISK -Language=PLK -To nie dysk DOS'owy +Language=ITA +Non un disco DOS . MessageId=27 SymbolicName=ERROR_SECTOR_NOT_FOUND -Language=PLK -Nie znaleziono sektora +Language=ITA +Settore non trovato . MessageId=28 SymbolicName=ERROR_OUT_OF_PAPER -Language=PLK -Wyczerpano papier +Language=ITA +Carta finita . MessageId=29 SymbolicName=ERROR_WRITE_FAULT -Language=PLK -Niepowodzenie zapisu +Language=ITA +Errore in scrittura . MessageId=30 SymbolicName=ERROR_READ_FAULT -Language=PLK -Niepowodzenie odczytu +Language=ITA +Errore in lettura . MessageId=31 SymbolicName=ERROR_GEN_FAILURE -Language=PLK -Ogólne niepowodzenie +Language=ITA +Errore generico . MessageId=32 SymbolicName=ERROR_SHARING_VIOLATION -Language=PLK -Naruszenie wspó³dzielenia +Language=ITA +Viloazione di condivisione . MessageId=33 SymbolicName=ERROR_LOCK_VIOLATION -Language=PLK -Lock violation +Language=ITA +Violazione di lock . MessageId=34 SymbolicName=ERROR_WRONG_DISK -Language=PLK -Nieprawid³owy dysk +Language=ITA +Disco sbagliato . MessageId=36 SymbolicName=ERROR_SHARING_BUFFER_EXCEEDED -Language=PLK -Bufor wspó³dzielenia przepe³niony +Language=ITA +Superato buffer di condivisione . MessageId=38 SymbolicName=ERROR_HANDLE_EOF -Language=PLK -Koniec pliku +Language=ITA +Fine del file . MessageId=39 SymbolicName=ERROR_HANDLE_DISK_FULL -Language=PLK -Dysk pe³en +Language=ITA +Disco pieno . MessageId=50 SymbolicName=ERROR_NOT_SUPPORTED -Language=PLK -¯¹danie niewspierane +Language=ITA +Richiesta non supportata . MessageId=51 SymbolicName=ERROR_REM_NOT_LIST -Language=PLK -Zdalna maszyna nie nas³uchuje +Language=ITA +Macchina remota irraggiungibile . MessageId=52 SymbolicName=ERROR_DUP_NAME -Language=PLK -Zduplikowana nazwa sieci +Language=ITA +Nome network duplicato . MessageId=53 SymbolicName=ERROR_BAD_NETPATH -Language=PLK -Z³a œcie¿ka sieciowa +Language=ITA +Percorso network non corretto . MessageId=54 SymbolicName=ERROR_NETWORK_BUSY -Language=PLK -Sieæ zajêta +Language=ITA +Network occupato . MessageId=55 SymbolicName=ERROR_DEV_NOT_EXIST -Language=PLK -Urz¹dzenie nie istnieje +Language=ITA +Unità non esiste . MessageId=56 SymbolicName=ERROR_TOO_MANY_CMDS -Language=PLK -Zbyt du¿o poleceñ +Language=ITA +Troppi comandi . MessageId=57 SymbolicName=ERROR_ADAP_HDW_ERR -Language=PLK -Adaptor hardware error +Language=ITA +Errore dell'adattatore hardware . MessageId=58 SymbolicName=ERROR_BAD_NET_RESP -Language=PLK -Z³a odpowiedŸ sieciowa +Language=ITA +Risposta del network non corretta . MessageId=59 SymbolicName=ERROR_UNEXP_NET_ERR -Language=PLK -Nieoczekiwany b³¹d sieciowy +Language=ITA +Errore del network inaspettato . MessageId=60 SymbolicName=ERROR_BAD_REM_ADAP -Language=PLK -Bad remote adaptor +Language=ITA +Adattatore remoto non corretto . MessageId=61 SymbolicName=ERROR_PRINTQ_FULL -Language=PLK -Kolejka drukowania pe³na +Language=ITA +Coda di stampa piena . MessageId=62 SymbolicName=ERROR_NO_SPOOL_SPACE -Language=PLK -Brak miejsca spool +Language=ITA +Finito spazio di spool . MessageId=63 SymbolicName=ERROR_PRINT_CANCELLED -Language=PLK -Drukowanie anulowane +Language=ITA +Stampa annullata . MessageId=64 SymbolicName=ERROR_NETNAME_DELETED -Language=PLK -Nazwa sieci usuniêta +Language=ITA +Nome network eliminato . MessageId=65 SymbolicName=ERROR_NETWORK_ACCESS_DENIED -Language=PLK -Dostêp sieciowy zastrze¿ony +Language=ITA +Accesso al network negato . MessageId=66 SymbolicName=ERROR_BAD_DEV_TYPE -Language=PLK -Z³y typ urz¹dzenia +Language=ITA +Tipo di unità errato . MessageId=67 SymbolicName=ERROR_BAD_NET_NAME -Language=PLK -Z³a nazwa sieci +Language=ITA +Nome network non corretto . MessageId=68 SymbolicName=ERROR_TOO_MANY_NAMES -Language=PLK -Zbyt du¿o nazw sieciowych +Language=ITA +Troppi nomi network . MessageId=69 SymbolicName=ERROR_TOO_MANY_SESS -Language=PLK -Zbyt du¿o sesji sieciowych +Language=ITA +Troppe sessioni network . MessageId=70 SymbolicName=ERROR_SHARING_PAUSED -Language=PLK -Wspó³dzielenie wstrzymane +Language=ITA +Condivisione in pausa . MessageId=71 SymbolicName=ERROR_REQ_NOT_ACCEP -Language=PLK -¯¹danie nie zaakceptowane +Language=ITA +Richiesta non accettata . MessageId=72 SymbolicName=ERROR_REDIR_PAUSED -Language=PLK -Przekierowywacz wstrzymany +Language=ITA +Redirector in pausa . MessageId=80 SymbolicName=ERROR_FILE_EXISTS -Language=PLK -Plik istnieje +Language=ITA +File esistente . MessageId=82 SymbolicName=ERROR_CANNOT_MAKE -Language=PLK -Nie mo¿na stworzyæ +Language=ITA +Impossibile creare . MessageId=83 SymbolicName=ERROR_FAIL_I24 -Language=PLK -Niepowodzenie Int24 +Language=ITA +Int24 fallito . MessageId=84 SymbolicName=ERROR_OUT_OF_STRUCTURES -Language=PLK -Wyczerpano struktury +Language=ITA +Strutture finite . MessageId=85 SymbolicName=ERROR_ALREADY_ASSIGNED -Language=PLK -Ju¿ przydzielone +Language=ITA +Già assegnato . MessageId=86 SymbolicName=ERROR_INVALID_PASSWORD -Language=PLK -Niepoprawne has³o +Language=ITA +Password non valida . MessageId=87 SymbolicName=ERROR_INVALID_PARAMETER -Language=PLK -Niepoprawny parametr +Language=ITA +Parametro non valido . MessageId=88 SymbolicName=ERROR_NET_WRITE_FAULT -Language=PLK -Net write fault +Language=ITA +Fallimento di scrittura in rete . MessageId=89 SymbolicName=ERROR_NO_PROC_SLOTS -Language=PLK -Brak slotów procesów +Language=ITA +Nessun slot di processo . MessageId=100 SymbolicName=ERROR_TOO_MANY_SEMAPHORES -Language=PLK -Zbyt du¿o semafor +Language=ITA +Troppi semafori . MessageId=101 SymbolicName=ERROR_EXCL_SEM_ALREADY_OWNED -Language=PLK -Ekskluzywna semafora ju¿ ma w³aœciciela +Language=ITA +Semaforo esclusivo già posseduto . MessageId=102 SymbolicName=ERROR_SEM_IS_SET -Language=PLK -Semafora ustawiona +Language=ITA +Il semaforo è impostato . MessageId=103 SymbolicName=ERROR_TOO_MANY_SEM_REQUESTS -Language=PLK -Zbyt du¿o ¿¹dañ semafor +Language=ITA +Troppe richieste di semafori . MessageId=104 SymbolicName=ERROR_INVALID_AT_INTERRUPT_TIME -Language=PLK -Invalid at interrupt time +Language=ITA +Non valido al momento dell'interrupt . MessageId=105 SymbolicName=ERROR_SEM_OWNER_DIED -Language=PLK -W³aœciciel semafory umar³ +Language=ITA +Il proprietario del semaforo è morto . MessageId=106 SymbolicName=ERROR_SEM_USER_LIMIT -Language=PLK -Semaphore user limit +Language=ITA +Limite dell'utente del semaforo . MessageId=107 SymbolicName=ERROR_DISK_CHANGE -Language=PLK -W³ó¿ dysk do napêdu %1 +Language=ITA +Inserisci disco per l'unità %1 . MessageId=108 SymbolicName=ERROR_DRIVE_LOCKED -Language=PLK -Napêd zablokowany +Language=ITA +Unità bloccata . MessageId=109 SymbolicName=ERROR_BROKEN_PIPE -Language=PLK -Broken pipe +Language=ITA +Pipe rotta . MessageId=110 SymbolicName=ERROR_OPEN_FAILED -Language=PLK -Niepowodzenie otworzenia +Language=ITA +Apertura fallita . MessageId=111 SymbolicName=ERROR_BUFFER_OVERFLOW -Language=PLK -Bufor przepe³niony +Language=ITA +Overflow del buffer . MessageId=112 SymbolicName=ERROR_DISK_FULL -Language=PLK -Dysk pe³en +Language=ITA +Disco pieno . MessageId=113 SymbolicName=ERROR_NO_MORE_SEARCH_HANDLES -Language=PLK -Nie ma wiêcej uchwytów do wyszukiwania +Language=ITA +Finiti gli handle di ricerca . MessageId=114 SymbolicName=ERROR_INVALID_TARGET_HANDLE -Language=PLK -Niepoprawny uchwyt celu +Language=ITA +Handle dell'oggetto non valido . MessageId=117 SymbolicName=ERROR_INVALID_CATEGORY -Language=PLK -Niepoprawne IOCTL +Language=ITA +IOCTL non valido . MessageId=118 SymbolicName=ERROR_INVALID_VERIFY_SWITCH -Language=PLK -Invalid verify switch +Language=ITA +Interruttore di verifica non valido . MessageId=119 SymbolicName=ERROR_BAD_DRIVER_LEVEL -Language=PLK -Z³y poziom sterownika +Language=ITA +Livello driver non corretto . MessageId=120 SymbolicName=ERROR_CALL_NOT_IMPLEMENTED -Language=PLK -Wywo³anie niezaimplementowane +Language=ITA +Chiamata non implementata . MessageId=121 SymbolicName=ERROR_SEM_TIMEOUT -Language=PLK -Semaphore timeout +Language=ITA +Timeout del semaforo . MessageId=122 SymbolicName=ERROR_INSUFFICIENT_BUFFER -Language=PLK -Niewystarczaj¹cy bufor +Language=ITA +Buffer insufficiente . MessageId=123 SymbolicName=ERROR_INVALID_NAME -Language=PLK -Niepoprawna nazwa +Language=ITA +Nome non valido . MessageId=124 SymbolicName=ERROR_INVALID_LEVEL -Language=PLK -Niepoprawny poziom +Language=ITA +Livello non valido . MessageId=125 SymbolicName=ERROR_NO_VOLUME_LABEL -Language=PLK -Brak etykiety wolumenu +Language=ITA +Nessuna etichetta di volume . MessageId=126 SymbolicName=ERROR_MOD_NOT_FOUND -Language=PLK -Nie znaleziono modu³u +Language=ITA +Modulo non trovato . MessageId=127 SymbolicName=ERROR_PROC_NOT_FOUND -Language=PLK -Nie znaleziono procedury +Language=ITA +Procedura non trovata . MessageId=128 SymbolicName=ERROR_WAIT_NO_CHILDREN -Language=PLK -Brak procesów potomnych, na które mo¿na czekaæ +Language=ITA +Nessun figlio da aspettare . MessageId=129 SymbolicName=ERROR_CHILD_NOT_COMPLETE -Language=PLK -Proces potomny nie skoñczy³ +Language=ITA +Il processo figlio non ha finito . MessageId=130 SymbolicName=ERROR_DIRECT_ACCESS_HANDLE -Language=PLK -Niepoprawne u¿ycie bezpoœredniego uchwytu dostêpu +Language=ITA +Uso non valido dell'handle per l'accesso diretto . MessageId=131 SymbolicName=ERROR_NEGATIVE_SEEK -Language=PLK -Ujemne ¿¹danie w pliku +Language=ITA +Seek negativo . MessageId=132 SymbolicName=ERROR_SEEK_ON_DEVICE -Language=PLK -B³¹d ¿¹dania w pliku +Language=ITA +Errore di seek . MessageId=133 SymbolicName=ERROR_IS_JOIN_TARGET -Language=PLK -Napêd jest przeznaczeniem JOIN +Language=ITA +L'unità è oggetto di JOIN . MessageId=134 SymbolicName=ERROR_IS_JOINED -Language=PLK -Napêd ju¿ jest JOINed +Language=ITA +L'unità è già in JOIN . MessageId=135 SymbolicName=ERROR_IS_SUBSTED -Language=PLK -Napêd ju¿ jest SUBSTed +Language=ITA +L'unità è già in SUBST . MessageId=136 SymbolicName=ERROR_NOT_JOINED -Language=PLK -Napêd nie jest JOINed +Language=ITA +L'unità non è in JOIN . MessageId=137 SymbolicName=ERROR_NOT_SUBSTED -Language=PLK -Napêd nie jest SUBSTed +Language=ITA +L'unità non è in SUBST . MessageId=138 SymbolicName=ERROR_JOIN_TO_JOIN -Language=PLK -Usi³owanie JOIN na napêdzie JOINed +Language=ITA +Tentativo di JOIN su un'unità già in JOIN . MessageId=139 SymbolicName=ERROR_SUBST_TO_SUBST -Language=PLK -Usi³owanie SUBST na napêdzie SUBSTed +Language=ITA +Tentativo di SUBST su un'unità già in SUBST . MessageId=140 SymbolicName=ERROR_JOIN_TO_SUBST -Language=PLK -Usi³owanie JOIN na napêdzie SUBSTed +Language=ITA +Tentativo di JOIN su un'unità già in SUBST . MessageId=141 SymbolicName=ERROR_SUBST_TO_JOIN -Language=PLK -Usi³owanie SUBST na napêdzie JOINed +Language=ITA +Tentativo di SUBST su un'unità già in JOIN . MessageId=142 SymbolicName=ERROR_BUSY_DRIVE -Language=PLK -Napêd jest zajêty +Language=ITA +Unità occupata . MessageId=143 SymbolicName=ERROR_SAME_DRIVE -Language=PLK -Ten sam napêd +Language=ITA +Stessa unità . MessageId=144 SymbolicName=ERROR_DIR_NOT_ROOT -Language=PLK -Folder nienadrzêdny +Language=ITA +Cartella non toplevel . MessageId=145 SymbolicName=ERROR_DIR_NOT_EMPTY -Language=PLK -Folder nie jest pusty +Language=ITA +Cartella non vuota . MessageId=146 SymbolicName=ERROR_IS_SUBST_PATH -Language=PLK -Œcie¿ka jest w u¿yciu jako SUBST +Language=ITA +Il percorso è in uso come SUBST . MessageId=147 SymbolicName=ERROR_IS_JOIN_PATH -Language=PLK -Œcie¿ka jest w u¿yciu jako JOIN +Language=ITA +Il percorso è in uso come JOIN . MessageId=148 SymbolicName=ERROR_PATH_BUSY -Language=PLK -Œcie¿ka jest zajêta +Language=ITA +Percorso occupato . MessageId=149 SymbolicName=ERROR_IS_SUBST_TARGET -Language=PLK -Ju¿ jest przeznaczeniem SUBST +Language=ITA +Già in SUBST . MessageId=150 SymbolicName=ERROR_SYSTEM_TRACE -Language=PLK -Œledzenie systemu nie okreœlone lub niedozwolone +Language=ITA +Trace di sistema non specificata o disabilitata . MessageId=151 SymbolicName=ERROR_INVALID_EVENT_COUNT -Language=PLK -Nieprawid³owa liczba zdarzeñ dla DosMuxSemWait +Language=ITA +Conto degli eventi per DosMuxSemWait incorretto . MessageId=152 SymbolicName=ERROR_TOO_MANY_MUXWAITERS -Language=PLK -Zbyt du¿o oczekuj¹cych do DosMuxSemWait +Language=ITA +Troppi waiters per DosMuxSemWait . MessageId=153 SymbolicName=ERROR_INVALID_LIST_FORMAT -Language=PLK -Niepoprawna lista DosSemMuxWait +Language=ITA +Lista di DosSemMuxWait non valida . MessageId=154 SymbolicName=ERROR_LABEL_TOO_LONG -Language=PLK -Etykieta dysku zbyt d³uga +Language=ITA +Etichetta di volume troppo lunga . MessageId=155 SymbolicName=ERROR_TOO_MANY_TCBS -Language=PLK -Zbyt du¿o TCB-ów +Language=ITA +Troppi TCB . MessageId=156 SymbolicName=ERROR_SIGNAL_REFUSED -Language=PLK -Sygna³ odmówi³ +Language=ITA +Segnale rifiutato . MessageId=157 SymbolicName=ERROR_DISCARDED -Language=PLK -Segment skasowany +Language=ITA +Segmento scartato . MessageId=158 SymbolicName=ERROR_NOT_LOCKED -Language=PLK -Segment not locked +Language=ITA +Segmento non bloccato . MessageId=159 SymbolicName=ERROR_BAD_THREADID_ADDR -Language=PLK -Z³y adres identyfikatora w¹tku +Language=ITA +Indirizzo ID thread non corretto . MessageId=160 SymbolicName=ERROR_BAD_ARGUMENTS -Language=PLK -Z³e argumenty dla DosExecPgm +Language=ITA +Argomenti di DosExecPgm non corretti . MessageId=161 SymbolicName=ERROR_BAD_PATHNAME -Language=PLK -Niepoprawna œcie¿ka +Language=ITA +Percorso non valido . MessageId=162 SymbolicName=ERROR_SIGNAL_PENDING -Language=PLK -Sygna³ w toku +Language=ITA +Segnale in attesa . MessageId=164 SymbolicName=ERROR_MAX_THRDS_REACHED -Language=PLK -Max systemwide thread count reached +Language=ITA +Raggiunto il massimo di thread per l'intero sistema . MessageId=167 SymbolicName=ERROR_LOCK_FAILED -Language=PLK -Lock failed +Language=ITA +Lock fallito . MessageId=170 SymbolicName=ERROR_BUSY -Language=PLK -Zasoby w u¿yciu +Language=ITA +Risorsa in uso . MessageId=173 SymbolicName=ERROR_CANCEL_VIOLATION -Language=PLK -Anuluj naruszenie +Language=ITA +Annulla violazione . MessageId=174 SymbolicName=ERROR_ATOMIC_LOCKS_NOT_SUPPORTED -Language=PLK -Atomic locks not supported +Language=ITA +Lock atomici non supportati . MessageId=180 SymbolicName=ERROR_INVALID_SEGMENT_NUMBER -Language=PLK -Niepoprawny numer segmentu +Language=ITA +Numero del segmento non valido . MessageId=182 SymbolicName=ERROR_INVALID_ORDINAL -Language=PLK -Niepoprawny liczebnik porz¹dkowy dla %1 +Language=ITA +Ordinale non valido per %1 . MessageId=183 SymbolicName=ERROR_ALREADY_EXISTS -Language=PLK -Plik ju¿ istnieje +Language=ITA +File esistente . MessageId=186 SymbolicName=ERROR_INVALID_FLAG_NUMBER -Language=PLK -Niepoprawny numer flagi +Language=ITA +Numero di flag non valido . MessageId=187 SymbolicName=ERROR_SEM_NOT_FOUND -Language=PLK -Nie znaleziono nazwy semafory +Language=ITA +Nome del semaforo non trovato . MessageId=188 SymbolicName=ERROR_INVALID_STARTING_CODESEG -Language=PLK -Niepoprawny segment startowy kodu dla %1 +Language=ITA +Segmento iniziale di codice non valido per %1 . MessageId=189 SymbolicName=ERROR_INVALID_STACKSEG -Language=PLK -Niepoprawny segment startowy stosu dla %1 +Language=ITA +Segmento iniziale di pila non valido per %1 . MessageId=190 SymbolicName=ERROR_INVALID_MODULETYPE -Language=PLK -Niepoprawny typ modu³u dla %1 +Language=ITA +Tipo del modulo non valido per %1 . MessageId=191 SymbolicName=ERROR_INVALID_EXE_SIGNATURE -Language=PLK -Niepoprawna sygnatura EXE w %1 +Language=ITA +Firma EXE non valida in %1 . MessageId=192 SymbolicName=ERROR_EXE_MARKED_INVALID -Language=PLK -EXE %1 jest naznaczony jako niepoprawny +Language=ITA +EXE %1 è marcato non valido . MessageId=193 SymbolicName=ERROR_BAD_EXE_FORMAT -Language=PLK -Z³y format EXE dla %1 +Language=ITA +Formato EXE non corretto per %1 . MessageId=194 SymbolicName=ERROR_ITERATED_DATA_EXCEEDS_64k -Language=PLK -Iterowana dana przekracza 64k w %1 +Language=ITA +I dati ripetuti superano 64k in %1 . MessageId=195 SymbolicName=ERROR_INVALID_MINALLOCSIZE -Language=PLK -Niepoprawne MinAllocSize w %1 +Language=ITA +MinAllocSize non valido in %1 . MessageId=196 SymbolicName=ERROR_DYNLINK_FROM_INVALID_RING -Language=PLK -Dynlink z niepoprawnego ring'u +Language=ITA +Dynlink da un ring non valido . MessageId=197 SymbolicName=ERROR_IOPL_NOT_ENABLED -Language=PLK -IOPL nie w³¹czony +Language=ITA +IOPL non abilitato . MessageId=198 SymbolicName=ERROR_INVALID_SEGDPL -Language=PLK -Niepoprawny SEGDPL w %1 +Language=ITA +SEGDPL non valido in %1 . MessageId=199 SymbolicName=ERROR_AUTODATASEG_EXCEEDS_64k -Language=PLK -Automatyczny segment danych przekracza 64k +Language=ITA +Segmento di dati Auto supera 64k . MessageId=200 SymbolicName=ERROR_RING2SEG_MUST_BE_MOVABLE -Language=PLK -Segment Ring'u 2 musi byæ ruchomy +Language=ITA +Segmento ring 2 deve essere spostabile . MessageId=201 SymbolicName=ERROR_RELOC_CHAIN_XEEDS_SEGLIM -Language=PLK -£añcuch przemieszczenia przekracza granicê segmentu w %1 +Language=ITA +Catena di rilocazioni supera il limite del segmento in %1 . MessageId=202 SymbolicName=ERROR_INFLOOP_IN_RELOC_CHAIN -Language=PLK -Nieskoñczona pêtla w ³añcuchu przemieszczeniowym w %1 +Language=ITA +Loop infinito nella catena di rilocazioni in %1 . MessageId=203 SymbolicName=ERROR_ENVVAR_NOT_FOUND -Language=PLK -Nie znaleziono zmiennej œrodowiskowej +Language=ITA +Variabile d'ambiente non trovata . MessageId=205 SymbolicName=ERROR_NO_SIGNAL_SENT -Language=PLK -Brak wys³anego sygna³u +Language=ITA +Nessun segnale mandato . MessageId=206 SymbolicName=ERROR_FILENAME_EXCED_RANGE -Language=PLK -Nazwa pliku zbyt d³uga +Language=ITA +Nome del file troppo lungo . MessageId=207 SymbolicName=ERROR_RING2_STACK_IN_USE -Language=PLK -Stos Ring'u 2 w u¿yciu +Language=ITA +Pila ring 2 in uso . MessageId=208 SymbolicName=ERROR_META_EXPANSION_TOO_LONG -Language=PLK -B³¹d w u¿yciu wildcard'ów w nazwie pliku +Language=ITA +Errore nell'uso di wildcard nel nome del file . MessageId=209 SymbolicName=ERROR_INVALID_SIGNAL_NUMBER -Language=PLK -Niepoprawny numer sygna³u +Language=ITA +Numero del segnale non valido . MessageId=210 SymbolicName=ERROR_THREAD_1_INACTIVE -Language=PLK -B³¹d w ustawieniu procedury obs³ugi sygna³u +Language=ITA +Errore nell'impostazione del gestore di segnali . MessageId=212 SymbolicName=ERROR_LOCKED -Language=PLK -Segment locked +Language=ITA +Segmento bloccato . MessageId=214 SymbolicName=ERROR_TOO_MANY_MODULES -Language=PLK -Zbyt du¿o modu³ów +Language=ITA +Troppi moduli . MessageId=215 SymbolicName=ERROR_NESTING_NOT_ALLOWED -Language=PLK -Zagnie¿d¿anie wywo³añ LoadModule nie dozwolone +Language=ITA +Chiamate annidate LoadModule non permesse . MessageId=216 SymbolicName=ERROR_EXE_MACHINE_TYPE_MISMATCH -Language=PLK -Typ maszyny niedopasowany +Language=ITA +Machine type mismatch . MessageId=230 SymbolicName=ERROR_BAD_PIPE -Language=PLK -Bad pipe +Language=ITA +Pipe non corretta . MessageId=231 SymbolicName=ERROR_PIPE_BUSY -Language=PLK -Pipe busy +Language=ITA +Pipe occupata . MessageId=232 SymbolicName=ERROR_NO_DATA -Language=PLK -Pipe closed +Language=ITA +Pipe chiusa . MessageId=233 SymbolicName=ERROR_PIPE_NOT_CONNECTED -Language=PLK -Pipe not connected +Language=ITA +Pipe non connessa . MessageId=234 SymbolicName=ERROR_MORE_DATA -Language=PLK -Wiêcej danych jest dostêpnych +Language=ITA +Più dati disponibili . MessageId=240 SymbolicName=ERROR_VC_DISCONNECTED -Language=PLK -Sesja anulowana +Language=ITA +Sessione annullata . MessageId=254 SymbolicName=ERROR_INVALID_EA_NAME -Language=PLK -Niepoprawna nazwa rozszerzonego atrybutu +Language=ITA +Nome dell'attributo esteso non valido . MessageId=255 SymbolicName=ERROR_EA_LIST_INCONSISTENT -Language=PLK -Lista rozszerzonych atrybutów niespójna +Language=ITA +Lista dell'attributo esteso non consistente . MessageId=259 SymbolicName=ERROR_NO_MORE_ITEMS -Language=PLK -Nie ma wiêcej dostêpnych danych +Language=ITA +Finiti i dati disponibili . MessageId=266 SymbolicName=ERROR_CANNOT_COPY -Language=PLK -Nie mo¿na u¿yæ Copy API +Language=ITA +Impossibile usare l'API Copia . MessageId=267 SymbolicName=ERROR_DIRECTORY -Language=PLK -Niepoprawna nazwa folderu +Language=ITA +Nome della cartella non valido . MessageId=275 SymbolicName=ERROR_EAS_DIDNT_FIT -Language=PLK -Rozszerzone atrybuty nie pasuj¹ +Language=ITA +Gli attributi estesi troppo grandi . MessageId=276 SymbolicName=ERROR_EA_FILE_CORRUPT -Language=PLK -Plik rozszerzonych atrybutów zepsuty +Language=ITA +File dell'attributo esteso corrotto . MessageId=277 SymbolicName=ERROR_EA_TABLE_FULL -Language=PLK -Tablica rozszerzonych atrybutów pe³na +Language=ITA +Tabella dell'attributo esteso piena . MessageId=278 SymbolicName=ERROR_INVALID_EA_HANDLE -Language=PLK -Niepoprawny uchwyt atrybutu rozszerzonego +Language=ITA +Handle dell'attributo esteso non valido . MessageId=282 SymbolicName=ERROR_EAS_NOT_SUPPORTED -Language=PLK -Rozszerzone atrybuty niewspierane +Language=ITA +Attributi estesi non supportati . MessageId=288 SymbolicName=ERROR_NOT_OWNER -Language=PLK -Mutex nie posiadany przez procedurê wywo³uj¹c¹ +Language=ITA +Mutex non posseduta dal chiamante . MessageId=298 SymbolicName=ERROR_TOO_MANY_POSTS -Language=PLK -Too many posts to semaphore +Language=ITA +Troppi post al semaforo . MessageId=299 SymbolicName=ERROR_PARTIAL_COPY -Language=PLK -Read/WriteProcessMemory czêœciowo ukoñczy³o +Language=ITA +Read/WriteProcessMemory parzialmente completata . MessageId=300 SymbolicName=ERROR_OPLOCK_NOT_GRANTED -Language=PLK +Language=ITA ERROR_OPLOCK_NOT_GRANTED . MessageId=301 SymbolicName=ERROR_INVALID_OPLOCK_PROTOCOL -Language=PLK +Language=ITA ERROR_INVALID_OPLOCK_PROTOCOL . MessageId=317 SymbolicName=ERROR_MR_MID_NOT_FOUND -Language=PLK -Nie znaleziono wiadomoœci 0x%1 w pliku %2 +Language=ITA +Messaggio 0x%1 non trovato nel file %2 . MessageId=487 SymbolicName=ERROR_INVALID_ADDRESS -Language=PLK -Niepoprawny adres +Language=ITA +Indirizzo non valido . MessageId=534 SymbolicName=ERROR_ARITHMETIC_OVERFLOW -Language=PLK -Arytmetyczne przepe³nienie górne +Language=ITA +Overflow aritmetico . MessageId=535 SymbolicName=ERROR_PIPE_CONNECTED -Language=PLK -Pipe connected +Language=ITA +Pipe connessa . MessageId=536 SymbolicName=ERROR_PIPE_LISTENING -Language=PLK -Pipe listening +Language=ITA +Pipe in ascolto . MessageId=994 SymbolicName=ERROR_EA_ACCESS_DENIED -Language=PLK -Dostêp rozszerzonego atrybutu zastrze¿ony +Language=ITA +Negato l'accesso all'attributo esteso . MessageId=995 SymbolicName=ERROR_OPERATION_ABORTED -Language=PLK -Operacja WE/WY przerwana +Language=ITA +Operazione di I/O interrotta . MessageId=996 SymbolicName=ERROR_IO_INCOMPLETE -Language=PLK -Zachodz¹ce operacje WE/WY niekompletne +Language=ITA +Overlapped I/O incompleto . MessageId=997 SymbolicName=ERROR_IO_PENDING -Language=PLK -Zachodz¹ce operacje WE/WY w toku +Language=ITA +Overlapped I/O in attesa . MessageId=998 SymbolicName=ERROR_NOACCESS -Language=PLK -Brak dostêpu do po³o¿enia w pamiêci +Language=ITA +Negato l'accesso alla locazione di memoria . MessageId=999 SymbolicName=ERROR_SWAPERROR -Language=PLK -B³¹d pliku wymiany +Language=ITA +Errore di swap . MessageId=1001 SymbolicName=ERROR_STACK_OVERFLOW -Language=PLK -Przepe³nienie stosu +Language=ITA +Overflow della pila . MessageId=1002 SymbolicName=ERROR_INVALID_MESSAGE -Language=PLK -Niepoprawna wiadomoœæ +Language=ITA +Messaggio non valido . MessageId=1003 SymbolicName=ERROR_CAN_NOT_COMPLETE -Language=PLK -Nie mo¿na ukoñczyæ +Language=ITA +Impossibile completare . MessageId=1004 SymbolicName=ERROR_INVALID_FLAGS -Language=PLK -Niepoprawne flagi +Language=ITA +Flag non valide . MessageId=1005 SymbolicName=ERROR_UNRECOGNIZED_VOLUME -Language=PLK -Nierozpoznany wolumen +Language=ITA +Volume non riconosciuto . MessageId=1006 SymbolicName=ERROR_FILE_INVALID -Language=PLK -Niepoprawny plik +Language=ITA +File non valido . MessageId=1007 SymbolicName=ERROR_FULLSCREEN_MODE -Language=PLK -Nie mo¿na uruchomiæ w trybie pe³noekranowym +Language=ITA +Impossibile eseguire a schermo intero . MessageId=1008 SymbolicName=ERROR_NO_TOKEN -Language=PLK -Nonexistent token +Language=ITA +Token non esistente . MessageId=1009 SymbolicName=ERROR_BADDB -Language=PLK -Rejestr zepsuty +Language=ITA +Registro corrotto . MessageId=1010 SymbolicName=ERROR_BADKEY -Language=PLK -Niepoprawny klucz +Language=ITA +Chiave non valida . MessageId=1011 SymbolicName=ERROR_CANTOPEN -Language=PLK +Language=ITA ERROR_CANTOPEN . MessageId=1012 SymbolicName=ERROR_CANTREAD -Language=PLK -Nie mo¿na odczytaæ klucza rejestru +Language=ITA +Impossibile leggere chiave di registro . MessageId=1013 SymbolicName=ERROR_CANTWRITE -Language=PLK -Nie mo¿na zapisaæ klucza rejestru +Language=ITA +Impossibile scrivere chiave di registro . MessageId=1014 SymbolicName=ERROR_REGISTRY_RECOVERED -Language=PLK -Rejestr zosta³ przywrócony +Language=ITA +Il registro è stato recuperato . MessageId=1015 SymbolicName=ERROR_REGISTRY_CORRUPT -Language=PLK -Rejestr jest zepsuty +Language=ITA +Il registro è corrotto . MessageId=1016 SymbolicName=ERROR_REGISTRY_IO_FAILED -Language=PLK -Operacje WE/WY do rejestru nieudane +Language=ITA +I/O verso il registro fallito . MessageId=1017 SymbolicName=ERROR_NOT_REGISTRY_FILE -Language=PLK -To nie jest plik rejestru +Language=ITA +Non un file di registro . MessageId=1018 SymbolicName=ERROR_KEY_DELETED -Language=PLK -Klucz usuniêty +Language=ITA +Chiave eliminata . MessageId=1019 SymbolicName=ERROR_NO_LOG_SPACE -Language=PLK -Brak miejsca na log rejestru +Language=ITA +Nessuno spazio di log del registro . MessageId=1020 SymbolicName=ERROR_KEY_HAS_CHILDREN -Language=PLK -Klucz rejestru ma podklucze +Language=ITA +La chiave di registro ha sottochiavi . MessageId=1021 SymbolicName=ERROR_CHILD_MUST_BE_VOLATILE -Language=PLK -Podklucz musi byæ typu volatile +Language=ITA +La sottochiave deve essere volatile . MessageId=1022 SymbolicName=ERROR_NOTIFY_ENUM_DIR -Language=PLK -Notify change request in progress +Language=ITA +Notifica richiesta di cambiamento in corso . MessageId=1051 SymbolicName=ERROR_DEPENDENT_SERVICES_RUNNING -Language=PLK -Zale¿ne us³ugi s¹ uruchomione +Language=ITA +Servizi dipendenti sono in esecuzione . MessageId=1052 SymbolicName=ERROR_INVALID_SERVICE_CONTROL -Language=PLK -Niepoprawna kontrola us³ugi +Language=ITA +Controllo del servizio non valido . MessageId=1053 SymbolicName=ERROR_SERVICE_REQUEST_TIMEOUT -Language=PLK -Czas wygaœniêcia ¿¹dania us³ugi +Language=ITA +Timeout della richiesta del servizio . MessageId=1054 SymbolicName=ERROR_SERVICE_NO_THREAD -Language=PLK -Nie mo¿na stworzyæ w¹tku us³ugi +Language=ITA +Impossibile creare thread del servizio . MessageId=1055 SymbolicName=ERROR_SERVICE_DATABASE_LOCKED -Language=PLK -Service database locked +Language=ITA +Database dei servizi bloccato . MessageId=1056 SymbolicName=ERROR_SERVICE_ALREADY_RUNNING -Language=PLK -Us³uga ju¿ dzia³a +Language=ITA +Servizio già in esecuzione . MessageId=1057 SymbolicName=ERROR_INVALID_SERVICE_ACCOUNT -Language=PLK -Niepoprawne konto us³ugi +Language=ITA +Account servizio non valido . MessageId=1058 SymbolicName=ERROR_SERVICE_DISABLED -Language=PLK -Us³uga jest wy³¹czona +Language=ITA +Servizio disabilitato . MessageId=1059 SymbolicName=ERROR_CIRCULAR_DEPENDENCY -Language=PLK -Circular dependency +Language=ITA +Dipendenza circolare . MessageId=1060 SymbolicName=ERROR_SERVICE_DOES_NOT_EXIST -Language=PLK -Us³uga nie istnieje +Language=ITA +Servizio inesistente . MessageId=1061 SymbolicName=ERROR_SERVICE_CANNOT_ACCEPT_CTRL -Language=PLK -Us³uga nie mo¿e przyj¹æ wiadomoœci kontrolnej +Language=ITA +Il servivizio non accetta messaggi di controllo . MessageId=1062 SymbolicName=ERROR_SERVICE_NOT_ACTIVE -Language=PLK -Us³uga nieaktywna +Language=ITA +Servizio non attivo . MessageId=1063 SymbolicName=ERROR_FAILED_SERVICE_CONTROLLER_CONNECT -Language=PLK -Po³¹czenie do kontrolera us³ugi nieudane +Language=ITA +Connessione al controller del servizio fallita . MessageId=1064 SymbolicName=ERROR_EXCEPTION_IN_SERVICE -Language=PLK -Wyj¹tek w us³udze +Language=ITA +Eccezione nel servizio . MessageId=1065 SymbolicName=ERROR_DATABASE_DOES_NOT_EXIST -Language=PLK -Baza danych nie istnieje +Language=ITA +Database inesistente . MessageId=1066 SymbolicName=ERROR_SERVICE_SPECIFIC_ERROR -Language=PLK -B³¹d specyficzny dla us³ugi +Language=ITA +Errore specifico del servizio . MessageId=1067 SymbolicName=ERROR_PROCESS_ABORTED -Language=PLK -Proces przerwany +Language=ITA +Processo interrotto . MessageId=1068 SymbolicName=ERROR_SERVICE_DEPENDENCY_FAIL -Language=PLK -Zale¿noœci us³ugi nieudane +Language=ITA +Fallita dipendenza del servizio . MessageId=1069 SymbolicName=ERROR_SERVICE_LOGON_FAILED -Language=PLK -Zalogowanie us³ugi nieudane +Language=ITA +Fallito login del servizio . MessageId=1070 SymbolicName=ERROR_SERVICE_START_HANG -Language=PLK -Start-zawiszenie siê us³ugi +Language=ITA +Hang alla partenza del servizio . MessageId=1071 SymbolicName=ERROR_INVALID_SERVICE_LOCK -Language=PLK -Invalid service lock +Language=ITA +Lock del servizio non valido . MessageId=1072 SymbolicName=ERROR_SERVICE_MARKED_FOR_DELETE -Language=PLK -Us³uga naznaczona do usuniêcia +Language=ITA +Servizio marcato per l'eliminazione . MessageId=1073 SymbolicName=ERROR_SERVICE_EXISTS -Language=PLK -Us³uga istnieje +Language=ITA +Servizio esistente . MessageId=1074 SymbolicName=ERROR_ALREADY_RUNNING_LKG -Language=PLK -System uruchomiony na ostatniej dobrej konfiguracji +Language=ITA +Sistema già in esecuzione con l'ultima configurazione conosciuta buona . MessageId=1075 SymbolicName=ERROR_SERVICE_DEPENDENCY_DELETED -Language=PLK -Zale¿noœæ us³ugi usuniêta +Language=ITA +Eliminata dipendenza del servizio . MessageId=1076 SymbolicName=ERROR_BOOT_ALREADY_ACCEPTED -Language=PLK -Boot ju¿ zaakceptowa³ jako ostatni¹ dobr¹ konfiguracjê +Language=ITA +Boot già accettato come ultima configurazione buona . MessageId=1077 SymbolicName=ERROR_SERVICE_NEVER_STARTED -Language=PLK -Us³uga nie wystartowa³a od czasu ostatniego uruchomienia +Language=ITA +Servizio non avviato a partire dall'ultimo boot . MessageId=1078 SymbolicName=ERROR_DUPLICATE_SERVICE_NAME -Language=PLK -Zduplikowana nazwa us³ugi +Language=ITA +Nome del servizio duplicato . MessageId=1079 SymbolicName=ERROR_DIFFERENT_SERVICE_ACCOUNT -Language=PLK -Ró¿ne konto us³ugi +Language=ITA +Account del servizio differente . MessageId=1080 SymbolicName=ERROR_CANNOT_DETECT_DRIVER_FAILURE -Language=PLK +Language=ITA ERROR_CANNOT_DETECT_DRIVER_FAILURE . MessageId=1081 SymbolicName=ERROR_CANNOT_DETECT_PROCESS_ABORT -Language=PLK +Language=ITA ERROR_CANNOT_DETECT_PROCESS_ABORT . MessageId=1082 SymbolicName=ERROR_NO_RECOVERY_PROGRAM -Language=PLK +Language=ITA ERROR_NO_RECOVERY_PROGRAM . MessageId=1083 SymbolicName=ERROR_SERVICE_NOT_IN_EXE -Language=PLK +Language=ITA ERROR_SERVICE_NOT_IN_EXE . MessageId=1100 SymbolicName=ERROR_END_OF_MEDIA -Language=PLK -Koniec noœnika +Language=ITA +Fine del supporto . MessageId=1101 SymbolicName=ERROR_FILEMARK_DETECTED -Language=PLK -Filemark wykryty +Language=ITA +Rilevato contrassegno del file . MessageId=1102 SymbolicName=ERROR_BEGINNING_OF_MEDIA -Language=PLK -Pocz¹tek noœnika +Language=ITA +Inizio del supporto . MessageId=1103 SymbolicName=ERROR_SETMARK_DETECTED -Language=PLK -Setmark wykryty +Language=ITA +Rilevato setmark . MessageId=1104 SymbolicName=ERROR_NO_DATA_DETECTED -Language=PLK -Nie wykryto danych +Language=ITA +Nessun dato rilevato . MessageId=1105 SymbolicName=ERROR_PARTITION_FAILURE -Language=PLK -Niepowodzenie partycji +Language=ITA +Fallimento della partizione . MessageId=1106 SymbolicName=ERROR_INVALID_BLOCK_LENGTH -Language=PLK -Niepoprawna d³ugoœæ bloku +Language=ITA +Lunghezza del blocco non valida . MessageId=1107 SymbolicName=ERROR_DEVICE_NOT_PARTITIONED -Language=PLK -Urz¹dzenie nie partycjonowane +Language=ITA +Unità non partizionata . MessageId=1108 SymbolicName=ERROR_UNABLE_TO_LOCK_MEDIA -Language=PLK -Unable to lock media +Language=ITA +Impossibile bloccare il supporto . MessageId=1109 SymbolicName=ERROR_UNABLE_TO_UNLOAD_MEDIA -Language=PLK -Niezdolny do pozbycia siê noœnika +Language=ITA +Impossibile scaricare il supporto . MessageId=1110 SymbolicName=ERROR_MEDIA_CHANGED -Language=PLK -Noœnik zmieniony +Language=ITA +Supporto cambiato . MessageId=1111 SymbolicName=ERROR_BUS_RESET -Language=PLK -Reset szyny WE/WY +Language=ITA +Reset del bus I/O . MessageId=1112 SymbolicName=ERROR_NO_MEDIA_IN_DRIVE -Language=PLK -Brak noœnika w napêdzie +Language=ITA +Nessun supporto nell'unità . MessageId=1113 SymbolicName=ERROR_NO_UNICODE_TRANSLATION -Language=PLK -Brak t³umaczenia unicode +Language=ITA +Nessuna traduzione Unicode . MessageId=1114 SymbolicName=ERROR_DLL_INIT_FAILED -Language=PLK -DLL init nieudane +Language=ITA +Inizializzazione DLL fallita . MessageId=1115 SymbolicName=ERROR_SHUTDOWN_IN_PROGRESS -Language=PLK -Zamykanie w toku +Language=ITA +Spegnimento in corso . MessageId=1116 SymbolicName=ERROR_NO_SHUTDOWN_IN_PROGRESS -Language=PLK -Zamykanie nie postêpuje +Language=ITA +Nessuno spegnimento in corso . MessageId=1117 SymbolicName=ERROR_IO_DEVICE -Language=PLK -B³¹d WE/WY urz¹dzenia +Language=ITA +Errore I/O dell'unità . MessageId=1118 SymbolicName=ERROR_SERIAL_NO_DEVICE -Language=PLK -Nie znaleziono urz¹dzeñ szeregowych +Language=ITA +Nessuna unità seriale trovata . MessageId=1119 SymbolicName=ERROR_IRQ_BUSY -Language=PLK -Wspó³dzielone IRQ zajête +Language=ITA +IRQ condiviso occupato . MessageId=1120 SymbolicName=ERROR_MORE_WRITES -Language=PLK -Szeregowe operacje WE/WY ukoñczone +Language=ITA +I/O seriale completato . MessageId=1121 SymbolicName=ERROR_COUNTER_TIMEOUT -Language=PLK -Czas wygaœniêcia licznika szeregowych operacji WE/WY +Language=ITA +Timeout del counter I/O seriale . MessageId=1122 SymbolicName=ERROR_FLOPPY_ID_MARK_NOT_FOUND -Language=PLK -Floppy ID address mark not found +Language=ITA +Marchio d'accesso all'ID del floppy non trovato . MessageId=1123 SymbolicName=ERROR_FLOPPY_WRONG_CYLINDER -Language=PLK -Dyskietka zwraca nieprawid³owy cylinder +Language=ITA +Il floppy riporta cilindro sbagliato . MessageId=1124 SymbolicName=ERROR_FLOPPY_UNKNOWN_ERROR -Language=PLK -Nieznany b³¹d dyskietki +Language=ITA +Errore sconosciuto del floppy . MessageId=1125 SymbolicName=ERROR_FLOPPY_BAD_REGISTERS -Language=PLK -Rejestry dyskietki niespójne +Language=ITA +Registri del floppy incosistenti . MessageId=1126 SymbolicName=ERROR_DISK_RECALIBRATE_FAILED -Language=PLK -Rekalibracja dysku twardego nieudana +Language=ITA +Ricalibrazione del disco rigido fallita . MessageId=1127 SymbolicName=ERROR_DISK_OPERATION_FAILED -Language=PLK -Operacja dysku twardego nieudana +Language=ITA +Operazione del disco rigido fallita . MessageId=1128 SymbolicName=ERROR_DISK_RESET_FAILED -Language=PLK -Reset dysku twardego nieudany +Language=ITA +Reset del disco rigido fallito . MessageId=1129 SymbolicName=ERROR_EOM_OVERFLOW -Language=PLK -Koniec taœmowego noœnika +Language=ITA +Fine del supporto a nastro . MessageId=1130 SymbolicName=ERROR_NOT_ENOUGH_SERVER_MEMORY -Language=PLK -Nie wystarczaj¹co pamiêci serwera +Language=ITA +Finita la memoria del server . MessageId=1131 SymbolicName=ERROR_POSSIBLE_DEADLOCK -Language=PLK -Prawdopodobny zastój +Language=ITA +Possibile punto morto . MessageId=1132 SymbolicName=ERROR_MAPPED_ALIGNMENT -Language=PLK -Nieprawid³owe wyrównanie +Language=ITA +Allineamento incorretto . MessageId=1140 SymbolicName=ERROR_SET_POWER_STATE_VETOED -Language=PLK -Ustawienie stanu czuwania zawetowane +Language=ITA +Posto il veto su Set-power-state . MessageId=1141 SymbolicName=ERROR_SET_POWER_STATE_FAILED -Language=PLK -Ustawienie stanu czuwania nieudane +Language=ITA +Set-power-state fallito . MessageId=1142 SymbolicName=ERROR_TOO_MANY_LINKS -Language=PLK -Zbyt du¿o dowi¹zañ +Language=ITA +Troppi collegamenti . MessageId=1150 SymbolicName=ERROR_OLD_WIN_VERSION -Language=PLK -Potrzebna nowsza wersja okien +Language=ITA +Necessaria una versione di Windows più nuova . MessageId=1151 SymbolicName=ERROR_APP_WRONG_OS -Language=PLK -Nieprawid³owy system operacyjny +Language=ITA +Sistema operativo sbagliato . MessageId=1152 SymbolicName=ERROR_SINGLE_INSTANCE_APP -Language=PLK -Jedno-instancyjna aplikacja +Language=ITA +Applicazione a istanza singola . MessageId=1153 SymbolicName=ERROR_RMODE_APP -Language=PLK -Aplikacja trybu rzeczywistego +Language=ITA +Applicazione a modalità reale . MessageId=1154 SymbolicName=ERROR_INVALID_DLL -Language=PLK -Niepoprawna biblioteka DLL +Language=ITA +DLL non valida . MessageId=1155 SymbolicName=ERROR_NO_ASSOCIATION -Language=PLK -Brak skojarzonej aplikacji +Language=ITA +Nessuna applicazione associata . MessageId=1156 SymbolicName=ERROR_DDE_FAIL -Language=PLK -Niepowodzenie DDE +Language=ITA +Fallimento DDE . MessageId=1157 SymbolicName=ERROR_DLL_NOT_FOUND -Language=PLK -Nie znaleziono biblioteki DLL +Language=ITA +DLL non trovata . MessageId=1158 SymbolicName=ERROR_NO_MORE_USER_HANDLES -Language=PLK +Language=ITA ERROR_NO_MORE_USER_HANDLES . MessageId=1159 SymbolicName=ERROR_MESSAGE_SYNC_ONLY -Language=PLK +Language=ITA ERROR_MESSAGE_SYNC_ONLY . MessageId=1160 SymbolicName=ERROR_SOURCE_ELEMENT_EMPTY -Language=PLK +Language=ITA ERROR_SOURCE_ELEMENT_EMPTY . MessageId=1161 SymbolicName=ERROR_DESTINATION_ELEMENT_FULL -Language=PLK +Language=ITA ERROR_DESTINATION_ELEMENT_FULL . MessageId=1162 SymbolicName=ERROR_ILLEGAL_ELEMENT_ADDRESS -Language=PLK +Language=ITA ERROR_ILLEGAL_ELEMENT_ADDRESS . MessageId=1163 SymbolicName=ERROR_MAGAZINE_NOT_PRESENT -Language=PLK +Language=ITA ERROR_MAGAZINE_NOT_PRESENT . MessageId=1164 SymbolicName=ERROR_DEVICE_REINITIALIZATION_NEEDED -Language=PLK +Language=ITA ERROR_DEVICE_REINITIALIZATION_NEEDED . MessageId=1165 SymbolicName=ERROR_DEVICE_REQUIRES_CLEANING -Language=PLK +Language=ITA ERROR_DEVICE_REQUIRES_CLEANING . MessageId=1166 SymbolicName=ERROR_DEVICE_DOOR_OPEN -Language=PLK +Language=ITA ERROR_DEVICE_DOOR_OPEN . MessageId=1167 SymbolicName=ERROR_DEVICE_NOT_CONNECTED -Language=PLK +Language=ITA ERROR_DEVICE_NOT_CONNECTED . MessageId=1168 SymbolicName=ERROR_NOT_FOUND -Language=PLK +Language=ITA ERROR_NOT_FOUND . MessageId=1169 SymbolicName=ERROR_NO_MATCH -Language=PLK +Language=ITA ERROR_NO_MATCH . MessageId=1170 SymbolicName=ERROR_SET_NOT_FOUND -Language=PLK +Language=ITA ERROR_SET_NOT_FOUND . MessageId=1171 SymbolicName=ERROR_POINT_NOT_FOUND -Language=PLK +Language=ITA ERROR_POINT_NOT_FOUND . MessageId=1172 SymbolicName=ERROR_NO_TRACKING_SERVICE -Language=PLK +Language=ITA ERROR_NO_TRACKING_SERVICE . MessageId=1173 SymbolicName=ERROR_NO_VOLUME_ID -Language=PLK +Language=ITA ERROR_NO_VOLUME_ID . MessageId=1175 SymbolicName=ERROR_UNABLE_TO_REMOVE_REPLACED -Language=PLK +Language=ITA ERROR_UNABLE_TO_REMOVE_REPLACED . MessageId=1176 SymbolicName=ERROR_UNABLE_TO_MOVE_REPLACEMENT -Language=PLK +Language=ITA ERROR_UNABLE_TO_MOVE_REPLACEMENT . MessageId=1177 SymbolicName=ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 -Language=PLK +Language=ITA ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 . MessageId=1178 SymbolicName=ERROR_JOURNAL_DELETE_IN_PROGRESS -Language=PLK +Language=ITA ERROR_JOURNAL_DELETE_IN_PROGRESS . MessageId=1179 SymbolicName=ERROR_JOURNAL_NOT_ACTIVE -Language=PLK +Language=ITA ERROR_JOURNAL_NOT_ACTIVE . MessageId=1180 SymbolicName=ERROR_POTENTIAL_FILE_FOUND -Language=PLK +Language=ITA ERROR_POTENTIAL_FILE_FOUND . MessageId=1181 SymbolicName=ERROR_JOURNAL_ENTRY_DELETED -Language=PLK +Language=ITA ERROR_JOURNAL_ENTRY_DELETED . MessageId=1200 SymbolicName=ERROR_BAD_DEVICE -Language=PLK -Niepoprawna nazwa urz¹dzenia +Language=ITA +Nome dell'unità non valido . MessageId=1201 SymbolicName=ERROR_CONNECTION_UNAVAIL -Language=PLK -Po³¹czenie niedostêpne +Language=ITA +Connessione non disponibile . MessageId=1202 SymbolicName=ERROR_DEVICE_ALREADY_REMEMBERED -Language=PLK -Urz¹dzenie ju¿ jest przecz³onkowane +Language=ITA +Unità già ricordata . MessageId=1203 SymbolicName=ERROR_NO_NET_OR_BAD_PATH -Language=PLK -Brak sieci lub z³a œcie¿ka +Language=ITA +Percorso non di rete o non corretto . MessageId=1204 SymbolicName=ERROR_BAD_PROVIDER -Language=PLK -Niepoprawna nazwa dostarczyciela sieci +Language=ITA +Nome del provider network non valido . MessageId=1205 SymbolicName=ERROR_CANNOT_OPEN_PROFILE -Language=PLK -Nie mo¿na otworzyæ profilu po³¹czenia sieciowego +Language=ITA +Impossibile aprire il profilo di connessione al network . MessageId=1206 SymbolicName=ERROR_BAD_PROFILE -Language=PLK -Zepsuty profil po³¹czenia sieciowego +Language=ITA +Profilo di connessione al network corrotto . MessageId=1207 SymbolicName=ERROR_NOT_CONTAINER -Language=PLK -To nie jest kontener +Language=ITA +Non un contenitore . MessageId=1208 SymbolicName=ERROR_EXTENDED_ERROR -Language=PLK -B³¹d rozszerzony +Language=ITA +Errore esteso . MessageId=1209 SymbolicName=ERROR_INVALID_GROUPNAME -Language=PLK -Niepoprawna nazwa grupy +Language=ITA +Nome del gruppo non valido . MessageId=1210 SymbolicName=ERROR_INVALID_COMPUTERNAME -Language=PLK -Niepoprawna nazwa komputera +Language=ITA +Nome del computer non valido . MessageId=1211 SymbolicName=ERROR_INVALID_EVENTNAME -Language=PLK -Niepoprawna nazwa zdarzenia +Language=ITA +Nome dell'evento non valido . MessageId=1212 SymbolicName=ERROR_INVALID_DOMAINNAME -Language=PLK -Niepoprawna nazwa domeny +Language=ITA +Nome del dominio non valido . MessageId=1213 SymbolicName=ERROR_INVALID_SERVICENAME -Language=PLK -Niepoprawna nazwa us³ugi +Language=ITA +Nome del serfvizio non valido . MessageId=1214 SymbolicName=ERROR_INVALID_NETNAME -Language=PLK -Niepoprawna nazwa sieci +Language=ITA +Nome del network non valido . MessageId=1215 SymbolicName=ERROR_INVALID_SHARENAME -Language=PLK -Niepoprawna nazwa udzia³u +Language=ITA +Nome dello share non valido . MessageId=1216 SymbolicName=ERROR_INVALID_PASSWORDNAME -Language=PLK -Niepoprawne has³o +Language=ITA +Password non valida . MessageId=1217 SymbolicName=ERROR_INVALID_MESSAGENAME -Language=PLK -Niepoprawna nazwa wiadomoœci +Language=ITA +Nome del messaggio non valido . MessageId=1218 SymbolicName=ERROR_INVALID_MESSAGEDEST -Language=PLK -Niepoprawne przeznaczenie wiadomoœci +Language=ITA +Destinazione del messaggio non valida . MessageId=1219 SymbolicName=ERROR_SESSION_CREDENTIAL_CONFLICT -Language=PLK -Session credential conflict +Language=ITA +Conflitto delle credenziali di sessione . MessageId=1220 SymbolicName=ERROR_REMOTE_SESSION_LIMIT_EXCEEDED -Language=PLK -Limit zdalnych sesji przekroczony +Language=ITA +Superato il limite delle sessioni remote . MessageId=1221 SymbolicName=ERROR_DUP_DOMAINNAME -Language=PLK -Zduplikowana nazwa domeny lub grupy roboczej +Language=ITA +Nome del dominio o del workgroup duplicato . MessageId=1222 SymbolicName=ERROR_NO_NETWORK -Language=PLK -Brak sieci +Language=ITA +Nessun network . MessageId=1223 SymbolicName=ERROR_CANCELLED -Language=PLK -Operacja anulowana przez u¿ytkownika +Language=ITA +Operazione annullata dall'utente . MessageId=1224 SymbolicName=ERROR_USER_MAPPED_FILE -Language=PLK -File has a user-mapped section +Language=ITA +Il file ha una sezione mappata ad utente . MessageId=1225 SymbolicName=ERROR_CONNECTION_REFUSED -Language=PLK -Po³¹czenie odmówi³o +Language=ITA +Connessione rifiutata . MessageId=1226 SymbolicName=ERROR_GRACEFUL_DISCONNECT -Language=PLK -Po³¹czenie zgrabnie zamkniête +Language=ITA +Connessione ben chiusa . MessageId=1227 SymbolicName=ERROR_ADDRESS_ALREADY_ASSOCIATED -Language=PLK -Address already associated with transport endpoint +Language=ITA +Indirizzo già associato con un endpoint di trasporto . MessageId=1228 SymbolicName=ERROR_ADDRESS_NOT_ASSOCIATED -Language=PLK -Address not associated with transport endpoint +Language=ITA +Indirizzo non associato con un endpoint di trasporto . MessageId=1229 SymbolicName=ERROR_CONNECTION_INVALID -Language=PLK -Niepoprawne po³¹czenie +Language=ITA +Connessione non valida . MessageId=1230 SymbolicName=ERROR_CONNECTION_ACTIVE -Language=PLK -Po³¹czenie jest aktywne +Language=ITA +Connessione attiva . MessageId=1231 SymbolicName=ERROR_NETWORK_UNREACHABLE -Language=PLK -Sieæ nieosi¹galna +Language=ITA +Network non raggiungibile . MessageId=1232 SymbolicName=ERROR_HOST_UNREACHABLE -Language=PLK -Host nieosi¹galny +Language=ITA +Host non raggiungibile . MessageId=1233 SymbolicName=ERROR_PROTOCOL_UNREACHABLE -Language=PLK -Protokó³ nieosi¹galny +Language=ITA +Protocollo non raggiungibile . MessageId=1234 SymbolicName=ERROR_PORT_UNREACHABLE -Language=PLK -Port nieosi¹galny +Language=ITA +Porta non raggiungibile . MessageId=1235 SymbolicName=ERROR_REQUEST_ABORTED -Language=PLK -¯¹danie przerwane +Language=ITA +Richiesta interrotta . MessageId=1236 SymbolicName=ERROR_CONNECTION_ABORTED -Language=PLK -Po³¹czenie przerwane +Language=ITA +Connessione interrotta . MessageId=1237 SymbolicName=ERROR_RETRY -Language=PLK -Proszê ponowiæ operacjê +Language=ITA +Riprovare l'operazione . MessageId=1238 SymbolicName=ERROR_CONNECTION_COUNT_LIMIT -Language=PLK -Liczba limitu po³¹czeñ osi¹gniêta +Language=ITA +Raggiunto il limite di connessioni . MessageId=1239 SymbolicName=ERROR_LOGIN_TIME_RESTRICTION -Language=PLK -Ograniczenia czasu zalogowania +Language=ITA +Restrizione del tempo di login . MessageId=1240 SymbolicName=ERROR_LOGIN_WKSTA_RESTRICTION -Language=PLK -Ograniczenia zalogowania stacji roboczej +Language=ITA +Restrizione del login in workstation . MessageId=1241 SymbolicName=ERROR_INCORRECT_ADDRESS -Language=PLK -Nieprawid³owy adres sieciowy +Language=ITA +Indirizzo network non corretto . MessageId=1242 SymbolicName=ERROR_ALREADY_REGISTERED -Language=PLK -Us³uga ju¿ jest zarejestrowana +Language=ITA +Servizio già registrato . MessageId=1243 SymbolicName=ERROR_SERVICE_NOT_FOUND -Language=PLK -Nie znaleziono us³ugi +Language=ITA +Servizio non trovato . MessageId=1244 SymbolicName=ERROR_NOT_AUTHENTICATED -Language=PLK -U¿ytkownik nie poœwiadczony +Language=ITA +Utente non autenticato . MessageId=1245 SymbolicName=ERROR_NOT_LOGGED_ON -Language=PLK -U¿ytkownik niezalogowany +Language=ITA +Utente non logged in . MessageId=1246 SymbolicName=ERROR_CONTINUE -Language=PLK -Kontynuacja w toku +Language=ITA +Continua il lavoro in corso . MessageId=1247 SymbolicName=ERROR_ALREADY_INITIALIZED -Language=PLK -Ju¿ jest zainicjalizowane +Language=ITA +Già inizializzato . MessageId=1248 SymbolicName=ERROR_NO_MORE_DEVICES -Language=PLK -Nie ma wiêcej urz¹dzeñ lokalnych +Language=ITA +Nessuna unità locale in più . MessageId=1249 SymbolicName=ERROR_NO_SUCH_SITE -Language=PLK +Language=ITA ERROR_NO_SUCH_SITE . MessageId=1250 SymbolicName=ERROR_DOMAIN_CONTROLLER_EXISTS -Language=PLK +Language=ITA ERROR_DOMAIN_CONTROLLER_EXISTS . MessageId=1251 SymbolicName=ERROR_ONLY_IF_CONNECTED -Language=PLK +Language=ITA ERROR_ONLY_IF_CONNECTED . MessageId=1252 SymbolicName=ERROR_OVERRIDE_NOCHANGES -Language=PLK +Language=ITA ERROR_OVERRIDE_NOCHANGES . MessageId=1253 SymbolicName=ERROR_BAD_USER_PROFILE -Language=PLK +Language=ITA ERROR_BAD_USER_PROFILE . MessageId=1254 SymbolicName=ERROR_NOT_SUPPORTED_ON_SBS -Language=PLK +Language=ITA ERROR_NOT_SUPPORTED_ON_SBS . MessageId=1300 SymbolicName=ERROR_NOT_ALL_ASSIGNED -Language=PLK -Nie wszystkie prawa przydzielone +Language=ITA +Non tutti i privilegi assegnati . MessageId=1301 SymbolicName=ERROR_SOME_NOT_MAPPED -Language=PLK -Niektóre identyfikatory zabezpieczeñ niezmapowane +Language=ITA +Alcuni ID di sicurezza non assegnati . MessageId=1302 SymbolicName=ERROR_NO_QUOTAS_FOR_ACCOUNT -Language=PLK -Brak przydzia³u dla konta +Language=ITA +Nessuna quota per account . MessageId=1303 SymbolicName=ERROR_LOCAL_USER_SESSION_KEY -Language=PLK -Klucz sesji lokalnego u¿ytkownika +Language=ITA +Chiave di sessione dell'utente locale . MessageId=1304 SymbolicName=ERROR_NULL_LM_PASSWORD -Language=PLK -Has³o zbyt skomplikowane dla LM +Language=ITA +Password troppo complessa per LM . MessageId=1305 SymbolicName=ERROR_UNKNOWN_REVISION -Language=PLK -Nieznana rewizja +Language=ITA +Revisione sconosciuta . MessageId=1306 SymbolicName=ERROR_REVISION_MISMATCH -Language=PLK -Niekompatybilne poziomy rewizji +Language=ITA +Livelli di revisione incompatibili . MessageId=1307 SymbolicName=ERROR_INVALID_OWNER -Language=PLK -Niepoprawny w³aœciciel +Language=ITA +Proprietario non valido . MessageId=1308 SymbolicName=ERROR_INVALID_PRIMARY_GROUP -Language=PLK -Niepoprawna grupa nadrzêdna +Language=ITA +Gruppo primario non valido . MessageId=1309 SymbolicName=ERROR_NO_IMPERSONATION_TOKEN -Language=PLK -No impersonation token +Language=ITA +Nessun token di rappresentazione . MessageId=1310 SymbolicName=ERROR_CANT_DISABLE_MANDATORY -Language=PLK -Nie mo¿na wy³¹czyæ obowi¹zuj¹cej grupy +Language=ITA +Impossibile disabilitare gruppo obbligatorio . MessageId=1311 SymbolicName=ERROR_NO_LOGON_SERVERS -Language=PLK -Brak zalogowanych serwerów +Language=ITA +Nessun server di logon disponibile . MessageId=1312 SymbolicName=ERROR_NO_SUCH_LOGON_SESSION -Language=PLK -Nie ma takiej zalogowanej sesji +Language=ITA +Nessuna sessione logon del genere . MessageId=1313 SymbolicName=ERROR_NO_SUCH_PRIVILEGE -Language=PLK -Nie ma takiego prawa +Language=ITA +Nessun privilegio del genere . MessageId=1314 SymbolicName=ERROR_PRIVILEGE_NOT_HELD -Language=PLK -Prawa nie zachowane +Language=ITA +Privilegio non posseduto . MessageId=1315 SymbolicName=ERROR_INVALID_ACCOUNT_NAME -Language=PLK -Niepoprawna nazwa konta +Language=ITA +Nome dell'account non valido . MessageId=1316 SymbolicName=ERROR_USER_EXISTS -Language=PLK -U¿ytkownik ju¿ istnieje +Language=ITA +Utente già esistente . MessageId=1317 SymbolicName=ERROR_NO_SUCH_USER -Language=PLK -Nie ma takiego u¿ytkownika +Language=ITA +Nessun utente del genere . MessageId=1318 SymbolicName=ERROR_GROUP_EXISTS -Language=PLK -Grupa ju¿ istnieje +Language=ITA +Gruppo già esistente . MessageId=1319 SymbolicName=ERROR_NO_SUCH_GROUP -Language=PLK -Nie ma takiej grupy +Language=ITA +Nessun gruppo del genere . MessageId=1320 SymbolicName=ERROR_MEMBER_IN_GROUP -Language=PLK -U¿ytkownik ju¿ jest w grupie +Language=ITA +Utente già nel gruppo . MessageId=1321 SymbolicName=ERROR_MEMBER_NOT_IN_GROUP -Language=PLK -U¿ytkownik nie jest w grupie +Language=ITA +Utente non nel gruppo . MessageId=1322 SymbolicName=ERROR_LAST_ADMIN -Language=PLK -Nie mo¿na usun¹æ ostatniego administratora +Language=ITA +Impossibile eliminare l'ultimo utente amministratore . MessageId=1323 SymbolicName=ERROR_WRONG_PASSWORD -Language=PLK -Nieprawid³owe has³o +Language=ITA +Password sbagliata . MessageId=1324 SymbolicName=ERROR_ILL_FORMED_PASSWORD -Language=PLK -�le sformu³owane has³o +Language=ITA +Password malformata . MessageId=1325 SymbolicName=ERROR_PASSWORD_RESTRICTION -Language=PLK -Ograniczenia has³a +Language=ITA +Restrizione sulla password . MessageId=1326 SymbolicName=ERROR_LOGON_FAILURE -Language=PLK -Nieudane zalogowanie +Language=ITA +Logon fallito . MessageId=1327 SymbolicName=ERROR_ACCOUNT_RESTRICTION -Language=PLK -Ograniczenia konta +Language=ITA +Restrizione sull'account . MessageId=1328 SymbolicName=ERROR_INVALID_LOGON_HOURS -Language=PLK -Niepoprawne godziny zalogowania +Language=ITA +Ore di logon non valide . MessageId=1329 SymbolicName=ERROR_INVALID_WORKSTATION -Language=PLK -Niepoprawna stacja robocza +Language=ITA +Workstation non valida . MessageId=1330 SymbolicName=ERROR_PASSWORD_EXPIRED -Language=PLK -Has³o wygas³o +Language=ITA +Password scaduta . MessageId=1331 SymbolicName=ERROR_ACCOUNT_DISABLED -Language=PLK -Konto wy³¹czone +Language=ITA +Account disabilitato . MessageId=1332 SymbolicName=ERROR_NONE_MAPPED -Language=PLK -Nie zmapowano identyfikatora zabezpieczeñ +Language=ITA +Nessun ID di sicurezza mappato . MessageId=1333 SymbolicName=ERROR_TOO_MANY_LUIDS_REQUESTED -Language=PLK -Za¿¹dano zbyt du¿o LUID'ów +Language=ITA +Troppi LUID richiesti . MessageId=1334 SymbolicName=ERROR_LUIDS_EXHAUSTED -Language=PLK -LUID'y wyczerpane +Language=ITA +LUID finiti . MessageId=1335 SymbolicName=ERROR_INVALID_SUB_AUTHORITY -Language=PLK -Niepoprawny sub autorytet +Language=ITA +Sotto autorità non valida . MessageId=1336 SymbolicName=ERROR_INVALID_ACL -Language=PLK -Niepoprawny ACL +Language=ITA +ACL non valido . MessageId=1337 SymbolicName=ERROR_INVALID_SID -Language=PLK -Niepoprawny SID +Language=ITA +SID non valido . MessageId=1338 SymbolicName=ERROR_INVALID_SECURITY_DESCR -Language=PLK -Niepoprawny deskryptor bezpieczeñstwa +Language=ITA +Descrittore di sicurezza non valido . MessageId=1340 SymbolicName=ERROR_BAD_INHERITANCE_ACL -Language=PLK -�le odziedziczone ACL +Language=ITA +ACL ereditato non corretto . MessageId=1341 SymbolicName=ERROR_SERVER_DISABLED -Language=PLK -Serwer wy³¹czony +Language=ITA +Server disabilitato . MessageId=1342 SymbolicName=ERROR_SERVER_NOT_DISABLED -Language=PLK -Serwer nie wy³¹czony +Language=ITA +Server non disabilitato . MessageId=1343 SymbolicName=ERROR_INVALID_ID_AUTHORITY -Language=PLK -Niepoprawny identyfikator autorytetu +Language=ITA +ID autorità non valido . MessageId=1344 SymbolicName=ERROR_ALLOTTED_SPACE_EXCEEDED -Language=PLK -Przydzielone miejsce przekroczone +Language=ITA +Superato lo spazio assegnato . MessageId=1345 SymbolicName=ERROR_INVALID_GROUP_ATTRIBUTES -Language=PLK -Niepoprawne atrybuty grupy +Language=ITA +Attributi del gruppo non validi . MessageId=1346 SymbolicName=ERROR_BAD_IMPERSONATION_LEVEL -Language=PLK -Bad impersonation level +Language=ITA +Livello di rappresentazione non valido . MessageId=1347 SymbolicName=ERROR_CANT_OPEN_ANONYMOUS -Language=PLK -Can't open anonymous security token +Language=ITA +Impossibile aprire il token di sicurezza anonimo . MessageId=1348 SymbolicName=ERROR_BAD_VALIDATION_CLASS -Language=PLK -Bad validation class +Language=ITA +Classe di convalida non corretta . MessageId=1349 SymbolicName=ERROR_BAD_TOKEN_TYPE -Language=PLK -Bad token type +Language=ITA +Tipo del token non corretto . MessageId=1350 SymbolicName=ERROR_NO_SECURITY_ON_OBJECT -Language=PLK -Brak zabezpieczeñ na obiekcie +Language=ITA +Nessuna sicurezza sull'oggetto . MessageId=1351 SymbolicName=ERROR_CANT_ACCESS_DOMAIN_INFO -Language=PLK -Nie ma dostêpu do informacji domeny +Language=ITA +Impossibile accedere alle informazioni sul dominio . MessageId=1352 SymbolicName=ERROR_INVALID_SERVER_STATE -Language=PLK -Niepoprawny stan serwera +Language=ITA +Stato del server non valido . MessageId=1353 SymbolicName=ERROR_INVALID_DOMAIN_STATE -Language=PLK -Niepoprawny stan domeny +Language=ITA +Stato del dominio non valido . MessageId=1354 SymbolicName=ERROR_INVALID_DOMAIN_ROLE -Language=PLK -Niepoprawna rola domeny +Language=ITA +Ruolo del dominio non valido . MessageId=1355 SymbolicName=ERROR_NO_SUCH_DOMAIN -Language=PLK -Nie ma takiej domeny +Language=ITA +Nessun dominio del genere . MessageId=1356 SymbolicName=ERROR_DOMAIN_EXISTS -Language=PLK -Domena ju¿ istnieje +Language=ITA +Dominio esistente . MessageId=1357 SymbolicName=ERROR_DOMAIN_LIMIT_EXCEEDED -Language=PLK -Limit domen przekroczony +Language=ITA +Superato il limite di domini . MessageId=1358 SymbolicName=ERROR_INTERNAL_DB_CORRUPTION -Language=PLK -Wewnêtrzna baza danych zepsuta +Language=ITA +Corruzione del database interno . MessageId=1359 SymbolicName=ERROR_INTERNAL_ERROR -Language=PLK -B³¹d wewnêtrzny +Language=ITA +Errore interno . MessageId=1360 SymbolicName=ERROR_GENERIC_NOT_MAPPED -Language=PLK -Generic access types not mapped +Language=ITA +Tipi di accesso generico non mappati . MessageId=1361 SymbolicName=ERROR_BAD_DESCRIPTOR_FORMAT -Language=PLK -Z³y format deskryptora +Language=ITA +Formato del descrittore non corretto . MessageId=1362 SymbolicName=ERROR_NOT_LOGON_PROCESS -Language=PLK -To nie jest proces zalogowania +Language=ITA +Non un processo di logon . MessageId=1363 SymbolicName=ERROR_LOGON_SESSION_EXISTS -Language=PLK -Identyfikator sesji zalogowanej istnieje +Language=ITA +L'ID della sessione di logon esiste . MessageId=1364 SymbolicName=ERROR_NO_SUCH_PACKAGE -Language=PLK -Nieznana paczka poœwiadczenia +Language=ITA +Pacchetto di autenticazione sconosciuto . MessageId=1365 SymbolicName=ERROR_BAD_LOGON_SESSION_STATE -Language=PLK -Z³y stan zalogowanej sesji +Language=ITA +Stato della sessione di logon non corretto . MessageId=1366 SymbolicName=ERROR_LOGON_SESSION_COLLISION -Language=PLK -Kolizja identyfikatorów zalogowania sesji +Language=ITA +Collisione ID sessione di logon . MessageId=1367 SymbolicName=ERROR_INVALID_LOGON_TYPE -Language=PLK -Niepoprawny typ zalogowania +Language=ITA +Tipo di logon non valido . MessageId=1368 SymbolicName=ERROR_CANNOT_IMPERSONATE -Language=PLK -Cannot impersonate +Language=ITA +Impossibile rappresentare . MessageId=1369 SymbolicName=ERROR_RXACT_INVALID_STATE -Language=PLK -Niepoprawny stan transakcji +Language=ITA +Stato della transazione non valido . MessageId=1370 SymbolicName=ERROR_RXACT_COMMIT_FAILURE -Language=PLK -Security DB commit failure +Language=ITA +Fallimento del commit al DB della sicurezza . MessageId=1371 SymbolicName=ERROR_SPECIAL_ACCOUNT -Language=PLK -Konto jest wbudowane +Language=ITA +Account predefinito . MessageId=1372 SymbolicName=ERROR_SPECIAL_GROUP -Language=PLK -Grupa jest wbudowana +Language=ITA +Gruppo predefinito . MessageId=1373 SymbolicName=ERROR_SPECIAL_USER -Language=PLK -U¿ytkownik jest wbudowany +Language=ITA +Utente predefinito . MessageId=1374 SymbolicName=ERROR_MEMBERS_PRIMARY_GROUP -Language=PLK -Grupa jest g³ówn¹ dla u¿ytkownika +Language=ITA +Gruppo primario per l'utente . MessageId=1375 SymbolicName=ERROR_TOKEN_ALREADY_IN_USE -Language=PLK -Token already in use +Language=ITA +Token già in uso . MessageId=1376 SymbolicName=ERROR_NO_SUCH_ALIAS -Language=PLK -Nie ma takiej grupy lokalnej +Language=ITA +Nessun gruppo locale del genere . MessageId=1377 SymbolicName=ERROR_MEMBER_NOT_IN_ALIAS -Language=PLK -U¿ytkownik nie jest w grupie lokalnej +Language=ITA +Utente non nel gruppo locale . MessageId=1378 SymbolicName=ERROR_MEMBER_IN_ALIAS -Language=PLK -U¿ytkownik ju¿ jest w grupie lokalnej +Language=ITA +Utente già nel gruppo locale . MessageId=1379 SymbolicName=ERROR_ALIAS_EXISTS -Language=PLK -Lokalna grupa ju¿ istnieje +Language=ITA +Gruppo locale esistente . MessageId=1380 SymbolicName=ERROR_LOGON_NOT_GRANTED -Language=PLK -Logowanie nie przyznane +Language=ITA +Tipo di logon non garantito . MessageId=1381 SymbolicName=ERROR_TOO_MANY_SECRETS -Language=PLK -Too many secrets +Language=ITA +Troppi segreti . MessageId=1382 SymbolicName=ERROR_SECRET_TOO_LONG -Language=PLK -Secret zbyt d³ugi +Language=ITA +Segreto troppo lungo . MessageId=1383 SymbolicName=ERROR_INTERNAL_DB_ERROR -Language=PLK -Internal security DB error +Language=ITA +Errore interno del DB della sicurezza . MessageId=1384 SymbolicName=ERROR_TOO_MANY_CONTEXT_IDS -Language=PLK -Zbyt du¿o identyfikatorów kontekstów +Language=ITA +Troppi ID di contesto . MessageId=1385 SymbolicName=ERROR_LOGON_TYPE_NOT_GRANTED -Language=PLK -Typ logowania nie przyznany +Language=ITA +Tipo di logon non garantito . MessageId=1386 SymbolicName=ERROR_NT_CROSS_ENCRYPTION_REQUIRED -Language=PLK -Wymagane has³o Cross-encrypted NT +Language=ITA +Richiesta password NT cross-criptata . MessageId=1387 SymbolicName=ERROR_NO_SUCH_MEMBER -Language=PLK -Nie ma takiego cz³onka +Language=ITA +Nessun membro del genere . MessageId=1388 SymbolicName=ERROR_INVALID_MEMBER -Language=PLK -Niepoprawny cz³onek +Language=ITA +Membro non valido . MessageId=1389 SymbolicName=ERROR_TOO_MANY_SIDS -Language=PLK -Zbyt du¿o SID'ów +Language=ITA +Troppi SID . MessageId=1390 SymbolicName=ERROR_LM_CROSS_ENCRYPTION_REQUIRED -Language=PLK -Wymagane has³o Cross-encrypted LM +Language=ITA +Richiesta password LM cross-criptata . MessageId=1391 SymbolicName=ERROR_NO_INHERITANCE -Language=PLK -Brak dziedzicznych komponentów +Language=ITA +Nessun componente ereditabile . MessageId=1392 SymbolicName=ERROR_FILE_CORRUPT -Language=PLK -Plik lub folder zepsuty +Language=ITA +File o cartella corrotti . MessageId=1393 SymbolicName=ERROR_DISK_CORRUPT -Language=PLK -Dysk jest zepsuty +Language=ITA +Disco corrotto . MessageId=1394 SymbolicName=ERROR_NO_USER_SESSION_KEY -Language=PLK -Brak klucza sesji u¿ytkownika +Language=ITA +Nessuna chiave di sessione utente . MessageId=1395 SymbolicName=ERROR_LICENSE_QUOTA_EXCEEDED -Language=PLK -Przydzia³ licencji przekroczony +Language=ITA +Superata la quota di licenze . MessageId=1396 SymbolicName=ERROR_WRONG_TARGET_NAME -Language=PLK +Language=ITA ERROR_WRONG_TARGET_NAME . MessageId=1397 SymbolicName=ERROR_MUTUAL_AUTH_FAILED -Language=PLK +Language=ITA ERROR_MUTUAL_AUTH_FAILED . MessageId=1398 SymbolicName=ERROR_TIME_SKEW -Language=PLK +Language=ITA ERROR_TIME_SKEW . MessageId=1400 SymbolicName=ERROR_INVALID_WINDOW_HANDLE -Language=PLK -Niepoprawny uchwyt okna +Language=ITA +Handle della finestra non valido . MessageId=1401 SymbolicName=ERROR_INVALID_MENU_HANDLE -Language=PLK -Niepoprawny uchwyt menu +Language=ITA +Handle del menù non valido . MessageId=1402 SymbolicName=ERROR_INVALID_CURSOR_HANDLE -Language=PLK -Niepoprawny uchwyt kursora +Language=ITA +Handle del cursore non valido . MessageId=1403 SymbolicName=ERROR_INVALID_ACCEL_HANDLE -Language=PLK -Invalid accelerator table handle +Language=ITA +Handle della tabella dell'acceleratore non valido . MessageId=1404 SymbolicName=ERROR_INVALID_HOOK_HANDLE -Language=PLK -Invalid hook handle +Language=ITA +Handle dell'hook non valido . MessageId=1405 SymbolicName=ERROR_INVALID_DWP_HANDLE -Language=PLK -Niepoprawny uchwyt DWP +Language=ITA +Handle DWP non valido . MessageId=1406 SymbolicName=ERROR_TLW_WITH_WSCHILD -Language=PLK -Nie mo¿na stworzyæ okna potomnego top-level +Language=ITA +Impossibile creare finestra figlia top-level . MessageId=1407 SymbolicName=ERROR_CANNOT_FIND_WND_CLASS -Language=PLK -Nie mo¿na znaleŸæ klasy okna +Language=ITA +Impossibile trovare la class finestra . MessageId=1408 SymbolicName=ERROR_WINDOW_OF_OTHER_THREAD -Language=PLK -Okno nabyte w posiadanie przez inny w¹tek +Language=ITA +Finestra posseduta da un altro thread . MessageId=1409 SymbolicName=ERROR_HOTKEY_ALREADY_REGISTERED -Language=PLK -Klawisz skrótu ju¿ jest zarejestrowany +Language=ITA +Scorciatoia da tastiera già registrata . MessageId=1410 SymbolicName=ERROR_CLASS_ALREADY_EXISTS -Language=PLK -Klasa ju¿ istnieje +Language=ITA +Class esistente . MessageId=1411 SymbolicName=ERROR_CLASS_DOES_NOT_EXIST -Language=PLK -Klasa nie istnieje +Language=ITA +Class non esiste . MessageId=1412 SymbolicName=ERROR_CLASS_HAS_WINDOWS -Language=PLK -Klasa ma otwarte okna +Language=ITA +Class con finestre aperte . MessageId=1413 SymbolicName=ERROR_INVALID_INDEX -Language=PLK -Niepoprawny index +Language=ITA +Indice non valido . MessageId=1414 SymbolicName=ERROR_INVALID_ICON_HANDLE -Language=PLK -Niepoprawny uchwyt ikony +Language=ITA +Handle dell'icona non valido . MessageId=1415 SymbolicName=ERROR_PRIVATE_DIALOG_INDEX -Language=PLK -Index prywatnego dialogu +Language=ITA +Indice di un dialog privato . MessageId=1416 SymbolicName=ERROR_LISTBOX_ID_NOT_FOUND -Language=PLK -Nie znaleziono identyfikatora listbox'a +Language=ITA +ID Listbox non trovato . MessageId=1417 SymbolicName=ERROR_NO_WILDCARD_CHARACTERS -Language=PLK -Brak znaków wildcard +Language=ITA +Nessun carattere jolly . MessageId=1418 SymbolicName=ERROR_CLIPBOARD_NOT_OPEN -Language=PLK -Schowek nie otwarty +Language=ITA +Appunti non aperti . MessageId=1419 SymbolicName=ERROR_HOTKEY_NOT_REGISTERED -Language=PLK -Klawisz skrótu niezarejestrowany +Language=ITA +Scorciatoia da tastiere non registrata . MessageId=1420 SymbolicName=ERROR_WINDOW_NOT_DIALOG -Language=PLK -To nie jest okno dialogu +Language=ITA +Non una finestra dialog . MessageId=1421 SymbolicName=ERROR_CONTROL_ID_NOT_FOUND -Language=PLK -Nie znaleziono identyfikatora control'a +Language=ITA +ID del controllo non trovato . MessageId=1422 SymbolicName=ERROR_INVALID_COMBOBOX_MESSAGE -Language=PLK -Niepoprawna wiadomoœæ combobox'a +Language=ITA +Messaggio della combobox non valido . MessageId=1423 SymbolicName=ERROR_WINDOW_NOT_COMBOBOX -Language=PLK -To nie jest okno combobox +Language=ITA +Non una finestra combobox . MessageId=1424 SymbolicName=ERROR_INVALID_EDIT_HEIGHT -Language=PLK -Invalid edit height +Language=ITA +Modifica dell'altezza non valida . MessageId=1425 SymbolicName=ERROR_DC_NOT_FOUND -Language=PLK -Nie znaleziono DC +Language=ITA +DC non trovata . MessageId=1426 SymbolicName=ERROR_INVALID_HOOK_FILTER -Language=PLK -Invalid hook filter +Language=ITA +Filtro dell'hook non valido . MessageId=1427 SymbolicName=ERROR_INVALID_FILTER_PROC -Language=PLK -Niepoprawna procedura filtrowania +Language=ITA +Procedura del filtro non valida . MessageId=1428 SymbolicName=ERROR_HOOK_NEEDS_HMOD -Language=PLK -Hook procedure needs module handle +Language=ITA +La procedura dell'hook necessita dell'handle del modulo . MessageId=1429 SymbolicName=ERROR_GLOBAL_ONLY_HOOK -Language=PLK -Global-only hook procedure +Language=ITA +Procedura hook solo globale . MessageId=1430 SymbolicName=ERROR_JOURNAL_HOOK_SET -Language=PLK -Journal hook already set +Language=ITA +Hook del giornale già impostato . MessageId=1431 SymbolicName=ERROR_HOOK_NOT_INSTALLED -Language=PLK -Hook procedure not installed +Language=ITA +Procedura hook non installata . MessageId=1432 SymbolicName=ERROR_INVALID_LB_MESSAGE -Language=PLK -Niepoprawna wiadomoœæ listbox'a +Language=ITA +Messaggio della listbox non valido . MessageId=1433 SymbolicName=ERROR_SETCOUNT_ON_BAD_LB -Language=PLK -Wys³ano niepoprawny LB_SETCOUNT +Language=ITA +LB_SETCOUNT inviato non valido . MessageId=1434 SymbolicName=ERROR_LB_WITHOUT_TABSTOPS -Language=PLK -Brak punktów tabulacyjnych w tym listbox'ie +Language=ITA +Nessun tabstop in questa listbox . MessageId=1435 SymbolicName=ERROR_DESTROY_OBJECT_OF_OTHER_THREAD -Language=PLK -Nie mo¿na zniszczyæ obiektu nale¿¹cego do innego w¹tku +Language=ITA +Impossibile distruggere oggetto posseduto da un altro thread . MessageId=1436 SymbolicName=ERROR_CHILD_WINDOW_MENU -Language=PLK -Menu okna potomnego nie dozwolone +Language=ITA +Menù nella finestra figlia non permessi . MessageId=1437 SymbolicName=ERROR_NO_SYSTEM_MENU -Language=PLK -Okno nie ma menu systemowego +Language=ITA +La finestra non ha un menù di sistema . MessageId=1438 SymbolicName=ERROR_INVALID_MSGBOX_STYLE -Language=PLK -Niepoprawny styl messagebox'a +Language=ITA +Stile della messagebox non valido . MessageId=1439 SymbolicName=ERROR_INVALID_SPI_VALUE -Language=PLK -Niepoprawny parametr SPI +Language=ITA +Parametro SPI non valido . MessageId=1440 SymbolicName=ERROR_SCREEN_ALREADY_LOCKED -Language=PLK -Screen already locked +Language=ITA +Schermo già bloccato . MessageId=1441 SymbolicName=ERROR_HWNDS_HAVE_DIFF_PARENT -Language=PLK -Uchwyty okna maj¹ ró¿ne nadrzêdne okna +Language=ITA +Gli handle della finestra hanno genitori differenti . MessageId=1442 SymbolicName=ERROR_NOT_CHILD_WINDOW -Language=PLK -To nie jest okno potomne +Language=ITA +Non una finestra figlia . MessageId=1443 SymbolicName=ERROR_INVALID_GW_COMMAND -Language=PLK -Niepoprawne polecenie GW +Language=ITA +Comando GW non valido . MessageId=1444 SymbolicName=ERROR_INVALID_THREAD_ID -Language=PLK -Niepoprawny identyfikator w¹tku +Language=ITA +ID thread non valido . MessageId=1445 SymbolicName=ERROR_NON_MDICHILD_WINDOW -Language=PLK -To nie jest okno potomne MDI +Language=ITA +Non una finestra figlia MDI . MessageId=1446 SymbolicName=ERROR_POPUP_ALREADY_ACTIVE -Language=PLK -Menu popup ju¿ jest aktywne +Language=ITA +Menù a comparsa già attivo . MessageId=1447 SymbolicName=ERROR_NO_SCROLLBARS -Language=PLK -Brak pasków przewijania +Language=ITA +Nessuna barra dello scorrimento . MessageId=1448 SymbolicName=ERROR_INVALID_SCROLLBAR_RANGE -Language=PLK -Niepoprawny zakres scrollbar'a +Language=ITA +Range della barra dello scorrimento non valido . MessageId=1449 SymbolicName=ERROR_INVALID_SHOWWIN_COMMAND -Language=PLK -Niepoprawne polecenie ShowWin +Language=ITA +Comando ShowWin non valido . MessageId=1450 SymbolicName=ERROR_NO_SYSTEM_RESOURCES -Language=PLK -Brak zasobów systemowych +Language=ITA +Nessuna risorsa di sistema . MessageId=1451 SymbolicName=ERROR_NONPAGED_SYSTEM_RESOURCES -Language=PLK -Brak niestronicowanych zasobów systemowych +Language=ITA +Nessuna risorsa di sistema non paginata . MessageId=1452 SymbolicName=ERROR_PAGED_SYSTEM_RESOURCES -Language=PLK -Brak stronicowanych zasobów systemowych +Language=ITA +Nessuna risorsa di sistema paginata . MessageId=1453 SymbolicName=ERROR_WORKING_SET_QUOTA -Language=PLK -No working set quota +Language=ITA +Nessuna quota impostata funzionante . MessageId=1454 SymbolicName=ERROR_PAGEFILE_QUOTA -Language=PLK -Brak przydzia³u pliku stronicowania +Language=ITA +Nessuna quota del file di paginazione . MessageId=1455 SymbolicName=ERROR_COMMITMENT_LIMIT -Language=PLK -Exceeded commitment limit +Language=ITA +Superato il limite di commitment . MessageId=1456 SymbolicName=ERROR_MENU_ITEM_NOT_FOUND -Language=PLK -Nie znaleziono elementu menu +Language=ITA +Elemento del menù non trovato . MessageId=1457 SymbolicName=ERROR_INVALID_KEYBOARD_HANDLE -Language=PLK +Language=ITA ERROR_INVALID_KEYBOARD_HANDLE . MessageId=1458 SymbolicName=ERROR_HOOK_TYPE_NOT_ALLOWED -Language=PLK +Language=ITA ERROR_HOOK_TYPE_NOT_ALLOWED . MessageId=1459 SymbolicName=ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION -Language=PLK +Language=ITA ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION . MessageId=1460 SymbolicName=ERROR_TIMEOUT -Language=PLK +Language=ITA ERROR_TIMEOUT . MessageId=1461 SymbolicName=ERROR_INVALID_MONITOR_HANDLE -Language=PLK +Language=ITA ERROR_INVALID_MONITOR_HANDLE . MessageId=1500 SymbolicName=ERROR_EVENTLOG_FILE_CORRUPT -Language=PLK -Plik logu zdarzeñ zepsuty +Language=ITA +File di log degli eventi corrotto . MessageId=1501 SymbolicName=ERROR_EVENTLOG_CANT_START -Language=PLK -Log zdarzeñ nie mo¿e wystartowaæ +Language=ITA +Impossibile avviare il log degli eventi . MessageId=1502 SymbolicName=ERROR_LOG_FILE_FULL -Language=PLK -Plik logu zdarzeñ pe³en +Language=ITA +File di log degli eventi pieno . MessageId=1503 SymbolicName=ERROR_EVENTLOG_FILE_CHANGED -Language=PLK -Plik logu zdarzeñ zmieniony +Language=ITA +Cambiato il file di log degli eventi . MessageId=1601 SymbolicName=ERROR_INSTALL_SERVICE_FAILURE -Language=PLK +Language=ITA ERROR_INSTALL_SERVICE_FAILURE . MessageId=1602 SymbolicName=ERROR_INSTALL_USEREXIT -Language=PLK +Language=ITA ERROR_INSTALL_USEREXIT . MessageId=1603 SymbolicName=ERROR_INSTALL_FAILURE -Language=PLK +Language=ITA ERROR_INSTALL_FAILURE . MessageId=1604 SymbolicName=ERROR_INSTALL_SUSPEND -Language=PLK +Language=ITA ERROR_INSTALL_SUSPEND . MessageId=1605 SymbolicName=ERROR_UNKNOWN_PRODUCT -Language=PLK +Language=ITA ERROR_UNKNOWN_PRODUCT . MessageId=1606 SymbolicName=ERROR_UNKNOWN_FEATURE -Language=PLK +Language=ITA ERROR_UNKNOWN_FEATURE . MessageId=1607 SymbolicName=ERROR_UNKNOWN_COMPONENT -Language=PLK +Language=ITA ERROR_UNKNOWN_COMPONENT . MessageId=1608 SymbolicName=ERROR_UNKNOWN_PROPERTY -Language=PLK +Language=ITA ERROR_UNKNOWN_PROPERTY . MessageId=1609 SymbolicName=ERROR_INVALID_HANDLE_STATE -Language=PLK +Language=ITA ERROR_INVALID_HANDLE_STATE . MessageId=1610 SymbolicName=ERROR_BAD_CONFIGURATION -Language=PLK +Language=ITA ERROR_BAD_CONFIGURATION . MessageId=1611 SymbolicName=ERROR_INDEX_ABSENT -Language=PLK +Language=ITA ERROR_INDEX_ABSENT . MessageId=1612 SymbolicName=ERROR_INSTALL_SOURCE_ABSENT -Language=PLK +Language=ITA ERROR_INSTALL_SOURCE_ABSENT . MessageId=1613 SymbolicName=ERROR_INSTALL_PACKAGE_VERSION -Language=PLK +Language=ITA ERROR_INSTALL_PACKAGE_VERSION . MessageId=1614 SymbolicName=ERROR_PRODUCT_UNINSTALLED -Language=PLK +Language=ITA ERROR_PRODUCT_UNINSTALLED . MessageId=1615 SymbolicName=ERROR_BAD_QUERY_SYNTAX -Language=PLK +Language=ITA ERROR_BAD_QUERY_SYNTAX . MessageId=1616 SymbolicName=ERROR_INVALID_FIELD -Language=PLK +Language=ITA ERROR_INVALID_FIELD . MessageId=1617 SymbolicName=ERROR_DEVICE_REMOVED -Language=PLK +Language=ITA ERROR_DEVICE_REMOVED . MessageId=1618 SymbolicName=ERROR_INSTALL_ALREADY_RUNNING -Language=PLK +Language=ITA ERROR_INSTALL_ALREADY_RUNNING . MessageId=1619 SymbolicName=ERROR_INSTALL_PACKAGE_OPEN_FAILED -Language=PLK +Language=ITA ERROR_INSTALL_PACKAGE_OPEN_FAILED . MessageId=1620 SymbolicName=ERROR_INSTALL_PACKAGE_INVALID -Language=PLK +Language=ITA ERROR_INSTALL_PACKAGE_INVALID . MessageId=1621 SymbolicName=ERROR_INSTALL_UI_FAILURE -Language=PLK +Language=ITA ERROR_INSTALL_UI_FAILURE . MessageId=1622 SymbolicName=ERROR_INSTALL_LOG_FAILURE -Language=PLK +Language=ITA ERROR_INSTALL_LOG_FAILURE . MessageId=1623 SymbolicName=ERROR_INSTALL_LANGUAGE_UNSUPPORTED -Language=PLK +Language=ITA ERROR_INSTALL_LANGUAGE_UNSUPPORTED . MessageId=1624 SymbolicName=ERROR_INSTALL_TRANSFORM_FAILURE -Language=PLK +Language=ITA ERROR_INSTALL_TRANSFORM_FAILURE . MessageId=1625 SymbolicName=ERROR_INSTALL_PACKAGE_REJECTED -Language=PLK +Language=ITA ERROR_INSTALL_PACKAGE_REJECTED . MessageId=1626 SymbolicName=ERROR_FUNCTION_NOT_CALLED -Language=PLK +Language=ITA ERROR_FUNCTION_NOT_CALLED . MessageId=1627 SymbolicName=ERROR_FUNCTION_FAILED -Language=PLK +Language=ITA ERROR_FUNCTION_FAILED . MessageId=1628 SymbolicName=ERROR_INVALID_TABLE -Language=PLK +Language=ITA ERROR_INVALID_TABLE . MessageId=1629 SymbolicName=ERROR_DATATYPE_MISMATCH -Language=PLK +Language=ITA ERROR_DATATYPE_MISMATCH . MessageId=1630 SymbolicName=ERROR_UNSUPPORTED_TYPE -Language=PLK +Language=ITA ERROR_UNSUPPORTED_TYPE . MessageId=1631 SymbolicName=ERROR_CREATE_FAILED -Language=PLK +Language=ITA ERROR_CREATE_FAILED . MessageId=1632 SymbolicName=ERROR_INSTALL_TEMP_UNWRITABLE -Language=PLK +Language=ITA ERROR_INSTALL_TEMP_UNWRITABLE . MessageId=1633 SymbolicName=ERROR_INSTALL_PLATFORM_UNSUPPORTED -Language=PLK +Language=ITA ERROR_INSTALL_PLATFORM_UNSUPPORTED . MessageId=1634 SymbolicName=ERROR_INSTALL_NOTUSED -Language=PLK +Language=ITA ERROR_INSTALL_NOTUSED . MessageId=1635 SymbolicName=ERROR_PATCH_PACKAGE_OPEN_FAILED -Language=PLK +Language=ITA ERROR_PATCH_PACKAGE_OPEN_FAILED . MessageId=1636 SymbolicName=ERROR_PATCH_PACKAGE_INVALID -Language=PLK +Language=ITA ERROR_PATCH_PACKAGE_INVALID . MessageId=1637 SymbolicName=ERROR_PATCH_PACKAGE_UNSUPPORTED -Language=PLK +Language=ITA ERROR_PATCH_PACKAGE_UNSUPPORTED . MessageId=1638 SymbolicName=ERROR_PRODUCT_VERSION -Language=PLK +Language=ITA ERROR_PRODUCT_VERSION . MessageId=1639 SymbolicName=ERROR_INVALID_COMMAND_LINE -Language=PLK +Language=ITA ERROR_INVALID_COMMAND_LINE . MessageId=1640 SymbolicName=ERROR_INSTALL_REMOTE_DISALLOWED -Language=PLK +Language=ITA ERROR_INSTALL_REMOTE_DISALLOWED . MessageId=1641 SymbolicName=ERROR_SUCCESS_REBOOT_INITIATED -Language=PLK +Language=ITA ERROR_SUCCESS_REBOOT_INITIATED . MessageId=1700 SymbolicName=RPC_S_INVALID_STRING_BINDING -Language=PLK -Invalid string binding +Language=ITA +Legame di stringa non valido . MessageId=1701 SymbolicName=RPC_S_WRONG_KIND_OF_BINDING -Language=PLK -Nieprawid³owy rodzaj bindowania +Language=ITA +Tipo sbagliato di legame . MessageId=1702 SymbolicName=RPC_S_INVALID_BINDING -Language=PLK -Niepoprany binding +Language=ITA +Legame non valido . MessageId=1703 SymbolicName=RPC_S_PROTSEQ_NOT_SUPPORTED -Language=PLK -Sekwencja protoko³u RPC niewspierana +Language=ITA +Sequenza del protocollo RPC non supportata . MessageId=1704 SymbolicName=RPC_S_INVALID_RPC_PROTSEQ -Language=PLK -Niepoprawna sekwencja protoko³u RPC +Language=ITA +Sequenza del protocollo RPC non valida . MessageId=1705 SymbolicName=RPC_S_INVALID_STRING_UUID -Language=PLK -Niepoprawny ³añcuch tekstowy UUID +Language=ITA +UUID della stringa non valido . MessageId=1706 SymbolicName=RPC_S_INVALID_ENDPOINT_FORMAT -Language=PLK -Niepoprawny format punktu koñcowego +Language=ITA +Formato endpoint non valido . MessageId=1707 SymbolicName=RPC_S_INVALID_NET_ADDR -Language=PLK -Niepoprawny adres sieci +Language=ITA +Indirizzo network non valido . MessageId=1708 SymbolicName=RPC_S_NO_ENDPOINT_FOUND -Language=PLK -Nie znaleziono punktu koñcowego +Language=ITA +Nessun endpoint trovato . MessageId=1709 SymbolicName=RPC_S_INVALID_TIMEOUT -Language=PLK -Niepoprawna wartoœæ czasu wygaœniêcia +Language=ITA +Valore di timeout non valido . MessageId=1710 SymbolicName=RPC_S_OBJECT_NOT_FOUND -Language=PLK -Nie znaleziono UUID obiektu +Language=ITA +UUID dell'oggetto non trovato . MessageId=1711 SymbolicName=RPC_S_ALREADY_REGISTERED -Language=PLK -UUID ju¿ jest zarejestrowane +Language=ITA +UUID già registrato . MessageId=1712 SymbolicName=RPC_S_TYPE_ALREADY_REGISTERED -Language=PLK -Typ UUID ju¿ jest zarejestrowany +Language=ITA +Tipo UUID già registrato . MessageId=1713 SymbolicName=RPC_S_ALREADY_LISTENING -Language=PLK -Serwer ju¿ nas³uchuje +Language=ITA +Server in ascolto . MessageId=1714 SymbolicName=RPC_S_NO_PROTSEQS_REGISTERED -Language=PLK -Brak zarejestrowanych sekwencji protoko³u +Language=ITA +Nessuna sequenza di protocollo registrata . MessageId=1715 SymbolicName=RPC_S_NOT_LISTENING -Language=PLK -Serwer RPC nie nas³uchuje +Language=ITA +Server RPC non in ascolto . MessageId=1716 SymbolicName=RPC_S_UNKNOWN_MGR_TYPE -Language=PLK -Nieznany typ mened¿era +Language=ITA +Tipo del gestore sconosciuto . MessageId=1717 SymbolicName=RPC_S_UNKNOWN_IF -Language=PLK -Nieznany interfejs +Language=ITA +Interfaccia sconosciuta . MessageId=1718 SymbolicName=RPC_S_NO_BINDINGS -Language=PLK -Brak binding'ów +Language=ITA +Nessun legame . MessageId=1719 SymbolicName=RPC_S_NO_PROTSEQS -Language=PLK -Brak sekwencji protoko³u +Language=ITA +Nessuna sequenza di protocollo . MessageId=1720 SymbolicName=RPC_S_CANT_CREATE_ENDPOINT -Language=PLK -Nie mo¿na stworzyæ punktu koñcowego +Language=ITA +Impossibile creare endpoint . MessageId=1721 SymbolicName=RPC_S_OUT_OF_RESOURCES -Language=PLK -Wyczerpano zasoby +Language=ITA +Risorse finite . MessageId=1722 SymbolicName=RPC_S_SERVER_UNAVAILABLE -Language=PLK -Serwer RPC niedostêpny +Language=ITA +Server RPC non disponibile . MessageId=1723 SymbolicName=RPC_S_SERVER_TOO_BUSY -Language=PLK -Serwer RPC zbyt zajêty +Language=ITA +Server RPC troppo occupato . MessageId=1724 SymbolicName=RPC_S_INVALID_NETWORK_OPTIONS -Language=PLK -Niepoprawne ustawienia sieci +Language=ITA +Opzioni network non valide . MessageId=1725 SymbolicName=RPC_S_NO_CALL_ACTIVE -Language=PLK -Brak aktywnych wywo³añ RPC +Language=ITA +Nessuna chiamata RPC attiva . MessageId=1726 SymbolicName=RPC_S_CALL_FAILED -Language=PLK -Wywo³anie RPC nieudane +Language=ITA +Chiamata RPC fallita . MessageId=1727 SymbolicName=RPC_S_CALL_FAILED_DNE -Language=PLK -Wywo³anie RPC nieudane i nie wykonane +Language=ITA +Chiamata RPC fallita e non eseguita . MessageId=1728 SymbolicName=RPC_S_PROTOCOL_ERROR -Language=PLK -B³¹d protoko³u RPC +Language=ITA +Errore protocollo RPC . MessageId=1730 SymbolicName=RPC_S_UNSUPPORTED_TRANS_SYN -Language=PLK -Niewspierana sk³adnia transferu +Language=ITA +Sintassi di trasferimento non supportata . MessageId=1732 SymbolicName=RPC_S_UNSUPPORTED_TYPE -Language=PLK -Niewspierany typ +Language=ITA +Tipo non supportato . MessageId=1733 SymbolicName=RPC_S_INVALID_TAG -Language=PLK -Invalid tag +Language=ITA +Etichetta non valida . MessageId=1734 SymbolicName=RPC_S_INVALID_BOUND -Language=PLK -Invalid array bounds +Language=ITA +Estremi dell'array non validi . MessageId=1735 SymbolicName=RPC_S_NO_ENTRY_NAME -Language=PLK -Brak nazwy entry +Language=ITA +Nessun nome di elementi . MessageId=1736 SymbolicName=RPC_S_INVALID_NAME_SYNTAX -Language=PLK -Niepoprawna nazwa sk³adni +Language=ITA +Sintassi del nome non valida . MessageId=1737 SymbolicName=RPC_S_UNSUPPORTED_NAME_SYNTAX -Language=PLK -Niewspierana nazwa sk³adni +Language=ITA +Sintassi del nome non supportata . MessageId=1739 SymbolicName=RPC_S_UUID_NO_ADDRESS -Language=PLK -Brak adresu sieciowego +Language=ITA +Nessun indirizzo network . MessageId=1740 SymbolicName=RPC_S_DUPLICATE_ENDPOINT -Language=PLK -Zduplikowany punkt koñcowy +Language=ITA +Endpoint duplicato . MessageId=1741 SymbolicName=RPC_S_UNKNOWN_AUTHN_TYPE -Language=PLK -Nieznany typ poœwiadczenia +Language=ITA +Tipo di autenticazione sconosciuto . MessageId=1742 SymbolicName=RPC_S_MAX_CALLS_TOO_SMALL -Language=PLK -Maximum calls too low +Language=ITA +Numero massimo di chiamate troppo basso . MessageId=1743 SymbolicName=RPC_S_STRING_TOO_LONG -Language=PLK -£añcuch znaków zbyt d³ugi +Language=ITA +Stringa troppo lunga . MessageId=1744 SymbolicName=RPC_S_PROTSEQ_NOT_FOUND -Language=PLK -Nie znaleziono sekwencji protoko³u +Language=ITA +Sequenza di protocollo non trovata . MessageId=1745 SymbolicName=RPC_S_PROCNUM_OUT_OF_RANGE -Language=PLK -Numer procedury poza zakresem +Language=ITA +Numero della procedura fuori portata . MessageId=1746 SymbolicName=RPC_S_BINDING_HAS_NO_AUTH -Language=PLK -Bindowanie nie ma danych poœwiadczaj¹cych +Language=ITA +Il legame non ha dati per l'autenticazione . MessageId=1747 SymbolicName=RPC_S_UNKNOWN_AUTHN_SERVICE -Language=PLK -Nieznana us³uga poœwiadczenia +Language=ITA +Servizio di autenticazione sconosciuto . MessageId=1748 SymbolicName=RPC_S_UNKNOWN_AUTHN_LEVEL -Language=PLK -Nieznany poziom poœwiadczenia +Language=ITA +Livello di autenticazione sconosciuto . MessageId=1749 SymbolicName=RPC_S_INVALID_AUTH_IDENTITY -Language=PLK -Niepoprawna to¿samoœæ poœwiadczaj¹ca +Language=ITA +Identità di autenticazione non valida . MessageId=1750 SymbolicName=RPC_S_UNKNOWN_AUTHZ_SERVICE -Language=PLK -Nieznana us³uga uwierzytelnienia +Language=ITA +Servizio di autorizzazione sconosciuto . MessageId=1751 SymbolicName=EPT_S_INVALID_ENTRY -Language=PLK -Niepoprawny entry +Language=ITA +Elemento non valido . MessageId=1752 SymbolicName=EPT_S_CANT_PERFORM_OP -Language=PLK -Nie mo¿na wykonaæ operacji +Language=ITA +Impossibile eseguire operazione . MessageId=1753 SymbolicName=EPT_S_NOT_REGISTERED -Language=PLK -Punkty koñcowe niezarejestrowane +Language=ITA +Endpoint non registrati . MessageId=1754 SymbolicName=RPC_S_NOTHING_TO_EXPORT -Language=PLK -Nic do wyeksportowania +Language=ITA +Niente da esportare . MessageId=1755 SymbolicName=RPC_S_INCOMPLETE_NAME -Language=PLK -Niekompletna nazwa +Language=ITA +Nome incompleto . MessageId=1756 SymbolicName=RPC_S_INVALID_VERS_OPTION -Language=PLK -Niepoprawne ustawienie wersji +Language=ITA +Opzione di versione non valida . MessageId=1757 SymbolicName=RPC_S_NO_MORE_MEMBERS -Language=PLK -Nie ma wiêcej cz³onków +Language=ITA +Nessun membro in più . MessageId=1758 SymbolicName=RPC_S_NOT_ALL_OBJS_UNEXPORTED -Language=PLK -Nie wszystkie obiekty niewyeksportowane +Language=ITA +Non tutti gli oggetti inesportati . MessageId=1759 SymbolicName=RPC_S_INTERFACE_NOT_FOUND -Language=PLK -Nie znaleziono interfejsu +Language=ITA +Interfaccia non trovata . MessageId=1760 SymbolicName=RPC_S_ENTRY_ALREADY_EXISTS -Language=PLK -Entry ju¿ istnieje +Language=ITA +Elemento esistente . MessageId=1761 SymbolicName=RPC_S_ENTRY_NOT_FOUND -Language=PLK -Nie znaleziono entry +Language=ITA +Elemento non trovato . MessageId=1762 SymbolicName=RPC_S_NAME_SERVICE_UNAVAILABLE -Language=PLK -Nazwa us³ugi niedostêpna +Language=ITA +Servizio nomi non disponibile . MessageId=1763 SymbolicName=RPC_S_INVALID_NAF_ID -Language=PLK -Niepoprawna rodzina adresów sieci +Language=ITA +Famiglia di indirizzi network non valida . MessageId=1764 SymbolicName=RPC_S_CANNOT_SUPPORT -Language=PLK -Operacja niewspierana +Language=ITA +Operazione non supportata . MessageId=1765 SymbolicName=RPC_S_NO_CONTEXT_AVAILABLE -Language=PLK -Brak dostêpnego kontekstu zabezpieczeñ +Language=ITA +Nessun contesto di sicurezza disponibile . MessageId=1766 SymbolicName=RPC_S_INTERNAL_ERROR -Language=PLK -Wewnêtrzny b³¹d RPC +Language=ITA +Errore interno RPC . MessageId=1767 SymbolicName=RPC_S_ZERO_DIVIDE -Language=PLK -RPC dziel-przez-zero +Language=ITA +Divisione per zero RPC . MessageId=1768 SymbolicName=RPC_S_ADDRESS_ERROR -Language=PLK -B³¹d adresu +Language=ITA +Errore indirizzo . MessageId=1769 SymbolicName=RPC_S_FP_DIV_ZERO -Language=PLK -Zmiennoprzecinkowa dziel-przez-zero +Language=ITA +Divisione per zero in virgola mobile . MessageId=1770 SymbolicName=RPC_S_FP_UNDERFLOW -Language=PLK -Zmiennoprzecinkowe przepe³nienie dolne +Language=ITA +Underflow in virgola mobile . MessageId=1771 SymbolicName=RPC_S_FP_OVERFLOW -Language=PLK -Zmiennoprzecinkowe przepe³nienie górne +Language=ITA +Overflow in virgola mobile . MessageId=1772 SymbolicName=RPC_X_NO_MORE_ENTRIES -Language=PLK -Nie ma wiêcej entry +Language=ITA +Nessun elemento in più . MessageId=1773 SymbolicName=RPC_X_SS_CHAR_TRANS_OPEN_FAIL -Language=PLK -Otwarcie tablicy t³umaczenia znaków nieudane +Language=ITA +Fallita apertura della tavole di traduzione caratteri . MessageId=1774 SymbolicName=RPC_X_SS_CHAR_TRANS_SHORT_FILE -Language=PLK -Plik tablicy t³umaczenia znaków zbyt ma³y +Language=ITA +File della tavola di traduzione caratteri troppo piccolo . MessageId=1775 SymbolicName=RPC_X_SS_IN_NULL_CONTEXT -Language=PLK -Uchwyt kontekstu Null +Language=ITA +Handle di contesto nullo . MessageId=1777 SymbolicName=RPC_X_SS_CONTEXT_DAMAGED -Language=PLK -Uchwyt kontekstu uszkodzony +Language=ITA +Handle di contesto danneggiato . MessageId=1778 SymbolicName=RPC_X_SS_HANDLES_MISMATCH -Language=PLK -Niedopasowanie uchwytu Binding'a +Language=ITA +Non corrispondenza dell'ahndle del legame . MessageId=1779 SymbolicName=RPC_X_SS_CANNOT_GET_CALL_HANDLE -Language=PLK -Nie mo¿na pobraæ uchwytu wywo³ania +Language=ITA +Impossibile ottenere l'handle della chiamata . MessageId=1780 SymbolicName=RPC_X_NULL_REF_POINTER -Language=PLK -WskaŸnik Null +Language=ITA +Puntatore di riferimento nullo . MessageId=1781 SymbolicName=RPC_X_ENUM_VALUE_OUT_OF_RANGE -Language=PLK -Wartoœæ typu wyliczeniowego poza zakresem +Language=ITA +Valore dell'enumerazione fuori portata . MessageId=1782 SymbolicName=RPC_X_BYTE_COUNT_TOO_SMALL -Language=PLK -Liczba bajtów zbyt ma³a +Language=ITA +Conto dei byte troppo piccolo . MessageId=1783 SymbolicName=RPC_X_BAD_STUB_DATA -Language=PLK -Bad stub data +Language=ITA +Dati stub non corretti . MessageId=1784 SymbolicName=ERROR_INVALID_USER_BUFFER -Language=PLK -Niepoprawny bufor u¿ytkownika +Language=ITA +Buffer utente non valido . MessageId=1785 SymbolicName=ERROR_UNRECOGNIZED_MEDIA -Language=PLK -Nierozpoznany noœnik +Language=ITA +Supporto non riconosciuto . MessageId=1786 SymbolicName=ERROR_NO_TRUST_LSA_SECRET -Language=PLK -No trust secret +Language=ITA +Nessun segreto di fiducia . MessageId=1787 SymbolicName=ERROR_NO_TRUST_SAM_ACCOUNT -Language=PLK -Niezaufane konto SAM +Language=ITA +Nessun account SAM di fiducia . MessageId=1788 SymbolicName=ERROR_TRUSTED_DOMAIN_FAILURE -Language=PLK -Niepowodzenie zaufanej domeny +Language=ITA +Fallimento del dominio fidato . MessageId=1789 SymbolicName=ERROR_TRUSTED_RELATIONSHIP_FAILURE -Language=PLK -Niepowodzenie zaufanych stosunków +Language=ITA +Fallimento della relazione fidata . MessageId=1790 SymbolicName=ERROR_TRUST_FAILURE -Language=PLK -Niepowodzenie zaufanego zalogowania +Language=ITA +Fallimento dell logon di fiducia . MessageId=1791 SymbolicName=RPC_S_CALL_IN_PROGRESS -Language=PLK -Wywo³anie RPC ju¿ postêpuje +Language=ITA +Chiamata RPC in corso . MessageId=1792 SymbolicName=ERROR_NETLOGON_NOT_STARTED -Language=PLK -NETLOGON nie wystartowa³ +Language=ITA +NETLOGON non è avviato . MessageId=1793 SymbolicName=ERROR_ACCOUNT_EXPIRED -Language=PLK -Konto wygas³o +Language=ITA +Account scaduto . MessageId=1794 SymbolicName=ERROR_REDIRECTOR_HAS_OPEN_HANDLES -Language=PLK -Przekierowywacz ma otwarte uchwyty +Language=ITA +Il redirector ha handle aperti . MessageId=1795 SymbolicName=ERROR_PRINTER_DRIVER_ALREADY_INSTALLED -Language=PLK -Sterownik drukarki ju¿ jest zainstalowany +Language=ITA +Driver stampante già installato . MessageId=1796 SymbolicName=ERROR_UNKNOWN_PORT -Language=PLK -Nieznany port +Language=ITA +Porta sconosciuta . MessageId=1797 SymbolicName=ERROR_UNKNOWN_PRINTER_DRIVER -Language=PLK -Nieznany sterownik drukarki +Language=ITA +Driver stampante sconosciuto . MessageId=1798 SymbolicName=ERROR_UNKNOWN_PRINTPROCESSOR -Language=PLK -Nieznany procesor druku +Language=ITA +Processore di stampa sconosciuto . MessageId=1799 SymbolicName=ERROR_INVALID_SEPARATOR_FILE -Language=PLK -Niepoprawna separator pliku +Language=ITA +Separatore di file non valido . MessageId=1800 SymbolicName=ERROR_INVALID_PRIORITY -Language=PLK -Niepoprawna priorytet +Language=ITA +Priorità non valida . MessageId=1801 SymbolicName=ERROR_INVALID_PRINTER_NAME -Language=PLK -Niepoprawna nazwa drukarki +Language=ITA +Nome della stampante non valido . MessageId=1802 SymbolicName=ERROR_PRINTER_ALREADY_EXISTS -Language=PLK -Drukarka ju¿ istnieje +Language=ITA +Stampante esistente . MessageId=1803 SymbolicName=ERROR_INVALID_PRINTER_COMMAND -Language=PLK -Niepoprawne polecenie drukarki +Language=ITA +Comando stampante non valido . MessageId=1804 SymbolicName=ERROR_INVALID_DATATYPE -Language=PLK -Niepoprawny typ danych +Language=ITA +Tipo di dati non valido . MessageId=1805 SymbolicName=ERROR_INVALID_ENVIRONMENT -Language=PLK -Niepoprawne œrodowisko +Language=ITA +Ambiente non valido . MessageId=1806 SymbolicName=RPC_S_NO_MORE_BINDINGS -Language=PLK -Nie ma wiêcej bindingów +Language=ITA +Nessun legame più . MessageId=1807 SymbolicName=ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT -Language=PLK -Nie mo¿na zalogowaæ z kontem zaufanym interdomain +Language=ITA +Logon impossibile con account di fiducia interdominio . MessageId=1808 SymbolicName=ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT -Language=PLK -Nie mo¿na zalogowaæ z kontem zaufanym stacji roboczej +Language=ITA +Logon impossibile con account di fiducia workstation . MessageId=1809 SymbolicName=ERROR_NOLOGON_SERVER_TRUST_ACCOUNT -Language=PLK -Nie mo¿na zalogowaæ z kontem zaufanym serwera +Language=ITA +Logon impossibile con account di fiducia server . MessageId=1810 SymbolicName=ERROR_DOMAIN_TRUST_INCONSISTENT -Language=PLK -Domain trust information inconsistent +Language=ITA +Informazioni sulla fiducia del dominio inconsistenti . MessageId=1811 SymbolicName=ERROR_SERVER_HAS_OPEN_HANDLES -Language=PLK -Serwer ma otwarte uchwyty +Language=ITA +Il server ha handle aperti . MessageId=1812 SymbolicName=ERROR_RESOURCE_DATA_NOT_FOUND -Language=PLK -Nie znaleziono danych zasobów +Language=ITA +Dati risorsa non trovati . MessageId=1813 SymbolicName=ERROR_RESOURCE_TYPE_NOT_FOUND -Language=PLK -Nie znaleziono typu zasobów +Language=ITA +Tipo risorsa non trovato . MessageId=1814 SymbolicName=ERROR_RESOURCE_NAME_NOT_FOUND -Language=PLK -Nie znaleziono nazwy zasobów +Language=ITA +Nome risorsa non trovato . MessageId=1815 SymbolicName=ERROR_RESOURCE_LANG_NOT_FOUND -Language=PLK -Nie znaleziono jêzyka zasobów +Language=ITA +Linguaggio risorsa non trovato . MessageId=1816 SymbolicName=ERROR_NOT_ENOUGH_QUOTA -Language=PLK -Niewystarczaj¹cy przydzia³ +Language=ITA +Non abbastanza quota . MessageId=1817 SymbolicName=RPC_S_NO_INTERFACES -Language=PLK -Brak interfejsów +Language=ITA +Nessuna interfaccia . MessageId=1818 SymbolicName=RPC_S_CALL_CANCELLED -Language=PLK -Wywo³anie RPC anulowane +Language=ITA +Chiamata RPC annullata . MessageId=1819 SymbolicName=RPC_S_BINDING_INCOMPLETE -Language=PLK -Binding niekompletny +Language=ITA +Legame incompleto . MessageId=1820 SymbolicName=RPC_S_COMM_FAILURE -Language=PLK -Niepowodzenie RPC comm +Language=ITA +Fallimento comando RPC . MessageId=1821 SymbolicName=RPC_S_UNSUPPORTED_AUTHN_LEVEL -Language=PLK -Niewspierany poziom autoryzacji +Language=ITA +Livello autorizzazione non supportato . MessageId=1822 SymbolicName=RPC_S_NO_PRINC_NAME -Language=PLK -Brak zarejestrowanej nazwy g³ównej +Language=ITA +Nessun nome principale registrato . MessageId=1823 SymbolicName=RPC_S_NOT_RPC_ERROR -Language=PLK -To nie jest b³¹d RPC +Language=ITA +Non un errore RPC . MessageId=1824 SymbolicName=RPC_S_UUID_LOCAL_ONLY -Language=PLK -UUID jest tylko lokalny +Language=ITA +UUID solo locale . MessageId=1825 SymbolicName=RPC_S_SEC_PKG_ERROR -Language=PLK -B³¹d pakietu zabezpieczeñ +Language=ITA +Errore del pacchetto sicurezza . MessageId=1826 SymbolicName=RPC_S_NOT_CANCELLED -Language=PLK -W¹tek nie anulowany +Language=ITA +Thread non annullato . MessageId=1827 SymbolicName=RPC_X_INVALID_ES_ACTION -Language=PLK -Niepoprawna operacja na uchwycie +Language=ITA +Handle operazione non valido . MessageId=1828 SymbolicName=RPC_X_WRONG_ES_VERSION -Language=PLK -Wrong serialising package version +Language=ITA +Versione serilaizzazione pacchetto sbagliata . MessageId=1829 SymbolicName=RPC_X_WRONG_STUB_VERSION -Language=PLK -Nieprawid³owa wersja stub +Language=ITA +Versione stub sbagliata . MessageId=1830 SymbolicName=RPC_X_INVALID_PIPE_OBJECT -Language=PLK -Invalid pipe object +Language=ITA +Oggetto pipe non valido . MessageId=1831 SymbolicName=RPC_X_WRONG_PIPE_ORDER -Language=PLK -Nieprawid³owa kolejnoœæ pipe +Language=ITA +Ordine pipe sbagliato . MessageId=1832 SymbolicName=RPC_X_WRONG_PIPE_VERSION -Language=PLK -Nieprawid³owa wersja pipe +Language=ITA +Versione pipe sbagliata . MessageId=1898 SymbolicName=RPC_S_GROUP_MEMBER_NOT_FOUND -Language=PLK -Nie znaleziono cz³onka grupy +Language=ITA +Membro del gruppo non trovato . MessageId=1899 SymbolicName=EPT_S_CANT_CREATE -Language=PLK -Can't create endpoint mapper DB +Language=ITA +Impossibile creare DB del mapper di endpoint . MessageId=1900 SymbolicName=RPC_S_INVALID_OBJECT -Language=PLK -Niepoprawny obiekt +Language=ITA +Oggetto non valido . MessageId=1901 SymbolicName=ERROR_INVALID_TIME -Language=PLK -Niepoprawny czas +Language=ITA +Ora non valida . MessageId=1902 SymbolicName=ERROR_INVALID_FORM_NAME -Language=PLK -Niepoprawna nazwa formy +Language=ITA +Nome della scheda non valido . MessageId=1903 SymbolicName=ERROR_INVALID_FORM_SIZE -Language=PLK -Niepoprawny rozmiar formy +Language=ITA +Dimensione della scheda non valido . MessageId=1904 SymbolicName=ERROR_ALREADY_WAITING -Language=PLK -W³aœnie oczekuje uchwytu drukarki +Language=ITA +Già in attesa dell'handle della stampante . MessageId=1905 SymbolicName=ERROR_PRINTER_DELETED -Language=PLK -Drukarka usuniêta +Language=ITA +Stampante eliminata . MessageId=1906 SymbolicName=ERROR_INVALID_PRINTER_STATE -Language=PLK -Niepoprawny stan drukarki +Language=ITA +Stato della stampante non valido . MessageId=1907 SymbolicName=ERROR_PASSWORD_MUST_CHANGE -Language=PLK -U¿ytkownik musi zmieniæ has³o +Language=ITA +L'utente deve cambiare la password . MessageId=1908 SymbolicName=ERROR_DOMAIN_CONTROLLER_NOT_FOUND -Language=PLK -Nie znaleziono kontrolera domeny +Language=ITA +Controller del dominio non trovato . MessageId=1909 SymbolicName=ERROR_ACCOUNT_LOCKED_OUT -Language=PLK -Account locked out +Language=ITA +Account bloccato . MessageId=1910 SymbolicName=OR_INVALID_OXID -Language=PLK -Niepoprawny format piksela +Language=ITA +Fromato pixel non valido . MessageId=1911 SymbolicName=OR_INVALID_OID -Language=PLK -Niepoprawny sterownik +Language=ITA +Driver non valido . MessageId=1912 SymbolicName=OR_INVALID_SET -Language=PLK +Language=ITA OR_INVALID_SET . MessageId=1913 SymbolicName=RPC_S_SEND_INCOMPLETE -Language=PLK +Language=ITA RPC_S_SEND_INCOMPLETE . MessageId=1914 SymbolicName=RPC_S_INVALID_ASYNC_HANDLE -Language=PLK +Language=ITA RPC_S_INVALID_ASYNC_HANDLE . MessageId=1915 SymbolicName=RPC_S_INVALID_ASYNC_CALL -Language=PLK +Language=ITA RPC_S_INVALID_ASYNC_CALL . MessageId=1916 SymbolicName=RPC_X_PIPE_CLOSED -Language=PLK +Language=ITA RPC_X_PIPE_CLOSED . MessageId=1917 SymbolicName=RPC_X_PIPE_DISCIPLINE_ERROR -Language=PLK +Language=ITA RPC_X_PIPE_DISCIPLINE_ERROR . MessageId=1918 SymbolicName=RPC_X_PIPE_EMPTY -Language=PLK +Language=ITA RPC_X_PIPE_EMPTY . MessageId=1919 SymbolicName=ERROR_NO_SITENAME -Language=PLK +Language=ITA ERROR_NO_SITENAME . MessageId=1920 SymbolicName=ERROR_CANT_ACCESS_FILE -Language=PLK +Language=ITA ERROR_CANT_ACCESS_FILE . MessageId=1921 SymbolicName=ERROR_CANT_RESOLVE_FILENAME -Language=PLK +Language=ITA ERROR_CANT_RESOLVE_FILENAME . MessageId=1922 SymbolicName=RPC_S_ENTRY_TYPE_MISMATCH -Language=PLK +Language=ITA RPC_S_ENTRY_TYPE_MISMATCH . MessageId=1923 SymbolicName=RPC_S_NOT_ALL_OBJS_EXPORTED -Language=PLK +Language=ITA RPC_S_NOT_ALL_OBJS_EXPORTED . MessageId=1924 SymbolicName=RPC_S_INTERFACE_NOT_EXPORTED -Language=PLK +Language=ITA RPC_S_INTERFACE_NOT_EXPORTED . MessageId=1925 SymbolicName=RPC_S_PROFILE_NOT_ADDED -Language=PLK +Language=ITA RPC_S_PROFILE_NOT_ADDED . MessageId=1926 SymbolicName=RPC_S_PRF_ELT_NOT_ADDED -Language=PLK +Language=ITA RPC_S_PRF_ELT_NOT_ADDED . MessageId=1927 SymbolicName=RPC_S_PRF_ELT_NOT_REMOVED -Language=PLK +Language=ITA RPC_S_PRF_ELT_NOT_REMOVED . MessageId=1928 SymbolicName=RPC_S_GRP_ELT_NOT_ADDED -Language=PLK +Language=ITA RPC_S_GRP_ELT_NOT_ADDED . MessageId=1929 SymbolicName=RPC_S_GRP_ELT_NOT_REMOVED -Language=PLK +Language=ITA RPC_S_GRP_ELT_NOT_REMOVED . +MessageId=2221 +SymbolicName=NERR_UserNotFound +Language=ITA +Impossibile trovare il nome utente +. diff --git a/dlls/kernel32/nls/winerr_plk.mc b/dlls/kernel32/nls/winerr_plk.mc index cb1517bbae5..6fd397c3c62 100644 --- a/dlls/kernel32/nls/winerr_plk.mc +++ b/dlls/kernel32/nls/winerr_plk.mc @@ -3729,3 +3729,8 @@ SymbolicName=RPC_S_GRP_ELT_NOT_REMOVED Language=PLK RPC_S_GRP_ELT_NOT_REMOVED . +MessageId=2221 +SymbolicName=NERR_UserNotFound +Language=PLK +Nie znaleziono nazwy u¿ytkownika +. diff --git a/dlls/kernel32/path.c b/dlls/kernel32/path.c index f0da96c52e8..0e69f912a26 100644 --- a/dlls/kernel32/path.c +++ b/dlls/kernel32/path.c @@ -684,7 +684,10 @@ UINT WINAPI GetTempFileNameW( LPCWSTR path, LPCWSTR prefix, UINT unique, LPWSTR /* get a "random" unique number and try to create the file */ HANDLE handle; UINT num = GetTickCount() & 0xffff; + static UINT last; + /* avoid using the same name twice in a short interval */ + if (last - num < 10) num = last + 1; if (!num) num = 1; unique = num; do @@ -696,6 +699,7 @@ UINT WINAPI GetTempFileNameW( LPCWSTR path, LPCWSTR prefix, UINT unique, LPWSTR { /* We created it */ TRACE("created %s\n", debugstr_w(buffer) ); CloseHandle( handle ); + last = unique; break; } if (GetLastError() != ERROR_FILE_EXISTS && diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c index cc2a6ba6a0a..1e4a6e1a959 100644 --- a/dlls/kernel32/process.c +++ b/dlls/kernel32/process.c @@ -2637,16 +2637,6 @@ DWORD WINAPI GetProcessFlags( DWORD processid ) } -/*********************************************************************** - * GetProcessDword (KERNEL32.18) - */ -DWORD WINAPI GetProcessDword( DWORD dwProcessID, INT offset ) -{ - FIXME( "(%d, %d): not supported\n", dwProcessID, offset ); - return 0; -} - - /********************************************************************* * OpenProcess (KERNEL32.@) * diff --git a/dlls/kernel32/tests/thread.c b/dlls/kernel32/tests/thread.c index df87ae008b6..3da29a2c6c7 100644 --- a/dlls/kernel32/tests/thread.c +++ b/dlls/kernel32/tests/thread.c @@ -1329,6 +1329,8 @@ static void test_ThreadErrorMode(void) pSetThreadErrorMode(oldmode, NULL); } +void _fpreset(void) {} /* override the mingw fpu init code */ + static inline void set_fpu_cw(WORD cw) { #if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) @@ -1390,7 +1392,7 @@ static void test_thread_fpu_cw(void) WORD initial_cw, cw; initial_cw = get_fpu_cw(); - ok(initial_cw == 0x37f, "Expected FPU control word 0x37f, got %#x.\n", initial_cw); + ok(initial_cw == 0x27f, "Expected FPU control word 0x27f, got %#x.\n", initial_cw); cw = get_thread_fpu_cw(); ok(cw == 0x27f, "Expected FPU control word 0x27f, got %#x.\n", cw); diff --git a/dlls/krnl386.exe16/ioports.c b/dlls/krnl386.exe16/ioports.c index 9ceb3aeb2f5..d802ab9e35e 100644 --- a/dlls/krnl386.exe16/ioports.c +++ b/dlls/krnl386.exe16/ioports.c @@ -463,7 +463,7 @@ static int IO_pp_sort(const void *p1,const void *p2) /* IO_pp_init * - * Read the ppdev entries from wine.conf, open the device and check + * Read the ppdev entries from registry, open the device and check * for necessary IOCTRL * Report verbose about possible errors */ diff --git a/dlls/localspl/Makefile.in b/dlls/localspl/Makefile.in index 42991a80f52..99e4c033363 100644 --- a/dlls/localspl/Makefile.in +++ b/dlls/localspl/Makefile.in @@ -18,6 +18,7 @@ RC_SRCS = \ spl_Es.rc \ spl_Fr.rc \ spl_It.rc \ + spl_Ja.rc \ spl_Ko.rc \ spl_Lt.rc \ spl_Nl.rc \ diff --git a/dlls/sane.ds/sane_Pt.rc b/dlls/localspl/spl_Ja.rc similarity index 62% copy from dlls/sane.ds/sane_Pt.rc copy to dlls/localspl/spl_Ja.rc index 9b0ff4152aa..d7fa86b11cc 100644 --- a/dlls/sane.ds/sane_Pt.rc +++ b/dlls/localspl/spl_Ja.rc @@ -1,7 +1,8 @@ /* - * Portuguese resources for Twain + * Japanese resources for localspl * - * Copyright 2008 Ricardo Filipe + * Copyright 2005 Huw Davies + * Copyright 2006 Detlef Riekenberg * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,25 +19,15 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "resource.h" +#include "localspl_private.h" -LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL +/* UTF-8 */ +#pragma code_page(65001) -IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 186, 46 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE | DS_CENTER | DS_SETFOREGROUND -CAPTION "A pesquisar" -FONT 8, "MS Sans Serif" -BEGIN - LTEXT "A PESQUISAR... Por Favor Espere",IDC_STATIC,5,19,176,8, SS_CENTER -END +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT STRINGTABLE DISCARDABLE { - 0 "" - 1 "px" - 2 "b" - 3 "mm" - 4 "dpi" - 5 "%" - 6 "ns" + IDS_LOCALPORT "ローカル ポート" + IDS_LOCALMONITOR "ローカル モニタ" } diff --git a/dlls/mapi32/Pt.rc b/dlls/mapi32/Ja.rc similarity index 70% copy from dlls/mapi32/Pt.rc copy to dlls/mapi32/Ja.rc index ab8a8d10f1e..96dbdb0e4e6 100644 --- a/dlls/mapi32/Pt.rc +++ b/dlls/mapi32/Ja.rc @@ -1,7 +1,8 @@ /* -* MAPI32 Portuguese resources +* MAPI32 Japanese resources * -* Copyright 2010 Ricardo Filipe +* Copyright 2009 Owen Rudge for CodeWeavers +* Copyright 2010 Akihiro Sagawa * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -21,12 +22,13 @@ #include "res.h" -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE - +/* UTF-8 */ #pragma code_page(65001) +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT + STRINGTABLE { - IDS_NO_MAPI_CLIENT, "O envio de correio falhou porque não existe um cliente de correio MAPI instalado." - IDS_SEND_MAIL, "Enviar Correio" + IDS_NO_MAPI_CLIENT, "MAPI メール クライアントがインストールされていないため、メール送信に失敗しました。" + IDS_SEND_MAIL, "メール送信" } diff --git a/dlls/mapi32/Pt.rc b/dlls/mapi32/Ko.rc similarity index 73% copy from dlls/mapi32/Pt.rc copy to dlls/mapi32/Ko.rc index ab8a8d10f1e..710b0bef905 100644 --- a/dlls/mapi32/Pt.rc +++ b/dlls/mapi32/Ko.rc @@ -1,7 +1,8 @@ /* -* MAPI32 Portuguese resources +* MAPI32 Korean resources * -* Copyright 2010 Ricardo Filipe +* Copyright 2009 Owen Rudge for CodeWeavers +* Copyright 2010 YunSong Hwang * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -21,12 +22,13 @@ #include "res.h" -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE - +/* UTF-8 */ #pragma code_page(65001) +LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT + STRINGTABLE { - IDS_NO_MAPI_CLIENT, "O envio de correio falhou porque não existe um cliente de correio MAPI instalado." - IDS_SEND_MAIL, "Enviar Correio" + IDS_NO_MAPI_CLIENT, "설치된 MAPI 메일 클라이언트가 없어서 메일 보내기 실패." + IDS_SEND_MAIL, "메일 보내기" } diff --git a/dlls/mapi32/Makefile.in b/dlls/mapi32/Makefile.in index e8d0a71cfb8..f416d5c3e54 100644 --- a/dlls/mapi32/Makefile.in +++ b/dlls/mapi32/Makefile.in @@ -20,6 +20,8 @@ RC_SRCS = \ Es.rc \ Fr.rc \ It.rc \ + Ja.rc \ + Ko.rc \ Lt.rc \ Nl.rc \ Pl.rc \ diff --git a/dlls/mapi32/Pt.rc b/dlls/mapi32/Pt.rc index ab8a8d10f1e..b12e6c54e8f 100644 --- a/dlls/mapi32/Pt.rc +++ b/dlls/mapi32/Pt.rc @@ -2,6 +2,7 @@ * MAPI32 Portuguese resources * * Copyright 2010 Ricardo Filipe +* Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -21,10 +22,18 @@ #include "res.h" -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE - #pragma code_page(65001) +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE +{ + IDS_NO_MAPI_CLIENT, "O envio do e-mail falhou porque não existe um cliente de e-mail MAPI instalado." + IDS_SEND_MAIL, "Enviar E-mail" +} + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + STRINGTABLE { IDS_NO_MAPI_CLIENT, "O envio de correio falhou porque não existe um cliente de correio MAPI instalado." diff --git a/dlls/mmdevapi/audio.c b/dlls/mmdevapi/audio.c index e0a7ac5569d..ddd97e88319 100644 --- a/dlls/mmdevapi/audio.c +++ b/dlls/mmdevapi/audio.c @@ -1,5 +1,5 @@ /* - * Copyright 2010 Maarten Lankhorst for Codeweavers + * Copyright 2010 Maarten Lankhorst for CodeWeavers * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/dlls/mmdevapi/audiovolume.c b/dlls/mmdevapi/audiovolume.c index 61cbed488ca..5e8994ac652 100644 --- a/dlls/mmdevapi/audiovolume.c +++ b/dlls/mmdevapi/audiovolume.c @@ -1,5 +1,5 @@ /* - * Copyright 2010 Maarten Lankhorst for Codeweavers + * Copyright 2010 Maarten Lankhorst for CodeWeavers * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/dlls/mmdevapi/tests/capture.c b/dlls/mmdevapi/tests/capture.c index b5c488333d1..1bedfc6f45f 100644 --- a/dlls/mmdevapi/tests/capture.c +++ b/dlls/mmdevapi/tests/capture.c @@ -1,5 +1,5 @@ /* - * Copyright 2010 Maarten Lankhorst for Codeweavers + * Copyright 2010 Maarten Lankhorst for CodeWeavers * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -244,7 +244,7 @@ static void test_audioclient(IAudioClient *ac) ok(hr == E_INVALIDARG, "Initialize with invalid flags returns %08x\n", hr); /* It seems that if length > 2s or periodicity != 0 the length is ignored and call succeeds - * Since we can only initialize succesfully once skip those tests + * Since we can only initialize successfully once skip those tests */ hr = IAudioClient_Initialize(ac, AUDCLNT_SHAREMODE_SHARED, 0, 5000000, 0, NULL, NULL); ok(hr == E_POINTER, "Initialize with null format returns %08x\n", hr); diff --git a/dlls/mmdevapi/tests/dependency.c b/dlls/mmdevapi/tests/dependency.c index 23c36142dc9..62bc4e648e2 100644 --- a/dlls/mmdevapi/tests/dependency.c +++ b/dlls/mmdevapi/tests/dependency.c @@ -94,7 +94,7 @@ START_TEST(dependency) hr = IBaseFilter_GetClassID(bf, &clsid); ok(hr == S_OK, "GetClassId failed with 0x%08x\n", hr); if (hr == S_OK) - ok(IsEqualCLSID(&clsid, &CLSID_DSoundRender), "Wrong class id %s", dump_guid(&clsid)); + ok(IsEqualCLSID(&clsid, &CLSID_DSoundRender), "Wrong class id %s\n", dump_guid(&clsid)); } } diff --git a/dlls/mmsystem.dll16/message16.c b/dlls/mmsystem.dll16/message16.c index ce25b9cd714..6a4dc0e13e8 100644 --- a/dlls/mmsystem.dll16/message16.c +++ b/dlls/mmsystem.dll16/message16.c @@ -25,6 +25,7 @@ #include "wine/winbase16.h" #include "windef.h" #include "winbase.h" +#include "winuser.h" #include "wownt32.h" #include "winemm16.h" #include "digitalv.h" @@ -796,9 +797,10 @@ static struct mmsystdrv_thunk BYTE pushl_this; /* pushl this (this very thunk) */ struct mmsystdrv_thunk* this; BYTE pushl_eax; /* pushl %eax */ - BYTE jmp; /* ljmp MMDRV_Callback1632 */ - DWORD callback; - DWORD pfn16; /* 16bit callback function */ + BYTE jmp; /* ljmp MMDRV_Callback3216 */ + DWORD callback3216; + DWORD callback; /* callback value (function, window, event...) */ + DWORD flags; /* flags to control callback value (CALLBACK_???) */ void* hMmdrv; /* Handle to 32bit mmdrv object */ enum MMSYSTEM_DriverType kind; } *MMSYSTDRV_Thunks; @@ -834,25 +836,48 @@ static LRESULT CALLBACK MMSYSTDRV_Callback3216(struct mmsystdrv_thunk* thunk, HD MMSYSTEM_DriversType[thunk->kind].mapcb(wMsg, &dwUser, &dwParam1, &dwParam2); - /* 16 bit func, call it */ - TRACE("Function (16 bit) %x!\n", thunk->pfn16); - - args[7] = HDRVR_16(hDev); - args[6] = wMsg; - args[5] = HIWORD(dwUser); - args[4] = LOWORD(dwUser); - args[3] = HIWORD(dwParam1); - args[2] = LOWORD(dwParam1); - args[1] = HIWORD(dwParam2); - args[0] = LOWORD(dwParam2); - return WOWCallback16Ex(thunk->pfn16, WCB16_PASCAL, sizeof(args), args, NULL); + switch (thunk->flags & CALLBACK_TYPEMASK) { + case CALLBACK_NULL: + TRACE("Null !\n"); + break; + case CALLBACK_WINDOW: + TRACE("Window(%04X) handle=%p!\n", thunk->callback, hDev); + PostMessageA((HWND)thunk->callback, wMsg, (WPARAM)hDev, dwParam1); + break; + case CALLBACK_TASK: /* aka CALLBACK_THREAD */ + TRACE("Task(%04x) !\n", thunk->callback); + PostThreadMessageA(thunk->callback, wMsg, (WPARAM)hDev, dwParam1); + break; + case CALLBACK_FUNCTION: + /* 16 bit func, call it */ + TRACE("Function (16 bit) %x!\n", thunk->callback); + + args[7] = HDRVR_16(hDev); + args[6] = wMsg; + args[5] = HIWORD(dwUser); + args[4] = LOWORD(dwUser); + args[3] = HIWORD(dwParam1); + args[2] = LOWORD(dwParam1); + args[1] = HIWORD(dwParam2); + args[0] = LOWORD(dwParam2); + return WOWCallback16Ex(thunk->callback, WCB16_PASCAL, sizeof(args), args, NULL); + case CALLBACK_EVENT: + TRACE("Event(%08x) !\n", thunk->callback); + SetEvent((HANDLE)thunk->callback); + break; + default: + WARN("Unknown callback type %lx\n", thunk->flags & CALLBACK_TYPEMASK); + return FALSE; + } + TRACE("Done\n"); + return TRUE; } /****************************************************************** * MMSYSTDRV_AddThunk * */ -struct mmsystdrv_thunk* MMSYSTDRV_AddThunk(DWORD pfn16, enum MMSYSTEM_DriverType kind) +struct mmsystdrv_thunk* MMSYSTDRV_AddThunk(DWORD callback, DWORD flags, enum MMSYSTEM_DriverType kind) { struct mmsystdrv_thunk* thunk; @@ -873,17 +898,19 @@ struct mmsystdrv_thunk* MMSYSTDRV_AddThunk(DWORD pfn16, enum MMSYSTEM_Driv thunk->this = thunk; thunk->pushl_eax = 0x50; /* pushl %eax */ thunk->jmp = 0xe9; /* jmp MMDRV_Callback3216 */ - thunk->callback = (char *)MMSYSTDRV_Callback3216 - (char *)(&thunk->callback + 1); - thunk->pfn16 = 0; + thunk->callback3216 = (char *)MMSYSTDRV_Callback3216 - (char *)(&thunk->callback3216 + 1); + thunk->callback = 0; + thunk->flags = CALLBACK_NULL; thunk->hMmdrv = NULL; thunk->kind = MMSYSTDRV_MAX; } } for (thunk = MMSYSTDRV_Thunks; thunk < &MMSYSTDRV_Thunks[MMSYSTDRV_MAX_THUNKS]; thunk++) { - if (thunk->pfn16 == 0 && thunk->hMmdrv == NULL) + if (thunk->callback == 0 && thunk->hMmdrv == NULL) { - thunk->pfn16 = pfn16; + thunk->callback = callback; + thunk->flags = flags; thunk->hMmdrv = NULL; thunk->kind = kind; LeaveCriticalSection(&mmdrv_cs); @@ -930,7 +957,8 @@ void MMSYSTDRV_SetHandle(struct mmsystdrv_thunk* thunk, void* h) */ void MMSYSTDRV_DeleteThunk(struct mmsystdrv_thunk* thunk) { - thunk->pfn16 = 0; + thunk->callback = 0; + thunk->flags = CALLBACK_NULL; thunk->hMmdrv = NULL; thunk->kind = MMSYSTDRV_MAX; } diff --git a/dlls/mmsystem.dll16/mmio16.c b/dlls/mmsystem.dll16/mmio16.c index cc13583807a..ff55ce9f85d 100644 --- a/dlls/mmsystem.dll16/mmio16.c +++ b/dlls/mmsystem.dll16/mmio16.c @@ -248,7 +248,7 @@ HMMIO16 WINAPI mmioOpen16(LPSTR szFileName, MMIOINFO16* lpmmioinfo16, memset(&mmioinfo, 0, sizeof(mmioinfo)); EnterCriticalSection(&mmio_cs); - if (lpmmioinfo16->pIOProc && !(thunk = MMIO_AddThunk(lpmmioinfo16->pIOProc, lpmmioinfo16->pchBuffer))) + if (!(thunk = MMIO_AddThunk(lpmmioinfo16->pIOProc, lpmmioinfo16->pchBuffer))) { LeaveCriticalSection(&mmio_cs); return 0; @@ -256,7 +256,7 @@ HMMIO16 WINAPI mmioOpen16(LPSTR szFileName, MMIOINFO16* lpmmioinfo16, mmioinfo.dwFlags = lpmmioinfo16->dwFlags; mmioinfo.fccIOProc = lpmmioinfo16->fccIOProc; - mmioinfo.pIOProc = (LPMMIOPROC)thunk; + mmioinfo.pIOProc = lpmmioinfo16->pIOProc ? (LPMMIOPROC)thunk : 0; mmioinfo.cchBuffer = lpmmioinfo16->cchBuffer; mmioinfo.pchBuffer = MapSL((DWORD)lpmmioinfo16->pchBuffer); mmioinfo.adwInfo[0] = lpmmioinfo16->adwInfo[0]; @@ -267,14 +267,19 @@ HMMIO16 WINAPI mmioOpen16(LPSTR szFileName, MMIOINFO16* lpmmioinfo16, mmioinfo.adwInfo[2] = lpmmioinfo16->adwInfo[2]; ret = mmioOpenA(szFileName, &mmioinfo, dwOpenFlags); - if (thunk) + if (!ret || (dwOpenFlags & (MMIO_PARSE|MMIO_EXIST))) { - if (!ret || (dwOpenFlags & (MMIO_PARSE|MMIO_EXIST))) - { - thunk->pfn16 = NULL; - thunk->hMmio = NULL; - } - else thunk->hMmio = ret; + thunk->pfn16 = NULL; + thunk->hMmio = NULL; + } + else thunk->hMmio = ret; + if (ret && (dwOpenFlags & MMIO_ALLOCBUF)) + { + MMIOINFO m; + if (lpmmioinfo16->pchBuffer) FIXME("ooch\n"); + /* FIXME: check whether mmioOpen should set pchBuffer */ + mmioGetInfo(ret, &m, 0); + thunk->segbuffer = MapLS(m.pchBuffer); } LeaveCriticalSection(&mmio_cs); diff --git a/dlls/mmsystem.dll16/mmsystem.c b/dlls/mmsystem.dll16/mmsystem.c index 66311bb71cc..1109ef46792 100644 --- a/dlls/mmsystem.dll16/mmsystem.c +++ b/dlls/mmsystem.dll16/mmsystem.c @@ -400,16 +400,13 @@ UINT16 WINAPI mixerOpen16(LPHMIXER16 lphmix, UINT16 uDeviceID, DWORD dwCallback, UINT ret; struct mmsystdrv_thunk* thunk; - if (!(thunk = MMSYSTDRV_AddThunk(dwCallback, MMSYSTDRV_MIXER))) + if (!(thunk = MMSYSTDRV_AddThunk(dwCallback, fdwOpen, MMSYSTDRV_MIXER))) { return MMSYSERR_NOMEM; } - if ((fdwOpen & CALLBACK_TYPEMASK) == CALLBACK_FUNCTION) - { - dwCallback = (DWORD)thunk; - } - - ret = mixerOpen(&hmix, uDeviceID, dwCallback, dwInstance, fdwOpen); + if ((fdwOpen & CALLBACK_TYPEMASK) != CALLBACK_NULL) + fdwOpen = (fdwOpen & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION; + ret = mixerOpen(&hmix, uDeviceID, (DWORD)thunk, dwInstance, fdwOpen); if (ret == MMSYSERR_NOERROR) { if (lphmix) *lphmix = HMIXER_16(hmix); @@ -747,15 +744,13 @@ UINT16 WINAPI midiOutOpen16(HMIDIOUT16* lphMidiOut, UINT16 uDeviceID, UINT ret; struct mmsystdrv_thunk* thunk; - if (!(thunk = MMSYSTDRV_AddThunk(dwCallback, MMSYSTDRV_MIDIOUT))) + if (!(thunk = MMSYSTDRV_AddThunk(dwCallback, dwFlags, MMSYSTDRV_MIDIOUT))) { return MMSYSERR_NOMEM; } - if ((dwFlags & CALLBACK_TYPEMASK) == CALLBACK_FUNCTION) - { - dwCallback = (DWORD)thunk; - } - ret = midiOutOpen(&hmo, uDeviceID, dwCallback, dwInstance, dwFlags); + if ((dwFlags & CALLBACK_TYPEMASK) != CALLBACK_NULL) + dwFlags = (dwFlags & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION; + ret = midiOutOpen(&hmo, uDeviceID, (DWORD)thunk, dwInstance, dwFlags); if (ret == MMSYSERR_NOERROR) { if (lphMidiOut != NULL) *lphMidiOut = HMIDIOUT_16(hmo); @@ -953,15 +948,13 @@ UINT16 WINAPI midiInOpen16(HMIDIIN16* lphMidiIn, UINT16 uDeviceID, UINT ret; struct mmsystdrv_thunk* thunk; - if (!(thunk = MMSYSTDRV_AddThunk(dwCallback, MMSYSTDRV_MIDIIN))) + if (!(thunk = MMSYSTDRV_AddThunk(dwCallback, dwFlags, MMSYSTDRV_MIDIIN))) { return MMSYSERR_NOMEM; } - if ((dwFlags & CALLBACK_TYPEMASK) == CALLBACK_FUNCTION) - { - dwCallback = (DWORD)thunk; - } - ret = midiInOpen(&hmid, uDeviceID, dwCallback, dwInstance, dwFlags); + if ((dwFlags & CALLBACK_TYPEMASK) != CALLBACK_NULL) + dwFlags = (dwFlags & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION; + ret = midiInOpen(&hmid, uDeviceID, (DWORD)thunk, dwInstance, dwFlags); if (ret == MMSYSERR_NOERROR) { if (lphMidiIn) *lphMidiIn = HMIDIIN_16(hmid); @@ -1116,15 +1109,13 @@ MMRESULT16 WINAPI midiStreamOpen16(HMIDISTRM16* phMidiStrm, LPUINT16 devid, return MMSYSERR_INVALPARAM; devid32 = *devid; - if (!(thunk = MMSYSTDRV_AddThunk(dwCallback, MMSYSTDRV_MIDIOUT))) + if (!(thunk = MMSYSTDRV_AddThunk(dwCallback, fdwOpen, MMSYSTDRV_MIDIOUT))) { return MMSYSERR_NOMEM; } - if ((fdwOpen & CALLBACK_TYPEMASK) == CALLBACK_FUNCTION) - { - dwCallback = (DWORD)thunk; - } - ret = midiStreamOpen(&hMidiStrm32, &devid32, cMidi, dwCallback, dwInstance, fdwOpen); + if ((fdwOpen & CALLBACK_TYPEMASK) != CALLBACK_NULL) + fdwOpen = (fdwOpen & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION; + ret = midiStreamOpen(&hMidiStrm32, &devid32, cMidi, (DWORD)thunk, dwInstance, fdwOpen); if (ret == MMSYSERR_NOERROR) { *phMidiStrm = HMIDISTRM_16(hMidiStrm32); @@ -1252,27 +1243,24 @@ UINT16 WINAPI waveOutOpen16(HWAVEOUT16* lphWaveOut, UINT16 uDeviceID, UINT ret; struct mmsystdrv_thunk* thunk; - if (!(thunk = MMSYSTDRV_AddThunk(dwCallback, MMSYSTDRV_WAVEOUT))) + if (!(thunk = MMSYSTDRV_AddThunk(dwCallback, dwFlags, MMSYSTDRV_WAVEOUT))) { return MMSYSERR_NOMEM; } - if ((dwFlags & CALLBACK_TYPEMASK) == CALLBACK_FUNCTION) - { - dwCallback = (DWORD)thunk; - } + if ((dwFlags & CALLBACK_TYPEMASK) != CALLBACK_NULL) + dwFlags = (dwFlags & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION; /* since layout of WAVEFORMATEX is the same for 16/32 bits, we directly * call the 32 bit version * however, we need to promote correctly the wave mapper id * (0xFFFFFFFF and not 0x0000FFFF) */ ret = waveOutOpen(&hWaveOut, (uDeviceID == (UINT16)-1) ? (UINT)-1 : uDeviceID, - lpFormat, dwCallback, dwInstance, dwFlags); + lpFormat, (DWORD)thunk, dwInstance, dwFlags); - if (ret == MMSYSERR_NOERROR) - { - if (lphWaveOut != NULL) *lphWaveOut = HWAVEOUT_16(hWaveOut); - MMSYSTDRV_SetHandle(thunk, (void*)hWaveOut); - } + if (lphWaveOut != NULL && ret == MMSYSERR_NOERROR) + *lphWaveOut = HWAVEOUT_16(hWaveOut); + if (ret == MMSYSERR_NOERROR && !(dwFlags & WAVE_FORMAT_QUERY)) + MMSYSTDRV_SetHandle(thunk, (void*)hWaveOut); else MMSYSTDRV_DeleteThunk(thunk); return ret; } @@ -1547,27 +1535,24 @@ UINT16 WINAPI waveInOpen16(HWAVEIN16* lphWaveIn, UINT16 uDeviceID, UINT ret; struct mmsystdrv_thunk* thunk; - if (!(thunk = MMSYSTDRV_AddThunk(dwCallback, MMSYSTDRV_WAVEIN))) + if (!(thunk = MMSYSTDRV_AddThunk(dwCallback, dwFlags, MMSYSTDRV_WAVEIN))) { return MMSYSERR_NOMEM; } - if ((dwFlags & CALLBACK_TYPEMASK) == CALLBACK_FUNCTION) - { - dwCallback = (DWORD)thunk; - } + if ((dwFlags & CALLBACK_TYPEMASK) != CALLBACK_NULL) + dwFlags = (dwFlags & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION; /* since layout of WAVEFORMATEX is the same for 16/32 bits, we directly * call the 32 bit version * however, we need to promote correctly the wave mapper id * (0xFFFFFFFF and not 0x0000FFFF) */ ret = waveInOpen(&hWaveIn, (uDeviceID == (UINT16)-1) ? (UINT)-1 : uDeviceID, - lpFormat, dwCallback, dwInstance, dwFlags); + lpFormat, (DWORD)thunk, dwInstance, dwFlags); - if (ret == MMSYSERR_NOERROR) - { - if (lphWaveIn != NULL) *lphWaveIn = HWAVEIN_16(hWaveIn); - MMSYSTDRV_SetHandle(thunk, (void*)hWaveIn); - } + if (lphWaveIn != NULL && ret == MMSYSERR_NOERROR) + *lphWaveIn = HWAVEIN_16(hWaveIn); + if (ret == MMSYSERR_NOERROR && !(dwFlags & WAVE_FORMAT_QUERY)) + MMSYSTDRV_SetHandle(thunk, (void*)hWaveIn); else MMSYSTDRV_DeleteThunk(thunk); return ret; } diff --git a/dlls/mmsystem.dll16/winemm16.h b/dlls/mmsystem.dll16/winemm16.h index e8cad537d8e..e76ee34fbc4 100644 --- a/dlls/mmsystem.dll16/winemm16.h +++ b/dlls/mmsystem.dll16/winemm16.h @@ -73,7 +73,7 @@ enum MMSYSTEM_DriverType MMSYSTDRV_MAX }; -extern struct mmsystdrv_thunk* MMSYSTDRV_AddThunk(DWORD pfn16, enum MMSYSTEM_DriverType kind); +extern struct mmsystdrv_thunk* MMSYSTDRV_AddThunk(DWORD callback, DWORD flags, enum MMSYSTEM_DriverType kind); extern void MMSYSTDRV_DeleteThunk(struct mmsystdrv_thunk* thunk); extern void MMSYSTDRV_SetHandle(struct mmsystdrv_thunk* thunk, void* h); extern void MMSYSTDRV_CloseHandle(void* h); diff --git a/dlls/msacm32/msacm_Pt.rc b/dlls/msacm32/msacm_Pt.rc index 9309b4c2af3..440dc3edf8d 100644 --- a/dlls/msacm32/msacm_Pt.rc +++ b/dlls/msacm32/msacm_Pt.rc @@ -2,7 +2,8 @@ * Portuguese resource file for MS ACM * * Copyright 2003 Marcelo Duarte - * Copyright 2006 Américo José Melo + * Copyright 2006 Américo José Melo + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -21,11 +22,13 @@ #include "wineacm.h" +#pragma code_page(65001) + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN DLG_ACMFORMATCHOOSE_ID DIALOG DISCARDABLE 10, 20, 225, 100 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Selecção de som" +CAPTION "Seleção de som" FONT 8, "MS Shell Dlg" BEGIN @@ -34,7 +37,7 @@ BEGIN COMBOBOX IDD_ACMFORMATCHOOSE_CMB_CUSTOM, 5, 15, 115, 60, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Gravar como...", IDD_ACMFORMATCHOOSE_BTN_SETNAME, 125, 14, 45, 14 + PUSHBUTTON "&Salvar como...", IDD_ACMFORMATCHOOSE_BTN_SETNAME, 125, 14, 45, 14 PUSHBUTTON "&Remover", IDD_ACMFORMATCHOOSE_BTN_DELNAME, 175, 14, 45, 14 LTEXT "&Formato:", -1, 5, 41, 44, 8, NOT WS_GROUP @@ -57,7 +60,7 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE DLG_ACMFORMATCHOOSE_ID DIALOG DISCARDABLE 10, 20, 225, 100 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Selecção de som" +CAPTION "Selecção de som" FONT 8, "MS Shell Dlg" BEGIN diff --git a/dlls/mshtml/Pt.rc b/dlls/mshtml/Pt.rc index 0620702e5c1..689f930e018 100644 --- a/dlls/mshtml/Pt.rc +++ b/dlls/mshtml/Pt.rc @@ -1,5 +1,6 @@ /* * Copyright 2008 Ricardo Filipe + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,6 +21,16 @@ #pragma code_page(65001) +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE DISCARDABLE +{ + IDS_HTMLDISABLED "A interpretação de HTML está desativada." + IDS_HTMLDOCUMENT "Documento HTML" + IDS_DOWNLOADING "Fazendo o download..." + IDS_INSTALLING "Instalando..." +} + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE STRINGTABLE DISCARDABLE @@ -30,6 +41,26 @@ STRINGTABLE DISCARDABLE IDS_INSTALLING "A instalar..." } + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +ID_DWL_DIALOG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 260, 95 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Instalador Wine Gecko" +FONT 8, "MS Shell Dlg" +{ + LTEXT "O Wine não pôde encontrar o pacote Gecko que é necessário para aplicações com HTML embutido" \ + "funcionarem corretamente. O Wine pode automaticamente efetuar o download instalá-lo para você.\n\n" \ + "Nota: é recomendável usar os pacotes da sua distribuição ao invés disso. \n\ +Veja http://wiki.winehq.org/Gecko para mais detalhes.", + ID_DWL_STATUS, 10, 10, 240, 60, SS_LEFT + CONTROL "Progresso", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 50, 240, 12 + DEFPUSHBUTTON "&Instalar", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Cancelar", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP +} + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + ID_DWL_DIALOG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 260, 95 STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Instalador Wine Gecko" @@ -44,6 +75,25 @@ FONT 8, "MS Shell Dlg" PUSHBUTTON "&Cancelar", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP } + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDD_HYPERLINK DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 250, 65 +STYLE DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Hiperlink" +FONT 8, "MS Shell Dlg" +{ + GROUPBOX "Informação do Hiperlink", -1, 5, 5, 190, 55 + LTEXT "&Tipo:", -1, 10, 22, 20, 10 + COMBOBOX IDC_TYPE, 35, 20, 45, 100, WS_TABSTOP | WS_GROUP | WS_VSCROLL | CBS_DROPDOWNLIST | CBS_HASSTRINGS + LTEXT "&URL:", -1, 10, 42, 20, 10 + EDITTEXT IDC_URL, 35, 40, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP + PUSHBUTTON "OK", IDOK, 200, 10, 45, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Cancelar", IDCANCEL, 200, 28, 45, 14, WS_GROUP | WS_TABSTOP +} + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + IDD_HYPERLINK DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 250, 65 STYLE DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Hiperligação" @@ -58,6 +108,9 @@ FONT 8, "MS Shell Dlg" PUSHBUTTON "Cancelar", IDCANCEL, 200, 28, 45, 14, WS_GROUP | WS_TABSTOP } + +LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL + ID_PROMPT_DIALOG DIALOG 0, 0, 200, 90 STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "" diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index 6925a0cf2ac..7cc2f39e896 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -1077,7 +1077,7 @@ static HRESULT ensure_nsevent_handler(HTMLDocumentNode *doc, event_target_t *eve static HRESULT remove_event_handler(event_target_t **event_target, eventid_t eid) { - if(*event_target && (*event_target)->event_table[eid]->handler_prop) { + if(*event_target && (*event_target)->event_table[eid] && (*event_target)->event_table[eid]->handler_prop) { IDispatch_Release((*event_target)->event_table[eid]->handler_prop); (*event_target)->event_table[eid]->handler_prop = NULL; } diff --git a/dlls/mshtml/mshtml.inf b/dlls/mshtml/mshtml.inf index 77893340eeb..d7d242800bf 100644 --- a/dlls/mshtml/mshtml.inf +++ b/dlls/mshtml/mshtml.inf @@ -91,7 +91,7 @@ HKCR,"CLSID\%CLSID_CRecalcEngine%\InProcServer32","ThreadingModel",,"Apartment" ;; CrSource HKCR,"CLSID\%CLSID_CrSource%",,,"Microsoft CrSource 4.0" HKCR,"CLSID\%CLSID_CrSource%\BrowseInPlace",,16 -HKCR,"CLSID\%CLSID_CrSource%\DefaultIcon",,0x00020000,"%IEXPLORE%,1" +HKCR,"CLSID\%CLSID_CrSource%\DefaultIcon",,0x00020000,"%16422%\Internet Explorer\iexplore.exe,1" HKCR,"CLSID\%CLSID_CrSource%\EnablePlugin\.css",,,"PointPlus plugin" HKCR,"CLSID\%CLSID_CrSource%\InProcServer32",,,"mshtml.dll" HKCR,"CLSID\%CLSID_CrSource%\InProcServer32","ThreadingModel",,"Apartment" @@ -122,7 +122,7 @@ HKCR,"CLSID\%CLSID_HTADocument%\Version",,,"6.0" ;; HTMLDocument HKCR,"CLSID\%CLSID_HTMLDocument%",,,"HTML Document" HKCR,"CLSID\%CLSID_HTMLDocument%\BrowseInPlace",,16 -HKCR,"CLSID\%CLSID_HTMLDocument%\DefaultIcon",,0x00020000,"%IEXPLORE%,1" +HKCR,"CLSID\%CLSID_HTMLDocument%\DefaultIcon",,0x00020000,"%16422%\Internet Explorer\iexplore.exe,1" HKCR,"CLSID\%CLSID_HTMLDocument%\InProcServer32",,,"mshtml.dll" HKCR,"CLSID\%CLSID_HTMLDocument%\InProcServer32","ThreadingModel",,"Apartment" HKCR,"CLSID\%CLSID_HTMLDocument%\MiscStatus",,,"2228625" @@ -215,7 +215,7 @@ HKCR,"CLSID\%CLSID_MailtoProtocol%\InProcServer32","ThreadingModel",,"Apartment" ;; MHTMLDocument HKCR,"CLSID\%CLSID_MHTMLDocument%",,,"MHTML Document" HKCR,"CLSID\%CLSID_MHTMLDocument%\BrowseInPlace",,16 -HKCR,"CLSID\%CLSID_MHTMLDocument%\DefaultIcon",,0x00020000,"%IEXPLORE%,1" +HKCR,"CLSID\%CLSID_MHTMLDocument%\DefaultIcon",,0x00020000,"%16422%\Internet Explorer\iexplore.exe,1" HKCR,"CLSID\%CLSID_MHTMLDocument%\InProcServer32",,,"mshtml.dll" HKCR,"CLSID\%CLSID_MHTMLDocument%\InProcServer32","ThreadingModel",,"Apartment" HKCR,"CLSID\%CLSID_MHTMLDocument%\MiscStatus",,,"2228625" @@ -236,7 +236,7 @@ HKCR,"CLSID\%CLSID_Scriptlet%\MiscStatus",,,"0" HKCR,"CLSID\%CLSID_Scriptlet%\MiscStatus\1",,,"131473" HKCR,"CLSID\%CLSID_Scriptlet%\ProgID",,,"ScriptBridge.ScriptBridge.1" HKCR,"CLSID\%CLSID_Scriptlet%\Programmable",,16 -HKCR,"CLSID\%CLSID_Scriptlet%\ToolboxBitmap32",,,"%IEXPLORE%,1" +HKCR,"CLSID\%CLSID_Scriptlet%\ToolboxBitmap32",,,"%16422%\Internet Explorer\iexplore.exe,1" HKCR,"CLSID\%CLSID_Scriptlet%\TypeLib",,,"%LIBID_MSHTML%" HKCR,"CLSID\%CLSID_Scriptlet%\Version",,,"4.0" HKCR,"CLSID\%CLSID_Scriptlet%\VersionIndependentProgID",,,"ScriptBridge.ScriptBridge" @@ -312,11 +312,11 @@ HKCR,".gif",,2,"giffile" HKCR,".gif","Content Type",,"image/gif" HKCR,"giffile",,,"GIF Image" HKCR,"giffile\CLSID",,,"%CLSID_HTMLDocument%" -HKCR,"giffile\shell\open\command",,,"""%IEXPLORE%"" -nohome" +HKCR,"giffile\shell\open\command",,,"""%16422%\Internet Explorer\iexplore.exe"" -nohome" HKCR,"giffile\shell\open\ddeexec",,,"""file:%%1"",,-1,,,,," HKCR,"giffile\shell\open\ddeexec\Application",,,"IExplore" HKCR,"giffile\shell\open\ddeexec\Topic",,,"WWW_OpenURL" -;; HKCR,"giffile\DefaultIcon",,,"%IEXPLORE%,9" +;; HKCR,"giffile\DefaultIcon",,,"%16422%\Internet Explorer\iexplore.exe,9" ;; GZIP HKCR,"MIME\Database\Content Type\application/x-gzip","Extension",,".gz" @@ -339,7 +339,7 @@ HKCR,"htmlfile\shell\printto\command",,,"rundll32.exe mshtml.dll,PrintHTML ""%%1 HKCR,"htmlfile",,,"HTML Document" HKCR,"htmlfile\BrowseInPlace",,16 HKCR,"htmlfile\CLSID",,,"%CLSID_HTMLDocument%" -HKCR,"htmlfile\DefaultIcon",,0x00020000,"%IEXPLORE%,1" +HKCR,"htmlfile\DefaultIcon",,0x00020000,"%16422%\Internet Explorer\iexplore.exe,1" HKCR,"htmlfile_FullWindowEmbed",,,"HTML Plugin Document" HKCR,"htmlfile_FullWindowEmbed\BrowseInPlace",,16 HKCR,"htmlfile_FullWindowEmbed\CLSID",,,"%CLSID_HTMLPluginDocument%" @@ -359,11 +359,11 @@ HKCR,".jpe",,2,"jpegfile" HKCR,".jpe","Content Type",,"image/jpeg" HKCR,"jpegfile",,,"JPEG Image" HKCR,"jpegfile\CLSID",,,"%CLSID_HTMLDocument%" -HKCR,"jpegfile\shell\open\command",,,"""%IEXPLORE%"" -nohome" +HKCR,"jpegfile\shell\open\command",,,"""%16422%\Internet Explorer\iexplore.exe"" -nohome" HKCR,"jpegfile\shell\open\ddeexec",,,"""file:%%1"",,-1,,,,," HKCR,"jpegfile\shell\open\ddeexec\Application",,,"IExplore" HKCR,"jpegfile\shell\open\ddeexec\Topic",,,"WWW_OpenURL" -;; HKCR,"jpegfile\DefaultIcon",,,"%IEXPLORE%,8" +;; HKCR,"jpegfile\DefaultIcon",,,"%16422%\Internet Explorer\iexplore.exe,8" ;; JPEG HKCR,"MIME\Database\Content Type\image/jpeg","CLSID",,"%CLSID_HTMLDocument%" @@ -374,22 +374,22 @@ HKCR,".jpeg",,2,"jpegfile" HKCR,".jpeg","Content Type",,"image/jpeg" HKCR,"jpegfile",,,"JPEG Image" HKCR,"jpegfile\CLSID",,,"%CLSID_HTMLDocument%" -HKCR,"jpegfile\shell\open\command",,,"""%IEXPLORE%"" -nohome" +HKCR,"jpegfile\shell\open\command",,,"""%16422%\Internet Explorer\iexplore.exe"" -nohome" HKCR,"jpegfile\shell\open\ddeexec",,,"""file:%%1"",,-1,,,,," HKCR,"jpegfile\shell\open\ddeexec\Application",,,"IExplore" HKCR,"jpegfile\shell\open\ddeexec\Topic",,,"WWW_OpenURL" -;; HKCR,"jpegfile\DefaultIcon",,,"%IEXPLORE%,8" +;; HKCR,"jpegfile\DefaultIcon",,,"%16422%\Internet Explorer\iexplore.exe,8" ;; JPG HKCR,".jpg",,2,"jpegfile" HKCR,".jpg","Content Type",,"image/jpeg" HKCR,"jpegfile",,,"JPEG Image" HKCR,"jpegfile\CLSID",,,"%CLSID_HTMLDocument%" -HKCR,"jpegfile\shell\open\command",,,"""%IEXPLORE%"" -nohome" +HKCR,"jpegfile\shell\open\command",,,"""%16422%\Internet Explorer\iexplore.exe"" -nohome" HKCR,"jpegfile\shell\open\ddeexec",,,"""file:%%1"",,-1,,,,," HKCR,"jpegfile\shell\open\ddeexec\Application",,,"IExplore" HKCR,"jpegfile\shell\open\ddeexec\Topic",,,"WWW_OpenURL" -;; HKCR,"jpegfile\DefaultIcon",,,"%IEXPLORE%,8" +;; HKCR,"jpegfile\DefaultIcon",,,"%16422%\Internet Explorer\iexplore.exe,8" ;; MHTML HKCR,"MIME\Database\Content Type\message/rfc822","CLSID",,"%CLSID_MHTMLDocument%" @@ -422,11 +422,11 @@ HKCR,".jfif",,2,"pjpegfile" HKCR,".jfif","Content Type",,"image/jpeg" HKCR,"pjpegfile",,,"JPEG Image" HKCR,"pjpegfile\CLSID",,,"%CLSID_HTMLDocument%" -HKCR,"pjpegfile\shell\open\command",,,"""%IEXPLORE%"" -nohome" +HKCR,"pjpegfile\shell\open\command",,,"""%16422%\Internet Explorer\iexplore.exe"" -nohome" HKCR,"pjpegfile\shell\open\ddeexec",,,"""file:%%1"",,-1,,,,," HKCR,"pjpegfile\shell\open\ddeexec\Application",,,"IExplore" HKCR,"pjpegfile\shell\open\ddeexec\Topic",,,"WWW_OpenURL" -;; HKCR,"pjpegfile\DefaultIcon",,,"%IEXPLORE%,8" +;; HKCR,"pjpegfile\DefaultIcon",,,"%16422%\Internet Explorer\iexplore.exe,8" ;; PNG HKCR,"MIME\Database\Content Type\image/png","Extension",,".png" @@ -435,11 +435,11 @@ HKCR,".png",,2,"pngfile" HKCR,".png","Content Type",,"image/png" HKCR,"pngfile",,,"PNG Image" HKCR,"pngfile\CLSID",,,"%CLSID_HTMLDocument%" -HKCR,"pngfile\shell\open\command",,,"""%IEXPLORE%"" -nohome" +HKCR,"pngfile\shell\open\command",,,"""%16422%\Internet Explorer\iexplore.exe""" -nohome" HKCR,"pngfile\shell\open\ddeexec",,,"""file:%%1"",,-1,,,,," HKCR,"pngfile\shell\open\ddeexec\Application",,,"IExplore" HKCR,"pngfile\shell\open\ddeexec\Topic",,,"WWW_OpenURL" -;; HKCR,"pngfile\DefaultIcon",,,"%IEXPLORE%,9" +;; HKCR,"pngfile\DefaultIcon",,,"%16422%\Internet Explorer\iexplore.exe,9" ;; PS HKCR,"MIME\Database\Content Type\application/postscript","Extension",,".ps" @@ -478,11 +478,11 @@ HKCR,"MIME\Database\Content Type\image/x-xbitmap","CLSID",,"%CLSID_HTMLDocument% HKCR,".xbm","Content Type",,"image/x-xbitmap" HKCR,"xbmfile",,,"XBM Image" HKCR,"xbmfile\CLSID",,,"%CLSID_HTMLDocument%" -HKCR,"xbmfile\shell\open\command",,,"""%IEXPLORE%"" -nohome" +HKCR,"xbmfile\shell\open\command",,,"""%16422%\Internet Explorer\iexplore.exe"" -nohome" HKCR,"xbmfile\shell\open\ddeexec",,,"""file:%%1"",,-1,,,,," HKCR,"xbmfile\shell\open\ddeexec\Application",,,"IExplore" HKCR,"xbmfile\shell\open\ddeexec\Topic",,,"WWW_OpenURL" -;; HKCR,"xbmfile\DefaultIcon",,,"%IEXPLORE%,9" +;; HKCR,"xbmfile\DefaultIcon",,,"%16422%\Internet Explorer\iexplore.exe,9" ;; XML HKCR,"MIME\Database\Content Type\application/xml","CLSID",,"{48123BC4-99D9-11D1-A6B3-00C04FD91555}" diff --git a/dlls/mshtml/tests/events.c b/dlls/mshtml/tests/events.c index d62df7a3b0b..deafd54180c 100644 --- a/dlls/mshtml/tests/events.c +++ b/dlls/mshtml/tests/events.c @@ -483,9 +483,7 @@ static void _test_event_x(unsigned line, IHTMLEventObj *event, LONG exl) hres = IHTMLEventObj_get_x(event, &l); ok_(__FILE__,line)(hres == S_OK, "get_x failed: %08x\n", hres); - if(exl == -10) /* don't test the exact value */ - todo_wine ok_(__FILE__,line)(l > 0, "x = %d\n", l); - else + if(exl != -10) /* don't test the exact value */ ok_(__FILE__,line)(l == exl, "x = %d, expected %d\n", l, exl); } @@ -496,9 +494,7 @@ static void _test_event_y(unsigned line, IHTMLEventObj *event, LONG exl) hres = IHTMLEventObj_get_y(event, &l); ok_(__FILE__,line)(hres == S_OK, "get_y failed: %08x\n", hres); - if(exl == -10) /* don't test the exact value */ - todo_wine ok_(__FILE__,line)(l > 0, "y = %d\n", l); - else + if(exl != -10) /* don't test the exact value */ ok_(__FILE__,line)(l == exl, "y = %d, expected %d\n", l, exl); } @@ -509,14 +505,8 @@ static void _test_event_clientx(unsigned line, IHTMLEventObj *event, LONG exl) hres = IHTMLEventObj_get_clientX(event, &l); ok_(__FILE__,line)(hres == S_OK, "get_clientX failed: %08x\n", hres); - if(exl == -10) {/* don't test the exact value */ - if(xy_todo) - todo_wine ok_(__FILE__,line)(l > 0, "clientX = %d\n", l); - else - ok_(__FILE__,line)(l > 0, "clientX = %d\n", l); - }else { + if(exl != -10) /* don't test the exact value */ ok_(__FILE__,line)(l == exl, "clientX = %d, expected %d\n", l, exl); - } } static void _test_event_clienty(unsigned line, IHTMLEventObj *event, LONG exl) @@ -526,14 +516,8 @@ static void _test_event_clienty(unsigned line, IHTMLEventObj *event, LONG exl) hres = IHTMLEventObj_get_clientY(event, &l); ok_(__FILE__,line)(hres == S_OK, "get_clientY failed: %08x\n", hres); - if(exl == -10) {/* don't test the exact value */ - if(xy_todo) - todo_wine ok_(__FILE__,line)(l > 0, "clientY = %d\n", l); - else - ok_(__FILE__,line)(l > 0, "clientY = %d\n", l); - }else { + if(exl != -10) /* don't test the exact value */ ok_(__FILE__,line)(l == exl, "clientY = %d, expected %d\n", l, exl); - } } static void _test_event_offsetx(unsigned line, IHTMLEventObj *event, LONG exl) @@ -543,9 +527,7 @@ static void _test_event_offsetx(unsigned line, IHTMLEventObj *event, LONG exl) hres = IHTMLEventObj_get_offsetX(event, &l); ok_(__FILE__,line)(hres == S_OK, "get_offsetX failed: %08x\n", hres); - if(exl == -10) /* don't test the exact value */ - todo_wine ok_(__FILE__,line)(l > 0, "offsetX = %d\n", l); - else + if(exl != -10) /* don't test the exact value */ ok_(__FILE__,line)(l == exl, "offsetX = %d, expected %d\n", l, exl); } @@ -556,9 +538,7 @@ static void _test_event_offsety(unsigned line, IHTMLEventObj *event, LONG exl) hres = IHTMLEventObj_get_offsetY(event, &l); ok_(__FILE__,line)(hres == S_OK, "get_offsetY failed: %08x\n", hres); - if(exl == -10) /* don't test the exact value */ - todo_wine ok_(__FILE__,line)(l > 0, "offsetY = %d\n", l); - else + if(exl != -10) /* don't test the exact value */ ok_(__FILE__,line)(l == exl, "offsetY = %d, expected %d\n", l, exl); } @@ -569,14 +549,8 @@ static void _test_event_screenx(unsigned line, IHTMLEventObj *event, LONG exl) hres = IHTMLEventObj_get_screenX(event, &l); ok_(__FILE__,line)(hres == S_OK, "get_screenX failed: %08x\n", hres); - if(exl == -10) { /* don't test the exact value */ - if(xy_todo) - todo_wine ok_(__FILE__,line)(l > 0, "screenX = %d\n", l); - else - ok_(__FILE__,line)(l > 0, "screenX = %d\n", l); - }else { + if(exl != -10) /* don't test the exact value */ ok_(__FILE__,line)(l == exl, "screenX = %d, expected %d\n", l, exl); - } } static void _test_event_screeny(unsigned line, IHTMLEventObj *event, LONG exl) @@ -586,14 +560,8 @@ static void _test_event_screeny(unsigned line, IHTMLEventObj *event, LONG exl) hres = IHTMLEventObj_get_screenY(event, &l); ok_(__FILE__,line)(hres == S_OK, "get_screenY failed: %08x\n", hres); - if(exl == -10) { /* don't test the exact value */ - if(xy_todo) - todo_wine ok_(__FILE__,line)(l > 0, "screenY = %d\n", l); - else - ok_(__FILE__,line)(l > 0, "screenY = %d\n", l); - }else { + if(exl != -10) /* don't test the exact value for -10 */ ok_(__FILE__,line)(l == exl, "screenY = %d, expected %d\n", l, exl); - } } static void _test_event_type(unsigned line, IHTMLEventObj *event, const char *exstr) @@ -1204,6 +1172,10 @@ static void test_onclick(IHTMLDocument2 *doc) hres = IHTMLElement_put_onclick(div, v); ok(hres == S_OK, "put_onclick failed: %08x\n", hres); + V_VT(&v) = VT_NULL; + hres = IHTMLElement_put_ondblclick(div, v); + ok(hres == S_OK, "put_ondblclick failed: %08x\n", hres); + V_VT(&v) = VT_EMPTY; hres = IHTMLElement_get_onclick(div, &v); ok(hres == S_OK, "get_onclick failed: %08x\n", hres); diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c index 319e5fd575b..2d51262df5d 100644 --- a/dlls/mshtml/tests/htmldoc.c +++ b/dlls/mshtml/tests/htmldoc.c @@ -4515,6 +4515,11 @@ static void test_QueryInterface(IHTMLDocument2 *doc) hres = IUnknown_QueryInterface(doc, &IID_IStdMarshalInfo, (void**)&qi); ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres); ok(qi == NULL, "qi=%p, expected NULL\n", qi); + + hres = IUnknown_QueryInterface(doc, &IID_IDispatch, (void**)&qi); + ok(hres == S_OK, "Could not get IDispatch interface: %08x\n", hres); + ok(qi != (IUnknown*)doc, "disp == doc\n"); + IUnknown_Release(qi); } static void init_test(enum load_state_t ls) { diff --git a/dlls/msi/media.c b/dlls/msi/media.c index b455775a8e1..6dc262c8d3b 100644 --- a/dlls/msi/media.c +++ b/dlls/msi/media.c @@ -785,13 +785,17 @@ UINT ready_media(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi) { WCHAR temppath[MAX_PATH], *p; - msi_download_file(cabinet_file, temppath); + rc = msi_download_file(cabinet_file, temppath); + if (rc != ERROR_SUCCESS) + { + ERR("Failed to download %s (%u)\n", debugstr_w(cabinet_file), rc); + msi_free(cabinet_file); + return rc; + } if ((p = strrchrW(temppath, '\\'))) *p = 0; - - msi_free(mi->sourcedir); strcpyW(mi->sourcedir, temppath); msi_free(mi->cabinet); - strcpyW(mi->cabinet, p + 1); + mi->cabinet = strdupW(p + 1); msi_free(cabinet_file); return ERROR_SUCCESS; diff --git a/dlls/msi/msi_Pt.rc b/dlls/msi/msi_Pt.rc index 94cc6330e0c..4a1045c2ebd 100644 --- a/dlls/msi/msi_Pt.rc +++ b/dlls/msi/msi_Pt.rc @@ -2,7 +2,8 @@ * Portuguese resources for MSI * * Copyright 2005 Marcelo Duarte - * Copyright 2006 Américo José Melo + * Copyright 2006 Américo José Melo + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -21,45 +22,47 @@ #include "windef.h" +#pragma code_page(65001) + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN STRINGTABLE DISCARDABLE { - 4 "The specified installation package could not be opened. Please check the file path and try again." - 5 "caminho %s não encontrado" + 4 "O pacote de instalação especificado não pôde ser aberto. Por favor, verifique o arquivo e tente novamente." + 5 "caminho %s não encontrado" 9 "insira disco %s" 10 "Windows Installer %s\n\n" \ - "Usage:\n" \ + "Modo de usar:\n" \ "msiexec command {required parameter} [optional parammeter]\n\n" \ - "Install a product:\n" \ + "Instalar um produto:\n" \ "\t/i {package|productcode} [property]\n" \ "\t/package {package|productcode} [property]\n" \ "\t/a package [property]\n" \ - "Repair an installation:\n" \ + "Reparar uma instalação:\n" \ "\t/f[p|o|e|d|c|a|u|m|s|v] {package|productcode}\n" \ - "Uninstall a product:\n" \ + "Desinstalar um produto:\n" \ "\t/uninstall {package|productcode} [property]\n" \ "\t/x {package|productcode} [property]\n" \ - "Advertise a product:\n" \ + "Anunciar um produto:\n" \ "\t/j[u|m] package [/t transform] [/g languageid]\n" \ - "Apply a patch:\n" \ + "Aplicar um patch:\n" \ "\t/p patchpackage [property]\n" \ "\t/p patchpackage /a package [property]\n" \ - "Log and UI Modifiers for above commands:\n" \ + "Modificadores Log e UI para os comandos acima:\n" \ "\t/l[*][i|w|e|a|r|u|c|m|o|p|v|][+|!] logfile\n" \ "\t/q{|n|b|r|f|n+|b+|b-}\n" \ - "Register MSI Service:\n" \ + "Registrar Serviço MSI:\n" \ "\t/y\n" \ - "Unregister MSI Service:\n" \ + "Desregistrar Serviço MSI:\n" \ "\t/z\n" \ - "Display this help:\n" \ + "Mostrar esta ajuda:\n" \ "\t/help\n" \ "\t/?\n" - 11 "entre qual pasta contém %s" - 12 "instalar fonte para característica faltando" - 13 "drive de rede para característica faltando" - 14 "característica de:" - 15 "escolha qual pasta contém %s" + 11 "entre a pasta que contém %s" + 12 "faltando fonte de instalação para característica" + 13 "faltando drive de rede para característica" + 14 "origem da característica:" + 15 "escolha a pasta que contém %s" } LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE @@ -67,7 +70,7 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE STRINGTABLE DISCARDABLE { 4 "The specified installation package could not be opened. Please check the file path and try again." - 5 "localização %s não encontrada" + 5 "localização %s não encontrada" 9 "insira o disco %s" 10 "Windows Installer %s\n\n" \ "Usage:\n" \ @@ -96,9 +99,9 @@ STRINGTABLE DISCARDABLE "Display this help:\n" \ "\t/help\n" \ "\t/?\n" - 11 "indique que pasta contém %s" - 12 "instalar fonte para a opção em falta" - 13 "controlador de rede para a opção em falta" - 14 "opção de:" - 15 "indique que pasta contém %s" + 11 "indique que pasta contém %s" + 12 "instalar fonte para a opção em falta" + 13 "controlador de rede para a opção em falta" + 14 "opção de:" + 15 "indique que pasta contém %s" } diff --git a/dlls/msvcr100/msvcr100.c b/dlls/msvcr100/msvcr100.c index 735092e4a56..274d4c75d99 100644 --- a/dlls/msvcr100/msvcr100.c +++ b/dlls/msvcr100/msvcr100.c @@ -23,9 +23,7 @@ #include "stdlib.h" #include "windef.h" #include "winbase.h" -#include "wine/debug.h" -WINE_DEFAULT_DEBUG_CHANNEL(msvcr100); /********************************************************************* * DllMain (MSVCR100.@) diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 0d05c28ca74..4288dede1c4 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -344,7 +344,7 @@ @ cdecl __crtCompareStringA(long long str long str long) msvcrt.__crtCompareStringA @ cdecl __crtCompareStringW(long long wstr long wstr long) msvcrt.__crtCompareStringW @ cdecl __crtLCMapStringA(long long str long ptr long long long) msvcrt.__crtLCMapStringA -@ stub __crtLCMapStringW +@ cdecl __crtLCMapStringW(long long wstr long ptr long long long) msvcrt.__crtLCMapStringW @ stub __daylight @ cdecl __dllonexit(ptr ptr ptr) msvcrt.__dllonexit @ cdecl __doserrno() msvcrt.__doserrno @@ -819,7 +819,7 @@ @ cdecl _ltow(long ptr long) msvcrt._ltow @ stub _ltow_s @ cdecl _makepath(ptr str str str str) msvcrt._makepath -@ stub _makepath_s +@ cdecl _makepath_s(ptr long str str str str) msvcrt._makepath_s @ cdecl _malloc_crt(long) msvcrt.malloc @ cdecl _mbbtombc(long) msvcrt._mbbtombc @ stub _mbbtombc_l @@ -1310,8 +1310,8 @@ @ stub _wgetdcwd_nolock @ cdecl _wgetenv(wstr) msvcrt._wgetenv @ stub _wgetenv_s -@ cdecl _wmakepath(wstr wstr wstr wstr wstr) msvcrt._wmakepath -@ stub _wmakepath_s +@ cdecl _wmakepath(ptr wstr wstr wstr wstr) msvcrt._wmakepath +@ cdecl _wmakepath_s(ptr long wstr wstr wstr wstr) msvcrt._wmakepath_s @ cdecl _wmkdir(wstr) msvcrt._wmkdir @ cdecl _wmktemp(wstr) msvcrt._wmktemp @ stub _wmktemp_s diff --git a/dlls/msvcr70/msvcr70.spec b/dlls/msvcr70/msvcr70.spec index 7c847054282..97783fb602e 100644 --- a/dlls/msvcr70/msvcr70.spec +++ b/dlls/msvcr70/msvcr70.spec @@ -110,7 +110,7 @@ @ cdecl __crtGetLocaleInfoW(long long ptr long) msvcrt.__crtGetLocaleInfoW @ cdecl __crtGetStringTypeW(long long wstr long ptr) msvcrt.__crtGetStringTypeW @ cdecl __crtLCMapStringA(long long str long ptr long long long) msvcrt.__crtLCMapStringA -@ stub __crtLCMapStringW +@ cdecl __crtLCMapStringW(long long wstr long ptr long long long) msvcrt.__crtLCMapStringW @ cdecl __dllonexit(ptr ptr ptr) msvcrt.__dllonexit @ cdecl __doserrno() msvcrt.__doserrno @ cdecl __fpecode() msvcrt.__fpecode diff --git a/dlls/msvcr71/msvcr71.spec b/dlls/msvcr71/msvcr71.spec index 8599efa51ec..dfa04f8ccfa 100644 --- a/dlls/msvcr71/msvcr71.spec +++ b/dlls/msvcr71/msvcr71.spec @@ -105,7 +105,7 @@ @ cdecl __crtGetLocaleInfoW(long long ptr long) @ cdecl __crtGetStringTypeW(long long wstr long ptr) msvcrt.__crtGetStringTypeW @ cdecl __crtLCMapStringA(long long str long ptr long long long) msvcrt.__crtLCMapStringA -@ stub __crtLCMapStringW +@ cdecl __crtLCMapStringW(long long wstr long ptr long long long) msvcrt.__crtLCMapStringW @ cdecl __dllonexit(ptr ptr ptr) msvcrt.__dllonexit @ cdecl __doserrno() msvcrt.__doserrno @ cdecl __fpecode() msvcrt.__fpecode diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index b4c168a6cd8..3d6b104419f 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -150,7 +150,7 @@ @ cdecl __crtGetLocaleInfoW(long long ptr long) msvcrt.__crtGetLocaleInfoW @ cdecl __crtGetStringTypeW(long long wstr long ptr) msvcrt.__crtGetStringTypeW @ cdecl __crtLCMapStringA(long long str long ptr long long long) msvcrt.__crtLCMapStringA -@ stub __crtLCMapStringW +@ cdecl __crtLCMapStringW(long long wstr long ptr long long long) msvcrt.__crtLCMapStringW @ stub __daylight @ cdecl __dllonexit(ptr ptr ptr) msvcrt.__dllonexit @ cdecl __doserrno() msvcrt.__doserrno @@ -658,7 +658,7 @@ @ cdecl _ltow(long ptr long) msvcrt._ltow @ stub _ltow_s @ cdecl _makepath(ptr str str str str) msvcrt._makepath -@ stub _makepath_s +@ cdecl _makepath_s(ptr long str str str str) msvcrt._makepath_s @ cdecl _malloc_crt(long) msvcrt.malloc @ cdecl _mbbtombc(long) msvcrt._mbbtombc @ stub _mbbtombc_l @@ -1159,8 +1159,8 @@ @ extern _winmajor msvcrt._winmajor @ extern _winminor msvcrt._winminor @ extern _winver msvcrt._winver -@ cdecl _wmakepath(wstr wstr wstr wstr wstr) msvcrt._wmakepath -@ stub _wmakepath_s +@ cdecl _wmakepath(ptr wstr wstr wstr wstr) msvcrt._wmakepath +@ cdecl _wmakepath_s(ptr long wstr wstr wstr wstr) msvcrt._wmakepath_s @ cdecl _wmkdir(wstr) msvcrt._wmkdir @ cdecl _wmktemp(wstr) msvcrt._wmktemp @ stub _wmktemp_s diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index a2bed367fb6..3b04f961eb6 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -147,7 +147,7 @@ @ cdecl __crtGetLocaleInfoW(long long ptr long) msvcrt.__crtGetLocaleInfoW @ cdecl __crtGetStringTypeW(long long wstr long ptr) msvcrt.__crtGetStringTypeW @ cdecl __crtLCMapStringA(long long str long ptr long long long) msvcrt.__crtLCMapStringA -@ stub __crtLCMapStringW +@ cdecl __crtLCMapStringW(long long wstr long ptr long long long) msvcrt.__crtLCMapStringW @ stub __daylight @ cdecl __dllonexit(ptr ptr ptr) msvcrt.__dllonexit @ cdecl __doserrno() msvcrt.__doserrno @@ -646,7 +646,7 @@ @ cdecl _ltow(long ptr long) msvcrt._ltow @ stub _ltow_s @ cdecl _makepath(ptr str str str str) msvcrt._makepath -@ stub _makepath_s +@ cdecl _makepath_s(ptr long str str str str) msvcrt._makepath_s @ cdecl _malloc_crt(long) msvcrt.malloc @ cdecl _mbbtombc(long) msvcrt._mbbtombc @ stub _mbbtombc_l @@ -1143,8 +1143,8 @@ @ stub _wgetdcwd_nolock @ cdecl _wgetenv(wstr) msvcrt._wgetenv @ stub _wgetenv_s -@ cdecl _wmakepath(wstr wstr wstr wstr wstr) msvcrt._wmakepath -@ stub _wmakepath_s +@ cdecl _wmakepath(ptr wstr wstr wstr wstr) msvcrt._wmakepath +@ cdecl _wmakepath_s(ptr long wstr wstr wstr wstr) msvcrt._wmakepath_s @ cdecl _wmkdir(wstr) msvcrt._wmkdir @ cdecl _wmktemp(wstr) msvcrt._wmktemp @ stub _wmktemp_s diff --git a/dlls/msvcr90/tests/msvcr90.c b/dlls/msvcr90/tests/msvcr90.c index 2b4fae4b23f..9f6e47b6ec8 100644 --- a/dlls/msvcr90/tests/msvcr90.c +++ b/dlls/msvcr90/tests/msvcr90.c @@ -44,7 +44,7 @@ int cb_called[4]; /* ########## */ -void __cdecl test_invalid_parameter_handler(const wchar_t *expression, +static void __cdecl test_invalid_parameter_handler(const wchar_t *expression, const wchar_t *function, const wchar_t *file, unsigned line, uintptr_t arg) { diff --git a/dlls/msvcrt/dir.c b/dlls/msvcrt/dir.c index a9f9234d604..c5b663814a7 100644 --- a/dlls/msvcrt/dir.c +++ b/dlls/msvcrt/dir.c @@ -1078,6 +1078,214 @@ VOID CDECL _wmakepath(MSVCRT_wchar_t *path, const MSVCRT_wchar_t *drive, const M } /********************************************************************* + * _makepath_s (MSVCRT.@) + * + * Safe version of _makepath. + */ +int CDECL _makepath_s(char *path, MSVCRT_size_t size, const char *drive, + const char *directory, const char *filename, + const char *extension) +{ + char *p = path; + + if (!path || !size) + { + *MSVCRT__errno() = MSVCRT_EINVAL; + return MSVCRT_EINVAL; + } + + if (drive && drive[0]) + { + if (size <= 2) + goto range; + + *p++ = drive[0]; + *p++ = ':'; + size -= 2; + } + + if (directory && directory[0]) + { + unsigned int len = strlen(directory); + unsigned int needs_separator = directory[len - 1] != '/' && directory[len - 1] != '\\'; + unsigned int copylen = min(size - 1, len); + + if (size < 2) + goto range; + + memmove(p, directory, copylen); + + if (size <= len) + goto range; + + p += copylen; + size -= copylen; + + if (needs_separator) + { + if (size < 2) + goto range; + + *p++ = '\\'; + size -= 1; + } + } + + if (filename && filename[0]) + { + unsigned int len = strlen(filename); + unsigned int copylen = min(size - 1, len); + + if (size < 2) + goto range; + + memmove(p, filename, copylen); + + if (size <= len) + goto range; + + p += len; + size -= len; + } + + if (extension && extension[0]) + { + unsigned int len = strlen(extension); + unsigned int needs_period = extension[0] != '.'; + unsigned int copylen; + + if (size < 2) + goto range; + + if (needs_period) + { + *p++ = '.'; + size -= 1; + } + + copylen = min(size - 1, len); + memcpy(p, extension, copylen); + + if (size <= len) + goto range; + + p += copylen; + } + + *p = '\0'; + return 0; + +range: + path[0] = '\0'; + *MSVCRT__errno() = MSVCRT_ERANGE; + return MSVCRT_ERANGE; +} + +/********************************************************************* + * _wmakepath_s (MSVCRT.@) + * + * Safe version of _wmakepath. + */ +int CDECL _wmakepath_s(MSVCRT_wchar_t *path, MSVCRT_size_t size, const MSVCRT_wchar_t *drive, + const MSVCRT_wchar_t *directory, const MSVCRT_wchar_t *filename, + const MSVCRT_wchar_t *extension) +{ + MSVCRT_wchar_t *p = path; + + if (!path || !size) + { + *MSVCRT__errno() = MSVCRT_EINVAL; + return MSVCRT_EINVAL; + } + + if (drive && drive[0]) + { + if (size <= 2) + goto range; + + *p++ = drive[0]; + *p++ = ':'; + size -= 2; + } + + if (directory && directory[0]) + { + unsigned int len = strlenW(directory); + unsigned int needs_separator = directory[len - 1] != '/' && directory[len - 1] != '\\'; + unsigned int copylen = min(size - 1, len); + + if (size < 2) + goto range; + + memmove(p, directory, copylen * sizeof(MSVCRT_wchar_t)); + + if (size <= len) + goto range; + + p += copylen; + size -= copylen; + + if (needs_separator) + { + if (size < 2) + goto range; + + *p++ = '\\'; + size -= 1; + } + } + + if (filename && filename[0]) + { + unsigned int len = strlenW(filename); + unsigned int copylen = min(size - 1, len); + + if (size < 2) + goto range; + + memmove(p, filename, copylen * sizeof(MSVCRT_wchar_t)); + + if (size <= len) + goto range; + + p += len; + size -= len; + } + + if (extension && extension[0]) + { + unsigned int len = strlenW(extension); + unsigned int needs_period = extension[0] != '.'; + unsigned int copylen; + + if (size < 2) + goto range; + + if (needs_period) + { + *p++ = '.'; + size -= 1; + } + + copylen = min(size - 1, len); + memcpy(p, extension, copylen * sizeof(MSVCRT_wchar_t)); + + if (size <= len) + goto range; + + p += copylen; + } + + *p = '\0'; + return 0; + +range: + path[0] = '\0'; + *MSVCRT__errno() = MSVCRT_ERANGE; + return MSVCRT_ERANGE; +} + +/********************************************************************* * _searchenv (MSVCRT.@) * * Search for a file in a list of paths from an environment variable. diff --git a/dlls/msvcrt/locale.c b/dlls/msvcrt/locale.c index 5a27de02d01..393a23d2dfd 100644 --- a/dlls/msvcrt/locale.c +++ b/dlls/msvcrt/locale.c @@ -466,6 +466,18 @@ int CDECL __crtLCMapStringA( } /********************************************************************* + * __crtLCMapStringW (MSVCRT.@) + */ +int CDECL __crtLCMapStringW(LCID lcid, DWORD mapflags, const MSVCRT_wchar_t *src, + int srclen, MSVCRT_wchar_t *dst, int dstlen, unsigned int codepage, int xflag) +{ + FIXME("(lcid %x, flags %x, %s(%d), %p(%d), %x, %d), partial stub!\n", + lcid, mapflags, debugstr_w(src), srclen, dst, dstlen, codepage, xflag); + + return LCMapStringW(lcid, mapflags, src, srclen, dst, dstlen); +} + +/********************************************************************* * __crtCompareStringA (MSVCRT.@) */ int CDECL __crtCompareStringA( LCID lcid, DWORD flags, const char *src1, int len1, diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index bba06d6e640..1bd3abd5e7f 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -140,7 +140,7 @@ @ cdecl __crtGetLocaleInfoW(long long ptr long) @ cdecl __crtGetStringTypeW(long long wstr long ptr) @ cdecl __crtLCMapStringA(long long str long ptr long long long) -# stub __crtLCMapStringW +@ cdecl __crtLCMapStringW(long long wstr long ptr long long long) # stub __daylight @ cdecl __dllonexit(ptr ptr ptr) @ cdecl __doserrno() MSVCRT___doserrno @@ -600,7 +600,7 @@ @ cdecl _ltow(long ptr long) ntdll._ltow # stub _ltow_s @ cdecl _makepath(ptr str str str str) -# stub _makepath_s +@ cdecl _makepath_s(ptr long str str str str) # stub _malloc_dbg @ cdecl _matherr(ptr) MSVCRT__matherr @ cdecl _mbbtombc(long) @@ -1089,8 +1089,8 @@ @ extern _winminor MSVCRT__winminor # stub _winput_s @ extern _winver MSVCRT__winver -@ cdecl _wmakepath(wstr wstr wstr wstr wstr) -# stub _wmakepath_s +@ cdecl _wmakepath(ptr wstr wstr wstr wstr) +@ cdecl _wmakepath_s(ptr long wstr wstr wstr wstr) @ cdecl _wmkdir(wstr) @ cdecl _wmktemp(wstr) # stub _wmktemp_s diff --git a/dlls/msvcrt/tests/dir.c b/dlls/msvcrt/tests/dir.c index 11a982093f2..83c533b5e52 100644 --- a/dlls/msvcrt/tests/dir.c +++ b/dlls/msvcrt/tests/dir.c @@ -31,6 +31,17 @@ #include #include +static int (__cdecl *p_makepath_s)(char *, size_t, const char *, const char *, const char *, const char *); +static int (__cdecl *p_wmakepath_s)(wchar_t *, size_t, const wchar_t *,const wchar_t *, const wchar_t *, const wchar_t *); + +static void init(void) +{ + HMODULE hmod = GetModuleHandleA("msvcrt.dll"); + + p_makepath_s = (void *)GetProcAddress(hmod, "_makepath_s"); + p_wmakepath_s = (void *)GetProcAddress(hmod, "_wmakepath_s"); +} + typedef struct { const char* buffer; @@ -121,6 +132,207 @@ static void test_makepath(void) } } +static const WCHAR expected0[] = {'\0','X','X','X','X','X','X','X','X','X','X','X','X'}; +static const WCHAR expected1[] = {'\0','X','X','X','X','X','X','X','X','X','X','X','X'}; +static const WCHAR expected2[] = {'\0',':','X','X','X','X','X','X','X','X','X','X','X'}; +static const WCHAR expected3[] = {'\0',':','d','X','X','X','X','X','X','X','X','X','X'}; +static const WCHAR expected4[] = {'\0',':','d','\\','X','X','X','X','X','X','X','X','X'}; +static const WCHAR expected5[] = {'\0',':','d','\\','f','X','X','X','X','X','X','X','X'}; +static const WCHAR expected6[] = {'\0',':','d','\\','f','i','X','X','X','X','X','X','X'}; +static const WCHAR expected7[] = {'\0',':','d','\\','f','i','l','X','X','X','X','X','X'}; +static const WCHAR expected8[] = {'\0',':','d','\\','f','i','l','e','X','X','X','X','X'}; +static const WCHAR expected9[] = {'\0',':','d','\\','f','i','l','e','.','X','X','X','X'}; +static const WCHAR expected10[] = {'\0',':','d','\\','f','i','l','e','.','e','X','X','X'}; +static const WCHAR expected11[] = {'\0',':','d','\\','f','i','l','e','.','e','x','X','X'}; + +static const WCHAR expected12[] = {'\0',':','X','X','X','X','X','X','X','X'}; +static const WCHAR expected13[] = {'\0',':','d','X','X','X','X','X','X','X'}; +static const WCHAR expected14[] = {'\0',':','d','i','X','X','X','X','X','X'}; +static const WCHAR expected15[] = {'\0',':','d','i','r','X','X','X','X','X'}; +static const WCHAR expected16[] = {'\0',':','d','i','r','\\','X','X','X','X'}; + +static const WCHAR expected17[] = {'\0','o','o'}; +static const WCHAR expected18[] = {'\0','o','o','\0','X'}; +static const WCHAR expected19[] = {'\0','o','o','\0'}; +static const WCHAR expected20[] = {'\0','o','o','\0','X','X','X','X','X'}; +static const WCHAR expected21[] = {'\0','o','o','\\','f','i','l','X','X'}; +static const WCHAR expected22[] = {'\0','o','o','\0','X','X','X','X','X','X','X','X','X'}; +static const WCHAR expected23[] = {'\0','o','o','\\','f','i','l','X','X','X','X','X','X'}; +static const WCHAR expected24[] = {'\0','o','o','\\','f','i','l','e','.','e','x','X','X'}; +static const WCHAR expected25[] = {'\0','o','o','\0','X','X','X','X'}; +static const WCHAR expected26[] = {'\0','o','o','.','e','x','X','X'}; + +typedef struct +{ + const char* buffer; + size_t length; + const char* drive; + const char* dir; + const char* file; + const char* ext; + const char* expected; + const WCHAR *expected_unicode; + size_t expected_length; +} makepath_s_case; + +static const makepath_s_case makepath_s_cases[] = +{ + /* Behavior with directory parameter containing backslash. */ + {NULL, 1, "c:", "d\\", "file", "ext", "\0XXXXXXXXXXXX", expected0, 13}, + {NULL, 2, "c:", "d\\", "file", "ext", "\0XXXXXXXXXXXX", expected1, 13}, + {NULL, 3, "c:", "d\\", "file", "ext", "\0:XXXXXXXXXXX", expected2, 13}, + {NULL, 4, "c:", "d\\", "file", "ext", "\0:dXXXXXXXXXX", expected3, 13}, + {NULL, 5, "c:", "d\\", "file", "ext", "\0:d\\XXXXXXXXX", expected4, 13}, + {NULL, 6, "c:", "d\\", "file", "ext", "\0:d\\fXXXXXXXX", expected5, 13}, + {NULL, 7, "c:", "d\\", "file", "ext", "\0:d\\fiXXXXXXX", expected6, 13}, + {NULL, 8, "c:", "d\\", "file", "ext", "\0:d\\filXXXXXX", expected7, 13}, + {NULL, 9, "c:", "d\\", "file", "ext", "\0:d\\fileXXXXX", expected8, 13}, + {NULL, 10, "c:", "d\\", "file", "ext", "\0:d\\file.XXXX", expected9, 13}, + {NULL, 11, "c:", "d\\", "file", "ext", "\0:d\\file.eXXX", expected10, 13}, + {NULL, 12, "c:", "d\\", "file", "ext", "\0:d\\file.exXX", expected11, 13}, + /* Behavior with directory parameter lacking backslash. */ + {NULL, 3, "c:", "dir", "f", "ext", "\0:XXXXXXXX", expected12, 10}, + {NULL, 4, "c:", "dir", "f", "ext", "\0:dXXXXXXX", expected13, 10}, + {NULL, 5, "c:", "dir", "f", "ext", "\0:diXXXXXX", expected14, 10}, + {NULL, 6, "c:", "dir", "f", "ext", "\0:dirXXXXX", expected15, 10}, + {NULL, 7, "c:", "dir", "f", "ext", "\0:dir\\XXXX", expected16, 10}, + /* Behavior with overlapped buffer. */ + {"foo", 2, USE_BUFF, NULL, NULL, NULL, "\0oo", expected17, 3}, + {"foo", 4, NULL, USE_BUFF, NULL, NULL, "\0oo\0X", expected18, 5}, + {"foo", 3, NULL, NULL, USE_BUFF, NULL, "\0oo\0", expected19, 4}, + {"foo", 4, NULL, USE_BUFF, "file", NULL, "\0oo\0XXXXX", expected20, 9}, + {"foo", 8, NULL, USE_BUFF, "file", NULL, "\0oo\\filXX", expected21, 9}, + {"foo", 4, NULL, USE_BUFF, "file", "ext", "\0oo\0XXXXXXXXX", expected22, 13}, + {"foo", 8, NULL, USE_BUFF, "file", "ext", "\0oo\\filXXXXXX", expected23, 13}, + {"foo", 12, NULL, USE_BUFF, "file", "ext", "\0oo\\file.exXX", expected24, 13}, + {"foo", 4, NULL, NULL, USE_BUFF, "ext", "\0oo\0XXXX", expected25, 8}, + {"foo", 7, NULL, NULL, USE_BUFF, "ext", "\0oo.exXX", expected26, 8}, +}; + +static void test_makepath_s(void) +{ + WCHAR driveW[MAX_PATH]; + WCHAR dirW[MAX_PATH]; + WCHAR fileW[MAX_PATH]; + WCHAR extW[MAX_PATH]; + WCHAR bufferW[MAX_PATH]; + char buffer[MAX_PATH]; + int ret; + unsigned int i, n; + + if (!p_makepath_s || !p_wmakepath_s) + { + win_skip("Safe makepath functions are not available\n"); + return; + } + + errno = EBADF; + ret = p_makepath_s(NULL, 0, NULL, NULL, NULL, NULL); + ok(ret == EINVAL, "Expected _makepath_s to return EINVAL, got %d\n", ret); + ok(errno == EINVAL, "Expected errno to be EINVAL, got %d\n", errno); + + errno = EBADF; + ret = p_makepath_s(buffer, 0, NULL, NULL, NULL, NULL); + ok(ret == EINVAL, "Expected _makepath_s to return EINVAL, got %d\n", ret); + ok(errno == EINVAL, "Expected errno to be EINVAL, got %d\n", errno); + + errno = EBADF; + ret = p_wmakepath_s(NULL, 0, NULL, NULL, NULL, NULL); + ok(ret == EINVAL, "Expected _wmakepath_s to return EINVAL, got %d\n", ret); + ok(errno == EINVAL, "Expected errno to be EINVAL, got %d\n", errno); + + errno = EBADF; + ret = p_wmakepath_s(bufferW, 0, NULL, NULL, NULL, NULL); + ok(ret == EINVAL, "Expected _wmakepath_s to return EINVAL, got %d\n", ret); + ok(errno == EINVAL, "Expected errno to be EINVAL, got %d\n", errno); + + /* Test with the normal _makepath cases. */ + for (i = 0; i < sizeof(makepath_cases)/sizeof(makepath_cases[0]); i++) + { + const makepath_case *p = makepath_cases + i; + + memset(buffer, 'X', MAX_PATH); + if (p->buffer) + strcpy(buffer, p->buffer); + + /* Ascii */ + ret = p_makepath_s(buffer, MAX_PATH, + p->drive == USE_BUFF ? buffer : p->drive, + p->dir == USE_BUFF ? buffer : p->dir, + p->file == USE_BUFF? buffer : p->file, + p->ext == USE_BUFF ? buffer : p->ext); + ok(ret == 0, "[%d] Expected _makepath_s to return 0, got %d\n", i, ret); + + buffer[MAX_PATH - 1] = '\0'; + ok(!strcmp(p->expected, buffer), "got '%s' for case %d\n", buffer, i); + + /* Unicode */ + if (p->drive != USE_BUFF) MultiByteToWideChar(CP_ACP, 0, p->drive, -1, driveW, MAX_PATH); + if (p->dir != USE_BUFF) MultiByteToWideChar(CP_ACP, 0, p->dir, -1, dirW, MAX_PATH); + if (p->file != USE_BUFF) MultiByteToWideChar(CP_ACP, 0, p->file, -1, fileW, MAX_PATH); + if (p->ext != USE_BUFF) MultiByteToWideChar(CP_ACP, 0, p->ext, -1, extW, MAX_PATH); + + memset(buffer, 0, MAX_PATH); + for (n = 0; n < MAX_PATH; ++n) + bufferW[n] = 'X'; + if (p->buffer) MultiByteToWideChar( CP_ACP, 0, p->buffer, -1, bufferW, MAX_PATH); + + ret = p_wmakepath_s(bufferW, MAX_PATH, + p->drive == USE_BUFF ? bufferW : p->drive ? driveW : NULL, + p->dir == USE_BUFF ? bufferW : p->dir ? dirW : NULL, + p->file == USE_BUFF? bufferW : p->file ? fileW : NULL, + p->ext == USE_BUFF ? bufferW : p->ext ? extW : NULL); + ok(ret == 0, "[%d] Expected _wmakepath_s to return 0, got %d\n", i, ret); + + bufferW[MAX_PATH - 1] = '\0'; + WideCharToMultiByte(CP_ACP, 0, bufferW, -1, buffer, MAX_PATH, NULL, NULL); + ok(!strcmp(p->expected, buffer), "got '%s' for unicode case %d\n", buffer, i); + } + + /* Try insufficient length cases. */ + for (i = 0; i < sizeof(makepath_s_cases)/sizeof(makepath_s_cases[0]); i++) + { + const makepath_s_case *p = makepath_s_cases + i; + + memset(buffer, 'X', MAX_PATH); + if (p->buffer) + strcpy(buffer, p->buffer); + + /* Ascii */ + errno = EBADF; + ret = p_makepath_s(buffer, p->length, + p->drive == USE_BUFF ? buffer : p->drive, + p->dir == USE_BUFF ? buffer : p->dir, + p->file == USE_BUFF? buffer : p->file, + p->ext == USE_BUFF ? buffer : p->ext); + ok(ret == ERANGE, "[%d] Expected _makepath_s to return ERANGE, got %d\n", i, ret); + ok(errno == ERANGE, "[%d] Expected errno to be ERANGE, got %d\n", i, errno); + ok(!memcmp(p->expected, buffer, p->expected_length), "unexpected output for case %d\n", i); + + /* Unicode */ + if (p->drive != USE_BUFF) MultiByteToWideChar(CP_ACP, 0, p->drive, -1, driveW, MAX_PATH); + if (p->dir != USE_BUFF) MultiByteToWideChar(CP_ACP, 0, p->dir, -1, dirW, MAX_PATH); + if (p->file != USE_BUFF) MultiByteToWideChar(CP_ACP, 0, p->file, -1, fileW, MAX_PATH); + if (p->ext != USE_BUFF) MultiByteToWideChar(CP_ACP, 0, p->ext, -1, extW, MAX_PATH); + + memset(buffer, 0, MAX_PATH); + for (n = 0; n < MAX_PATH; ++n) + bufferW[n] = 'X'; + if (p->buffer) MultiByteToWideChar( CP_ACP, 0, p->buffer, -1, bufferW, MAX_PATH); + + errno = EBADF; + ret = p_wmakepath_s(bufferW, p->length, + p->drive == USE_BUFF ? bufferW : p->drive ? driveW : NULL, + p->dir == USE_BUFF ? bufferW : p->dir ? dirW : NULL, + p->file == USE_BUFF? bufferW : p->file ? fileW : NULL, + p->ext == USE_BUFF ? bufferW : p->ext ? extW : NULL); + ok(ret == ERANGE, "[%d] Expected _wmakepath_s to return ERANGE, got %d\n", i, ret); + ok(errno == ERANGE, "[%d] Expected errno to be ERANGE, got %d\n", i, errno); + + ok(!memcmp(p->expected_unicode, bufferW, p->expected_length * sizeof(WCHAR)), "unexpected output for case %d\n", i); + } +} + static void test_fullpath(void) { char full[MAX_PATH]; @@ -180,6 +392,9 @@ static void test_fullpath(void) START_TEST(dir) { + init(); + test_fullpath(); test_makepath(); + test_makepath_s(); } diff --git a/dlls/msvcrt/tests/file.c b/dlls/msvcrt/tests/file.c index 3afc149ded0..ef7b28dfc6c 100644 --- a/dlls/msvcrt/tests/file.c +++ b/dlls/msvcrt/tests/file.c @@ -1414,7 +1414,7 @@ static void test_unlink(void) rmdir("test_unlink"); } -void test_dup2(void) +static void test_dup2(void) { ok(-1 == _dup2(0, -1), "expected _dup2 to fail when second arg is negative\n" ); } diff --git a/dlls/msvcrt/tests/misc.c b/dlls/msvcrt/tests/misc.c index 82dda5dbf60..0e45ebadbed 100644 --- a/dlls/msvcrt/tests/misc.c +++ b/dlls/msvcrt/tests/misc.c @@ -96,7 +96,7 @@ static void test_memcpy_s(void) ret = pmemcpy_s(data, 10, data, 10); ok(ret == 0, "ret = %x\n", ret); ok(errno == 0xdeadbeef, "errno = %x\n", errno); - ok(!memcmp(dest, data, 5), "data was destroyed during overwritting\n"); + ok(!memcmp(dest, data, 5), "data was destroyed during overwriting\n"); errno = 0xdeadbeef; dest[0] = 'x'; diff --git a/dlls/msvcrt/tests/string.c b/dlls/msvcrt/tests/string.c index 1a362a1f9f1..b70d7779012 100644 --- a/dlls/msvcrt/tests/string.c +++ b/dlls/msvcrt/tests/string.c @@ -975,7 +975,7 @@ static void test__strtoi64(void) ok(res == 123, "res != 123\n"); ok(endpos == oct+strlen(oct), "Incorrect endpos (%p-%p)\n", oct, endpos); res = p_strtoi64(blanks, &endpos, 10); - ok(res == 12, "res != 12"); + ok(res == 12, "res != 12\n"); ok(endpos == blanks+10, "Incorrect endpos (%p-%p)\n", blanks, endpos); ok(errno == 0xdeadbeef, "errno = %x\n", errno); diff --git a/dlls/msvfw32/Makefile.in b/dlls/msvfw32/Makefile.in index 292e345f419..e431ce54aee 100644 --- a/dlls/msvfw32/Makefile.in +++ b/dlls/msvfw32/Makefile.in @@ -25,6 +25,7 @@ RC_SRCS = \ msvfw32_No.rc \ msvfw32_Pl.rc \ msvfw32_Pt.rc \ + msvfw32_Ro.rc \ msvfw32_Ru.rc \ msvfw32_Si.rc \ msvfw32_Sv.rc \ diff --git a/dlls/msvfw32/msvfw32_Ro.rc b/dlls/msvfw32/msvfw32_Ro.rc new file mode 100644 index 00000000000..69527b09660 --- /dev/null +++ b/dlls/msvfw32/msvfw32_Ro.rc @@ -0,0 +1,57 @@ +/* + * Copyright 2005 Dmitry Timoshkov + * Copyright 2010 Claudia Cotună + * Michael Stefaniuc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "msvideo_private.h" + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +#pragma code_page(65001) + +ICM_CHOOSE_COMPRESSOR DIALOG DISCARDABLE 36, 24, 200, 95 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Compresie video" +FONT 8, "MS Shell Dlg" +{ + DEFPUSHBUTTON "OK",IDOK,140,2,51,14 + PUSHBUTTON "Renunță",IDCANCEL,140,18,51,14 + + LTEXT "&Compresor:",-1,9,6,105,8 + COMBOBOX 880,9,16,111,67,CBS_DROPDOWNLIST|WS_VSCROLL|WS_TABSTOP + + PUSHBUTTON "Con&figurare...",882,140,36,51,14 + PUSHBUTTON "&Despre...",883,140,52,51,14 + + SCROLLBAR 884,9,44,111,9,WS_TABSTOP + + LTEXT "Ca&litatea compresiei:",886,9,34,80,8 + + CONTROL "Cadru c&heie la fiecare",887,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,60,82,12 + EDITTEXT 888,93,60,22,12 + LTEXT "cadre",889,118,62,22,10 + + CONTROL "Rata de &date",894,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,9,76,70,12 + EDITTEXT 895,93,76,22,12 + LTEXT "KO/sec",896,118,78,22,10 +} + +STRINGTABLE DISCARDABLE +{ + IDS_FULLFRAMES "Cadre întregi (necomprimate)" +} diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c index 34be70cd38a..54e4728f58a 100644 --- a/dlls/msxml3/domdoc.c +++ b/dlls/msxml3/domdoc.c @@ -141,14 +141,14 @@ static xmldoc_priv * create_priv(void) return priv; } -static xmlDocPtr doparse( char *ptr, int len ) +static xmlDocPtr doparse( char *ptr, int len, const char *encoding ) { #ifdef HAVE_XMLREADMEMORY /* * use xmlReadMemory if possible so we can suppress * writing errors to stderr */ - return xmlReadMemory( ptr, len, NULL, "UTF-8", + return xmlReadMemory( ptr, len, NULL, encoding, XML_PARSE_NOERROR | XML_PARSE_NOWARNING | XML_PARSE_NOBLANKS ); #else return xmlParseMemory( ptr, len ); @@ -158,7 +158,7 @@ static xmlDocPtr doparse( char *ptr, int len ) LONG xmldoc_add_ref(xmlDocPtr doc) { LONG ref = InterlockedIncrement(&priv_from_xmlDocPtr(doc)->refs); - TRACE("%d\n", ref); + TRACE("(%p)->(%d)\n", doc, ref); return ref; } @@ -166,7 +166,7 @@ LONG xmldoc_release(xmlDocPtr doc) { xmldoc_priv *priv = priv_from_xmlDocPtr(doc); LONG ref = InterlockedDecrement(&priv->refs); - TRACE("%d\n", ref); + TRACE("(%p)->(%d)\n", doc, ref); if(ref == 0) { orphan_entry *orphan, *orphan2; @@ -1060,7 +1060,7 @@ static HRESULT WINAPI domdoc_createElement( V_VT(&type) = VT_I1; V_I1(&type) = NODE_ELEMENT; - hr = IXMLDOMDocument_createNode(iface, type, tagname, NULL, &node); + hr = IXMLDOMDocument2_createNode(iface, type, tagname, NULL, &node); if (hr == S_OK) { IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMElement, (void**)element); @@ -1089,7 +1089,7 @@ static HRESULT WINAPI domdoc_createDocumentFragment( V_VT(&type) = VT_I1; V_I1(&type) = NODE_DOCUMENT_FRAGMENT; - hr = IXMLDOMDocument_createNode(iface, type, NULL, NULL, &node); + hr = IXMLDOMDocument2_createNode(iface, type, NULL, NULL, &node); if (hr == S_OK) { IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMDocumentFragment, (void**)frag); @@ -1249,7 +1249,7 @@ static HRESULT WINAPI domdoc_createAttribute( V_VT(&type) = VT_I1; V_I1(&type) = NODE_ATTRIBUTE; - hr = IXMLDOMDocument_createNode(iface, type, name, NULL, &node); + hr = IXMLDOMDocument2_createNode(iface, type, name, NULL, &node); if (hr == S_OK) { IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMAttribute, (void**)attribute); @@ -1447,7 +1447,7 @@ static HRESULT domdoc_onDataAvailable(void *obj, char *ptr, DWORD len) domdoc *This = obj; xmlDocPtr xmldoc; - xmldoc = doparse( ptr, len ); + xmldoc = doparse( ptr, len, NULL ); if(xmldoc) { xmldoc->_private = create_priv(); return attach_xmldoc(&This->node, xmldoc); @@ -1683,9 +1683,9 @@ static HRESULT WINAPI domdoc_loadXML( { *isSuccessful = VARIANT_FALSE; - if ( bstrXML && bstr_to_utf8( bstrXML, &str, &len ) ) + if ( bstrXML && bstr_to_utf8( bstrXML, &str, &len ) ) { - xmldoc = doparse( str, len ); + xmldoc = doparse( str, len, "UTF-8" ); heap_free( str ); if ( !xmldoc ) This->error = E_FAIL; @@ -1747,23 +1747,23 @@ static HRESULT WINAPI domdoc_save( if(V_VT(&destination) == VT_UNKNOWN) { IUnknown *pUnk = V_UNKNOWN(&destination); - IXMLDOMDocument *pDocument; + IXMLDOMDocument2 *pDocument; - ret = IXMLDOMDocument_QueryInterface(pUnk, &IID_IXMLDOMDocument2, (void**)&pDocument); + ret = IUnknown_QueryInterface(pUnk, &IID_IXMLDOMDocument2, (void**)&pDocument); if(ret == S_OK) { BSTR bXML; VARIANT_BOOL bSuccessful; - ret = IXMLDOMDocument_get_xml(iface, &bXML); + ret = IXMLDOMDocument2_get_xml(iface, &bXML); if(ret == S_OK) { - ret = IXMLDOMDocument_loadXML(pDocument, bXML, &bSuccessful); + ret = IXMLDOMDocument2_loadXML(pDocument, bXML, &bSuccessful); SysFreeString(bXML); } - IXMLDOMDocument_Release(pDocument); + IXMLDOMDocument2_Release(pDocument); } TRACE("ret %d\n", ret); diff --git a/dlls/msxml3/factory.c b/dlls/msxml3/factory.c index af94d5cbcf1..3fd229cee63 100644 --- a/dlls/msxml3/factory.c +++ b/dlls/msxml3/factory.c @@ -162,7 +162,8 @@ HRESULT WINAPI DllGetClassObject( REFCLSID rclsid, REFIID iid, LPVOID *ppv ) cf = (IClassFactory*) &xmldoccf.lpVtbl; } else if( IsEqualCLSID( rclsid, &CLSID_DOMFreeThreadedDocument ) || /* Version indep. v 2.x */ - IsEqualCLSID( rclsid, &CLSID_FreeThreadedDOMDocument ) ) + IsEqualCLSID( rclsid, &CLSID_FreeThreadedDOMDocument ) || + IsEqualCLSID( rclsid, &CLSID_FreeThreadedDOMDocument30 )) { cf = (IClassFactory*) &domdoccf.lpVtbl; } diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c index e263a2a143d..135844ff1fd 100644 --- a/dlls/msxml3/node.c +++ b/dlls/msxml3/node.c @@ -437,6 +437,7 @@ static HRESULT WINAPI xmlnode_get_firstChild( IXMLDOMNode** firstChild) { xmlnode *This = impl_from_IXMLDOMNode( iface ); + TRACE("(%p)->(%p)\n", This, firstChild); return get_node( This, "firstChild", This->node->children, firstChild ); } @@ -1631,6 +1632,7 @@ static HRESULT WINAPI xmlnode_get_baseName( break; case XML_TEXT_NODE: case XML_COMMENT_NODE: + case XML_DOCUMENT_NODE: break; default: ERR("Unhandled type %d\n", This->node->type ); diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c index 605628f0a6a..9c1440cffaa 100644 --- a/dlls/msxml3/tests/domdoc.c +++ b/dlls/msxml3/tests/domdoc.c @@ -656,6 +656,11 @@ if (0) r = IXMLDOMDocument_get_nodeName( doc, NULL ); ok ( r == E_INVALIDARG, "get_nodeName (NULL) wrong code\n"); + str = (BSTR)0xdeadbeef; + r = IXMLDOMDocument_get_baseName( doc, &str ); + ok ( r == S_FALSE, "got 0x%08x\n", r); + ok (str == NULL, "got %p\n", str); + /* content doesn't matter here */ str = NULL; r = IXMLDOMDocument_get_nodeName( doc, &str ); @@ -2964,6 +2969,8 @@ static void test_XPath(void) expect_list_and_release(list, ""); ole_check(IXMLDOMDocument_selectNodes(doc, _bstr_("//elem[4]"), &list)); expect_list_and_release(list, ""); + ole_check(IXMLDOMDocument_selectNodes(doc, _bstr_("root//elem[0]"), &list)); + expect_list_and_release(list, ""); /* foo undeclared in document node */ ole_expect(IXMLDOMDocument_selectNodes(doc, _bstr_("root//foo:c"), &list), E_FAIL); @@ -5519,6 +5526,38 @@ static void test_document_IObjectSafety(void) IXMLDOMDocument_Release(doc); } +static void test_XSLPattern(void) +{ + IXMLDOMDocument2 *doc; + IXMLDOMNodeList *list; + VARIANT_BOOL b; + HRESULT r; + LONG len; + + r = CoCreateInstance( &CLSID_DOMDocument, NULL, + CLSCTX_INPROC_SERVER, &IID_IXMLDOMDocument2, (void**)&doc ); + ok( r == S_OK, "CoCreateInstance(CLSID_DOMDocument) should have succeeded instead of failing with 0x%08x\n", r ); + if( r != S_OK ) + return; + + ole_check(IXMLDOMDocument2_loadXML(doc, _bstr_(szExampleXML), &b)); + ok(b == VARIANT_TRUE, "failed to load XML string\n"); + + /* switch to XPath */ + ole_check(IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionLanguage"), _variantbstr_("XSLPattern"))); + + /* for XSLPattern start index is 0, for XPath it's 1 */ + ole_check(IXMLDOMDocument2_selectNodes(doc, _bstr_("root//elem[0]"), &list)); + len = 0; + ole_check(IXMLDOMNodeList_get_length(list, &len)); + todo_wine ok(len != 0, "expected filled list\n"); + if (len) + todo_wine expect_list_and_release(list, "E1.E2.D1"); + + IXMLDOMDocument2_Release(doc); + free_bstrs(); +} + START_TEST(domdoc) { IXMLDOMDocument *doc; @@ -5547,6 +5586,7 @@ START_TEST(domdoc) test_removeNamedItem(); test_IXMLDOMDocument2(); test_XPath(); + test_XSLPattern(); test_cloneNode(); test_xmlTypes(); test_nodeTypeTests(); diff --git a/dlls/msxml3/tests/xmlelem.c b/dlls/msxml3/tests/xmlelem.c index 3304d5a59bd..f38d515c4e7 100644 --- a/dlls/msxml3/tests/xmlelem.c +++ b/dlls/msxml3/tests/xmlelem.c @@ -357,6 +357,16 @@ static void test_xmlelem_collection(void) ok(V_VT(&var) == VT_DISPATCH, "Expected VT_DISPATCH, got %d\n", V_VT(&var)); ok(num_vars == 1, "Expected 1, got %d\n", num_vars); + /* try advance further, no children left */ + hr = IEnumVARIANT_Next(enumVar, 1, &var, &num_vars); + ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr); + ok(V_VT(&var) == 0, "Expected 0, got %d\n", V_VT(&var)); + ok(num_vars == 0, "Expected 0, got %d\n", num_vars); + + hr = IEnumVARIANT_Next(enumVar, 1, &var, NULL); + ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr); + ok(V_VT(&var) == 0, "Expected 0, got %d\n", V_VT(&var)); + hr = IUnknown_QueryInterface(V_DISPATCH(&var), &IID_IXMLElement, (LPVOID *)&child); ok(hr == S_OK, "Expected S_OK, got %08x\n", hr); ok(child != NULL, "Expected non-NULL child\n"); diff --git a/dlls/msxml3/xmlelem.c b/dlls/msxml3/xmlelem.c index 3ff307b3abe..a71b18b1167 100644 --- a/dlls/msxml3/xmlelem.c +++ b/dlls/msxml3/xmlelem.c @@ -238,46 +238,65 @@ static HRESULT WINAPI xmlelem_setAttribute(IXMLElement *iface, BSTR strPropertyN return (attr) ? S_OK : S_FALSE; } -static HRESULT WINAPI xmlelem_getAttribute(IXMLElement *iface, BSTR strPropertyName, - VARIANT *PropertyValue) +static HRESULT WINAPI xmlelem_getAttribute(IXMLElement *iface, BSTR name, + VARIANT *value) { + static const WCHAR xmllangW[] = { 'x','m','l',':','l','a','n','g',0 }; xmlelem *This = impl_from_IXMLElement(iface); - xmlChar *val = NULL, *name; - xmlAttrPtr ptr; + xmlChar *val = NULL; - TRACE("(%p, %s, %p)\n", iface, debugstr_w(strPropertyName), PropertyValue); + TRACE("(%p, %s, %p)\n", iface, debugstr_w(name), value); - if (!PropertyValue) + if (!value) return E_INVALIDARG; - VariantInit(PropertyValue); - V_BSTR(PropertyValue) = NULL; + VariantInit(value); + V_BSTR(value) = NULL; - if (!strPropertyName) + if (!name) return E_INVALIDARG; - name = xmlChar_from_wchar(strPropertyName); - ptr = This->node->properties; - while (ptr) + /* case for xml:lang attribute */ + if (!lstrcmpiW(name, xmllangW)) { - if (!lstrcmpiA((LPSTR)name, (LPCSTR)ptr->name)) + xmlNsPtr ns; + ns = xmlSearchNs(This->node->doc, This->node, (xmlChar*)"xml"); + val = xmlGetNsProp(This->node, (xmlChar*)"lang", ns->href); + } + else + { + xmlAttrPtr attr; + xmlChar *xml_name; + + xml_name = xmlChar_from_wchar(name); + attr = This->node->properties; + while (attr) { - val = xmlNodeListGetString(ptr->doc, ptr->children, 1); - break; + BSTR attr_name; + + attr_name = bstr_from_xmlChar(attr->name); + if (!lstrcmpiW(name, attr_name)) + { + val = xmlNodeListGetString(attr->doc, attr->children, 1); + SysFreeString(attr_name); + break; + } + + attr = attr->next; + SysFreeString(attr_name); } - ptr = ptr->next; + heap_free(xml_name); } if (val) { - V_VT(PropertyValue) = VT_BSTR; - V_BSTR(PropertyValue) = bstr_from_xmlChar(val); + V_VT(value) = VT_BSTR; + V_BSTR(value) = bstr_from_xmlChar(val); } - heap_free(name); xmlFree(val); - TRACE("returning %s\n", debugstr_w(V_BSTR(PropertyValue))); + TRACE("returning %s\n", debugstr_w(V_BSTR(value))); return (val) ? S_OK : S_FALSE; } @@ -703,21 +722,28 @@ static ULONG WINAPI xmlelem_collection_IEnumVARIANT_Release( } static HRESULT WINAPI xmlelem_collection_IEnumVARIANT_Next( - IEnumVARIANT *iface, ULONG celt, VARIANT *rgVar, ULONG *pCeltFetched) + IEnumVARIANT *iface, ULONG celt, VARIANT *rgVar, ULONG *fetched) { xmlelem_collection *This = impl_from_IEnumVARIANT(iface); xmlNodePtr ptr = This->current; - TRACE("(%p, %d, %p, %p)\n", iface, celt, rgVar, pCeltFetched); + TRACE("(%p, %d, %p, %p)\n", iface, celt, rgVar, fetched); if (!rgVar) return E_INVALIDARG; /* FIXME: handle celt */ - if (pCeltFetched) - *pCeltFetched = 1; + if (fetched) + *fetched = 1; - This->current = This->current->next; + if (This->current) + This->current = This->current->next; + else + { + V_VT(rgVar) = VT_EMPTY; + if (fetched) *fetched = 0; + return S_FALSE; + } V_VT(rgVar) = VT_DISPATCH; return XMLElement_create((IUnknown *)iface, ptr, (LPVOID *)&V_DISPATCH(rgVar), FALSE); diff --git a/dlls/ntdll/error.c b/dlls/ntdll/error.c index 5537c870154..80bf787817f 100644 --- a/dlls/ntdll/error.c +++ b/dlls/ntdll/error.c @@ -132,7 +132,7 @@ DWORD WINAPI RtlGetLastWin32Error(void) * NtRaiseHardError (NTDLL.@) */ NTSTATUS WINAPI NtRaiseHardError( NTSTATUS ErrorStatus, ULONG NumberOfParameters, - PUNICODE_STRING UnicodeStringParameterMask, PVOID *Paramaters, + PUNICODE_STRING UnicodeStringParameterMask, PVOID *Parameters, HARDERROR_RESPONSE_OPTION ResponseOption, PHARDERROR_RESPONSE Response ) { FIXME(": stub. Errorstatus was %08x\n", ErrorStatus); diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c index 30b93aa523f..0a6ee55298f 100644 --- a/dlls/ntdll/file.c +++ b/dlls/ntdll/file.c @@ -582,6 +582,7 @@ NTSTATUS WINAPI NtReadFile(HANDLE hFile, HANDLE hEvent, ULONG total = 0; enum server_fd_type type; ULONG_PTR cvalue = apc ? 0 : (ULONG_PTR)apc_user; + BOOL send_completion = FALSE; TRACE("(%p,%p,%p,%p,%p,%p,0x%08x,%p,%p),partial stub!\n", hFile,hEvent,apc,apc_user,io_status,buffer,length,offset,key); @@ -730,7 +731,7 @@ NTSTATUS WINAPI NtReadFile(HANDLE hFile, HANDLE hEvent, } done: - if (cvalue) NTDLL_AddCompletion( hFile, cvalue, status, total ); + send_completion = cvalue != 0; err: if (needs_close) close( unix_handle ); @@ -748,6 +749,9 @@ err: TRACE("= 0x%08x\n", status); if (status != STATUS_PENDING && hEvent) NtResetEvent( hEvent, NULL ); } + + if (send_completion) NTDLL_AddCompletion( hFile, cvalue, status, total ); + return status; } @@ -767,6 +771,7 @@ NTSTATUS WINAPI NtReadFileScatter( HANDLE file, HANDLE event, PIO_APC_ROUTINE ap ULONG pos = 0, total = 0; enum server_fd_type type; ULONG_PTR cvalue = apc ? 0 : (ULONG_PTR)apc_user; + BOOL send_completion = FALSE; TRACE( "(%p,%p,%p,%p,%p,%p,0x%08x,%p,%p),partial stub!\n", file, event, apc, apc_user, io_status, segments, length, offset, key); @@ -814,7 +819,7 @@ NTSTATUS WINAPI NtReadFileScatter( HANDLE file, HANDLE event, PIO_APC_ROUTINE ap } } - if (cvalue) NTDLL_AddCompletion( file, cvalue, status, total ); + send_completion = cvalue != 0; error: if (needs_close) close( unix_handle ); @@ -832,6 +837,9 @@ NTSTATUS WINAPI NtReadFileScatter( HANDLE file, HANDLE event, PIO_APC_ROUTINE ap TRACE("= 0x%08x\n", status); if (status != STATUS_PENDING && event) NtResetEvent( event, NULL ); } + + if (send_completion) NTDLL_AddCompletion( file, cvalue, status, total ); + return status; } @@ -921,6 +929,7 @@ NTSTATUS WINAPI NtWriteFile(HANDLE hFile, HANDLE hEvent, ULONG total = 0; enum server_fd_type type; ULONG_PTR cvalue = apc ? 0 : (ULONG_PTR)apc_user; + BOOL send_completion = FALSE; TRACE("(%p,%p,%p,%p,%p,%p,0x%08x,%p,%p)!\n", hFile,hEvent,apc,apc_user,io_status,buffer,length,offset,key); @@ -1054,7 +1063,7 @@ NTSTATUS WINAPI NtWriteFile(HANDLE hFile, HANDLE hEvent, } done: - if (cvalue) NTDLL_AddCompletion( hFile, cvalue, status, total ); + send_completion = cvalue != 0; err: if (needs_close) close( unix_handle ); @@ -1072,6 +1081,9 @@ err: TRACE("= 0x%08x\n", status); if (status != STATUS_PENDING && hEvent) NtResetEvent( hEvent, NULL ); } + + if (send_completion) NTDLL_AddCompletion( hFile, cvalue, status, total ); + return status; } @@ -1091,6 +1103,7 @@ NTSTATUS WINAPI NtWriteFileGather( HANDLE file, HANDLE event, PIO_APC_ROUTINE ap ULONG pos = 0, total = 0; enum server_fd_type type; ULONG_PTR cvalue = apc ? 0 : (ULONG_PTR)apc_user; + BOOL send_completion = FALSE; TRACE( "(%p,%p,%p,%p,%p,%p,0x%08x,%p,%p),partial stub!\n", file, event, apc, apc_user, io_status, segments, length, offset, key); @@ -1143,7 +1156,7 @@ NTSTATUS WINAPI NtWriteFileGather( HANDLE file, HANDLE event, PIO_APC_ROUTINE ap } } - if (cvalue) NTDLL_AddCompletion( file, cvalue, status, total ); + send_completion = cvalue != 0; error: if (needs_close) close( unix_handle ); @@ -1161,6 +1174,9 @@ NTSTATUS WINAPI NtWriteFileGather( HANDLE file, HANDLE event, PIO_APC_ROUTINE ap TRACE("= 0x%08x\n", status); if (status != STATUS_PENDING && event) NtResetEvent( event, NULL ); } + + if (send_completion) NTDLL_AddCompletion( file, cvalue, status, total ); + return status; } diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c index 08ee7843ddc..8564c0aad8c 100644 --- a/dlls/ntdll/server.c +++ b/dlls/ntdll/server.c @@ -752,6 +752,18 @@ static void setup_config_dir(void) mkdir( config_dir, 0777 ); if (chdir( config_dir ) == -1) fatal_perror( "chdir to %s\n", config_dir ); + + if ((p = getenv( "WINEARCH" )) && !strcmp( p, "win32" )) + { + /* force creation of a 32-bit prefix */ + int fd = open( "system.reg", O_WRONLY | O_CREAT | O_EXCL, 0666 ); + if (fd != -1) + { + static const char regfile[] = "WINE REGISTRY Version 2\n\n#arch=win32\n"; + write( fd, regfile, sizeof(regfile) - 1 ); + close( fd ); + } + } MESSAGE( "wine: created the configuration directory '%s'\n", config_dir ); } @@ -1040,6 +1052,7 @@ NTSTATUS server_init_process_done(void) size_t server_init_thread( void *entry_point ) { static const int is_win64 = (sizeof(void *) > sizeof(int)); + const char *arch = getenv( "WINEARCH" ); int ret; int reply_pipe[2]; struct sigaction sig_act; @@ -1090,6 +1103,15 @@ size_t server_init_thread( void *entry_point ) switch (ret) { case STATUS_SUCCESS: + if (arch) + { + if (!strcmp( arch, "win32" ) && (is_win64 || is_wow64)) + fatal_error( "WINEARCH set to win32 but '%s' is a 64-bit installation.\n", + wine_get_config_dir() ); + if (!strcmp( arch, "win64" ) && !is_wow64) + fatal_error( "WINEARCH set to win64 but '%s' is a 32-bit installation.\n", + wine_get_config_dir() ); + } return info_size; case STATUS_NOT_REGISTRY_FILE: fatal_error( "'%s' is a 32-bit installation, it cannot support 64-bit applications.\n", diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c index b003436f83c..c08693e69cf 100644 --- a/dlls/ntdll/signal_i386.c +++ b/dlls/ntdll/signal_i386.c @@ -2155,6 +2155,7 @@ void signal_free_thread( TEB *teb ) */ void signal_init_thread( TEB *teb ) { + const WORD fpu_cw = 0x27f; struct ntdll_thread_data *thread_data = (struct ntdll_thread_data *)teb->SpareBytes1; LDT_ENTRY fs_entry; stack_t ss; @@ -2178,15 +2179,11 @@ void signal_init_thread( TEB *teb ) wine_ldt_init_fs( thread_data->fs, &fs_entry ); thread_data->gs = wine_get_gs(); - if (teb->Peb->ProcessHeap) /* Not for the inital thread. */ - { - const WORD fpu_cw = 0x27f; #ifdef __GNUC__ - __asm__ volatile ("fninit; fldcw %0" : : "m" (fpu_cw)); + __asm__ volatile ("fninit; fldcw %0" : : "m" (fpu_cw)); #else - FIXME("FPU setup not implemented for this platform.\n"); + FIXME("FPU setup not implemented for this platform.\n"); #endif - } } /********************************************************************** diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c index 188224dc5d6..48f8b6d4a0a 100644 --- a/dlls/ntdll/signal_x86_64.c +++ b/dlls/ntdll/signal_x86_64.c @@ -2330,6 +2330,7 @@ void signal_free_thread( TEB *teb ) */ void signal_init_thread( TEB *teb ) { + const WORD fpu_cw = 0x27f; stack_t ss; #if defined __linux__ @@ -2345,15 +2346,11 @@ void signal_init_thread( TEB *teb ) ss.ss_flags = 0; if (sigaltstack(&ss, NULL) == -1) perror( "sigaltstack" ); - if (teb->Peb->ProcessHeap) /* Not for the inital thread. */ - { - const WORD fpu_cw = 0x27f; #ifdef __GNUC__ - __asm__ volatile ("fninit; fldcw %0" : : "m" (fpu_cw)); + __asm__ volatile ("fninit; fldcw %0" : : "m" (fpu_cw)); #else - FIXME("FPU setup not implemented for this platform.\n"); + FIXME("FPU setup not implemented for this platform.\n"); #endif - } } /********************************************************************** diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c index 154a7c7cb2b..598544e474f 100644 --- a/dlls/ntdll/tests/exception.c +++ b/dlls/ntdll/tests/exception.c @@ -143,9 +143,9 @@ static const struct exception /* 20 */ /* test overlong instruction (limit is 15 bytes, 5 on Win7) */ { { 0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0xfa,0xc3 }, - 0, 16, FALSE, STATUS_ILLEGAL_INSTRUCTION, 0 }, + 0, 16, TRUE, STATUS_ILLEGAL_INSTRUCTION, 0 }, { { 0x64,0x64,0x64,0x64,0xfa,0xc3 }, - 0, 5, FALSE, STATUS_PRIVILEGED_INSTRUCTION, 0 }, + 0, 5, TRUE, STATUS_PRIVILEGED_INSTRUCTION, 0 }, /* test invalid interrupt */ { { 0xcd, 0xff, 0xc3 }, /* 21: int $0xff; ret */ @@ -246,7 +246,9 @@ static LONG CALLBACK rtlraiseexception_vectored_handler(EXCEPTION_POINTERS *Exce rec->ExceptionAddress, (char *)code_mem + 0xb); if (pNtCurrentTeb()->Peb->BeingDebugged) - ok((void *)context->Eax == pRtlRaiseException, "debugger managed to modify Eax to %x should be %p\n", + ok((void *)context->Eax == pRtlRaiseException || + broken( is_wow64 && context->Eax == 0xf00f00f1 ), /* broken on vista */ + "debugger managed to modify Eax to %x should be %p\n", context->Eax, pRtlRaiseException); /* check that context.Eip is fixed up only for EXCEPTION_BREAKPOINT @@ -773,7 +775,9 @@ static void test_debugger(void) /* ctx.Eip is the same value the exception handler got */ if (de.u.Exception.ExceptionRecord.ExceptionCode == EXCEPTION_BREAKPOINT) { - ok((char *)ctx.Eip == (char *)code_mem_address + 0xa, "Eip at 0x%x instead of %p\n", + ok((char *)ctx.Eip == (char *)code_mem_address + 0xa || + broken(is_wow64 && (char *)ctx.Eip == (char *)code_mem_address + 0xb), + "Eip at 0x%x instead of %p\n", ctx.Eip, (char *)code_mem_address + 0xa); /* need to fixup Eip for debuggee */ if ((char *)ctx.Eip == (char *)code_mem_address + 0xa) @@ -824,7 +828,8 @@ static DWORD simd_fault_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTRATION_R ok( rec->ExceptionCode == STATUS_FLOAT_MULTIPLE_TRAPS, "exception code: %#x, should be %#x\n", rec->ExceptionCode, STATUS_FLOAT_MULTIPLE_TRAPS); - ok( rec->NumberParameters == 1, "# of params: %i, should be 1\n", + ok( rec->NumberParameters == 1 || broken(is_wow64 && rec->NumberParameters == 2), + "# of params: %i, should be 1\n", rec->NumberParameters); if( rec->NumberParameters == 1 ) ok( rec->ExceptionInformation[0] == 0, "param #1: %lx, should be 0\n", rec->ExceptionInformation[0]); diff --git a/dlls/oleacc/oleacc_Pt.rc b/dlls/oleacc/oleacc_Pt.rc index 395324a4330..96208402ebf 100644 --- a/dlls/oleacc/oleacc_Pt.rc +++ b/dlls/oleacc/oleacc_Pt.rc @@ -2,6 +2,7 @@ * Portuguese resources for oleacc * * Copyright 2009 Ricardo Filipe + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -22,6 +23,77 @@ #pragma code_page(65001) +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE DISCARDABLE +{ + 0 "objecto desconhecido" /* undocumented */ + ROLE_SYSTEM_TITLEBAR "barra de título" + ROLE_SYSTEM_MENUBAR "barra de menu" + ROLE_SYSTEM_SCROLLBAR "barra de rolagem" + ROLE_SYSTEM_GRIP "grip" + ROLE_SYSTEM_SOUND "som" + ROLE_SYSTEM_CURSOR "cursor" + ROLE_SYSTEM_CARET "caret" + ROLE_SYSTEM_ALERT "alerta" + ROLE_SYSTEM_WINDOW "janela" + ROLE_SYSTEM_CLIENT "cliente" + ROLE_SYSTEM_MENUPOPUP "menu popup" + ROLE_SYSTEM_MENUITEM "item do menu" + ROLE_SYSTEM_TOOLTIP "dica" + ROLE_SYSTEM_APPLICATION "aplicativo" + ROLE_SYSTEM_DOCUMENT "documento" + ROLE_SYSTEM_PANE "painel" + ROLE_SYSTEM_CHART "gráfico" + ROLE_SYSTEM_DIALOG "diálogo" + ROLE_SYSTEM_BORDER "margem" + ROLE_SYSTEM_GROUPING "agrupamento" + ROLE_SYSTEM_SEPARATOR "separador" + ROLE_SYSTEM_TOOLBAR "barra de ferramentas" + ROLE_SYSTEM_STATUSBAR "barra de estado" + ROLE_SYSTEM_TABLE "tabela" + ROLE_SYSTEM_COLUMNHEADER "cabeçalho da coluna" + ROLE_SYSTEM_ROWHEADER "cabeçalho da linha" + ROLE_SYSTEM_COLUMN "coluna" + ROLE_SYSTEM_ROW "linha" + ROLE_SYSTEM_CELL "célula" + ROLE_SYSTEM_LINK "link" + ROLE_SYSTEM_HELPBALLOON "balão de ajuda" + ROLE_SYSTEM_CHARACTER "caractere" + ROLE_SYSTEM_LIST "lista" + ROLE_SYSTEM_LISTITEM "item da lista" + ROLE_SYSTEM_OUTLINE "contorno" + ROLE_SYSTEM_OUTLINEITEM "item de contorno" + ROLE_SYSTEM_PAGETAB "tab de página" + ROLE_SYSTEM_PROPERTYPAGE "página de propriedades" + ROLE_SYSTEM_INDICATOR "indicador" + ROLE_SYSTEM_GRAPHIC "gráfico" + ROLE_SYSTEM_STATICTEXT "texto estático" + ROLE_SYSTEM_TEXT "texto" + ROLE_SYSTEM_PUSHBUTTON "push button" + ROLE_SYSTEM_CHECKBUTTON "check button" + ROLE_SYSTEM_RADIOBUTTON "radio button" + ROLE_SYSTEM_COMBOBOX "combo box" + ROLE_SYSTEM_DROPLIST "drop down" + ROLE_SYSTEM_PROGRESSBAR "barra de progresso" + ROLE_SYSTEM_DIAL "dial" + ROLE_SYSTEM_HOTKEYFIELD "hot key field" + ROLE_SYSTEM_SLIDER "slider" + ROLE_SYSTEM_SPINBUTTON "spin box" + ROLE_SYSTEM_DIAGRAM "diagrama" + ROLE_SYSTEM_ANIMATION "animação" + ROLE_SYSTEM_EQUATION "equação" + ROLE_SYSTEM_BUTTONDROPDOWN "drop down button" + ROLE_SYSTEM_BUTTONMENU "menu button" + ROLE_SYSTEM_BUTTONDROPDOWNGRID "grid drop down button" + ROLE_SYSTEM_WHITESPACE "espaço em branco" + ROLE_SYSTEM_PAGETABLIST "page tab list" + ROLE_SYSTEM_CLOCK "relógio" + ROLE_SYSTEM_SPLITBUTTON "split button" + ROLE_SYSTEM_IPADDRESS "endereço IP" + ROLE_SYSTEM_OUTLINEBUTTON "outline button" +} + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE STRINGTABLE DISCARDABLE diff --git a/dlls/oleaut32/tests/olepicture.c b/dlls/oleaut32/tests/olepicture.c index 32083683737..ab4fb48e076 100644 --- a/dlls/oleaut32/tests/olepicture.c +++ b/dlls/oleaut32/tests/olepicture.c @@ -829,7 +829,7 @@ static void test_OleLoadPicturePath(void) DeleteFileA(temp_file); - /* Try with a non-existent file. */ + /* Try with a nonexistent file. */ hres = OleLoadPicturePath(temp_fileW + 8, NULL, 0, 0, &IID_IPicture, (void **)&pic); ok(hres == INET_E_RESOURCE_NOT_FOUND || /* XP+ */ hres == E_UNEXPECTED || /* NT4/Win95 */ @@ -865,7 +865,7 @@ static void test_OleLoadPicturePath(void) DeleteFileA(temp_file); - /* Try with a non-existent file. */ + /* Try with a nonexistent file. */ hres = OleLoadPicturePath(temp_fileW, NULL, 0, 0, &IID_IPicture, (void **)&pic); ok(hres == INET_E_RESOURCE_NOT_FOUND || /* XP+ */ hres == E_UNEXPECTED || /* NT4/Win95 */ diff --git a/dlls/oledlg/Makefile.in b/dlls/oledlg/Makefile.in index 6f9a3bfecd3..70648f3b708 100644 --- a/dlls/oledlg/Makefile.in +++ b/dlls/oledlg/Makefile.in @@ -27,6 +27,7 @@ RC_SRCS = \ oledlg_No.rc \ oledlg_Pl.rc \ oledlg_Pt.rc \ + oledlg_Ro.rc \ oledlg_Ru.rc \ oledlg_Si.rc \ oledlg_Sv.rc \ diff --git a/dlls/oledlg/oledlg_Ko.rc b/dlls/oledlg/oledlg_Ko.rc index 7e0ae7e5ba4..a1474c9a123 100644 --- a/dlls/oledlg/oledlg_Ko.rc +++ b/dlls/oledlg/oledlg_Ko.rc @@ -1,5 +1,6 @@ /* - * Copyright 2005,2007 YunSong Hwang + * Copyright 2003 Ulrich Czekalla for CodeWeavers + * Copyright 2005,2007,2010 YunSong Hwang * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -56,7 +57,7 @@ STRINGTABLE DISCARDABLE IDS_NOTOLEMODCAPTION "ÄÁÆ®·Ñ ´õÇϱâ" } -IDD_PASTESPECIAL4 DIALOG DISCARDABLE 3, 15, 293, 140 +IDD_PASTESPECIAL4 DIALOG DISCARDABLE 3, 15, 299, 140 STYLE DS_MODALFRAME | DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Ưº°ÇÏ°Ô ºÙ¿©³Ö±â" FONT 9, "MS Shell Dlg" @@ -66,14 +67,14 @@ BEGIN 1, 44, 55, 10 CONTROL "¸µÅ©·Î ºÙ¿©³Ö±â(&L)", IDC_PS_PASTELINK, "Button", BS_AUTORADIOBUTTON | WS_VISIBLE, 1, 61, 69, 10 - LTEXT "´Ù¸¥ À̸§À¸·Î(&A):", -1, 67, 25, 53, 8, WS_VISIBLE | WS_GROUP - LISTBOX IDC_PS_PASTELIST, 66, 36, 150, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE - LISTBOX IDC_PS_PASTELINKLIST, 66, 36, 150, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE - LISTBOX IDC_PS_DISPLAYLIST, 66, 36, 150, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | WS_VISIBLE - CONTROL "È®ÀÎ", IDOK, "Button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 224, 6, 66, 14 - CONTROL "Ãë¼Ò", IDCANCEL, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 23, 66, 14 - CONTROL "µµ¿ò¸»(&H)", IDC_OLEUIHELP, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 42, 66, 14 - CONTROL "¾ÆÀÌÄÜÀ¸·Î º¸±â(&D)", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 224, 59, 66, 14 + LTEXT "´Ù¸¥ À̸§À¸·Î(&A):", -1, 73, 25, 59, 8, WS_VISIBLE | WS_GROUP + LISTBOX IDC_PS_PASTELIST, 73, 36, 150, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_PASTELINKLIST, 73, 36, 150, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_DISPLAYLIST, 73, 36, 150, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | WS_VISIBLE + CONTROL "È®ÀÎ", IDOK, "Button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 226, 6, 66, 14 + CONTROL "Ãë¼Ò", IDCANCEL, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 226, 23, 66, 14 + CONTROL "µµ¿ò¸»(&H)", IDC_OLEUIHELP, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 226, 42, 66, 14 + CONTROL "¾ÆÀÌÄÜÀ¸·Î º¸±â(&D)", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 226, 59, 70, 14 CONTROL "", IDC_PS_ICONDISPLAY, "Static", SS_ICON | WS_VISIBLE, 224, 75, 66, 44 CONTROL "¾ÆÀÌÄÜ ¹Ù²Ù±â(&I)...", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 123, 66, 14 CONTROL "", IDC_PS_RESULTIMAGE, "Static", SS_ICON | WS_VISIBLE, 8, 101, 42, 34 @@ -93,5 +94,5 @@ STRINGTABLE DISCARDABLE IDS_PS_NON_OLE "´ç½ÅÀÇ ¹®¼­¿¡ Ŭ¸³º¸µåÀÇ ³»¿ë »ðÀÔÇϱâ." IDS_PS_UNKNOWN_TYPE "¾Ë¼ö ¾ø´Â Çü½Ä" IDS_PS_UNKNOWN_SRC "¾Ë¼ö ¾ø´Â ¿øº»" - IDS_PS_UNKNOWN_APP "ÀÌ ÇÁ·Î±×·¥Àº ¾Ë ¼ö ¾ø´Â ÇÁ·Î±×·¥À¸·Î ¸¸µé¾îÁ³½À´Ï´Ù" + IDS_PS_UNKNOWN_APP "³»°¡ ¸¸µç ÇÁ·Î±×·¥" } diff --git a/dlls/oledlg/oledlg_Nl.rc b/dlls/oledlg/oledlg_Nl.rc index 58a63da7cae..e81b0102dc8 100644 --- a/dlls/oledlg/oledlg_Nl.rc +++ b/dlls/oledlg/oledlg_Nl.rc @@ -22,6 +22,8 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL +#pragma code_page(65001) + UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 294, 151 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Object invoegen" @@ -36,12 +38,12 @@ BEGIN GROUPBOX "Resultaat",IDC_RESULT,7,103,208,41 CONTROL "Nieuw",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON | WS_GROUP,7,20,62,10 - CONTROL "Creëren",IDC_CREATECONTROL,"Button", + CONTROL "Creëren",IDC_CREATECONTROL,"Button", BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,62,10 CONTROL "Bestand gebruiken",IDC_CREATEFROMFILE,"Button", BS_AUTORADIOBUTTON,7,37,67,10 LTEXT "",IDC_RESULTDESC,49,112,159,23 - PUSHBUTTON "Toevoegen...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE + PUSHBUTTON "&Toevoegen...",IDC_ADDCONTROL,81,88,63,14,NOT WS_VISIBLE CONTROL "Als pictogram weergeven",IDC_ASICON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP | NOT WS_VISIBLE,223,58,64,10 PUSHBUTTON "Bladeren...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE @@ -51,10 +53,10 @@ END STRINGTABLE DISCARDABLE { - IDS_RESULTOBJDESC "Voeg een nieuw %s object in uw document" - IDS_RESULTFILEOBJDESC "Voeg de inhoud van het bestand als object in uw document zodat u het later kunt bewerken met het programma waarmee u het heeft gemaakt." + IDS_RESULTOBJDESC "Voeg een nieuw %s object in uw document in" + IDS_RESULTFILEOBJDESC "Voeg de inhoud van het bestand als object in uw document in, zodat u het later kunt bewerken met het programma waarmee u het heeft gemaakt." IDS_BROWSE "Bladeren" - IDS_NOTOLEMOD "Het bestand is geen geldig OLE bestand. Registratie is mislukt." + IDS_NOTOLEMOD "Het bestand is geen geldig OLE bestand. De registratie is mislukt." IDS_NOTOLEMODCAPTION "Toevoegen" } @@ -66,7 +68,7 @@ BEGIN LTEXT "Bron:", -1, 6, 9, 30, 8, WS_VISIBLE | WS_GROUP CONTROL "&Plakken", IDC_PS_PASTE, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 6, 38, 55, 10 - CONTROL "Plakken &Verwijzing", IDC_PS_PASTELINK, "Button", BS_AUTORADIOBUTTON | WS_VISIBLE, + CONTROL "Plak &verwijzing", IDC_PS_PASTELINK, "Button", BS_AUTORADIOBUTTON | WS_VISIBLE, 6, 63, 55, 10 LTEXT "&Als:", -1, 65, 25, 16, 8, WS_VISIBLE | WS_GROUP LISTBOX IDC_PS_PASTELIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE @@ -75,25 +77,25 @@ BEGIN CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 224, 6, 66, 14 CONTROL "Annuleren", IDCANCEL, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 23, 66, 14 CONTROL "&Help", IDC_OLEUIHELP, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 42, 66, 14 - CONTROL "&Toon Als Icoon", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 224, 59, 66, 14 + CONTROL "Als pictogram &weergeven", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 224, 59, 66, 14 CONTROL "", IDC_PS_ICONDISPLAY, "Static", SS_ICON | WS_VISIBLE, 224, 75, 66, 44 - CONTROL "Verander &Icoon...", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 123, 66, 14 + CONTROL "Wijzig p&ictogram...", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 123, 66, 14 CONTROL "", IDC_PS_RESULTIMAGE, "Static", SS_ICON | WS_VISIBLE, 8, 101, 42, 34 - CONTROL "<< resultaat tekst komt hier >>", IDC_PS_RESULTTEXT, "Static", SS_NOPREFIX | WS_VISIBLE, 54, 100, 159, 35 + CONTROL "<< resultaattekst komt hier >>", IDC_PS_RESULTTEXT, "Static", SS_NOPREFIX | WS_VISIBLE, 54, 100, 159, 35 CONTROL "Resultaat", -1, "Button", BS_GROUPBOX | WS_GROUP | WS_VISIBLE, 6, 90, 212, 48 CONTROL "", IDC_PS_SOURCETEXT, "Edit", ES_READONLY | ES_AUTOHSCROLL | WS_VISIBLE, 37, 9, 180, 8 END STRINGTABLE DISCARDABLE { - IDS_PS_PASTE_DATA "Voegt de inhoud van het clipbord in uw document als %s." - IDS_PS_PASTE_OBJECT "Voegt de inhoud van het clipbord in uw document zodat u het kan activeren met %s." - IDS_PS_PASTE_OBJECT_AS_ICON "Voegt de inhoud van het clipbord in uw document zodat u het kan activeren met %s. Het zal getoond worden als een icoon." - IDS_PS_PASTE_LINK_DATA "Voegt de inhoud van het clipbord in uw document als %s. De data is verbonden met het bron bestand zodat wijzigingen in dat bestand worden getoond in uw document." - IDS_PS_PASTE_LINK_OBJECT "Voegt een afbeelding vanuit het clipbord in uw document. De afbeelding is verbonden met het bron bestand zodat wijzigingen in dat bestand worden getoond in uw document." - IDS_PS_PASTE_LINK_OBJECT_AS_ICON "Voegt een verwijzing in die wijst naar de locatie van de inhoud van het clipbord. De verwijzing is verbonden met het bron bestand zodat wijzigingen in dat bestand worden getoond in uw document." - IDS_PS_NON_OLE "Voegt de inhoud van het clipbord in uw document." - IDS_PS_UNKNOWN_TYPE "Onbekend Type" - IDS_PS_UNKNOWN_SRC "Onbekende Bron" - IDS_PS_UNKNOWN_APP "het programma die het gecreëerd heeft" + IDS_PS_PASTE_DATA "Voegt de inhoud van het klembord in uw document in als %s." + IDS_PS_PASTE_OBJECT "Voegt de inhoud van het klembord in uw document in zodat u het kan activeren met %s." + IDS_PS_PASTE_OBJECT_AS_ICON "Voegt de inhoud van het klembord in uw document in zodat u het kan activeren met %s. Het zal getoond worden als een icoon." + IDS_PS_PASTE_LINK_DATA "Voegt de inhoud van het klembord in uw document in als %s. De data is verbonden met het bron bestand zodat wijzigingen in dat bestand worden getoond in uw document." + IDS_PS_PASTE_LINK_OBJECT "Voegt een afbeelding vanuit het klembord in uw document in. De afbeelding is verbonden met het bronbestand, zodat wijzigingen in dat bestand worden getoond in uw document." + IDS_PS_PASTE_LINK_OBJECT_AS_ICON "Voegt een verwijzing in die wijst naar de locatie van de inhoud van het klembord. De verwijzing is verbonden met het bronbestand, zodat wijzigingen in dat bestand worden getoond in uw document." + IDS_PS_NON_OLE "Voegt de inhoud van het klembord in uw document." + IDS_PS_UNKNOWN_TYPE "Onbekend type" + IDS_PS_UNKNOWN_SRC "Onbekende bron" + IDS_PS_UNKNOWN_APP "het programma die het gecreëerd heeft" } diff --git a/dlls/oledlg/oledlg_Pt.rc b/dlls/oledlg/oledlg_Pt.rc index 9ef209e2d9f..f37719f87d5 100644 --- a/dlls/oledlg/oledlg_Pt.rc +++ b/dlls/oledlg/oledlg_Pt.rc @@ -2,6 +2,7 @@ * Copyright 2004 Marcelo Duarte * Copyright 2006 Américo José Melo * Copyright 2009 Ricardo Filipe + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -103,6 +104,37 @@ STRINGTABLE DISCARDABLE IDS_NOTOLEMODCAPTION "Adicionar Controlo" } + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDD_PASTESPECIAL4 DIALOG DISCARDABLE 3, 15, 293, 140 +STYLE DS_MODALFRAME | DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Colar Especial" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Origem:", -1, 6, 9, 30, 8, WS_VISIBLE | WS_GROUP + CONTROL "&Colar", IDC_PS_PASTE, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, + 6, 38, 55, 10 + CONTROL "Colar &Link", IDC_PS_PASTELINK, "Button", BS_AUTORADIOBUTTON | WS_VISIBLE, + 6, 63, 55, 10 + LTEXT "&Como:", -1, 65, 25, 16, 8, WS_VISIBLE | WS_GROUP + LISTBOX IDC_PS_PASTELIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_PASTELINKLIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_DISPLAYLIST, 65, 36, 153, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | WS_VISIBLE + CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 224, 6, 66, 14 + CONTROL "Cancelar", IDCANCEL, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 23, 66, 14 + CONTROL "&Ajuda", IDC_OLEUIHELP, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 42, 66, 14 + CONTROL "&Mostrar como Ícone", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 224, 59, 66, 14 + CONTROL "", IDC_PS_ICONDISPLAY, "Static", SS_ICON | WS_VISIBLE, 224, 75, 66, 44 + CONTROL "Mudar &Ícone...", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 123, 66, 14 + CONTROL "", IDC_PS_RESULTIMAGE, "Static", SS_ICON | WS_VISIBLE, 8, 101, 42, 34 + CONTROL "<< texto resultante fica aqui >>", IDC_PS_RESULTTEXT, "Static", SS_NOPREFIX | WS_VISIBLE, 54, 100, 159, 35 + CONTROL "Resultado", -1, "Button", BS_GROUPBOX | WS_GROUP | WS_VISIBLE, 6, 90, 212, 48 + CONTROL "", IDC_PS_SOURCETEXT, "Edit", ES_READONLY | ES_AUTOHSCROLL | WS_VISIBLE, 37, 9, 180, 8 +END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + IDD_PASTESPECIAL4 DIALOG DISCARDABLE 3, 15, 293, 140 STYLE DS_MODALFRAME | DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Colar Especial" @@ -120,15 +152,34 @@ BEGIN CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 224, 6, 66, 14 CONTROL "Cancelar", IDCANCEL, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 23, 66, 14 CONTROL "&Ajuda", IDC_OLEUIHELP, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 42, 66, 14 - CONTROL "&Mostrar como Icone", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 224, 59, 66, 14 + CONTROL "&Mostrar como Ícone", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 224, 59, 66, 14 CONTROL "", IDC_PS_ICONDISPLAY, "Static", SS_ICON | WS_VISIBLE, 224, 75, 66, 44 - CONTROL "Mudar &Icone...", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 123, 66, 14 + CONTROL "Mudar &Ícone...", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 224, 123, 66, 14 CONTROL "", IDC_PS_RESULTIMAGE, "Static", SS_ICON | WS_VISIBLE, 8, 101, 42, 34 CONTROL "<< texto resultante fica aqui >>", IDC_PS_RESULTTEXT, "Static", SS_NOPREFIX | WS_VISIBLE, 54, 100, 159, 35 CONTROL "Resultado", -1, "Button", BS_GROUPBOX | WS_GROUP | WS_VISIBLE, 6, 90, 212, 48 CONTROL "", IDC_PS_SOURCETEXT, "Edit", ES_READONLY | ES_AUTOHSCROLL | WS_VISIBLE, 37, 9, 180, 8 END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE DISCARDABLE +{ + IDS_PS_PASTE_DATA "Insere o conteúdo da área de transferência no seu documento como %s." + IDS_PS_PASTE_OBJECT "Insere o conteúdo da área de transferência no seu documento para que seja possível ativá-lo usando %s." + IDS_PS_PASTE_OBJECT_AS_ICON "Insere o conteúdo da área de transferência no seu documento para que seja possível ativá-lo usando %s. Será mostrado como um ícone." + IDS_PS_PASTE_LINK_DATA "Insere o conteúdo da área de transferência no seu documento como %s. Os dados estão ligados ao arquivo de origem para que alterações ao arquivo se reflitam no seu documento." + IDS_PS_PASTE_LINK_OBJECT "Insere uma imagem da área de transferência no seu documento. A imagem fica ligada ao arquivo de origem para que alterações ao arquivo se reflitam no seu documento." + IDS_PS_PASTE_LINK_OBJECT_AS_ICON "Insere um atalho que aponta para a localização do conteúdo na área de transferência. O atalho fica ligado ao arquivo de origem para que alterações ao arquivo se reflitam no seu documento." + IDS_PS_NON_OLE "Insere o conteúdo da área de transferência no seu documento." + IDS_PS_UNKNOWN_TYPE "Tipo Desconhecido" + IDS_PS_UNKNOWN_SRC "Origem Desconhecida" + IDS_PS_UNKNOWN_APP "o programa que o criou" +} + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + STRINGTABLE DISCARDABLE { IDS_PS_PASTE_DATA "Insere o conteúdo da área de transferência no seu documento como %s." diff --git a/dlls/oledlg/oledlg_Ro.rc b/dlls/oledlg/oledlg_Ro.rc new file mode 100644 index 00000000000..8ffa714690f --- /dev/null +++ b/dlls/oledlg/oledlg_Ro.rc @@ -0,0 +1,101 @@ +/* + * Copyright 2003 Ulrich Czekalla for CodeWeavers + * Copyright 2010 Claudia Cotună + * Michael Stefaniuc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "resource.h" + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +#pragma code_page(65001) + +UIINSERTOBJECT DIALOG DISCARDABLE 0, 0, 314, 151 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Inserare obiect" +FONT 8, "MS Shell Dlg" +BEGIN + LISTBOX IDC_OBJTYPELIST,82,19,131,66,LBS_SORT | + LBS_NOINTEGRALHEIGHT | WS_VISIBLE | WS_VSCROLL | + WS_TABSTOP + LTEXT "Tipul obiectului:",IDC_OBJTYPELBL,82,7,53,8,WS_VISIBLE + DEFPUSHBUTTON "OK",IDOK,221,7,66,14 + PUSHBUTTON "Renunță",IDCANCEL,221,24,66,14 + GROUPBOX "Rezultat",IDC_RESULT,7,103,208,41 + CONTROL "Creează nou",IDC_CREATENEW,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,7,20,67,10 + CONTROL "Creează un control",IDC_CREATECONTROL,"Button", + BS_AUTORADIOBUTTON | NOT WS_VISIBLE,7,54,74,10 + CONTROL "Creează din fișier",IDC_CREATEFROMFILE,"Button", + BS_AUTORADIOBUTTON,7,37,67,10 + LTEXT "",IDC_RESULTDESC,49,112,159,23 + PUSHBUTTON "&Adăugă un control...",IDC_ADDCONTROL,82,88,72,14,NOT WS_VISIBLE + CONTROL "Afișează ca pictogramă",IDC_ASICON,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP | NOT WS_VISIBLE,223,58,86,10 + PUSHBUTTON "Navigare...",IDC_BROWSE,83,53,50,14,NOT WS_VISIBLE + LTEXT "Fișier:",IDC_FILELBL,83,27,20,8, NOT WS_VISIBLE + EDITTEXT IDC_FILE,83,37,132,13,ES_AUTOHSCROLL | NOT WS_VISIBLE +END + +STRINGTABLE DISCARDABLE +{ + IDS_RESULTOBJDESC "Inserați un nou obiect %s în document" + IDS_RESULTFILEOBJDESC "Inserați conținutul fișierului ca pe un obiect în document, astfel încât să îl puteți activa utilizând programul care l-a creat." + IDS_BROWSE "Navigare" + IDS_NOTOLEMOD "Fișierul nu pare a fi un modul OLE valid. Nu se poate înregistra controlul OLE." + IDS_NOTOLEMODCAPTION "Adaugă un control" +} + +IDD_PASTESPECIAL4 DIALOG DISCARDABLE 3, 15, 324, 140 +STYLE DS_MODALFRAME | DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Inserare specială" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Sursă:", -1, 6, 9, 30, 8, WS_VISIBLE | WS_GROUP + CONTROL "I&nserează", IDC_PS_PASTE, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, + 6, 38, 55, 10 + CONTROL "Inserează &legătura", IDC_PS_PASTELINK, "Button", BS_AUTORADIOBUTTON | WS_VISIBLE, + 6, 63, 74, 10 + LTEXT "C&a:", -1, 81, 25, 16, 8, WS_VISIBLE | WS_GROUP + LISTBOX IDC_PS_PASTELIST, 81, 36, 148, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_PASTELINKLIST, 81, 36, 148, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | NOT WS_VISIBLE + LISTBOX IDC_PS_DISPLAYLIST, 81, 36, 148, 57, LBS_NOTIFY | LBS_USETABSTOPS | WS_VSCROLL | WS_BORDER | WS_VISIBLE + CONTROL "OK", IDOK, "Button", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_GROUP | WS_VISIBLE, 235, 6, 86, 14 + CONTROL "Renunță", IDCANCEL, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 235, 23, 86, 14 + CONTROL "A&jutor", IDC_OLEUIHELP, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 235, 42, 86, 14 + CONTROL "A&fișează ca pictogramă", IDC_PS_DISPLAYASICON, "Button", BS_AUTOCHECKBOX | WS_TABSTOP | WS_VISIBLE, 235, 59, 86, 14 + CONTROL "", IDC_PS_ICONDISPLAY, "Static", SS_ICON | WS_VISIBLE, 235, 75, 66, 44 + CONTROL "Schimbare p&ictogramă...", IDC_PS_CHANGEICON, "Button", BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE, 235, 123, 82, 14 + CONTROL "", IDC_PS_RESULTIMAGE, "Static", SS_ICON | WS_VISIBLE, 8, 101, 42, 34 + CONTROL "<< textul rezultat apare aici >>", IDC_PS_RESULTTEXT, "Static", SS_NOPREFIX | WS_VISIBLE, 65, 100, 159, 35 + CONTROL "Rezultat", -1, "Button", BS_GROUPBOX | WS_GROUP | WS_VISIBLE, 6, 90, 223, 48 + CONTROL "", IDC_PS_SOURCETEXT, "Edit", ES_READONLY | ES_AUTOHSCROLL | WS_VISIBLE, 37, 9, 180, 8 +END + +STRINGTABLE DISCARDABLE +{ + IDS_PS_PASTE_DATA "Inserează conținutul din clipboard în document ca %s." + IDS_PS_PASTE_OBJECT "Inserează conținutul din clipboard în document astfel încât să îl puteți activa utilizând %s." + IDS_PS_PASTE_OBJECT_AS_ICON "Inserează conținutul din clipboard în document astfel încât să îl puteți activa utilizând %s. Va fi afișat ca o pictogramă." + IDS_PS_PASTE_LINK_DATA "Inserează conținutul din clipboard în document ca %s. Datele sunt legate de fișierul sursă, astfel încât modificările aduse fișierului vor fi reflectate în document." + IDS_PS_PASTE_LINK_OBJECT "Inserează o imagine a conținutului din clipboard în document. Imaginea este legată de fișierul sursă, astfel încât modificările aduse fișierului vor fi reflectate în document." + IDS_PS_PASTE_LINK_OBJECT_AS_ICON "Inserează o scurtătură care conduce la locația conținutului din clipboard. Scurtătura este legată de fișierul sursă, astfel încât modificările aduse fișierului vor fi reflectate în document." + IDS_PS_NON_OLE "Inserează conținutul din clipboard în document." + IDS_PS_UNKNOWN_TYPE "Tip necunoscut" + IDS_PS_UNKNOWN_SRC "Sursă necunoscută" + IDS_PS_UNKNOWN_APP "programul care l-a creat" +} diff --git a/dlls/opengl32/tests/opengl.c b/dlls/opengl32/tests/opengl.c index 7568f47b1c3..2b81ddabdba 100644 --- a/dlls/opengl32/tests/opengl.c +++ b/dlls/opengl32/tests/opengl.c @@ -553,7 +553,7 @@ static void test_bitmap_rendering(void) if(!iPixelFormat) { - skip("Unable to find a suitable pixel format"); + skip("Unable to find a suitable pixel format\n"); } else { diff --git a/dlls/psapi/tests/psapi_main.c b/dlls/psapi/tests/psapi_main.c index 21a3d1aa269..55eb9377c54 100644 --- a/dlls/psapi/tests/psapi_main.c +++ b/dlls/psapi/tests/psapi_main.c @@ -275,23 +275,36 @@ static void test_ws_functions(void) ULONG_PTR pages[4096]; char *addr; unsigned int i; - + BOOL ret; + todo_wine w32_err(pEmptyWorkingSet(NULL), ERROR_INVALID_HANDLE); todo_wine w32_err(pEmptyWorkingSet(hpSR), ERROR_ACCESS_DENIED); w32_suc(pEmptyWorkingSet(hpAA)); - - todo_wine w32_err(pInitializeProcessForWsWatch(NULL), ERROR_INVALID_HANDLE); + + SetLastError( 0xdeadbeef ); + ret = pInitializeProcessForWsWatch( NULL ); + todo_wine ok( !ret, "InitializeProcessForWsWatch succeeded\n" ); + if (!ret) + { + if (GetLastError() == ERROR_INVALID_FUNCTION) /* not supported on xp in wow64 mode */ + { + trace( "InitializeProcessForWsWatch not supported\n" ); + return; + } + ok( GetLastError() == ERROR_INVALID_HANDLE, "wrong error %u\n", GetLastError() ); + } w32_suc(pInitializeProcessForWsWatch(hpAA)); if(!w32_suc(addr = VirtualAlloc(NULL, 1, MEM_COMMIT, PAGE_READWRITE))) return; + *addr = 0; /* make sure it's paged in (needed on wow64) */ if(!VirtualLock(addr, 1)) { trace("locking failed (error=%d) - skipping test\n", GetLastError()); goto free_page; } - + todo_wine if(w32_suc(pQueryWorkingSet(hpQI, pages, 4096 * sizeof(ULONG_PTR)))) { for(i = 0; i < pages[0]; i++) diff --git a/dlls/sane.ds/sane_Pt.rc b/dlls/sane.ds/sane_Pt.rc index 9b0ff4152aa..a0b0b3d6a05 100644 --- a/dlls/sane.ds/sane_Pt.rc +++ b/dlls/sane.ds/sane_Pt.rc @@ -2,6 +2,7 @@ * Portuguese resources for Twain * * Copyright 2008 Ricardo Filipe + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +21,17 @@ #include "resource.h" -LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 186, 46 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE | DS_CENTER | DS_SETFOREGROUND +CAPTION "Escaneando" +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "ESCANEANDO... Por Favor Espere",IDC_STATIC,5,19,176,8, SS_CENTER +END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 186, 46 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE | DS_CENTER | DS_SETFOREGROUND @@ -30,6 +41,9 @@ BEGIN LTEXT "A PESQUISAR... Por Favor Espere",IDC_STATIC,5,19,176,8, SS_CENTER END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL + STRINGTABLE DISCARDABLE { 0 "" diff --git a/dlls/serialui/Makefile.in b/dlls/serialui/Makefile.in index 95a04f3527f..b29392123f0 100644 --- a/dlls/serialui/Makefile.in +++ b/dlls/serialui/Makefile.in @@ -28,6 +28,7 @@ RC_SRCS = \ No.rc \ Pl.rc \ Pt.rc \ + Ro.rc \ Ru.rc \ Si.rc \ Sv.rc \ diff --git a/dlls/serialui/Pt.rc b/dlls/serialui/Pt.rc index 6d424209d8e..9b949f37896 100644 --- a/dlls/serialui/Pt.rc +++ b/dlls/serialui/Pt.rc @@ -1,6 +1,7 @@ /* * Copyright 2003 Marcelo Duarte - * Copyright 2004 Américo José Melo + * Copyright 2004 Américo José Melo + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,18 +20,20 @@ #include "serialui.h" +#pragma code_page(65001) + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN IDD_SERIALUICONFIG DIALOG DISCARDABLE 0, 0, 160, 159 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE -CAPTION "Propriedades para " +CAPTION "Propriedades de " FONT 8, "MS Shell Dlg" BEGIN LTEXT "Bits por segundo", -1,5,20,55,10 COMBOBOX IDC_BAUD, 60, 20, 90, 36, CBS_DROPDOWNLIST|CBS_AUTOHSCROLL|WS_BORDER | WS_VSCROLL | WS_TABSTOP LTEXT "Paridade", -1,5,40,55,10 COMBOBOX IDC_PARITY, 60, 40, 90, 36, CBS_DROPDOWNLIST|CBS_AUTOHSCROLL|WS_BORDER | WS_VSCROLL | WS_TABSTOP - LTEXT "Control de fluxo", -1,5,60,55,10 + LTEXT "Controle de fluxo", -1,5,60,55,10 COMBOBOX IDC_FLOW, 60, 60, 90, 36, CBS_DROPDOWNLIST|CBS_AUTOHSCROLL|WS_BORDER | WS_VSCROLL | WS_TABSTOP LTEXT "Bits de dados", -1,5,80,55,10 COMBOBOX IDC_DATA, 60, 80, 90, 36, CBS_DROPDOWNLIST|CBS_AUTOHSCROLL|WS_BORDER | WS_VSCROLL | WS_TABSTOP diff --git a/dlls/serialui/Ro.rc b/dlls/serialui/Ro.rc new file mode 100644 index 00000000000..1fe3981f4d7 --- /dev/null +++ b/dlls/serialui/Ro.rc @@ -0,0 +1,45 @@ +/* + * Copyright 2000 Mike McCormack + * Copyright 2010 Claudia Cotună + * Paul Chitescu + * Michael Stefaniuc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "serialui.h" + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +#pragma code_page(65001) + +IDD_SERIALUICONFIG DIALOG DISCARDABLE 0, 0, 160, 159 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE +CAPTION "Proprietăți pentru " +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Rata de transfer", -1,5,20,55,10 + COMBOBOX IDC_BAUD, 60, 20, 90, 36, CBS_DROPDOWNLIST|CBS_AUTOHSCROLL|WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "Paritate", -1,5,40,55,10 + COMBOBOX IDC_PARITY, 60, 40, 90, 36, CBS_DROPDOWNLIST|CBS_AUTOHSCROLL|WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "Controlul fluxului", -1,5,60,55,10 + COMBOBOX IDC_FLOW, 60, 60, 90, 36, CBS_DROPDOWNLIST|CBS_AUTOHSCROLL|WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "Biţi de date", -1,5,80,55,10 + COMBOBOX IDC_DATA, 60, 80, 90, 36, CBS_DROPDOWNLIST|CBS_AUTOHSCROLL|WS_BORDER | WS_VSCROLL | WS_TABSTOP + LTEXT "Biţi de stop", -1,5,100,55,10 + COMBOBOX IDC_STOP, 60, 100, 90, 36, CBS_DROPDOWNLIST|CBS_AUTOHSCROLL|WS_BORDER | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "OK", IDOK,30,138,50,14 + PUSHBUTTON "Renunță", IDCANCEL,85,138,50,14 +END diff --git a/dlls/setupapi/Ko.rc b/dlls/setupapi/Ko.rc index 6def9c230d0..d263b5ee385 100644 --- a/dlls/setupapi/Ko.rc +++ b/dlls/setupapi/Ko.rc @@ -1,7 +1,9 @@ /* * Korean resources for SETUPAPI * - * Copyright 2005 YunSong Hwang + * Copyright 2001 Andreas Mohr + * Copyright 2009 Ricardo Filipe + * Copyright 2005,2010 YunSong Hwang * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -50,7 +52,7 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Á¦ÀÛ»çÀÇ ¼³Ä¡ µð½ºÅ©¸¦ »ðÀÔÇÏ°í, \ ¾Æ·¡ÀÇ ¼±ÅÃµÈ µå¶óÀ̺갡 ¿Ã¹Ù¸¥Áö È®ÀÎÇϽÿÀ ", IDC_FILENEEDED, 10, 10, 175, 22, WS_CHILD | WS_VISIBLE | WS_GROUP LTEXT "", IDC_INFO, 10, 50, 175, 22, WS_CHILD | WS_VISIBLE | WS_GROUP - LTEXT "Á¦ÀÛ»çÀÇ ÆÄÀÏµé º¹»çÇÒ °÷:", IDC_COPYFROM, 10, 90, 175, 11, WS_CHILD | WS_VISIBLE | WS_GROUP + LTEXT "Á¦ÀÛ»çÀÇ ÆÄÀÏÀÌ º¹»çÇÒ °÷:", IDC_COPYFROM, 10, 90, 175, 11, WS_CHILD | WS_VISIBLE | WS_GROUP CONTROL "", IDC_PATH, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 10, 100, 175, 14 PUSHBUTTON "È®ÀÎ", IDOK, 195, 10, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP PUSHBUTTON "Ãë¼Ò", IDCANCEL, 195, 30, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP diff --git a/dlls/setupx.dll16/setupx_main.c b/dlls/setupx.dll16/setupx_main.c index 3c37e1e6e3d..adc59009bd6 100644 --- a/dlls/setupx.dll16/setupx_main.c +++ b/dlls/setupx.dll16/setupx_main.c @@ -29,7 +29,7 @@ * Stuff tested with: * - rs405deu.exe (German Acroread 4.05 setup) * - ie5setup.exe - * - Netmeeting + * - NetMeeting * * FIXME: * - string handling is... weird ;) (buflen etc.) diff --git a/dlls/shdoclc/Ja.rc b/dlls/shdoclc/Ja.rc new file mode 100644 index 00000000000..f4239779e32 --- /dev/null +++ b/dlls/shdoclc/Ja.rc @@ -0,0 +1,252 @@ +/* + * Copyright 2005-2006 Jacek Caban + * Copyright 2010 Akihiro Sagawa + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "shdoclc.h" + +/* UTF-8 */ +#pragma code_page(65001) + +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_MESSAGE_BOX_TITLE, "Wine インターネット エクスプローラ" +} + +STRINGTABLE DISCARDABLE +{ + IDS_PRINT_HEADER_TEMPLATE "&w&b&pページ" /* FIXME: should be "&w&bPage &p of &P" */ + IDS_PRINT_FOOTER_TEMPLATE "&u&b&d" +} + +IDR_BROWSE_CONTEXT_MENU MENU +{ + POPUP "Default" + { + MENUITEM "戻る(&B)", IDM_GOBACKWARD + MENUITEM "進む(&O)", IDM_GOFORWARD + MENUITEM SEPARATOR + MENUITEM "背景を保存(&S)...", IDM_SAVEBACKGROUND + MENUITEM "壁紙に設定(&G)", IDM_SETWALLPAPER + MENUITEM "背景をコピー(&C)", IDM_COPYBACKGROUND + MENUITEM "デスクトップ項目として設定(&D)", IDM_SETDESKTOPITEM + MENUITEM SEPARATOR + MENUITEM "すべて選択(&A)", IDM_SELECTALL + MENUITEM "貼り付け(&P)", IDM_PASTE + MENUITEM SEPARATOR + MENUITEM "ショートカットを作成(&T)", IDM_CREATESHORTCUT + MENUITEM "お気に入りに追加(&F)", IDM_ADDFAVORITES + MENUITEM "ソースの表示(&V)", IDM_VIEWSOURCE + MENUITEM SEPARATOR + MENUITEM "エンコード(&E)", IDM_LANGUAGE + MENUITEM SEPARATOR + MENUITEM "印刷(&I)", IDM_PRINT + MENUITEM "更新(&R)", _IDM_REFRESH + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM "プロパティ(&P)", IDM_PROPERTIES + } + + POPUP "Image" + { + MENUITEM "リンクを開く(&O)", IDM_FOLLOWLINKC + MENUITEM "新しいウィンドウでリンクを開く(&N)", IDM_FOLLOWLINKN + MENUITEM "リンク先を保存(&A)...", IDM_SAVETARGET + MENUITEM "リンク先を印刷(&P)", IDM_PRINTTARGET + MENUITEM SEPARATOR + MENUITEM "画像を表示(&H)", IDM_SHOWPICTURE + MENUITEM "画像を保存(&S)...", IDM_SAVEPICTURE + MENUITEM "画像をメール(&E)...", IDM_MP_EMAILPICTURE + MENUITEM "画像を印刷(&I)...", IDM_MP_PRINTPICTURE + MENUITEM "マイ ピクチャに移動(&G)", IDM_MP_MYPICS + MENUITEM "壁紙に設定(&G)", IDM_SETWALLPAPER + MENUITEM "デスクトップ項目として設定(&D)...", IDM_SETDESKTOPITEM + MENUITEM SEPARATOR + MENUITEM "切り取り(&T)", IDM_CUT + MENUITEM "コピー(&C)", IDM_COPY + MENUITEM "ショートカットのコピー(&T)", IDM_COPYSHORTCUT + MENUITEM "貼り付け(&P)", IDM_PASTE + MENUITEM SEPARATOR + MENUITEM "お気に入りに追加(&F)...", IDM_ADDFAVORITES + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM "プロパティ(&R)", IDM_PROPERTIES + } + + POPUP "Control" + { + MENUITEM "元に戻す(&U)", IDM_UNDO + MENUITEM SEPARATOR + MENUITEM "切り取り(&T)", IDM_CUT + MENUITEM "コピー(&C)", IDM_COPY + MENUITEM "貼り付け(&P)", IDM_PASTE + MENUITEM "削除(&D)", IDM_DELETE + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM "すべて選択(&A)", IDM_SELECTALL + } + + POPUP "Table" + { + POPUP "選択(&S)" + { + MENUITEM "セル(&C)", IDM_CELLSELECT + MENUITEM "行(&R)", IDM_ROWSELECT + MENUITEM "列(&C)", IDM_COLUMNSELECT + MENUITEM "表(&T)", IDM_TABLESELECT + } + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM "セルのプロパティ(&C)", IDM_CELLPROPERTIES + MENUITEM "表のプロパティ(&T)", IDM_TABLEPROPERTIES + } + + POPUP "1DSite Select" + { + MENUITEM "切り取り(&T)", IDM_CUT + MENUITEM "コピー(&C)", IDM_COPY + MENUITEM "貼り付け", IDM_PASTE + MENUITEM "すべて選択(&A)", IDM_SELECTALL + MENUITEM "印刷(&P)", IDM_PRINT + MENUITEM SEPARATOR + } + + POPUP "Anchor" + { + MENUITEM "開く(&O)", IDM_FOLLOWLINKC + MENUITEM "新しいウィンドウで開く(&N)", IDM_FOLLOWLINKN + MENUITEM "リンク先を保存(&A)...", IDM_SAVETARGET + MENUITEM "リンク先を印刷(&P)", IDM_PRINTTARGET + MENUITEM SEPARATOR + MENUITEM "切り取り", IDM_CUT + MENUITEM "コピー(&C)", IDM_COPY + MENUITEM "ショートカットのコピー(&T)", IDM_COPYSHORTCUT + MENUITEM "貼り付け(&P)", IDM_PASTE + MENUITEM SEPARATOR + MENUITEM "お気に入りに追加(&F)...", IDM_ADDFAVORITES + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM "プロパティ(&R)", IDM_PROPERTIES + } + + POPUP "Context Unknown" + { + MENUITEM SEPARATOR + } + + POPUP "DYNSRC Image" + { + MENUITEM "リンクを開く(&O)", IDM_FOLLOWLINKC + MENUITEM "新しいウィンドウでリンクを開く(&N)", IDM_FOLLOWLINKN + MENUITEM "リンク先を保存(&A)...", IDM_SAVETARGET + MENUITEM "リンク先を印刷(&P)", IDM_PRINTTARGET + MENUITEM SEPARATOR + MENUITEM "画像の表示(&H)", IDM_SHOWPICTURE + MENUITEM "ビデオの保存(&S)...", IDM_SAVEPICTURE + MENUITEM "背景に設定(&G)", IDM_SETWALLPAPER + MENUITEM "デスクトップ項目に設定(&D)...", IDM_SETDESKTOPITEM + MENUITEM SEPARATOR + MENUITEM "カット(&T)", IDM_CUT + MENUITEM "コピー(&C)", IDM_COPY + MENUITEM "ショートカットのコピー(&T)", IDM_COPYSHORTCUT + MENUITEM "貼り付け(&P)", IDM_PASTE + MENUITEM SEPARATOR + MENUITEM "お気に入りに追加(&F)...", IDM_ADDFAVORITES + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM "再生", IDM_DYNSRCPLAY + MENUITEM "停止", IDM_DYNSRCSTOP + MENUITEM "プロパティ(&R)", IDM_PROPERTIES + } + + POPUP "ART Image" + { + MENUITEM "リンクを開く(&O)", IDM_FOLLOWLINKC + MENUITEM "新しいウィンドウでリンクを開く(&N)", IDM_FOLLOWLINKN + MENUITEM "リンク先を保存(&A)...", IDM_SAVETARGET + MENUITEM "リンク先を印刷(&P)", IDM_PRINTTARGET + MENUITEM SEPARATOR + MENUITEM "画像の表示(&H)", IDM_SHOWPICTURE + MENUITEM "画像を保存(&S)...", IDM_SAVEPICTURE + MENUITEM "壁紙に設定(&G)", IDM_SETWALLPAPER + MENUITEM "デスクトップ項目として設定(&D)...", IDM_SETDESKTOPITEM + MENUITEM SEPARATOR + MENUITEM "切り取り(&T)", IDM_CUT + MENUITEM "コピー(&C)", IDM_COPY + MENUITEM "ショートカットのコピー(&T)", IDM_COPYSHORTCUT + MENUITEM "貼り付け(&P)", IDM_PASTE + MENUITEM SEPARATOR + MENUITEM "お気に入りに追加(&F)...", IDM_ADDFAVORITES + MENUITEM SEPARATOR + MENUITEM "再生", IDM_IMGARTPLAY + MENUITEM "停止", IDM_IMGARTSTOP + MENUITEM "巻き戻し", IDM_IMGARTREWIND + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM "プロパティ(&R)", IDM_PROPERTIES + } + + POPUP "Debug" + { + MENUITEM "タグのトレース", IDM_TRACETAGS + MENUITEM "リソースの失敗", IDM_RESOURCEFAILURES + MENUITEM "追跡情報のダンプ", IDM_DUMPTRACKINGINFO + MENUITEM "デバッグ ブレーク", IDM_DEBUGBREAK + MENUITEM "デバッグ ビュー", IDM_DEBUGVIEW + MENUITEM "ツリーのダンプ", IDM_DUMPTREE + MENUITEM "線のダンプ", IDM_DUMPLINES + MENUITEM "表示ツリーのダンプ", IDM_DUMPDISPLAYTREE + MENUITEM "フォーマット キャッシュのダンプ", IDM_DUMPFORMATCACHES + MENUITEM "配置情報のダンプ", IDM_DUMPLAYOUTRECTS + MENUITEM "メモリ モニタ", IDM_MEMORYMONITOR + MENUITEM "パフォーマンス メータ", IDM_PERFORMANCEMETERS + MENUITEM "HTMLの保存", IDM_SAVEHTML + MENUITEM SEPARATOR + MENUITEM "表示ビュー(&B)", IDM_BROWSEMODE + MENUITEM "編集ビュー(&E)", IDM_EDITMODE + } + + POPUP "Vertical Scrollbar" + { + MENUITEM "ここにスクロール", IDM_SCROLL_HERE + MENUITEM SEPARATOR + MENUITEM "先頭", IDM_SCROLL_TOP + MENUITEM "末尾", IDM_SCROLL_BOTTOM + MENUITEM SEPARATOR + MENUITEM "1画面分上へ", IDM_SCROLL_PAGEUP + MENUITEM "1画面分下へ", IDM_SCROLL_PAGEDOWN + MENUITEM SEPARATOR + MENUITEM "上にスクロール", IDM_SCROLL_UP + MENUITEM "下にスクロール", IDM_SCROLL_DOWN + } + + POPUP "Horizontal Scrollbar" + { + MENUITEM "ここにスクロール", IDM_SCROLL_HERE + MENUITEM SEPARATOR + MENUITEM "左端", IDM_SCROLL_LEFTEDGE + MENUITEM "右端", IDM_SCROLL_RIGHTEDGE + MENUITEM SEPARATOR + MENUITEM "1ページ左へ", IDM_SCROLL_PAGELEFT + MENUITEM "1ページ右へ", IDM_SCROLL_PAGERIGHT + MENUITEM SEPARATOR + MENUITEM "左へスクロール", IDM_SCROLL_LEFT + MENUITEM "右へスクロール", IDM_SCROLL_RIGHT + } +} diff --git a/dlls/shdoclc/Ko.rc b/dlls/shdoclc/Ko.rc dissimilarity index 76% index c30c21dd5b4..f637d729765 100644 --- a/dlls/shdoclc/Ko.rc +++ b/dlls/shdoclc/Ko.rc @@ -1,249 +1,252 @@ -/* - * Copyright 2005 Jacek Caban - * Copyright 2005 YunSong Hwang - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "shdoclc.h" - -LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT - -STRINGTABLE DISCARDABLE -{ - IDS_MESSAGE_BOX_TITLE, "Wine ÀÎÅÍ³Ý ÀͽºÆú·Î¾îr" -} - -STRINGTABLE DISCARDABLE -{ - IDS_PRINT_HEADER_TEMPLATE "&w&bÆäÀÌÁö &p" /* FIXME: should be "&w&bPage &p of &P" */ - IDS_PRINT_FOOTER_TEMPLATE "&u&b&d" -} - -IDR_BROWSE_CONTEXT_MENU MENU -{ - POPUP "±âº»" - { - MENUITEM "µÚ·Î(&B)", IDM_GOBACKWARD - MENUITEM "¾ÕÀ¸·Î(&O)", IDM_GOFORWARD - MENUITEM SEPARATOR - MENUITEM "¹è°æÀ¸·Î ÀúÀå(&S)...", IDM_SAVEBACKGROUND - MENUITEM "¹è°æÀ¸·Î ¼³Á¤(&G)", IDM_SETWALLPAPER - MENUITEM "¹è°æÀ¸·Î º¹»ç(&C)", IDM_COPYBACKGROUND - MENUITEM "µ¥½ºÅ©Å¾ ¾ÆÀÌÅÛÀ¸·Î ¼³Á¤(&D)", IDM_SETDESKTOPITEM - MENUITEM SEPARATOR - MENUITEM "¸ðµÎ ¼±ÅÃ(&A)", IDM_SELECTALL - MENUITEM "ºÙ¿©³Ö±â(&P)", IDM_PASTE - MENUITEM SEPARATOR - MENUITEM "¹Ù·Î°¡±â ¸¸µé±â(&T)", IDM_CREATESHORTCUT - MENUITEM "Áñ°Üã±â¿¡ ´õÇϱâ(&F)", IDM_ADDFAVORITES - MENUITEM "¼Ò½º º¸±â(&V)", IDM_VIEWSOURCE - MENUITEM SEPARATOR - MENUITEM "ÀÎÄÚµù(&E)", IDM_LANGUAGE - MENUITEM SEPARATOR - MENUITEM "Àμâ(&I)", IDM_PRINT - MENUITEM "´Ù½Ã Àбâ(&R)", _IDM_REFRESH - MENUITEM SEPARATOR - MENUITEM SEPARATOR - MENUITEM "¿É¼Ç(&P)", IDM_PROPERTIES - } - - POPUP "À̹ÌÁö" - { - MENUITEM "¸µÅ© ¿­±â(&O)", IDM_FOLLOWLINKC - MENUITEM "»õ â¿¡ ¸µÅ© ¿­±â(&N)", IDM_FOLLOWLINKN - MENUITEM "´Ù¸¥ À̸§À¸·Î ÀúÀå(&A)...", IDM_SAVETARGET - MENUITEM "Ÿ°Ù ÀúÀå(&P)", IDM_PRINTTARGET - MENUITEM SEPARATOR - MENUITEM "±×¸² º¸±â(&H)", IDM_SHOWPICTURE - MENUITEM "±×¸² ´Ù¸¥ À̸§À¸·Î ÀúÀå(&S)...", IDM_SAVEPICTURE - MENUITEM "±×¸²À» À̸ÞÀÏ·Î(&E)...", IDM_MP_EMAILPICTURE - MENUITEM "±×¸² Àμâ(&I)...", IDM_MP_PRINTPICTURE - MENUITEM "³» ±×¸²À¸·Î °¡±â(&G)", IDM_MP_MYPICS - MENUITEM "¹è°æÀ¸·Î ¼³Á¤(&G)", IDM_SETWALLPAPER - MENUITEM "µ¥½ºÅ©Å¾ ¾ÆÀÌÅÛÀ¸·Î ¼³Á¤(&D)...", IDM_SETDESKTOPITEM - MENUITEM SEPARATOR - MENUITEM "À߶󳻱â(&T)", IDM_CUT - MENUITEM "º¹»ç(&C)", IDM_COPY - MENUITEM "¹Ù·Î °¡±â º¹»ç(&T)", IDM_COPYSHORTCUT - MENUITEM "ºÙ¿©³Ö±â(&P)", IDM_PASTE - MENUITEM SEPARATOR - MENUITEM "Áñ°Ü ã±â¿¡ Ãß°¡(&F)...", IDM_ADDFAVORITES - MENUITEM SEPARATOR - MENUITEM SEPARATOR - MENUITEM "¼Ó¼º(&R)", IDM_PROPERTIES - } - - POPUP "Á¦¾î" - { - MENUITEM "µÇµ¹¸®±â(&U)", IDM_UNDO - MENUITEM SEPARATOR - MENUITEM "À߶󳻱â(&T)", IDM_CUT - MENUITEM "º¹»ç(&C)", IDM_COPY - MENUITEM "ºÙ¿©³Ö±â(&P)", IDM_PASTE - MENUITEM "Áö¿ì±â(&D)", IDM_DELETE - MENUITEM SEPARATOR - MENUITEM SEPARATOR - MENUITEM "¸ðµÎ ¼±ÅÃ(&A)", IDM_SELECTALL - } - - POPUP "ǥ" - { - POPUP "¼±ÅÃ(&S)" - { - MENUITEM "ĭ(&C)", IDM_CELLSELECT - MENUITEM "°¡·ÎÁÙ(&R)", IDM_ROWSELECT - MENUITEM "¼¼·ÎÁÙ(&C)", IDM_COLUMNSELECT - MENUITEM "ǥ(&T)", IDM_TABLESELECT - } - MENUITEM SEPARATOR - MENUITEM SEPARATOR - MENUITEM "°¡·ÎÁÙ ¼Ó¼º(&C)", IDM_CELLPROPERTIES - MENUITEM "Ç¥ ¼Ó¼º(&T)", IDM_TABLEPROPERTIES - } - - POPUP "1DSite ¼±ÅÃ" - { - MENUITEM "À߶󳻱â(&T)", IDM_CUT - MENUITEM "º¹»ç(&C)", IDM_COPY - MENUITEM "ºÙ¿©³Ö±â", IDM_PASTE - MENUITEM "¸ðµÎ ¼±ÅÃ(&A)", IDM_SELECTALL - MENUITEM "Àμâ(&P)", IDM_PRINT - MENUITEM SEPARATOR - } - - POPUP "´é" - { - MENUITEM "¿­±â(&O)", IDM_FOLLOWLINKC - MENUITEM "»õ â¿¡ ¿­±â(&N)", IDM_FOLLOWLINKN - MENUITEM "´Ù¸¥ À̸§À¸·Î ÀúÀå(&A)...", IDM_SAVETARGET - MENUITEM "´ë»ó Àμâ(&P)", IDM_PRINTTARGET - MENUITEM SEPARATOR - MENUITEM "À߶󳻱â", IDM_CUT - MENUITEM "º¹»ç(&C)", IDM_COPY - MENUITEM "¹Ù·Î°¡±â º¹»ç(&T)", IDM_COPYSHORTCUT - MENUITEM "ºÙ¿©³Ö±â(&P)", IDM_PASTE - MENUITEM SEPARATOR - MENUITEM "Áñ°Üã±â¿¡ ´õÇϱâ(&F)...", IDM_ADDFAVORITES - MENUITEM SEPARATOR - MENUITEM SEPARATOR - MENUITEM "¼Ó¼º(&R)", IDM_PROPERTIES - } - - POPUP "¾Ë¼ö ¾ø´Â ³»¿ë" - { - MENUITEM SEPARATOR - } - - POPUP "DYNSRC ±×¸²" - { - MENUITEM "¸µÅ© ¿­±â(&O)", IDM_FOLLOWLINKC - MENUITEM "»õ â¿¡ ¸µÅ© ¿­±â(&N)", IDM_FOLLOWLINKN - MENUITEM "´Ù¸¥ À̸§À¸·Î ÀúÀå(&A)...", IDM_SAVETARGET - MENUITEM "´ë»ó Àμâ(&P)", IDM_PRINTTARGET - MENUITEM SEPARATOR - MENUITEM "±×¸² º¸±â(&H)", IDM_SHOWPICTURE - MENUITEM "ºñµð¿À ´Ù¸¥ À̸§À¸·Î ÀúÀå(&S)...", IDM_SAVEPICTURE - MENUITEM "¹è°æÀ¸·Î ¼³Á¤(&g)", IDM_SETWALLPAPER - MENUITEM "µ¥½ºÅ©Å¾ ¾ÆÀÌÅÛÀ¸·Î ¼³Á¤(&D)...", IDM_SETDESKTOPITEM - MENUITEM SEPARATOR - MENUITEM "À߶󳻱â(&T)", IDM_CUT - MENUITEM "º¹»ç(&C)", IDM_COPY - MENUITEM "¹Ù·Î °¡±â º¹»ç(&T)", IDM_COPYSHORTCUT - MENUITEM "ºÙ¿©³Ö±â(&P)", IDM_PASTE - MENUITEM SEPARATOR - MENUITEM "Áñ°Üã±â¿¡ ´õÇϱâ(&F)...", IDM_ADDFAVORITES - MENUITEM SEPARATOR - MENUITEM SEPARATOR - MENUITEM "Àç»ý", IDM_DYNSRCPLAY - MENUITEM "Á¤Áö", IDM_DYNSRCSTOP - MENUITEM "¼Ó¼º(&R)", IDM_PROPERTIES - } - - POPUP "ART ±×¸²" - { - MENUITEM "¸µÅ© ¿­±â(&O)", IDM_FOLLOWLINKC - MENUITEM "»õ â¿¡ ¸µÅ© ¿­±â(&N)", IDM_FOLLOWLINKN - MENUITEM "´Ù¸¥ À̸§À¸·Î ÀúÀå(&A)...", IDM_SAVETARGET - MENUITEM "Ÿ°Ù Àμâ(&P)", IDM_PRINTTARGET - MENUITEM SEPARATOR - MENUITEM "±×¸² º¸±â(&H)", IDM_SHOWPICTURE - MENUITEM "±×¸² ´Ù¸¥ À̸§À¸·Î ÀúÀå(&S)...", IDM_SAVEPICTURE - MENUITEM "¹è°æÀ¸·Î ¼³Á¤(&g)", IDM_SETWALLPAPER - MENUITEM "µ¥½ºÅ©Å¾ ¾ÆÀÌÅÛÀ¸·Î ¼³Á¤(&D)...", IDM_SETDESKTOPITEM - MENUITEM SEPARATOR - MENUITEM "À߶󳻱â(&T)", IDM_CUT - MENUITEM "º¹»ç(&C)", IDM_COPY - MENUITEM "¹Ù·Î°¡±â º¹»ç(&T)", IDM_COPYSHORTCUT - MENUITEM "ºÙ¿©³õ±â(&P)", IDM_PASTE - MENUITEM SEPARATOR - MENUITEM "Áñ°Üã±â¿¡ ´õÇϱâ(&F)...", IDM_ADDFAVORITES - MENUITEM SEPARATOR - MENUITEM "Àç»ý", IDM_IMGARTPLAY - MENUITEM "Á¤Áö", IDM_IMGARTSTOP - MENUITEM "´Ù½Ã °¨±â", IDM_IMGARTREWIND - MENUITEM SEPARATOR - MENUITEM SEPARATOR - MENUITEM "¼Ó¼º(&R)", IDM_PROPERTIES - } - - POPUP "µð¹ö±×" - { - MENUITEM "ÅÂ±× ÃßÀû", IDM_TRACETAGS - MENUITEM "¸®¼Ò½º ½ÇÆÐ", IDM_RESOURCEFAILURES - MENUITEM "ÃßÀû Á¤º¸ ´ýÇÁ", IDM_DUMPTRACKINGINFO - MENUITEM "µð¹ö±× ºê·¹ÀÌÅ©", IDM_DEBUGBREAK - MENUITEM "µð¹ö±× º¸±â", IDM_DEBUGVIEW - MENUITEM "Æ®¸® ´ýÇÁ", IDM_DUMPTREE - MENUITEM "¶óÀÎ ´ýÇÁ", IDM_DUMPLINES - MENUITEM "µð½ºÇ÷¹ÀÌÆ®¸® ´ýÇÁ", IDM_DUMPDISPLAYTREE - MENUITEM "Æ÷¸Ëij½¬ ´ýÇÁ", IDM_DUMPFORMATCACHES - MENUITEM "·¹À̾ƿô·ºÆ® ´ýÇÁ", IDM_DUMPLAYOUTRECTS - MENUITEM "¸Þ¸ð¸® ¸ð´ÏÅÍ", IDM_MEMORYMONITOR - MENUITEM "¼º´É ÃøÁ¤", IDM_PERFORMANCEMETERS - MENUITEM "HTML ÀúÀå", IDM_SAVEHTML - MENUITEM SEPARATOR - MENUITEM "º¸±â »óÅÂ(&B)", IDM_BROWSEMODE - MENUITEM "ÆíÁý »óÅÂ(&E)", IDM_EDITMODE - } - - POPUP "¼¼·Î ½ºÅ©·Ñ¹Ù" - { - MENUITEM "¿©±â¼­ ½ºÅ©·Ñ", IDM_SCROLL_HERE - MENUITEM SEPARATOR - MENUITEM "À§", IDM_SCROLL_TOP - MENUITEM "¾Æ·¡", IDM_SCROLL_BOTTOM - MENUITEM SEPARATOR - MENUITEM "À§ ÆäÀÌÁö", IDM_SCROLL_PAGEUP - MENUITEM "¾Æ·¡ ÆäÀÌÁö", IDM_SCROLL_PAGEDOWN - MENUITEM SEPARATOR - MENUITEM "À§·Î ½ºÅ©·Ñ", IDM_SCROLL_UP - MENUITEM "¾Æ·¡·Î ½ºÅ©·Ñ", IDM_SCROLL_DOWN - } - - POPUP "°¡·Î ½ºÅ©·Ñ¹Ù" - { - MENUITEM "¿©±â¼­ ½ºÅ©·Ñ", IDM_SCROLL_HERE - MENUITEM SEPARATOR - MENUITEM "¿ÞÂÊ °¡ÀåÀÚ¸®", IDM_SCROLL_LEFTEDGE - MENUITEM "¿À¸¥ÂÊ °¡ÀåÀÚ¸®", IDM_SCROLL_RIGHTEDGE - MENUITEM SEPARATOR - MENUITEM "ÆäÀÌÁö ¿ÞÂÊ", IDM_SCROLL_PAGELEFT - MENUITEM "ÆäÀÌÁö ¿À¸¥ÂÊ", IDM_SCROLL_PAGERIGHT - MENUITEM SEPARATOR - MENUITEM "¿ÞÂÊÀ¸·Î ½ºÅ©·Ñ", IDM_SCROLL_LEFT - MENUITEM "¿À¸¥ÂÊÀ¸·Î ½ºÅ©·Ñ", IDM_SCROLL_RIGHT - } -} +/* + * Copyright 2005 Jacek Caban + * Copyright 2005,2010 YunSong Hwang + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "shdoclc.h" + +/* UTF8 */ +#pragma code_page(65001) + +LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT + +STRINGTABLE DISCARDABLE +{ + IDS_MESSAGE_BOX_TITLE, "Wine 인터넷 익스폴로어r" +} + +STRINGTABLE DISCARDABLE +{ + IDS_PRINT_HEADER_TEMPLATE "&w&b페이지 &p" /* FIXME: should be "&w&bPage &p of &P" */ + IDS_PRINT_FOOTER_TEMPLATE "&u&b&d" +} + +IDR_BROWSE_CONTEXT_MENU MENU +{ + POPUP "기본" + { + MENUITEM "뒤로(&B)", IDM_GOBACKWARD + MENUITEM "앞으로(&O)", IDM_GOFORWARD + MENUITEM SEPARATOR + MENUITEM "배경으로 저장(&S)...", IDM_SAVEBACKGROUND + MENUITEM "배경으로 설정(&G)", IDM_SETWALLPAPER + MENUITEM "배경으로 복사(&C)", IDM_COPYBACKGROUND + MENUITEM "데스크탑 아이템으로 설정(&D)", IDM_SETDESKTOPITEM + MENUITEM SEPARATOR + MENUITEM "모두 선택(&A)", IDM_SELECTALL + MENUITEM "붙여넣기(&P)", IDM_PASTE + MENUITEM SEPARATOR + MENUITEM "바로가기 만들기(&T)", IDM_CREATESHORTCUT + MENUITEM "즐겨찾기에 더하기(&F)", IDM_ADDFAVORITES + MENUITEM "소스 보기(&V)", IDM_VIEWSOURCE + MENUITEM SEPARATOR + MENUITEM "인코딩(&E)", IDM_LANGUAGE + MENUITEM SEPARATOR + MENUITEM "인쇄(&I)", IDM_PRINT + MENUITEM "다시 읽기(&R)", _IDM_REFRESH + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM "옵션(&P)", IDM_PROPERTIES + } + + POPUP "이미지" + { + MENUITEM "링크 열기(&O)", IDM_FOLLOWLINKC + MENUITEM "새 창에 링크 열기(&N)", IDM_FOLLOWLINKN + MENUITEM "다른 이름으로 저장(&A)...", IDM_SAVETARGET + MENUITEM "타겟 저장(&P)", IDM_PRINTTARGET + MENUITEM SEPARATOR + MENUITEM "그림 보기(&H)", IDM_SHOWPICTURE + MENUITEM "그림 다른 이름으로 저장(&S)...", IDM_SAVEPICTURE + MENUITEM "그림을 이메일로(&E)...", IDM_MP_EMAILPICTURE + MENUITEM "그림 인쇄(&I)...", IDM_MP_PRINTPICTURE + MENUITEM "내 그림으로 가기(&G)", IDM_MP_MYPICS + MENUITEM "배경으로 설정(&G)", IDM_SETWALLPAPER + MENUITEM "데스크탑 아이템으로 설정(&D)...", IDM_SETDESKTOPITEM + MENUITEM SEPARATOR + MENUITEM "잘라내기(&T)", IDM_CUT + MENUITEM "복사(&C)", IDM_COPY + MENUITEM "바로 가기 복사(&T)", IDM_COPYSHORTCUT + MENUITEM "붙여넣기(&P)", IDM_PASTE + MENUITEM SEPARATOR + MENUITEM "즐겨 찾기에 추가(&F)...", IDM_ADDFAVORITES + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM "속성(&R)", IDM_PROPERTIES + } + + POPUP "제어" + { + MENUITEM "되돌리기(&U)", IDM_UNDO + MENUITEM SEPARATOR + MENUITEM "잘라내기(&T)", IDM_CUT + MENUITEM "복사(&C)", IDM_COPY + MENUITEM "붙여넣기(&P)", IDM_PASTE + MENUITEM "지우기(&D)", IDM_DELETE + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM "모두 선택(&A)", IDM_SELECTALL + } + + POPUP "표" + { + POPUP "선택(&S)" + { + MENUITEM "칸(&C)", IDM_CELLSELECT + MENUITEM "가로줄(&R)", IDM_ROWSELECT + MENUITEM "세로줄(&C)", IDM_COLUMNSELECT + MENUITEM "표(&T)", IDM_TABLESELECT + } + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM "가로줄 속성(&C)", IDM_CELLPROPERTIES + MENUITEM "표 속성(&T)", IDM_TABLEPROPERTIES + } + + POPUP "1DSite 선택" + { + MENUITEM "잘라내기(&T)", IDM_CUT + MENUITEM "복사(&C)", IDM_COPY + MENUITEM "붙여넣기", IDM_PASTE + MENUITEM "모두 선택(&A)", IDM_SELECTALL + MENUITEM "인쇄(&P)", IDM_PRINT + MENUITEM SEPARATOR + } + + POPUP "닻" + { + MENUITEM "열기(&O)", IDM_FOLLOWLINKC + MENUITEM "새 창에 열기(&N)", IDM_FOLLOWLINKN + MENUITEM "다른 이름으로 저장(&A)...", IDM_SAVETARGET + MENUITEM "대상 인쇄(&P)", IDM_PRINTTARGET + MENUITEM SEPARATOR + MENUITEM "잘라내기", IDM_CUT + MENUITEM "복사(&C)", IDM_COPY + MENUITEM "바로가기 복사(&T)", IDM_COPYSHORTCUT + MENUITEM "붙여넣기(&P)", IDM_PASTE + MENUITEM SEPARATOR + MENUITEM "즐겨찾기에 더하기(&F)...", IDM_ADDFAVORITES + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM "속성(&R)", IDM_PROPERTIES + } + + POPUP "알수 없는 내용" + { + MENUITEM SEPARATOR + } + + POPUP "DYNSRC 그림" + { + MENUITEM "링크 열기(&O)", IDM_FOLLOWLINKC + MENUITEM "새 창에 링크 열기(&N)", IDM_FOLLOWLINKN + MENUITEM "다른 이름으로 저장(&A)...", IDM_SAVETARGET + MENUITEM "대상 인쇄(&P)", IDM_PRINTTARGET + MENUITEM SEPARATOR + MENUITEM "그림 보기(&H)", IDM_SHOWPICTURE + MENUITEM "비디오 다른 이름으로 저장(&S)...", IDM_SAVEPICTURE + MENUITEM "배경으로 설정(&g)", IDM_SETWALLPAPER + MENUITEM "데스크탑 아이템으로 설정(&D)...", IDM_SETDESKTOPITEM + MENUITEM SEPARATOR + MENUITEM "잘라내기(&T)", IDM_CUT + MENUITEM "복사(&C)", IDM_COPY + MENUITEM "바로 가기 복사(&T)", IDM_COPYSHORTCUT + MENUITEM "붙여넣기(&P)", IDM_PASTE + MENUITEM SEPARATOR + MENUITEM "즐겨찾기에 더하기(&F)...", IDM_ADDFAVORITES + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM "재생", IDM_DYNSRCPLAY + MENUITEM "정지", IDM_DYNSRCSTOP + MENUITEM "속성(&R)", IDM_PROPERTIES + } + + POPUP "ART 그림" + { + MENUITEM "링크 열기(&O)", IDM_FOLLOWLINKC + MENUITEM "새 창에 링크 열기(&N)", IDM_FOLLOWLINKN + MENUITEM "다른 이름으로 저장(&A)...", IDM_SAVETARGET + MENUITEM "타겟 인쇄(&P)", IDM_PRINTTARGET + MENUITEM SEPARATOR + MENUITEM "그림 보기(&H)", IDM_SHOWPICTURE + MENUITEM "그림 다른 이름으로 저장(&S)...", IDM_SAVEPICTURE + MENUITEM "배경으로 설정(&g)", IDM_SETWALLPAPER + MENUITEM "데스크탑 아이템으로 설정(&D)...", IDM_SETDESKTOPITEM + MENUITEM SEPARATOR + MENUITEM "잘라내기(&T)", IDM_CUT + MENUITEM "복사(&C)", IDM_COPY + MENUITEM "바로가기 복사(&T)", IDM_COPYSHORTCUT + MENUITEM "붙여놓기(&P)", IDM_PASTE + MENUITEM SEPARATOR + MENUITEM "즐겨찾기에 더하기(&F)...", IDM_ADDFAVORITES + MENUITEM SEPARATOR + MENUITEM "재생", IDM_IMGARTPLAY + MENUITEM "정지", IDM_IMGARTSTOP + MENUITEM "다시 감기", IDM_IMGARTREWIND + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM "속성(&R)", IDM_PROPERTIES + } + + POPUP "디버그" + { + MENUITEM "태그 추적", IDM_TRACETAGS + MENUITEM "리소스 실패", IDM_RESOURCEFAILURES + MENUITEM "추적 정보 덤프", IDM_DUMPTRACKINGINFO + MENUITEM "디버그 브레이크", IDM_DEBUGBREAK + MENUITEM "디버그 보기", IDM_DEBUGVIEW + MENUITEM "트리 덤프", IDM_DUMPTREE + MENUITEM "라인 덤프", IDM_DUMPLINES + MENUITEM "디스플레이트리 덤프", IDM_DUMPDISPLAYTREE + MENUITEM "포맷캐쉬 덤프", IDM_DUMPFORMATCACHES + MENUITEM "레이아웃렉트 덤프", IDM_DUMPLAYOUTRECTS + MENUITEM "메모리 모니터", IDM_MEMORYMONITOR + MENUITEM "성능 측정", IDM_PERFORMANCEMETERS + MENUITEM "HTML 저장", IDM_SAVEHTML + MENUITEM SEPARATOR + MENUITEM "보기 상태(&B)", IDM_BROWSEMODE + MENUITEM "편집 상태(&E)", IDM_EDITMODE + } + + POPUP "세로 스크롤바" + { + MENUITEM "여기서 스크롤", IDM_SCROLL_HERE + MENUITEM SEPARATOR + MENUITEM "위", IDM_SCROLL_TOP + MENUITEM "아래", IDM_SCROLL_BOTTOM + MENUITEM SEPARATOR + MENUITEM "위 페이지", IDM_SCROLL_PAGEUP + MENUITEM "아래 페이지", IDM_SCROLL_PAGEDOWN + MENUITEM SEPARATOR + MENUITEM "위로 스크롤", IDM_SCROLL_UP + MENUITEM "아래로 스크롤", IDM_SCROLL_DOWN + } + + POPUP "가로 스크롤바" + { + MENUITEM "여기서 스크롤", IDM_SCROLL_HERE + MENUITEM SEPARATOR + MENUITEM "왼쪽 가장자리", IDM_SCROLL_LEFTEDGE + MENUITEM "오른쪽 가장자리", IDM_SCROLL_RIGHTEDGE + MENUITEM SEPARATOR + MENUITEM "페이지 왼쪽", IDM_SCROLL_PAGELEFT + MENUITEM "페이지 오른쪽", IDM_SCROLL_PAGERIGHT + MENUITEM SEPARATOR + MENUITEM "왼쪽으로 스크롤", IDM_SCROLL_LEFT + MENUITEM "오른쪽으로 스크롤", IDM_SCROLL_RIGHT + } +} diff --git a/dlls/shdoclc/Makefile.in b/dlls/shdoclc/Makefile.in index cdc7ca62b56..b6d28676730 100644 --- a/dlls/shdoclc/Makefile.in +++ b/dlls/shdoclc/Makefile.in @@ -15,6 +15,7 @@ RC_SRCS = \ Fr.rc \ Hu.rc \ It.rc \ + Ja.rc \ Ko.rc \ Lt.rc \ Nl.rc \ diff --git a/dlls/shdocvw/iexplore.c b/dlls/shdocvw/iexplore.c index 5ef0b365915..e4e7618eba0 100644 --- a/dlls/shdocvw/iexplore.c +++ b/dlls/shdocvw/iexplore.c @@ -90,6 +90,7 @@ void register_iewindow_class(void) WNDCLASSEXW wc; memset(&wc, 0, sizeof wc); + wc.cbSize = sizeof(wc); wc.style = 0; wc.lpfnWndProc = ie_window_proc; wc.cbClsExtra = 0; diff --git a/dlls/shdocvw/tests/webbrowser.c b/dlls/shdocvw/tests/webbrowser.c index 17189fc1284..15fc1ec0d72 100644 --- a/dlls/shdocvw/tests/webbrowser.c +++ b/dlls/shdocvw/tests/webbrowser.c @@ -2369,6 +2369,7 @@ static void test_IServiceProvider(IUnknown *unk) #define get_document(u) _get_document(__LINE__,u) static IDispatch *_get_document(unsigned line, IUnknown *unk) { + IHTMLDocument2 *html_doc; IWebBrowser2 *wb; IDispatch *disp; HRESULT hres; @@ -2382,6 +2383,11 @@ static IDispatch *_get_document(unsigned line, IUnknown *unk) ok_(__FILE__,line)(hres == S_OK, "get_Document failed: %08x\n", hres); ok_(__FILE__,line)(disp != NULL, "doc_disp == NULL\n"); + hres = IDispatch_QueryInterface(disp, &IID_IHTMLDocument2, (void**)&html_doc); + ok_(__FILE__,line)(hres == S_OK, "Could not get IHTMLDocument iface: %08x\n", hres); + ok(disp == (IDispatch*)html_doc, "disp != html_doc\n"); + IHTMLDocument_Release(html_doc); + return disp; } diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c index 0c26a83b55e..20d39bb3764 100644 --- a/dlls/shdocvw/webbrowser.c +++ b/dlls/shdocvw/webbrowser.c @@ -22,6 +22,7 @@ #include "wine/debug.h" #include "shdocvw.h" #include "exdispid.h" +#include "mshtml.h" WINE_DEFAULT_DEBUG_CHANNEL(shdocvw); @@ -334,13 +335,28 @@ static HRESULT WINAPI WebBrowser_get_Container(IWebBrowser2 *iface, IDispatch ** static HRESULT WINAPI WebBrowser_get_Document(IWebBrowser2 *iface, IDispatch **ppDisp) { WebBrowser *This = WEBBROWSER_THIS(iface); + IDispatch *disp = NULL; TRACE("(%p)->(%p)\n", This, ppDisp); - *ppDisp = NULL; - if(This->doc_host.document) - IUnknown_QueryInterface(This->doc_host.document, &IID_IDispatch, (void**)ppDisp); + if(This->doc_host.document) { + HRESULT hres; + + hres = IUnknown_QueryInterface(This->doc_host.document, &IID_IDispatch, (void**)&disp); + if(SUCCEEDED(hres)) { + IDispatch *html_doc; + + /* Some broken apps cast returned IDispatch to IHTMLDocument2 + * without QueryInterface call */ + hres = IDispatch_QueryInterface(disp, &IID_IHTMLDocument2, (void**)&html_doc); + if(SUCCEEDED(hres)) { + IDispatch_Release(disp); + disp = html_doc; + } + } + } + *ppDisp = disp; return S_OK; } diff --git a/dlls/shell32/control.c b/dlls/shell32/control.c index aabe89ef45a..3346ddc878e 100644 --- a/dlls/shell32/control.c +++ b/dlls/shell32/control.c @@ -622,6 +622,7 @@ static void Control_DoInterface(CPanel* panel, HWND hWnd, HINSTANCE hInst) LoadStringW(shell32_hInstance, IDS_CPANEL_TITLE, appName, sizeof(appName) / sizeof(appName[0])); + wc.cbSize = sizeof(wc); wc.style = CS_HREDRAW|CS_VREDRAW; wc.lpfnWndProc = Control_WndProc; wc.cbClsExtra = 0; diff --git a/dlls/shell32/dde.c b/dlls/shell32/dde.c index 817fd333530..2cbcb0de61d 100644 --- a/dlls/shell32/dde.c +++ b/dlls/shell32/dde.c @@ -88,13 +88,13 @@ static inline HDDEDATA Dde_OnRequest(UINT uFmt, HCONV hconv, HSZ hszTopic, static inline DWORD Dde_OnExecute(HCONV hconv, HSZ hszTopic, HDDEDATA hdata) { - BYTE * pszCommand; + WCHAR * pszCommand; - pszCommand = DdeAccessData(hdata, NULL); + pszCommand = (WCHAR *)DdeAccessData(hdata, NULL); if (!pszCommand) return DDE_FNOTPROCESSED; - FIXME("stub: %s %s\n", debugstr_hsz(hszTopic), pszCommand); + FIXME("stub: %s %s\n", debugstr_hsz(hszTopic), debugstr_w(pszCommand)); DdeUnaccessData(hdata); diff --git a/dlls/shell32/shell32_Nl.rc b/dlls/shell32/shell32_Nl.rc index 4dd663225ff..6030433ef74 100644 --- a/dlls/shell32/shell32_Nl.rc +++ b/dlls/shell32/shell32_Nl.rc @@ -25,8 +25,8 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL MENU_001 MENU DISCARDABLE BEGIN - MENUITEM "&Grote Pictogrammen", FCIDM_SHVIEW_BIGICON - MENUITEM "&Kleine Pictogrammen", FCIDM_SHVIEW_SMALLICON + MENUITEM "&Grote pictogrammen", FCIDM_SHVIEW_BIGICON + MENUITEM "&Kleine pictogrammen", FCIDM_SHVIEW_SMALLICON MENUITEM "&Lijst", FCIDM_SHVIEW_LISTVIEW MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW END @@ -40,32 +40,32 @@ BEGIN BEGIN POPUP "&Bekijken" BEGIN - MENUITEM "&Grote Pictogrammen", FCIDM_SHVIEW_BIGICON - MENUITEM "&Kleine Pictogrammen", FCIDM_SHVIEW_SMALLICON + MENUITEM "&Grote pictogrammen", FCIDM_SHVIEW_BIGICON + MENUITEM "&Kleine pictogrammen", FCIDM_SHVIEW_SMALLICON MENUITEM "&Lijst", FCIDM_SHVIEW_LISTVIEW MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW END MENUITEM SEPARATOR - POPUP "P&ictogrammen Sorteren" + POPUP "P&ictogrammen sorteren" BEGIN - MENUITEM "Op &Naam", 0x30 /* column 0 */ - MENUITEM "Op &Type", 0x32 /* column 2 */ - MENUITEM "Op &Grootte", 0x31 /* ... */ - MENUITEM "Op &Datum", 0x33 + MENUITEM "Op &naam", 0x30 /* column 0 */ + MENUITEM "Op &type", 0x32 /* column 2 */ + MENUITEM "Op &grootte", 0x31 /* ... */ + MENUITEM "Op &datum", 0x33 MENUITEM SEPARATOR MENUITEM "&Automatisch", FCIDM_SHVIEW_AUTOARRANGE END - MENUITEM "Pictogrammen Uitlijnen", FCIDM_SHVIEW_SNAPTOGRID + MENUITEM "Pictogrammen uitlijnen", FCIDM_SHVIEW_SNAPTOGRID MENUITEM SEPARATOR MENUITEM "Vernieuwen", FCIDM_SHVIEW_REFRESH MENUITEM SEPARATOR MENUITEM "Plakken", FCIDM_SHVIEW_INSERT - MENUITEM "Plakken als Snelkoppeling", FCIDM_SHVIEW_INSERTLINK + MENUITEM "Plakken als snelkoppeling", FCIDM_SHVIEW_INSERTLINK MENUITEM SEPARATOR POPUP "Nieuw" BEGIN - MENUITEM "Nieuwe &Map", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "Nieuwe Sne&lkoppeling", FCIDM_SHVIEW_NEWLINK + MENUITEM "Nieuwe &map", FCIDM_SHVIEW_NEWFOLDER + MENUITEM "Nieuwe sne&lkoppeling", FCIDM_SHVIEW_NEWLINK MENUITEM SEPARATOR END MENUITEM SEPARATOR @@ -88,7 +88,7 @@ BEGIN MENUITEM "K&nippen", FCIDM_SHVIEW_CUT MENUITEM "&Kopiëren", FCIDM_SHVIEW_COPY MENUITEM SEPARATOR - MENUITEM "Maak Sne&lkoppeling", FCIDM_SHVIEW_CREATELINK + MENUITEM "Maak sne&lkoppeling", FCIDM_SHVIEW_CREATELINK MENUITEM "Ver&wijderen", FCIDM_SHVIEW_DELETE MENUITEM "&Hernoemen", FCIDM_SHVIEW_RENAME MENUITEM SEPARATOR @@ -106,8 +106,8 @@ BEGIN POPUP "B&eeld" BEGIN - MENUITEM "&Grote Pictogrammen", FCIDM_SHVIEW_BIGICON - MENUITEM "&Kleine Pictogrammen", FCIDM_SHVIEW_SMALLICON + MENUITEM "&Grote pictogrammen", FCIDM_SHVIEW_BIGICON + MENUITEM "&Kleine pictogrammen", FCIDM_SHVIEW_SMALLICON MENUITEM "&Lijst", FCIDM_SHVIEW_LISTVIEW MENUITEM "&Details", FCIDM_SHVIEW_REPORTVIEW END @@ -120,7 +120,7 @@ END SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK -CAPTION "Bladeren naar Map" +CAPTION "Bladeren naar map" FONT 8, "MS Shell Dlg" { DEFPUSHBUTTON "OK", 1, 80, 176, 50, 12, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP @@ -135,7 +135,7 @@ FONT 8, "MS Shell Dlg" SHNEWBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 218, 196 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | WS_SIZEBOX | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK -CAPTION "Bladeren naar Map" +CAPTION "Bladeren naar map" FONT 8, "MS Shell Dlg" { LTEXT "", IDD_TITLE, 10, 8, 198, 24 @@ -217,26 +217,26 @@ STRINGTABLE /* special folders */ IDS_DESKTOP "Bureaublad" IDS_MYCOMPUTER "Mijn Computer" - IDS_RECYCLEBIN_FOLDER_NAME "Vuilnisbak" + IDS_RECYCLEBIN_FOLDER_NAME "Prullenbak" IDS_CONTROLPANEL "Configuratiescherm" /* context menus */ - IDS_VIEW_LARGE "Grote Pictogrammen" - IDS_VIEW_SMALL "&Kleine Pictogrammen" + IDS_VIEW_LARGE "Grote pictogrammen" + IDS_VIEW_SMALL "&Kleine pictogrammen" IDS_VIEW_LIST "&Lijst" IDS_VIEW_DETAILS "&Details" IDS_SELECT "Selecteren" IDS_OPEN "Openen" - IDS_CREATEFOLDER_DENIED "Niet mogelijk om nieuwe map te maken: Geen permissies." + IDS_CREATEFOLDER_DENIED "Niet mogelijk om nieuwe map te maken: geen permissies." IDS_CREATEFOLDER_CAPTION "Fout tijdens het maken van een nieuwe map" IDS_DELETEITEM_CAPTION "Bevestig bestandsverwijdering" IDS_DELETEFOLDER_CAPTION "Bevestig mapverwijdering" IDS_DELETEITEM_TEXT "Weet u zeker dat u '%1' wilt verwijderen?" IDS_DELETEMULTIPLE_TEXT "Weet u zeker dat u deze %1 bestanden wilt verwijderen?" IDS_DELETESELECTED_TEXT "Weet u zeker dat u de geselecteerde bestand(en) wilt verwijderen?" - IDS_TRASHITEM_TEXT "Weet u zeker dat u '%1' naar de Vuilnisbak wilt verplaatsen?" - IDS_TRASHFOLDER_TEXT "Weet u zeker dat u '%1' en zijn gehele inhoud naar de Vuilnisbak wilt verplaatsen?" + IDS_TRASHITEM_TEXT "Weet u zeker dat u '%1' naar de Prullenbak wilt verplaatsen?" + IDS_TRASHFOLDER_TEXT "Weet u zeker dat u '%1' en zijn gehele inhoud naar de Prullenbak wilt verplaatsen?" IDS_TRASHMULTIPLE_TEXT "Weet u zeker dat u deze %1 bestanden naar de Vuilnisbak wilt verplaatsen?" IDS_CANTTRASH_TEXT "Bestand '%1' kan niet naar de Vuilnisbak worden verplaatst. Wilt u het bestand permanent verwijderen?" IDS_OVERWRITEFILE_TEXT "Deze map bevat reeds een bestand genaamd '%1'.\n\nWilt u het vervangen?" @@ -281,7 +281,7 @@ STRINGTABLE IDS_MYPICTURES "Mijn Afbeeldingen" IDS_PROGRAM_FILES_COMMON "Program Files\\Common Files" IDS_COMMON_DOCUMENTS "Documenten" - IDS_ADMINTOOLS "Start Menu\\Programmas\\Administratieve Tools" + IDS_ADMINTOOLS "Start Menu\\Programma's\\Administratieve Tools" IDS_COMMON_MUSIC "Documenten\\Mijn Muziek" IDS_COMMON_PICTURES "Documenten\\Mijn Afbeeldingen" IDS_COMMON_VIDEO "Documenten\\Mijn Videos" diff --git a/dlls/shell32/tests/shellpath.c b/dlls/shell32/tests/shellpath.c index 33e07892c18..b874b5a1ee4 100644 --- a/dlls/shell32/tests/shellpath.c +++ b/dlls/shell32/tests/shellpath.c @@ -727,7 +727,7 @@ static void doChild(const char *arg) trace("CSIDL_FAVORITES was changed to %s\n", path); ret = CreateDirectoryA(path, NULL); - ok(!ret, "expected failure with with ERROR_ALREADY_EXISTS\n"); + ok(!ret, "expected failure with ERROR_ALREADY_EXISTS\n"); if (!ret) ok(GetLastError() == ERROR_ALREADY_EXISTS, "got %d, expected ERROR_ALREADY_EXISTS\n", GetLastError()); diff --git a/dlls/shell32/tests/shlexec.c b/dlls/shell32/tests/shlexec.c index 84557766f2e..b883d0bcbf9 100644 --- a/dlls/shell32/tests/shlexec.c +++ b/dlls/shell32/tests/shlexec.c @@ -960,6 +960,133 @@ static void test_lpFile_parsed(void) "expected success (33), got %s (%d), lpFile: %s\n", rc > 32 ? "success" : "failure", rc, fileA ); + +} + +static void test_argify(void) +{ + char fileA[MAX_PATH]; + + int rc; + + sprintf(fileA, "%s\\test file.shlexec", tmpdir); + + /* %2 */ + rc=shell_execute("NoQuotesParam2", fileA, "a b", NULL); + ok(rc>32, + "expected success (33), got %s (%d), lpFile: %s\n", + rc > 32 ? "success" : "failure", rc, fileA + ); + if (rc>32) + { + okChildInt("argcA", 5); + okChildString("argvA4", "a"); + } + + /* %2 */ + /* '"a"""' -> 'a"' */ + rc=shell_execute("NoQuotesParam2", fileA, "\"a:\"\"some string\"\"\"", NULL); + ok(rc>32, + "expected success (33), got %s (%d), lpFile: %s\n", + rc > 32 ? "success" : "failure", rc, fileA + ); + if (rc>32) + { + okChildInt("argcA", 5); + todo_wine { + okChildString("argvA4", "a:some string"); + } + } + + /* %2 */ + /* backslash isn't escape char + * '"a\""' -> '"a\""' */ + rc=shell_execute("NoQuotesParam2", fileA, "\"a:\\\"some string\\\"\"", NULL); + ok(rc>32, + "expected success (33), got %s (%d), lpFile: %s\n", + rc > 32 ? "success" : "failure", rc, fileA + ); + if (rc>32) + { + okChildInt("argcA", 5); + todo_wine { + okChildString("argvA4", "a:\\"); + } + } + + /* "%2" */ + /* \t isn't whitespace */ + rc=shell_execute("QuotedParam2", fileA, "a\tb c", NULL); + ok(rc>32, + "expected success (33), got %s (%d), lpFile: %s\n", + rc > 32 ? "success" : "failure", rc, fileA + ); + if (rc>32) + { + okChildInt("argcA", 5); + todo_wine { + okChildString("argvA4", "a\tb"); + } + } + + /* %* */ + rc=shell_execute("NoQuotesAllParams", fileA, "a b c d e f g h", NULL); + ok(rc>32, + "expected success (33), got %s (%d), lpFile: %s\n", + rc > 32 ? "success" : "failure", rc, fileA + ); + if (rc>32) + { + todo_wine { + okChildInt("argcA", 12); + okChildString("argvA4", "a"); + okChildString("argvA11", "h"); + } + } + + /* %* can sometimes contain only whitespaces and no args */ + rc=shell_execute("QuotedAllParams", fileA, " ", NULL); + ok(rc>32, + "expected success (33), got %s (%d), lpFile: %s\n", + rc > 32 ? "success" : "failure", rc, fileA + ); + if (rc>32) + { + todo_wine { + okChildInt("argcA", 5); + okChildString("argvA4", " "); + } + } + + /* %~3 */ + rc=shell_execute("NoQuotesParams345etc", fileA, "a b c d e f g h", NULL); + ok(rc>32, + "expected success (33), got %s (%d), lpFile: %s\n", + rc > 32 ? "success" : "failure", rc, fileA + ); + if (rc>32) + { + todo_wine { + okChildInt("argcA", 11); + okChildString("argvA4", "b"); + okChildString("argvA10", "h"); + } + } + + /* %~3 is rest of command line starting with whitespaces after 2nd arg */ + rc=shell_execute("QuotedParams345etc", fileA, "a ", NULL); + ok(rc>32, + "expected success (33), got %s (%d), lpFile: %s\n", + rc > 32 ? "success" : "failure", rc, fileA + ); + if (rc>32) + { + okChildInt("argcA", 5); + todo_wine { + okChildString("argvA4", " "); + } + } + } static void test_filename(void) @@ -1935,6 +2062,15 @@ static void init_test(void) create_test_verb(".shlexec", "QuotedLowerL", 0, "QuotedLowerL \"%l\""); create_test_verb(".shlexec", "UpperL", 0, "UpperL %L"); create_test_verb(".shlexec", "QuotedUpperL", 0, "QuotedUpperL \"%L\""); + + create_test_verb(".shlexec", "NoQuotesParam2", 0, "NoQuotesParam2 %2"); + create_test_verb(".shlexec", "QuotedParam2", 0, "QuotedParam2 \"%2\""); + + create_test_verb(".shlexec", "NoQuotesAllParams", 0, "NoQuotesAllParams %*"); + create_test_verb(".shlexec", "QuotedAllParams", 0, "QuotedAllParams \"%*\""); + + create_test_verb(".shlexec", "NoQuotesParams345etc", 0, "NoQuotesParams345etc %~3"); + create_test_verb(".shlexec", "QuotedParams345etc", 0, "QuotedParams345etc \"%~3\""); } static void cleanup_test(void) @@ -2048,6 +2184,7 @@ START_TEST(shlexec) init_test(); + test_argify(); test_lpFile_parsed(); test_filename(); test_find_executable(); diff --git a/dlls/shell32/tests/shlfolder.c b/dlls/shell32/tests/shlfolder.c index d0055d4ffa5..085c91e064e 100644 --- a/dlls/shell32/tests/shlfolder.c +++ b/dlls/shell32/tests/shlfolder.c @@ -2024,7 +2024,6 @@ static void test_SHCreateShellItem(void) static void test_SHParseDisplayName(void) { - static const WCHAR prefixW[] = {'w','t',0}; LPITEMIDLIST pidl1, pidl2; IShellFolder *desktop; WCHAR dirW[MAX_PATH]; @@ -2066,9 +2065,7 @@ if (0) pILFree(pidl2); /* with path */ - GetTempPathW(sizeof(dirW)/sizeof(WCHAR), dirW); - GetTempFileNameW(dirW, prefixW, 0, dirW); - CreateFileW(dirW, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL); + GetWindowsDirectoryW( dirW, MAX_PATH ); hr = pSHParseDisplayName(dirW, NULL, &pidl1, 0, NULL); ok(hr == S_OK, "failed %08x\n", hr); @@ -2080,8 +2077,6 @@ if (0) pILFree(pidl1); pILFree(pidl2); - DeleteFileW(dirW); - IShellFolder_Release(desktop); } diff --git a/dlls/shell32/tests/shlview.c b/dlls/shell32/tests/shlview.c index dc60a497ff6..e3e0ef24ed5 100644 --- a/dlls/shell32/tests/shlview.c +++ b/dlls/shell32/tests/shlview.c @@ -94,7 +94,7 @@ typedef struct { static const IDataObjectVtbl IDataObjectImpl_Vtbl; -IDataObject* IDataObjectImpl_Construct(void) +static IDataObject* IDataObjectImpl_Construct(void) { IDataObjectImpl *obj; @@ -216,7 +216,7 @@ typedef struct { static const IShellBrowserVtbl IShellBrowserImpl_Vtbl; -IShellBrowser* IShellBrowserImpl_Construct(void) +static IShellBrowser* IShellBrowserImpl_Construct(void) { IShellBrowserImpl *browser; diff --git a/dlls/shlwapi/tests/ordinal.c b/dlls/shlwapi/tests/ordinal.c index cfc25e116c7..bf614182771 100644 --- a/dlls/shlwapi/tests/ordinal.c +++ b/dlls/shlwapi/tests/ordinal.c @@ -1960,7 +1960,7 @@ typedef struct { static const IOleCommandTargetVtbl IOleCommandTargetImpl_Vtbl; -IOleCommandTarget* IOleCommandTargetImpl_Construct(void) +static IOleCommandTarget* IOleCommandTargetImpl_Construct(void) { IOleCommandTargetImpl *obj; @@ -2050,7 +2050,7 @@ typedef struct { static const IServiceProviderVtbl IServiceProviderImpl_Vtbl; static const IProfferServiceVtbl IProfferServiceImpl_Vtbl; -IServiceProvider* IServiceProviderImpl_Construct(void) +static IServiceProvider* IServiceProviderImpl_Construct(void) { IServiceProviderImpl *obj; @@ -2061,7 +2061,7 @@ IServiceProvider* IServiceProviderImpl_Construct(void) return (IServiceProvider*)obj; } -IProfferService* IProfferServiceImpl_Construct(void) +static IProfferService* IProfferServiceImpl_Construct(void) { IProfferServiceImpl *obj; diff --git a/dlls/shlwapi/tests/url.c b/dlls/shlwapi/tests/url.c index c828ea9f46a..8a8f68a8f9e 100644 --- a/dlls/shlwapi/tests/url.c +++ b/dlls/shlwapi/tests/url.c @@ -160,7 +160,9 @@ static const TEST_URL_CANONICALIZE TEST_CANONICALIZE[] = { {"A", 0, S_OK, "A", FALSE}, {"/uri-res/N2R?urn:sha1:B3K", URL_DONT_ESCAPE_EXTRA_INFO | URL_WININET_COMPATIBILITY /*0x82000000*/, S_OK, "/uri-res/N2R?urn:sha1:B3K", FALSE} /*LimeWire online installer calls this*/, {"http:www.winehq.org/dir/../index.html", 0, S_OK, "http:www.winehq.org/index.html"}, - {"http://localhost/test.html", URL_FILE_USE_PATHURL, S_OK, "http://localhost/test.html"} + {"http://localhost/test.html", URL_FILE_USE_PATHURL, S_OK, "http://localhost/test.html"}, + {"http://localhost/te%20st.html", URL_FILE_USE_PATHURL, S_OK, "http://localhost/te%20st.html"}, + {"http://www.winehq.org/%E6%A1%9C.html", URL_FILE_USE_PATHURL, S_OK, "http://www.winehq.org/%E6%A1%9C.html"} }; /* ################ */ diff --git a/dlls/shlwapi/url.c b/dlls/shlwapi/url.c index ad7d989a4bb..d7a36dbec46 100644 --- a/dlls/shlwapi/url.c +++ b/dlls/shlwapi/url.c @@ -486,7 +486,9 @@ HRESULT WINAPI UrlCanonicalizeW(LPCWSTR pszUrl, LPWSTR pszCanonicalized, while ((nLen > 0) && ((lpszUrlCpy[nLen-1] <= ' '))) lpszUrlCpy[--nLen]=0; - if(dwFlags & (URL_UNESCAPE | URL_FILE_USE_PATHURL)) + if((dwFlags & URL_UNESCAPE) || + ((dwFlags & URL_FILE_USE_PATHURL) && nByteLen >= sizeof(wszFile) + && !memcmp(wszFile, pszUrl, sizeof(wszFile)))) UrlUnescapeW(lpszUrlCpy, NULL, &nLen, URL_UNESCAPE_INPLACE); if((EscapeFlags = dwFlags & (URL_ESCAPE_UNSAFE | diff --git a/dlls/urlmon/tests/uri.c b/dlls/urlmon/tests/uri.c index 6a3f30630f6..31f22a5239c 100644 --- a/dlls/urlmon/tests/uri.c +++ b/dlls/urlmon/tests/uri.c @@ -1254,7 +1254,7 @@ static void test_IUri_GetPropertyLength(void) { expectedLen = lstrlen(prop.value); - /* This won't be neccessary once GetPropertyLength is implemented. */ + /* This won't be necessary once GetPropertyLength is implemented. */ receivedLen = -1; hr = IUri_GetPropertyLength(uri, j, &receivedLen, 0); diff --git a/dlls/usbd.sys/usbd.c b/dlls/usbd.sys/usbd.c index 4727512be97..80fd02e0868 100644 --- a/dlls/usbd.sys/usbd.c +++ b/dlls/usbd.sys/usbd.c @@ -125,14 +125,21 @@ PURB WINAPI USBD_CreateConfigurationRequestEx( interfaceInfo->Pipes[i].MaximumPacketSize = endpointDescriptor->wMaxPacketSize; interfaceInfo->Pipes[i].EndpointAddress = endpointDescriptor->bEndpointAddress; interfaceInfo->Pipes[i].Interval = endpointDescriptor->bInterval; - if (endpointDescriptor->bmAttributes & USB_ENDPOINT_TYPE_CONTROL) + switch (endpointDescriptor->bmAttributes & USB_ENDPOINT_TYPE_MASK) + { + case USB_ENDPOINT_TYPE_CONTROL: interfaceInfo->Pipes[i].PipeType = UsbdPipeTypeControl; - else if (endpointDescriptor->bmAttributes & USB_ENDPOINT_TYPE_BULK) + break; + case USB_ENDPOINT_TYPE_BULK: interfaceInfo->Pipes[i].PipeType = UsbdPipeTypeBulk; - else if (endpointDescriptor->bmAttributes & USB_ENDPOINT_TYPE_INTERRUPT) + break; + case USB_ENDPOINT_TYPE_INTERRUPT: interfaceInfo->Pipes[i].PipeType = UsbdPipeTypeInterrupt; - else if (endpointDescriptor->bmAttributes & USB_ENDPOINT_TYPE_ISOCHRONOUS) + break; + case USB_ENDPOINT_TYPE_ISOCHRONOUS: interfaceInfo->Pipes[i].PipeType = UsbdPipeTypeIsochronous; + break; + } endpointDescriptor = (PUSB_ENDPOINT_DESCRIPTOR) USBD_ParseDescriptors( ConfigurationDescriptor, ConfigurationDescriptor->wTotalLength, endpointDescriptor + 1, USB_ENDPOINT_DESCRIPTOR_TYPE ); diff --git a/dlls/user32/dde_server.c b/dlls/user32/dde_server.c index 2dc8ae84e97..0d62c49a46a 100644 --- a/dlls/user32/dde_server.c +++ b/dlls/user32/dde_server.c @@ -29,9 +29,11 @@ #include "winbase.h" #include "wingdi.h" #include "winuser.h" +#include "winnls.h" #include "dde.h" #include "ddeml.h" #include "win.h" +#include "wine/unicode.h" #include "wine/debug.h" #include "dde_private.h" @@ -756,6 +758,54 @@ static WDML_XACT* WDML_ServerQueueExecute(WDML_CONV* pConv, LPARAM lParam) return pXAct; } +static BOOL data_looks_unicode( const WCHAR *data, DWORD size ) +{ + DWORD i; + + if (size % sizeof(WCHAR)) return FALSE; + for (i = 0; i < size / sizeof(WCHAR); i++) if (data[i] > 255) return FALSE; + return TRUE; +} + +/* convert data to Unicode, unless it looks like it's already Unicode */ +static HDDEDATA map_A_to_W( DWORD instance, void *ptr, DWORD size ) +{ + HDDEDATA ret; + DWORD len; + const char *end; + + if (!data_looks_unicode( ptr, size )) + { + if ((end = memchr( ptr, 0, size ))) size = end + 1 - (const char *)ptr; + len = MultiByteToWideChar( CP_ACP, 0, ptr, size, NULL, 0 ); + ret = DdeCreateDataHandle( instance, NULL, len * sizeof(WCHAR), 0, 0, CF_TEXT, 0); + MultiByteToWideChar( CP_ACP, 0, ptr, size, (WCHAR *)DdeAccessData(ret, NULL), len ); + } + else ret = DdeCreateDataHandle( instance, ptr, size, 0, 0, CF_TEXT, 0 ); + + return ret; +} + +/* convert data to ASCII, unless it looks like it's not in Unicode format */ +static HDDEDATA map_W_to_A( DWORD instance, void *ptr, DWORD size ) +{ + HDDEDATA ret; + DWORD len; + const WCHAR *end; + + if (data_looks_unicode( ptr, size )) + { + size /= sizeof(WCHAR); + if ((end = memchrW( ptr, 0, size ))) size = end + 1 - (const WCHAR *)ptr; + len = WideCharToMultiByte( CP_ACP, 0, ptr, size, NULL, 0, NULL, NULL ); + ret = DdeCreateDataHandle( instance, NULL, len, 0, 0, CF_TEXT, 0); + WideCharToMultiByte( CP_ACP, 0, ptr, size, (char *)DdeAccessData(ret, NULL), len, NULL, NULL ); + } + else ret = DdeCreateDataHandle( instance, ptr, size, 0, 0, CF_TEXT, 0 ); + + return ret; +} + /****************************************************************** * WDML_ServerHandleExecute * @@ -769,11 +819,16 @@ static WDML_QUEUE_STATE WDML_ServerHandleExecute(WDML_CONV* pConv, WDML_XACT* pX if (!(pConv->instance->CBFflags & CBF_FAIL_EXECUTES)) { LPVOID ptr = GlobalLock(pXAct->hMem); + DWORD size = GlobalSize(pXAct->hMem); if (ptr) { - hDdeData = DdeCreateDataHandle(pConv->instance->instanceID, ptr, GlobalSize(pXAct->hMem), - 0, 0, CF_TEXT, 0); + if (pConv->instance->unicode) /* Unicode server, try to map A->W */ + hDdeData = map_A_to_W( pConv->instance->instanceID, ptr, size ); + else if (!IsWindowUnicode( pConv->hwndClient )) /* ASCII server and client, try to map W->A */ + hDdeData = map_W_to_A( pConv->instance->instanceID, ptr, size ); + else + hDdeData = DdeCreateDataHandle(pConv->instance->instanceID, ptr, size, 0, 0, CF_TEXT, 0); GlobalUnlock(pXAct->hMem); } hDdeData = WDML_InvokeCallback(pConv->instance, XTYP_EXECUTE, 0, (HCONV)pConv, diff --git a/dlls/user32/msgbox.c b/dlls/user32/msgbox.c index 32b425275d3..effe09bfbd0 100644 --- a/dlls/user32/msgbox.c +++ b/dlls/user32/msgbox.c @@ -512,7 +512,11 @@ INT WINAPI MessageBoxIndirectW( LPMSGBOXPARAMSW msgbox ) if (!(hRes = FindResourceExW(user32_module, (LPWSTR)RT_DIALOG, msg_box_res_nameW, msgbox->dwLanguageId))) - return 0; + { + if (!msgbox->dwLanguageId || + !(hRes = FindResourceExW(user32_module, (LPWSTR)RT_DIALOG, msg_box_res_nameW, LANG_NEUTRAL))) + return 0; + } if (!(tmplate = LoadResource(user32_module, hRes))) return 0; diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c index 7155dbafa4b..e6d2386d7af 100644 --- a/dlls/user32/sysparams.c +++ b/dlls/user32/sysparams.c @@ -1085,7 +1085,7 @@ static void load_nonclient_metrics(void) if (!reg_get_logfont(METRICS_REGKEY, METRICS_SMCAPTIONLOGFONT_VALNAME, &ncm.lfSmCaptionFont)) SystemParametersInfoW( SPI_GETICONTITLELOGFONT, 0, &ncm.lfSmCaptionFont, 0 ); - /* menus, FIXME: names of wine.conf entries are bogus */ + /* menus, FIXME: names of registry entries are bogus */ /* size of the menu (MDI) buttons */ ncm.iMenuHeight = get_reg_metric(hkey, METRICS_MENUHEIGHT_VALNAME, 18); diff --git a/dlls/user32/tests/dde.c b/dlls/user32/tests/dde.c index 92bee4510ce..529c527f2e2 100644 --- a/dlls/user32/tests/dde.c +++ b/dlls/user32/tests/dde.c @@ -26,6 +26,7 @@ #include "windef.h" #include "winbase.h" #include "winuser.h" +#include "winnls.h" #include "dde.h" #include "ddeml.h" #include "winerror.h" @@ -35,7 +36,9 @@ static const WCHAR TEST_DDE_SERVICE[] = {'T','e','s','t','D','D','E','S','e','r','v','i','c','e',0}; static char exec_cmdA[] = "ANSI dde command"; +static WCHAR exec_cmdAW[] = {'A','N','S','I',' ','d','d','e',' ','c','o','m','m','a','n','d',0}; static WCHAR exec_cmdW[] = {'u','n','i','c','o','d','e',' ','d','d','e',' ','c','o','m','m','a','n','d',0}; +static char exec_cmdWA[] = "unicode dde command"; static WNDPROC old_dde_client_wndproc; @@ -160,7 +163,7 @@ static LRESULT WINAPI dde_server_wndproc(HWND hwnd, UINT msg, WPARAM wparam, LPA lstrcpyA((LPSTR)data->Value, str); GlobalUnlock(hglobal); - lparam = PackDDElParam(WM_DDE_ACK, (UINT_PTR)hglobal, HIWORD(lparam)); + lparam = PackDDElParam(WM_DDE_DATA, (UINT_PTR)hglobal, HIWORD(lparam)); PostMessageA(client, WM_DDE_DATA, (WPARAM)hwnd, lparam); break; @@ -186,7 +189,7 @@ static LRESULT WINAPI dde_server_wndproc(HWND hwnd, UINT msg, WPARAM wparam, LPA if (msg_index == 5) { size = GlobalSize((HGLOBAL)lo); - ok(size == 4, "got %d\n", size); + ok(size == 4 || broken(size == 32), /* sizes are rounded up on win9x */ "got %d\n", size); } else ok(!lstrcmpA((LPSTR)poke->Value, "poke data\r\n"), @@ -228,6 +231,11 @@ static LRESULT WINAPI dde_server_wndproc(HWND hwnd, UINT msg, WPARAM wparam, LPA break; } + case WM_DDE_ACK: /* happens on win9x when fAckReq is TRUE, ignore it */ + ok(msg_index == 4, "Expected 4, got %d\n", msg_index); + msg_index--; + break; + default: ok(FALSE, "Unhandled msg: %08x\n", msg); } @@ -298,14 +306,15 @@ static void test_ddeml_client(void) hdata = DdeClientTransaction(NULL, 0, conversation, item, CF_TEXT, XTYP_REQUEST, default_timeout, &res); ret = DdeGetLastError(client_pid); ok(ret == DMLERR_NO_ERROR, "Expected DMLERR_NO_ERROR, got %d\n", ret); - ok(res == DDE_FNOTPROCESSED, "Expected DDE_FNOTPROCESSED, got %08x\n", res); - if (hdata == NULL) - ok(FALSE, "hdata is NULL\n"); - else + ok(res == DDE_FNOTPROCESSED || broken(res == 0xdeadbeef), /* win9x */ + "Expected DDE_FNOTPROCESSED, got %08x\n", res); + ok( hdata != NULL, "hdata is NULL\n" ); + if (hdata) { str = (LPSTR)DdeAccessData(hdata, &size); ok(!lstrcmpA(str, "requested data\r\n"), "Expected 'requested data\\r\\n', got %s\n", str); - ok(size == 19, "Expected 19, got %d\n", size); + ok(size == 19 || broken(size == 28), /* sizes are rounded up on win9x */ + "Expected 19, got %d\n", size); ret = DdeUnaccessData(hdata); ok(ret == TRUE, "Expected TRUE, got %d\n", ret); @@ -316,16 +325,18 @@ static void test_ddeml_client(void) DdeGetLastError(client_pid); hdata = DdeClientTransaction(NULL, 0, conversation, item, CF_TEXT, XTYP_REQUEST, default_timeout, &res); ret = DdeGetLastError(client_pid); - ok(res == DDE_FNOTPROCESSED, "Expected DDE_FNOTPROCESSED, got %d\n", res); + ok(res == DDE_FNOTPROCESSED || broken(res == 0xdeadbeef), /* win9x */ + "Expected DDE_FNOTPROCESSED, got %x\n", res); todo_wine - ok(ret == DMLERR_MEMORY_ERROR, "Expected DMLERR_MEMORY_ERROR, got %d\n", ret); - if (hdata == NULL) - ok(FALSE, "hdata is NULL\n"); - else + ok(ret == DMLERR_MEMORY_ERROR || broken(ret == 0), /* win9x */ + "Expected DMLERR_MEMORY_ERROR, got %d\n", ret); + ok( hdata != NULL, "hdata is NULL\n" ); + if (hdata) { str = (LPSTR)DdeAccessData(hdata, &size); ok(!lstrcmpA(str, "requested data\r\n"), "Expected 'requested data\\r\\n', got %s\n", str); - ok(size == 19, "Expected 19, got %d\n", size); + ok(size == 19 || broken(size == 28), /* sizes are rounded up on win9x */ + "Expected 19, got %d\n", size); ret = DdeUnaccessData(hdata); ok(ret == TRUE, "Expected TRUE, got %d\n", ret); @@ -337,14 +348,16 @@ todo_wine hdata = DdeClientTransaction(NULL, 0, conversation, item, CF_TEXT, XTYP_REQUEST, default_timeout, &res); ret = DdeGetLastError(client_pid); ok(ret == DMLERR_NO_ERROR, "Expected DMLERR_NO_ERROR, got %d\n", ret); - ok(res == DDE_FNOTPROCESSED, "Expected DDE_FNOTPROCESSED, got %d\n", res); + ok(res == DDE_FNOTPROCESSED || broken(res == 0xdeadbeef), /* win9x */ + "Expected DDE_FNOTPROCESSED, got %x\n", res); if (hdata == NULL) ok(FALSE, "hdata is NULL\n"); else { str = (LPSTR)DdeAccessData(hdata, &size); ok(!lstrcmpA(str, "requested data\r\n"), "Expected 'requested data\\r\\n', got %s\n", str); - ok(size == 19, "Expected 19, got %d\n", size); + ok(size == 19 || broken(size == 28), /* sizes are rounded up on win9x */ + "Expected 19, got %d\n", size); ret = DdeUnaccessData(hdata); ok(ret == TRUE, "Expected TRUE, got %d\n", ret); @@ -392,7 +405,8 @@ todo_wine op = DdeClientTransaction((LPBYTE)hdata, 0, conversation, item, CF_TEXT, XTYP_POKE, default_timeout, &res); ret = DdeGetLastError(client_pid); ok(op == (HDDEDATA)TRUE, "Expected TRUE, got %p\n", op); - ok(res == DDE_FACK, "Expected DDE_FACK, got %d\n", res); + ok(res == DDE_FACK || broken(res == (0xdead0000 | DDE_FACK)), /* win9x */ + "Expected DDE_FACK, got %x\n", res); ok(ret == DMLERR_NO_ERROR, "Expected DMLERR_NO_ERROR, got %d\n", ret); /* XTYP_POKE, correct params */ @@ -401,7 +415,8 @@ todo_wine op = DdeClientTransaction((LPBYTE)hdata, -1, conversation, item, CF_TEXT, XTYP_POKE, default_timeout, &res); ret = DdeGetLastError(client_pid); ok(op == (HDDEDATA)TRUE, "Expected TRUE, got %p\n", op); - ok(res == DDE_FACK, "Expected DDE_FACK, got %d\n", res); + ok(res == DDE_FACK || broken(res == (0xdead0000 | DDE_FACK)), /* win9x */ + "Expected DDE_FACK, got %x\n", res); ok(ret == DMLERR_NO_ERROR, "Expected DMLERR_NO_ERROR, got %d\n", ret); DdeFreeDataHandle(hdata); @@ -418,16 +433,25 @@ todo_wine ret = DdeGetLastError(client_pid); ok(ret == DMLERR_NO_ERROR, "Expected DMLERR_NO_ERROR, got %d\n", ret); ok(op == (HDDEDATA)TRUE, "Expected TRUE, got %p\n", op); - ok(res == DDE_FACK, "Expected DDE_FACK, got %d\n", res); + ok(res == DDE_FACK || broken(res == (0xdead0000 | DDE_FACK)), /* win9x */ + "Expected DDE_FACK, got %x\n", res); /* XTYP_EXECUTE, no data */ res = 0xdeadbeef; DdeGetLastError(client_pid); op = DdeClientTransaction(NULL, 0, conversation, NULL, 0, XTYP_EXECUTE, default_timeout, &res); ret = DdeGetLastError(client_pid); - ok(op == NULL, "Expected NULL, got %p\n", op); - ok(res == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", res); - ok(ret == DMLERR_MEMORY_ERROR, "Expected DMLERR_MEMORY_ERROR, got %d\n", ret); + ok(op == NULL || broken(op == (HDDEDATA)TRUE), /* win9x */ "Expected NULL, got %p\n", op); + if (!op) + { + ok(res == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", res); + ok(ret == DMLERR_MEMORY_ERROR, "Expected DMLERR_MEMORY_ERROR, got %d\n", ret); + } + else /* win9x */ + { + ok(res == (0xdead0000 | DDE_FACK), "Expected DDE_FACK, got %x\n", res); + ok(ret == DMLERR_NO_ERROR, "Expected DMLERR_NO_ERROR, got %d\n", ret); + } /* XTYP_EXECUTE, no data, -1 size */ res = 0xdeadbeef; @@ -436,7 +460,8 @@ todo_wine ret = DdeGetLastError(client_pid); ok(op == NULL, "Expected NULL, got %p\n", op); ok(res == 0xdeadbeef, "Expected 0xdeadbeef, got %d\n", res); - ok(ret == DMLERR_INVALIDPARAMETER, "Expected DMLERR_INVALIDPARAMETER, got %d\n", ret); + ok(ret == DMLERR_INVALIDPARAMETER || broken(ret == DMLERR_NO_ERROR), /* win9x */ + "Expected DMLERR_INVALIDPARAMETER, got %d\n", ret); DdeFreeStringHandle(client_pid, topic); DdeFreeDataHandle(hdata); @@ -449,14 +474,16 @@ todo_wine hdata = DdeClientTransaction(NULL, 0, conversation, item, CF_TEXT, XTYP_REQUEST, default_timeout, &res); ret = DdeGetLastError(client_pid); ok(ret == DMLERR_NO_ERROR, "Expected DMLERR_NO_ERROR, got %d\n", ret); - ok(res == DDE_FNOTPROCESSED, "Expected DDE_FNOTPROCESSED, got %d\n", res); + ok(res == DDE_FNOTPROCESSED || broken(res == (0xdead0000 | DDE_FNOTPROCESSED)), /* win9x */ + "Expected DDE_FNOTPROCESSED, got %d\n", res); if (hdata == NULL) ok(FALSE, "hdata is NULL\n"); else { str = (LPSTR)DdeAccessData(hdata, &size); ok(!lstrcmpA(str, "command executed\r\n"), "Expected 'command executed\\r\\n', got %s\n", str); - ok(size == 21, "Expected 21, got %d\n", size); + ok(size == 21 || broken(size == 28), /* sizes are rounded up on win9x */ + "Expected 21, got %d\n", size); ret = DdeUnaccessData(hdata); ok(ret == TRUE, "Expected TRUE, got %d\n", ret); @@ -583,9 +610,16 @@ static HDDEDATA CALLBACK server_ddeml_callback(UINT uType, UINT uFmt, HCONV hcon ok(size == 13, "Expected 13, got %d\n", size); size = DdeQueryStringA(server_pid, hsz2, str, MAX_PATH, CP_WINANSI); - ok(!strncmp(str, "TestDDEServer(", 14), "Expected TestDDEServer(, got %s\n", str); - ok(str[size - 1] == ')', "Expected ')', got %c\n", str[size - 1]); - ok(size == 17 + 2*sizeof(ULONG_PTR), "Got size %d for %s\n", size, str); + if (!strncmp( str, "TestDDEServer:(", 15 )) /* win9x style */ + { + ok(size == 16 + 2*sizeof(WORD), "Got size %d for %s\n", size, str); + } + else + { + ok(!strncmp(str, "TestDDEServer(", 14), "Expected TestDDEServer(, got %s\n", str); + ok(size == 17 + 2*sizeof(ULONG_PTR), "Got size %d for %s\n", size, str); + } + ok(str[size - 1] == ')', "Expected ')', got %c\n", str[size - 1]); return (HDDEDATA)TRUE; } @@ -689,7 +723,8 @@ static HDDEDATA CALLBACK server_ddeml_callback(UINT uType, UINT uFmt, HCONV hcon ptr = (LPSTR)DdeAccessData(hdata, &size); ok(!lstrcmpA(ptr, "poke data\r\n"), "Expected 'poke data\\r\\n', got %s\n", ptr); - ok(size == 12, "Expected 12, got %d\n", size); + ok(size == 12 || broken(size == 28), /* sizes are rounded up on win9x */ + "Expected 12, got %d\n", size); DdeUnaccessData(hdata); size = DdeQueryStringA(server_pid, hsz2, str, MAX_PATH, CP_WINANSI); @@ -883,7 +918,7 @@ static LRESULT WINAPI dde_msg_client_wndproc(HWND hwnd, UINT msg, WPARAM wparam, ok(ack->reserved == 0, "Expected 0, got %d\n", ack->reserved); ok(ack->fBusy == FALSE, "Expected FALSE, got %d\n", ack->fBusy); - ok(hi == (UINT_PTR)execute_hglobal, "Execpted execute hglobal, got %08lx\n", hi); + ok(hi == (UINT_PTR)execute_hglobal, "Expected execute hglobal, got %08lx\n", hi); ptr = GlobalLock((HGLOBAL)hi); if (msg_index == 9) @@ -1152,11 +1187,11 @@ static void test_msg_client(void) destroy_dde_window(&client_hwnd, "dde_client"); } -static LRESULT WINAPI hook_dde_client_wndproc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) +static LRESULT WINAPI hook_dde_client_wndprocA(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { UINT_PTR lo, hi; - trace("hook_dde_client_wndproc: %p %04x %08lx %08lx\n", hwnd, msg, wparam, lparam); + trace("hook_dde_client_wndprocA: %p %04x %08lx %08lx\n", hwnd, msg, wparam, lparam); switch (msg) { @@ -1171,9 +1206,29 @@ static LRESULT WINAPI hook_dde_client_wndproc(HWND hwnd, UINT msg, WPARAM wparam return CallWindowProcA(old_dde_client_wndproc, hwnd, msg, wparam, lparam); } -static LRESULT WINAPI dde_server_wndprocW(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) +static LRESULT WINAPI hook_dde_client_wndprocW(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { - trace("dde_server_wndprocW: %p %04x %08lx %08lx\n", hwnd, msg, wparam, lparam); + UINT_PTR lo, hi; + + trace("hook_dde_client_wndprocW: %p %04x %08lx %08lx\n", hwnd, msg, wparam, lparam); + + switch (msg) + { + case WM_DDE_ACK: + UnpackDDElParam(WM_DDE_ACK, lparam, &lo, &hi); + trace("WM_DDE_ACK: status %04lx hglobal %p\n", lo, (HGLOBAL)hi); + break; + + default: + break; + } + return CallWindowProcW(old_dde_client_wndproc, hwnd, msg, wparam, lparam); +} + +static LRESULT WINAPI dde_server_wndprocA(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) +{ + static BOOL client_unicode, conv_unicode; + static int step; switch (msg) { @@ -1181,12 +1236,21 @@ static LRESULT WINAPI dde_server_wndprocW(HWND hwnd, UINT msg, WPARAM wparam, LP { ATOM aService = GlobalAddAtomW(TEST_DDE_SERVICE); - trace("server: got WM_DDE_INITIATE from %p with %08lx\n", (HWND)wparam, lparam); + trace("server A: got WM_DDE_INITIATE from %p (%s) with %08lx\n", + (HWND)wparam, client_unicode ? "Unicode" : "ANSI", lparam); if (LOWORD(lparam) == aService) { - ok(!IsWindowUnicode((HWND)wparam), "client should be an ANSI window\n"); - old_dde_client_wndproc = (WNDPROC)SetWindowLongPtrA((HWND)wparam, GWLP_WNDPROC, (ULONG_PTR)hook_dde_client_wndproc); + client_unicode = IsWindowUnicode((HWND)wparam); + conv_unicode = client_unicode; + if (step >= 10) client_unicode = !client_unicode; /* change the client window type */ + + if (client_unicode) + old_dde_client_wndproc = (WNDPROC)SetWindowLongPtrW((HWND)wparam, GWLP_WNDPROC, + (ULONG_PTR)hook_dde_client_wndprocW); + else + old_dde_client_wndproc = (WNDPROC)SetWindowLongPtrA((HWND)wparam, GWLP_WNDPROC, + (ULONG_PTR)hook_dde_client_wndprocA); trace("server: sending WM_DDE_ACK to %p\n", (HWND)wparam); SendMessageW((HWND)wparam, WM_DDE_ACK, (WPARAM)hwnd, PackDDElParam(WM_DDE_ACK, aService, 0)); } @@ -1202,7 +1266,7 @@ static LRESULT WINAPI dde_server_wndprocW(HWND hwnd, UINT msg, WPARAM wparam, LP LPCSTR cmd; UINT_PTR lo, hi; - trace("server: got WM_DDE_EXECUTE from %p with %08lx\n", (HWND)wparam, lparam); + trace("server A: got WM_DDE_EXECUTE from %p with %08lx\n", (HWND)wparam, lparam); UnpackDDElParam(WM_DDE_EXECUTE, lparam, &lo, &hi); trace("%08lx => lo %04lx hi %04lx\n", lparam, lo, hi); @@ -1210,23 +1274,57 @@ static LRESULT WINAPI dde_server_wndprocW(HWND hwnd, UINT msg, WPARAM wparam, LP ack.bAppReturnCode = 0; ack.reserved = 0; ack.fBusy = 0; + /* We have to send a negative acknowledge even if we don't + * accept the command, otherwise Windows goes mad and next time + * we send an acknowledge DDEML drops the connection. + * Not sure how to call it: a bug or a feature. + */ + ack.fAck = 0; - cmd = GlobalLock((HGLOBAL)hi); - if (!cmd || (lstrcmpA(cmd, exec_cmdA) && lstrcmpW((LPCWSTR)cmd, exec_cmdW))) + if ((cmd = GlobalLock((HGLOBAL)hi))) { - trace("ignoring unknown WM_DDE_EXECUTE command\n"); - /* We have to send a negative acknowledge even if we don't - * accept the command, otherwise Windows goes mad and next time - * we send an acknowledge DDEML drops the connection. - * Not sure how to call it: a bug or a feature. - */ - ack.fAck = 0; + ack.fAck = !lstrcmpA(cmd, exec_cmdA) || !lstrcmpW((LPCWSTR)cmd, exec_cmdW); + + switch (step % 5) + { + case 0: /* bad command */ + trace( "server A got unhandled command\n" ); + break; + + case 1: /* ANSI command */ + if (!conv_unicode) + ok( !lstrcmpA(cmd, exec_cmdA), "server A got wrong command '%s'\n", cmd ); + else /* we get garbage as the A command was mapped W->A */ + ok( cmd[0] == '?', "server A got wrong command '%s'\n", cmd ); + break; + + case 2: /* ANSI command in Unicode format */ + if (conv_unicode) + ok( !lstrcmpA(cmd, exec_cmdA), "server A got wrong command '%s'\n", cmd ); + else + ok( !lstrcmpW((LPCWSTR)cmd, exec_cmdAW), "server A got wrong command '%s'\n", cmd ); + break; + + case 3: /* Unicode command */ + if (!conv_unicode) + ok( !lstrcmpW((LPCWSTR)cmd, exec_cmdW), "server A got wrong command '%s'\n", cmd ); + else /* correctly mapped W->A */ + ok( !lstrcmpA(cmd, exec_cmdWA), "server A got wrong command '%s'\n", cmd ); + break; + + case 4: /* Unicode command in ANSI format */ + if (!conv_unicode) + ok( !lstrcmpA(cmd, exec_cmdWA), "server A got wrong command '%s'\n", cmd ); + else /* we get garbage as the A command was mapped W->A */ + ok( cmd[0] == '?', "server A got wrong command '%s'\n", cmd ); + break; + } + GlobalUnlock((HGLOBAL)hi); } - else - ack.fAck = 1; - GlobalUnlock((HGLOBAL)hi); + else ok( 0, "bad command data %lx\n", hi ); - trace("server: posting %s WM_DDE_ACK to %p\n", ack.fAck ? "POSITIVE" : "NEGATIVE", (HWND)wparam); + step++; + trace("server A: posting %s WM_DDE_ACK to %p\n", ack.fAck ? "POSITIVE" : "NEGATIVE", (HWND)wparam); status = *((WORD *)&ack); lparam = ReuseDDElParam(lparam, WM_DDE_EXECUTE, WM_DDE_ACK, status, hi); @@ -1240,14 +1338,14 @@ static LRESULT WINAPI dde_server_wndprocW(HWND hwnd, UINT msg, WPARAM wparam, LP DDEACK ack; WORD status; - trace("server: got WM_DDE_TERMINATE from %p with %08lx\n", (HWND)wparam, lparam); + trace("server A: got WM_DDE_TERMINATE from %p with %08lx\n", (HWND)wparam, lparam); ack.bAppReturnCode = 0; ack.reserved = 0; ack.fBusy = 0; ack.fAck = 1; - trace("server: posting %s WM_DDE_ACK to %p\n", ack.fAck ? "POSITIVE" : "NEGATIVE", (HWND)wparam); + trace("server A: posting %s WM_DDE_ACK to %p\n", ack.fAck ? "POSITIVE" : "NEGATIVE", (HWND)wparam); status = *((WORD *)&ack); lparam = PackDDElParam(WM_DDE_ACK, status, 0); @@ -1260,53 +1358,188 @@ static LRESULT WINAPI dde_server_wndprocW(HWND hwnd, UINT msg, WPARAM wparam, LP break; } - return DefWindowProcW(hwnd, msg, wparam, lparam); -} - -static LRESULT WINAPI dde_client_wndproc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) -{ return DefWindowProcA(hwnd, msg, wparam, lparam); } -static BOOL create_dde_windows(HWND *client, HWND *server) +static LRESULT WINAPI dde_server_wndprocW(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { - WNDCLASSA wcA; - WNDCLASSW wcW; - static const WCHAR server_class_name[] = {'d','d','e','_','s','e','r','v','e','r','_','w','i','n','d','o','w',0}; - static const char client_class_name[] = "dde_client_window"; + static BOOL client_unicode, conv_unicode; + static int step; - memset(&wcW, 0, sizeof(wcW)); - wcW.lpfnWndProc = dde_server_wndprocW; - wcW.lpszClassName = server_class_name; - wcW.hInstance = GetModuleHandleA(0); - if (!RegisterClassW(&wcW)) return FALSE; + switch (msg) + { + case WM_DDE_INITIATE: + { + ATOM aService = GlobalAddAtomW(TEST_DDE_SERVICE); - memset(&wcA, 0, sizeof(wcA)); - wcA.lpfnWndProc = dde_client_wndproc; - wcA.lpszClassName = client_class_name; - wcA.hInstance = GetModuleHandleA(0); - assert(RegisterClassA(&wcA)); + if (LOWORD(lparam) == aService) + { + client_unicode = IsWindowUnicode((HWND)wparam); + conv_unicode = client_unicode; + if (step >= 10) client_unicode = !client_unicode; /* change the client window type */ + + if (client_unicode) + old_dde_client_wndproc = (WNDPROC)SetWindowLongPtrW((HWND)wparam, GWLP_WNDPROC, + (ULONG_PTR)hook_dde_client_wndprocW); + else + old_dde_client_wndproc = (WNDPROC)SetWindowLongPtrA((HWND)wparam, GWLP_WNDPROC, + (ULONG_PTR)hook_dde_client_wndprocA); + trace("server W: sending WM_DDE_ACK to %p\n", (HWND)wparam); + SendMessageW((HWND)wparam, WM_DDE_ACK, (WPARAM)hwnd, PackDDElParam(WM_DDE_ACK, aService, 0)); + } + else + GlobalDeleteAtom(aService); - *server = CreateWindowExW(0, server_class_name, NULL, - WS_POPUP, - 100, 100, CW_USEDEFAULT, CW_USEDEFAULT, - GetDesktopWindow(), 0, - GetModuleHandleA(0), NULL); - assert(*server); + trace("server W: got WM_DDE_INITIATE from %p with %08lx (client %s conv %s)\n", (HWND)wparam, + lparam, client_unicode ? "Unicode" : "ANSI", conv_unicode ? "Unicode" : "ANSI" ); - *client = CreateWindowExA(0, client_class_name, NULL, - WS_POPUP, - 100, 100, CW_USEDEFAULT, CW_USEDEFAULT, - GetDesktopWindow(), 0, - GetModuleHandleA(0), NULL); - assert(*client); + return 0; + } - trace("server hwnd %p, client hwnd %p\n", *server, *client); + case WM_DDE_EXECUTE: + { + DDEACK ack; + WORD status; + LPCSTR cmd; + UINT_PTR lo, hi; - ok(IsWindowUnicode(*server), "server has to be a unicode window\n"); - ok(!IsWindowUnicode(*client), "client has to be an ANSI window\n"); + trace("server W: got WM_DDE_EXECUTE from %p with %08lx\n", (HWND)wparam, lparam); - return TRUE; + UnpackDDElParam(WM_DDE_EXECUTE, lparam, &lo, &hi); + trace("%08lx => lo %04lx hi %04lx\n", lparam, lo, hi); + + ack.bAppReturnCode = 0; + ack.reserved = 0; + ack.fBusy = 0; + /* We have to send a negative acknowledge even if we don't + * accept the command, otherwise Windows goes mad and next time + * we send an acknowledge DDEML drops the connection. + * Not sure how to call it: a bug or a feature. + */ + ack.fAck = 0; + + if ((cmd = GlobalLock((HGLOBAL)hi))) + { + ack.fAck = !lstrcmpA(cmd, exec_cmdA) || !lstrcmpW((LPCWSTR)cmd, exec_cmdW); + + switch (step % 5) + { + case 0: /* bad command */ + trace( "server W got unhandled command\n" ); + break; + + case 1: /* ANSI command */ + if (conv_unicode && !client_unicode) /* W->A mapping -> garbage */ + ok( cmd[0] == '?', "server W got wrong command '%s'\n", cmd ); + else if (!conv_unicode && client_unicode) /* A->W mapping */ + ok( !lstrcmpW((LPCWSTR)cmd, exec_cmdAW), "server W got wrong command '%s'\n", cmd ); + else + ok( !lstrcmpA(cmd, exec_cmdA), "server W got wrong command '%s'\n", cmd ); + break; + + case 2: /* ANSI command in Unicode format */ + if (conv_unicode && !client_unicode) /* W->A mapping */ + ok( !lstrcmpA(cmd, exec_cmdA), "server W got wrong command '%s'\n", cmd ); + else if (!conv_unicode && client_unicode) /* A->W mapping */ + ok( *(WCHAR *)cmd == exec_cmdAW[0], "server W got wrong command '%s'\n", cmd ); + else + ok( !lstrcmpW((LPCWSTR)cmd, exec_cmdAW), "server W got wrong command '%s'\n", cmd ); + break; + + case 3: /* Unicode command */ + if (conv_unicode && !client_unicode) /* W->A mapping */ + ok( !lstrcmpA(cmd, exec_cmdWA), "server W got wrong command '%s'\n", cmd ); + else if (!conv_unicode && client_unicode) /* A->W mapping */ + ok( *(WCHAR *)cmd == exec_cmdW[0], "server W got wrong command '%s'\n", cmd ); + else + ok( !lstrcmpW((LPCWSTR)cmd, exec_cmdW), "server W got wrong command '%s'\n", cmd ); + break; + + case 4: /* Unicode command in ANSI format */ + if (conv_unicode && !client_unicode) /* W->A mapping -> garbage */ + ok( cmd[0] == '?', "server W got wrong command '%s'\n", cmd ); + else if (!conv_unicode && client_unicode) /* A->W mapping */ + ok( !lstrcmpW((LPCWSTR)cmd, exec_cmdW), "server W got wrong command '%s'\n", cmd ); + else + ok( !lstrcmpA(cmd, exec_cmdWA), "server W got wrong command '%s'\n", cmd ); + break; + } + GlobalUnlock((HGLOBAL)hi); + } + else ok( 0, "bad command data %lx\n", hi ); + + step++; + trace("server W: posting %s WM_DDE_ACK to %p\n", ack.fAck ? "POSITIVE" : "NEGATIVE", (HWND)wparam); + + status = *((WORD *)&ack); + lparam = ReuseDDElParam(lparam, WM_DDE_EXECUTE, WM_DDE_ACK, status, hi); + + PostMessageW((HWND)wparam, WM_DDE_ACK, (WPARAM)hwnd, lparam); + return 0; + } + + case WM_DDE_TERMINATE: + { + DDEACK ack; + WORD status; + + trace("server W: got WM_DDE_TERMINATE from %p with %08lx\n", (HWND)wparam, lparam); + + ack.bAppReturnCode = 0; + ack.reserved = 0; + ack.fBusy = 0; + ack.fAck = 1; + + trace("server W: posting %s WM_DDE_ACK to %p\n", ack.fAck ? "POSITIVE" : "NEGATIVE", (HWND)wparam); + + status = *((WORD *)&ack); + lparam = PackDDElParam(WM_DDE_ACK, status, 0); + + PostMessageW((HWND)wparam, WM_DDE_ACK, (WPARAM)hwnd, lparam); + return 0; + } + + default: + break; + } + + return DefWindowProcW(hwnd, msg, wparam, lparam); +} + +static HWND create_dde_server( BOOL unicode ) +{ + WNDCLASSA wcA; + WNDCLASSW wcW; + HWND server; + static const char server_class_nameA[] = "dde_server_windowA"; + static const WCHAR server_class_nameW[] = {'d','d','e','_','s','e','r','v','e','r','_','w','i','n','d','o','w','W',0}; + + if (unicode) + { + memset(&wcW, 0, sizeof(wcW)); + wcW.lpfnWndProc = dde_server_wndprocW; + wcW.lpszClassName = server_class_nameW; + wcW.hInstance = GetModuleHandleA(0); + RegisterClassW(&wcW); + + server = CreateWindowExW(0, server_class_nameW, NULL, WS_POPUP, + 100, 100, CW_USEDEFAULT, CW_USEDEFAULT, + GetDesktopWindow(), 0, GetModuleHandleA(0), NULL); + } + else + { + memset(&wcA, 0, sizeof(wcA)); + wcA.lpfnWndProc = dde_server_wndprocA; + wcA.lpszClassName = server_class_nameA; + wcA.hInstance = GetModuleHandleA(0); + RegisterClassA(&wcA); + + server = CreateWindowExA(0, server_class_nameA, NULL, WS_POPUP, + 100, 100, CW_USEDEFAULT, CW_USEDEFAULT, + GetDesktopWindow(), 0, GetModuleHandleA(0), NULL); + } + ok(!IsWindowUnicode(server) == !unicode, "wrong unicode type\n"); + return server; } static HDDEDATA CALLBACK client_dde_callback(UINT uType, UINT uFmt, HCONV hconv, @@ -1329,21 +1562,24 @@ static HDDEDATA CALLBACK client_dde_callback(UINT uType, UINT uFmt, HCONV hconv, return 0; } -static void test_dde_aw_transaction(void) +static void test_dde_aw_transaction( BOOL client_unicode, BOOL server_unicode ) { HSZ hsz_server; DWORD dde_inst, ret, err; HCONV hconv; - HWND hwnd_client, hwnd_server; + HWND hwnd_server; CONVINFO info; HDDEDATA hdata; + BOOL conv_unicode = client_unicode; static char test_cmd[] = "test dde command"; - /* server: unicode, client: ansi */ - if (!create_dde_windows(&hwnd_client, &hwnd_server)) return; + if (!(hwnd_server = create_dde_server( server_unicode ))) return; dde_inst = 0; - ret = DdeInitializeA(&dde_inst, client_dde_callback, APPCMD_CLIENTONLY, 0); + if (client_unicode) + ret = DdeInitializeW(&dde_inst, client_dde_callback, APPCMD_CLIENTONLY, 0); + else + ret = DdeInitializeA(&dde_inst, client_dde_callback, APPCMD_CLIENTONLY, 0); ok(ret == DMLERR_NO_ERROR, "DdeInitializeA failed with error %04x (%x)\n", ret, DdeGetLastError(dde_inst)); @@ -1357,8 +1593,8 @@ static void test_dde_aw_transaction(void) info.cb = sizeof(info); ret = DdeQueryConvInfo(hconv, QID_SYNC, &info); ok(ret, "wrong info size %d, DdeQueryConvInfo error %x\n", ret, DdeGetLastError(dde_inst)); - /* should be CP_WINANSI since we used DdeInitializeA */ - ok(info.ConvCtxt.iCodePage == CP_WINANSI, "wrong iCodePage %d\n", info.ConvCtxt.iCodePage); + ok(info.ConvCtxt.iCodePage == client_unicode ? CP_WINUNICODE : CP_WINANSI, + "wrong iCodePage %d\n", info.ConvCtxt.iCodePage); ok(!info.hConvPartner, "unexpected info.hConvPartner: %p\n", info.hConvPartner); todo_wine { ok((info.wStatus & DDE_FACK), "unexpected info.wStatus: %04x\n", info.wStatus); @@ -1367,32 +1603,111 @@ todo_wine { ok(info.wConvst == XST_CONNECTED, "unexpected info.wConvst: %04x\n", info.wConvst); ok(info.wType == 0, "unexpected info.wType: %04x\n", info.wType); - trace("hwnd %p, hwndPartner %p\n", info.hwnd, info.hwndPartner); + client_unicode = IsWindowUnicode( info.hwnd ); + trace("hwnd %p, hwndPartner %p, unicode %u\n", info.hwnd, info.hwndPartner, client_unicode); trace("sending test client transaction command\n"); ret = 0xdeadbeef; hdata = DdeClientTransaction((LPBYTE)test_cmd, strlen(test_cmd) + 1, hconv, (HSZ)0xdead, 0xbeef, XTYP_EXECUTE, 1000, &ret); ok(!hdata, "DdeClientTransaction succeeded\n"); - ok(ret == DDE_FNOTPROCESSED, "wrong status code %04x\n", ret); + ok(ret == DDE_FNOTPROCESSED || broken(ret == (0xdead0000 | DDE_FNOTPROCESSED)), /* win9x */ + "wrong status code %04x\n", ret); err = DdeGetLastError(dde_inst); ok(err == DMLERR_NOTPROCESSED, "wrong dde error %x\n", err); trace("sending ANSI client transaction command\n"); ret = 0xdeadbeef; hdata = DdeClientTransaction((LPBYTE)exec_cmdA, lstrlenA(exec_cmdA) + 1, hconv, 0, 0, XTYP_EXECUTE, 1000, &ret); - ok(hdata != 0, "DdeClientTransaction returned %p, error %x\n", hdata, DdeGetLastError(dde_inst)); - ok(ret == DDE_FACK, "wrong status code %04x\n", ret); + err = DdeGetLastError(dde_inst); + if (conv_unicode && (!client_unicode || !server_unicode)) /* W->A mapping -> garbage */ + { + ok(!hdata, "DdeClientTransaction returned %p, error %x\n", hdata, err); + ok(ret == DDE_FNOTPROCESSED, "wrong status code %04x\n", ret); + ok(err == DMLERR_NOTPROCESSED, "DdeClientTransaction returned error %x\n", err); + } + else if (!conv_unicode && client_unicode && server_unicode) /* A->W mapping -> wrong cmd */ + { + ok(!hdata, "DdeClientTransaction returned %p, error %x\n", hdata, err); + ok(ret == DDE_FNOTPROCESSED, "wrong status code %04x\n", ret); + ok(err == DMLERR_NOTPROCESSED, "DdeClientTransaction returned error %x\n", err); + } + else /* no mapping */ + { + ok(hdata != 0, "DdeClientTransaction returned %p, error %x\n", hdata, err); + ok(ret == DDE_FACK, "wrong status code %04x\n", ret); + ok(err == DMLERR_NO_ERROR, "wrong dde error %x\n", err); + } + trace("sending ANSI-as-Unicode client transaction command\n"); + ret = 0xdeadbeef; + hdata = DdeClientTransaction((LPBYTE)exec_cmdAW, (lstrlenW(exec_cmdAW) + 1) * sizeof(WCHAR), + hconv, 0, 0, XTYP_EXECUTE, 1000, &ret); err = DdeGetLastError(dde_inst); - ok(err == DMLERR_NO_ERROR, "wrong dde error %x\n", err); + if (conv_unicode && (!client_unicode || !server_unicode)) /* W->A mapping */ + { + ok(hdata != 0, "DdeClientTransaction returned %p, error %x\n", hdata, err); + ok(ret == DDE_FACK, "wrong status code %04x\n", ret); + ok(err == DMLERR_NO_ERROR, "wrong dde error %x\n", err); + } + else if (!conv_unicode && client_unicode && server_unicode) /* A->W mapping -> garbage */ + { + ok(!hdata, "DdeClientTransaction returned %p, error %x\n", hdata, err); + ok(ret == DDE_FNOTPROCESSED, "wrong status code %04x\n", ret); + ok(err == DMLERR_NOTPROCESSED, "DdeClientTransaction returned error %x\n", err); + } + else /* no mapping */ + { + ok(!hdata, "DdeClientTransaction returned %p, error %x\n", hdata, err); + ok(ret == DDE_FNOTPROCESSED || broken(ret == (0xdead0000 | DDE_FNOTPROCESSED)), /* win9x */ + "wrong status code %04x\n", ret); + ok(err == DMLERR_NOTPROCESSED, "DdeClientTransaction returned error %x\n", err); + } trace("sending unicode client transaction command\n"); ret = 0xdeadbeef; hdata = DdeClientTransaction((LPBYTE)exec_cmdW, (lstrlenW(exec_cmdW) + 1) * sizeof(WCHAR), hconv, 0, 0, XTYP_EXECUTE, 1000, &ret); - ok(hdata != 0, "DdeClientTransaction returned %p, error %x\n", hdata, DdeGetLastError(dde_inst)); - ok(ret == DDE_FACK, "wrong status code %04x\n", ret); err = DdeGetLastError(dde_inst); - ok(err == DMLERR_NO_ERROR, "wrong dde error %x\n", err); + if (conv_unicode && (!client_unicode || !server_unicode)) /* W->A mapping -> wrong cmd */ + { + ok(!hdata, "DdeClientTransaction returned %p, error %x\n", hdata, err); + ok(ret == DDE_FNOTPROCESSED, "wrong status code %04x\n", ret); + ok(err == DMLERR_NOTPROCESSED, "DdeClientTransaction returned error %x\n", err); + } + else if (!conv_unicode && client_unicode && server_unicode) /* A->W mapping -> garbage */ + { + ok(!hdata, "DdeClientTransaction returned %p, error %x\n", hdata, err); + ok(ret == DDE_FNOTPROCESSED, "wrong status code %04x\n", ret); + ok(err == DMLERR_NOTPROCESSED, "DdeClientTransaction returned error %x\n", err); + } + else /* no mapping */ + { + ok(hdata != 0, "DdeClientTransaction returned %p, error %x\n", hdata, err); + ok(ret == DDE_FACK, "wrong status code %04x\n", ret); + ok(err == DMLERR_NO_ERROR, "wrong dde error %x\n", err); + } + + trace("sending Unicode-as-ANSI client transaction command\n"); + ret = 0xdeadbeef; + hdata = DdeClientTransaction((LPBYTE)exec_cmdWA, lstrlenA(exec_cmdWA) + 1, hconv, 0, 0, XTYP_EXECUTE, 1000, &ret); + err = DdeGetLastError(dde_inst); + if (conv_unicode && (!client_unicode || !server_unicode)) /* W->A mapping -> garbage */ + { + ok(!hdata, "DdeClientTransaction returned %p, error %x\n", hdata, err); + ok(ret == DDE_FNOTPROCESSED, "wrong status code %04x\n", ret); + ok(err == DMLERR_NOTPROCESSED, "DdeClientTransaction returned error %x\n", err); + } + else if (!conv_unicode && client_unicode && server_unicode) /* A->W mapping */ + { + ok(hdata != 0, "DdeClientTransaction returned %p, error %x\n", hdata, err); + ok(ret == DDE_FACK, "wrong status code %04x\n", ret); + ok(err == DMLERR_NO_ERROR, "wrong dde error %x\n", err); + } + else /* no mapping */ + { + ok(!hdata, "DdeClientTransaction returned %p, error %x\n", hdata, err); + ok(ret == DDE_FNOTPROCESSED, "wrong status code %04x\n", ret); + ok(err == DMLERR_NOTPROCESSED, "DdeClientTransaction returned error %x\n", err); + } ok(DdeDisconnect(hconv), "DdeDisconnect error %x\n", DdeGetLastError(dde_inst)); @@ -1409,7 +1724,6 @@ todo_wine { /* This call hangs on win2k SP4 and XP SP1. DdeUninitialize(dde_inst);*/ - DestroyWindow(hwnd_client); DestroyWindow(hwnd_server); } @@ -2072,6 +2386,15 @@ static void test_UnpackDDElParam(void) GlobalFree(hglobal); } +static char test_cmd_a_to_a[] = "Test dde command"; +static WCHAR test_cmd_w_to_w[][32] = { + {'t','e','s','t',' ','d','d','e',' ','c','o','m','m','a','n','d',0}, + { 0x2018, 0x2019, 0x0161, 0x0041, 0x02dc, 0 }, /* some chars that should map properly to CP1252 */ + { 0x2026, 0x2020, 0x2021, 0x0d0a, 0 }, /* false negative for IsTextUnicode */ + { 0x4efa, 0x4efc, 0x0061, 0x4efe, 0 }, /* some Chinese chars */ +}; +static const int nb_callbacks = 5 + sizeof(test_cmd_w_to_w)/sizeof(test_cmd_w_to_w[0]); + static HDDEDATA CALLBACK server_end_to_end_callback(UINT uType, UINT uFmt, HCONV hconv, HSZ hsz1, HSZ hsz2, HDDEDATA hdata, ULONG_PTR dwData1, ULONG_PTR dwData2) @@ -2080,10 +2403,6 @@ static HDDEDATA CALLBACK server_end_to_end_callback(UINT uType, UINT uFmt, HCONV char str[MAX_PATH]; static int msg_index = 0; static HCONV conversation = 0; - static char test_cmd_w_to_a[] = "test dde command"; - static char test_cmd_a_to_a[] = "Test dde command"; - static WCHAR test_cmd_w_to_w[] = {'t','e','s','t',' ','d','d','e',' ','c','o','m','m','a','n','d',0}; - static WCHAR test_cmd_a_to_w[] = {'T','e','s','t',' ','d','d','e',' ','c','o','m','m','a','n','d',0}; static char test_service [] = "TestDDEService"; static char test_topic [] = "TestDDETopic"; @@ -2093,15 +2412,13 @@ static HDDEDATA CALLBACK server_end_to_end_callback(UINT uType, UINT uFmt, HCONV { case XTYP_REGISTER: { - ok(msg_index == 1 || msg_index == 7 || msg_index == 13 || msg_index == 19, - "Expected 1, 7, 13 or 19, got %d\n", msg_index); + ok(msg_index % nb_callbacks == 1, "Expected 1 modulo %u, got %d\n", nb_callbacks, msg_index); return (HDDEDATA)TRUE; } case XTYP_CONNECT: { - ok(msg_index == 2 || msg_index == 8 || msg_index == 14 || msg_index == 20, - "Expected 2, 8, 14 or 20, got %d\n", msg_index); + ok(msg_index % nb_callbacks == 2, "Expected 2 modulo %u, got %d\n", nb_callbacks, msg_index); ok(uFmt == 0, "Expected 0, got %d, msg_index=%d\n", uFmt, msg_index); ok(hconv == 0, "Expected 0, got %p, msg_index=%d\n", hconv, msg_index); ok(hdata == 0, "Expected 0, got %p, msg_index=%d\n", hdata, msg_index); @@ -2122,18 +2439,19 @@ static HDDEDATA CALLBACK server_end_to_end_callback(UINT uType, UINT uFmt, HCONV } case XTYP_CONNECT_CONFIRM: { - ok(msg_index == 3 || msg_index == 9 || msg_index == 15 || msg_index == 21, - "Expected 3, 9, 15 or 21 got %d\n", msg_index); + ok(msg_index % nb_callbacks == 3, "Expected 3 modulo %u, got %d\n", nb_callbacks, msg_index); conversation = hconv; return (HDDEDATA) TRUE; } case XTYP_EXECUTE: { BYTE *buffer = NULL; + WCHAR *cmd_w; + char test_cmd_w_to_a[64]; + WCHAR test_cmd_a_to_w[64]; + DWORD size_a, size_w, size_w_to_a, size_a_to_w; + BOOL unicode_server, unicode_client, str_index; - ok(msg_index == 4 || msg_index == 5 || msg_index == 10 || msg_index == 11 || - msg_index == 16 || msg_index == 17 || msg_index == 22 || msg_index == 23, - "Expected 4, 5, 10, 11, 16, 17, 22 or 23, got %d\n", msg_index); ok(uFmt == 0, "Expected 0, got %d\n", uFmt); ok(hconv == conversation, "Expected conversation handle, got %p, msg_index=%d\n", hconv, msg_index); @@ -2147,74 +2465,100 @@ static HDDEDATA CALLBACK server_end_to_end_callback(UINT uType, UINT uFmt, HCONV ok(size == 12, "Expected 12, got %d, msg_index=%d\n", size, msg_index); size = DdeGetData(hdata, NULL, 0, 0); - if (msg_index == 10 || msg_index ==11 || msg_index == 16 || msg_index ==17) - if (msg_index == 10 || msg_index == 16) - todo_wine - ok(size == 34, "Expected that size should be 34 not %d, msg_index=%d\n", - size, msg_index); - else - ok(size == 34, "Expected that size should be 34 not %d, msg_index=%d\n", - size, msg_index); - else - if (msg_index ==22) - ok(size == 8 || size == 9, "Expected that size should be 8 or 9 not %d, msg_index=%d\n", - size, msg_index); - else - if (msg_index == 5) - todo_wine - ok(size == 17, "Expected that size should be 17 not %d, msg_index=%d\n", - size, msg_index); - else - ok(size == 17, "Expected that size should be 17 not %d, msg_index=%d\n", - size, msg_index); ok((buffer = HeapAlloc(GetProcessHeap(), 0, size)) != NULL, "should not be null\n"); rsize = DdeGetData(hdata, buffer, size, 0); - if (msg_index == 10 || msg_index == 11 || msg_index == 16 || msg_index ==17) - { - ok(rsize == size, "Incorrect size returned, expected %d got %d, msg_index=%d\n", - size, rsize, msg_index); - if (msg_index == 10 || msg_index == 16) - todo_wine { - ok(!lstrcmpW((WCHAR*)buffer, test_cmd_a_to_w), - "Expected \"Test dde command\", msg_index=%d\n", - msg_index); - ok(size == 34, "Expected 34, got %d, msg_index=%d\n", size, msg_index); - } else - { - ok(!lstrcmpW((WCHAR*)buffer, test_cmd_w_to_w), - "Expected \"test dde command\", msg_index=%d\n", - msg_index); - ok(size == 34, "Expected 34, got %d, msg_index=%d\n", size, msg_index); - } - }else if (msg_index == 22) - { - ok(rsize == size, "Incorrect size returned, expected %d got %d, msg_index=%d\n", - size, rsize, msg_index); - } else + ok(rsize == size, "Incorrect size returned, expected %d got %d, msg_index=%d\n", + size, rsize, msg_index); + trace("msg %u strA \"%s\" strW %s\n", msg_index, buffer, wine_dbgstr_w((WCHAR*)buffer)); + + unicode_server = (msg_index / nb_callbacks == 1 || msg_index / nb_callbacks == 2); + unicode_client = (msg_index / nb_callbacks == 1 || msg_index / nb_callbacks == 3); + str_index = msg_index % nb_callbacks - 4; + cmd_w = test_cmd_w_to_w[str_index - 1]; + size_a = strlen(test_cmd_a_to_a) + 1; + size_w = (lstrlenW(cmd_w) + 1) * sizeof(WCHAR); + size_a_to_w = MultiByteToWideChar( CP_ACP, 0, test_cmd_a_to_a, -1, test_cmd_a_to_w, + sizeof(test_cmd_a_to_w)/sizeof(WCHAR) ) * sizeof(WCHAR); + size_w_to_a = WideCharToMultiByte( CP_ACP, 0, cmd_w, -1, + test_cmd_w_to_a, sizeof(test_cmd_w_to_a), NULL, NULL ); + switch (str_index) { - ok(rsize == size, "Incorrect size returned, expected %d got %d, msg_index=%d\n", - size, rsize, msg_index); - if (msg_index == 5) - todo_wine { - ok(!lstrcmpA((CHAR*)buffer, test_cmd_w_to_a), "Expected %s, got %s, msg_index=%d\n", - test_cmd_w_to_a, buffer, msg_index); - ok(size == 17, "Expected size should be 17, got %d, msg_index=%d\n", size, msg_index); - } - else if (msg_index == 23) - { - ok(!lstrcmpA((CHAR*)buffer, test_cmd_w_to_a), "Expected %s, got %s, msg_index=%d\n", - test_cmd_w_to_a, buffer, msg_index); - ok(size == 17, "Expected size should be 17, got %d, msg_index=%d\n", size, msg_index); - } + case 0: /* ASCII string */ + if (unicode_server) + { + ok(size == size_a_to_w, "Wrong size %d/%d, msg_index=%d\n", size, size_a_to_w, msg_index); + ok(!lstrcmpW((WCHAR*)buffer, test_cmd_a_to_w), + "Expected %s, msg_index=%d\n", wine_dbgstr_w(test_cmd_a_to_w), msg_index); + } + else if (unicode_client) + { + /* ASCII string mapped W->A -> garbage */ + ok(size == size_a / sizeof(WCHAR) || size == size_a / sizeof(WCHAR) + 1, + "Wrong size %d, msg_index=%d\n", size, msg_index); + } else { - ok(!lstrcmpA((CHAR*)buffer, test_cmd_a_to_a), "Expected %s, got %s, msg_index=%d\n", - test_cmd_a_to_a, buffer, msg_index); - ok(size == 17, "Expected size should be 17, got %d, msg_index=%d\n", size, msg_index); + ok(size == size_a, "Wrong size %d/%d, msg_index=%d\n", size, size_a, msg_index); + ok(!lstrcmpA((CHAR*)buffer, test_cmd_a_to_a), "Expected %s, got %s, msg_index=%d\n", + test_cmd_a_to_a, buffer, msg_index); } + break; - } + case 1: /* Unicode string with only 8-bit chars */ + if (unicode_server) + { + ok(size == size_w, "Wrong size %d/%d, msg_index=%d\n", size, size_w, msg_index); + ok(!lstrcmpW((WCHAR*)buffer, cmd_w), + "Expected %s, msg_index=%d\n", wine_dbgstr_w(cmd_w), msg_index); + } + else if (unicode_client) + { + ok(size == size_w_to_a, "Wrong size %d/%d, msg_index=%d\n", size, size_w_to_a, msg_index); + ok(!lstrcmpA((CHAR*)buffer, test_cmd_w_to_a), "Expected %s, got %s, msg_index=%d\n", + test_cmd_w_to_a, buffer, msg_index); + } + else + { + ok(size == size_w_to_a, "Wrong size %d/%d, msg_index=%d\n", + size, size_w_to_a, msg_index); + ok(!lstrcmpA((CHAR*)buffer, test_cmd_w_to_a), "Expected %s, got %s, msg_index=%d\n", + test_cmd_w_to_a, buffer, msg_index); + } + break; + case 2: /* normal Unicode string */ + case 3: /* IsTextUnicode false negative */ + case 4: /* Chinese chars */ + if (unicode_server) + { + /* double A->W mapping */ + /* NT uses the full size, XP+ only until the first null */ + DWORD nt_size = MultiByteToWideChar( CP_ACP, 0, (char *)cmd_w, size_w, test_cmd_a_to_w, + sizeof(test_cmd_a_to_w)/sizeof(WCHAR) ) * sizeof(WCHAR); + DWORD xp_size = MultiByteToWideChar( CP_ACP, 0, (char *)cmd_w, -1, NULL, 0 ) * sizeof(WCHAR); + ok(size == xp_size || broken(size == nt_size), + "Wrong size %d/%d, msg_index=%d\n", size, size_a_to_w, msg_index); + ok(!lstrcmpW((WCHAR*)buffer, test_cmd_a_to_w), + "Expected %s, msg_index=%d\n", wine_dbgstr_w(test_cmd_a_to_w), msg_index); + } + else if (unicode_client) + { + ok(size == size_w_to_a, "Wrong size %d/%d, msg_index=%d\n", size, size_w_to_a, msg_index); + ok(!lstrcmpA((CHAR*)buffer, test_cmd_w_to_a), "Expected %s, got %s, msg_index=%d\n", + test_cmd_w_to_a, buffer, msg_index); + } + else + { + ok(size == size_w, "Wrong size %d/%d, msg_index=%d\n", size, size_w, msg_index); + ok(!lstrcmpW((WCHAR*)buffer, cmd_w), + "Expected %s, msg_index=%d\n", wine_dbgstr_w(cmd_w), msg_index); + } + break; + + default: + ok( 0, "Invalid message %u\n", msg_index ); + break; + } return (HDDEDATA) DDE_FACK; } case XTYP_DISCONNECT: @@ -2245,13 +2589,11 @@ static HDDEDATA CALLBACK client_end_to_end_callback(UINT uType, UINT uFmt, HCONV static void test_end_to_end_client(BOOL type_a) { - DWORD ret, err; + DWORD i, ret, err; DWORD client_pid = 0; HSZ server, topic; HCONV hconv; HDDEDATA hdata; - static char test_cmd[] = "Test dde command"; - static WCHAR test_cmd_w[] = {'t','e','s','t',' ','d','d','e',' ','c','o','m','m','a','n','d',0}; static char test_service[] = "TestDDEService"; static WCHAR test_service_w[] = {'T','e','s','t','D','D','E','S','e','r','v','i','c','e',0}; static char test_topic[] = "TestDDETopic"; @@ -2283,19 +2625,23 @@ static void test_end_to_end_client(BOOL type_a) DdeFreeStringHandle(client_pid, server); /* Test both A and W data being passed to DdeClientTransaction */ - hdata = DdeClientTransaction((LPBYTE)test_cmd, strlen(test_cmd) + 1, + hdata = DdeClientTransaction((LPBYTE)test_cmd_a_to_a, sizeof(test_cmd_a_to_a), hconv, (HSZ)0xdead, 0xbeef, XTYP_EXECUTE, 1000, &ret); ok(hdata != NULL, "DdeClientTransaction failed\n"); ok(ret == DDE_FACK, "wrong status code %x\n", ret); err = DdeGetLastError(client_pid); ok(err == DMLERR_NO_ERROR, "wrong dde error %x\n", err); - hdata = DdeClientTransaction((LPBYTE)test_cmd_w, lstrlenW(test_cmd_w) * sizeof(WCHAR) + 2, - hconv, (HSZ)0xdead, 0xbeef, XTYP_EXECUTE, 1000, &ret); - ok(hdata != NULL, "DdeClientTransaction failed\n"); - ok(ret == DDE_FACK, "wrong status code %x\n", ret); - err = DdeGetLastError(client_pid); - ok(err == DMLERR_NO_ERROR, "wrong dde error %x\n", err); + for (i = 0; i < sizeof(test_cmd_w_to_w)/sizeof(test_cmd_w_to_w[0]); i++) + { + hdata = DdeClientTransaction((LPBYTE)test_cmd_w_to_w[i], + (lstrlenW(test_cmd_w_to_w[i]) + 1) * sizeof(WCHAR), + hconv, (HSZ)0xdead, 0xbeef, XTYP_EXECUTE, 1000, &ret); + ok(hdata != NULL, "DdeClientTransaction failed\n"); + ok(ret == DDE_FACK, "wrong status code %x\n", ret); + err = DdeGetLastError(client_pid); + ok(err == DMLERR_NO_ERROR, "wrong dde error %x\n", err); + } DdeFreeStringHandle(client_pid, topic); ret = DdeDisconnect(hconv); @@ -2419,9 +2765,17 @@ START_TEST(dde) CREATE_SUSPENDED, NULL, NULL, &startup, &proc); test_end_to_end_server(proc.hProcess, proc.hThread, TRUE); - } - test_dde_aw_transaction(); + test_dde_aw_transaction( FALSE, TRUE ); + test_dde_aw_transaction( TRUE, FALSE ); + test_dde_aw_transaction( TRUE, TRUE ); + test_dde_aw_transaction( FALSE, FALSE ); + + test_dde_aw_transaction( FALSE, TRUE ); + test_dde_aw_transaction( TRUE, FALSE ); + test_dde_aw_transaction( TRUE, TRUE ); + } + test_dde_aw_transaction( FALSE, FALSE ); test_DdeCreateDataHandle(); test_DdeCreateStringHandle(); diff --git a/dlls/usp10/bidi.c b/dlls/usp10/bidi.c index 8af28e71101..0538fa5f4f8 100644 --- a/dlls/usp10/bidi.c +++ b/dlls/usp10/bidi.c @@ -851,7 +851,7 @@ int BIDI_ReorderV2lLevel(int level, int *pIndexs, const BYTE* plevel, int cch, B return ich; } -/* Applies the reorder in reverse. Taking an already reordered string and returing the original */ +/* Applies the reorder in reverse. Taking an already reordered string and returning the original */ int BIDI_ReorderL2vLevel(int level, int *pIndexs, const BYTE* plevel, int cch, BOOL fReverse) { int ich = 0; diff --git a/dlls/usp10/tests/usp10.c b/dlls/usp10/tests/usp10.c index 522e0351673..efc0569d3be 100644 --- a/dlls/usp10/tests/usp10.c +++ b/dlls/usp10/tests/usp10.c @@ -148,7 +148,7 @@ static void test_ScriptItemize( void ) ok (hr == E_INVALIDARG, "ScriptItemize should return E_INVALIDARG if pItems is NULL\n"); hr = ScriptItemize(test1, 4, 1, &Control, &State, items, NULL); - ok (hr == E_INVALIDARG, "ScriptItemize should return E_INVALIDARG if cMaxItems < 2."); + ok (hr == E_INVALIDARG, "ScriptItemize should return E_INVALIDARG if cMaxItems < 2.\n"); hr = ScriptItemize(test1, 0, 10, NULL, NULL, items, &nItems); ok (hr == E_INVALIDARG, "ScriptItemize should return E_INVALIDARG if cInChars is 0\n"); diff --git a/dlls/uxtheme/buffer.c b/dlls/uxtheme/buffer.c index af004d08d3c..f4d8229b5a2 100644 --- a/dlls/uxtheme/buffer.c +++ b/dlls/uxtheme/buffer.c @@ -61,8 +61,14 @@ HPAINTBUFFER WINAPI BeginBufferedPaint(HDC hdcTarget, BP_PAINTPARAMS *pPaintParams, HDC *phdc) { - FIXME("Stub (%p %p %d %p %p)\n", hdcTarget, prcTarget, dwFormat, + static int i; + + TRACE("Stub (%p %p %d %p %p)\n", hdcTarget, prcTarget, dwFormat, pPaintParams, phdc); + + if (!i++) + FIXME("Stub (%p %p %d %p %p)\n", hdcTarget, prcTarget, dwFormat, + pPaintParams, phdc); return NULL; } diff --git a/dlls/winealsa.drv/alsa.c b/dlls/winealsa.drv/alsa.c index 5ebb8b7009e..b242cfa4cd6 100644 --- a/dlls/winealsa.drv/alsa.c +++ b/dlls/winealsa.drv/alsa.c @@ -358,10 +358,6 @@ void ALSA_copyFormat(LPWAVEFORMATEX wf1, LPWAVEFORMATPCMEX wf2) iLength = sizeof(WAVEFORMATPCMEX); else iLength = sizeof(WAVEFORMATEX) + wf1->cbSize; - if (iLength > sizeof(WAVEFORMATPCMEX)) { - ERR("calculated %u bytes, capping\n", iLength); - iLength = sizeof(WAVEFORMATPCMEX); - } memcpy(wf2, wf1, iLength); } @@ -395,17 +391,6 @@ BOOL ALSA_supportedFormat(LPWAVEFORMATEX wf) } else WARN("only KSDATAFORMAT_SUBTYPE_PCM and KSDATAFORMAT_SUBTYPE_IEEE_FLOAT " "supported\n"); - } else if (wf->wFormatTag == WAVE_FORMAT_MULAW || wf->wFormatTag == WAVE_FORMAT_ALAW) { - if (wf->wBitsPerSample==8) - return TRUE; - else - ERR("WAVE_FORMAT_MULAW and WAVE_FORMAT_ALAW wBitsPerSample must = 8\n"); - - } else if (wf->wFormatTag == WAVE_FORMAT_ADPCM) { - if (wf->wBitsPerSample==4) - return TRUE; - else - ERR("WAVE_FORMAT_ADPCM wBitsPerSample must = 4\n"); } else WARN("only WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE supported\n"); diff --git a/dlls/winealsa.drv/waveout.c b/dlls/winealsa.drv/waveout.c index 18693c18e01..6ab15153ccd 100644 --- a/dlls/winealsa.drv/waveout.c +++ b/dlls/winealsa.drv/waveout.c @@ -716,18 +716,6 @@ static DWORD wodOpen(WORD wDevID, LPWAVEOPENDESC lpDesc, DWORD dwFlags) } else if ((wwo->format.Format.wFormatTag == WAVE_FORMAT_EXTENSIBLE) && IsEqualGUID(&wwo->format.SubFormat, &KSDATAFORMAT_SUBTYPE_IEEE_FLOAT)){ format = (wwo->format.Format.wBitsPerSample == 32) ? SND_PCM_FORMAT_FLOAT_LE : -1; - } else if (wwo->format.Format.wFormatTag == WAVE_FORMAT_MULAW) { - FIXME("unimplemented format: WAVE_FORMAT_MULAW\n"); - retcode = WAVERR_BADFORMAT; - goto errexit; - } else if (wwo->format.Format.wFormatTag == WAVE_FORMAT_ALAW) { - FIXME("unimplemented format: WAVE_FORMAT_ALAW\n"); - retcode = WAVERR_BADFORMAT; - goto errexit; - } else if (wwo->format.Format.wFormatTag == WAVE_FORMAT_ADPCM) { - FIXME("unimplemented format: WAVE_FORMAT_ADPCM\n"); - retcode = WAVERR_BADFORMAT; - goto errexit; } else { ERR("invalid format: %0x04x\n", wwo->format.Format.wFormatTag); retcode = WAVERR_BADFORMAT; diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 9781a4bd6eb..89bc6acee9f 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -1832,7 +1832,7 @@ static void shader_glsl_get_sample_function(const struct wined3d_shader_context case WINED3DSTT_CUBE: if (shadow) { - FIXME("Unsupported Cube shadow function.\n "); + FIXME("Unsupported Cube shadow function.\n"); sample_function->name = "unsupportedCubeShadow"; sample_function->coord_mask = 0; } @@ -1865,7 +1865,7 @@ static void shader_glsl_get_sample_function(const struct wined3d_shader_context case WINED3DSTT_VOLUME: if (shadow) { - FIXME("Unsupported 3D shadow function.\n "); + FIXME("Unsupported 3D shadow function.\n"); sample_function->name = "unsupported3DShadow"; sample_function->coord_mask = 0; } diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index d363feb1da0..e21086ff0a7 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -848,6 +848,7 @@ static void surface_allocate_surface(IWineD3DSurfaceImpl *This, const struct win { GL_EXTCALL(glCompressedTexImage2DARB(This->texture_target, This->texture_level, internal, width, height, 0, This->resource.size, mem)); + checkGLcall("glCompressedTexImage2DARB"); } else { @@ -1494,6 +1495,15 @@ static void read_from_framebuffer_texture(IWineD3DSurfaceImpl *This, BOOL srgb) struct wined3d_context *context; GLint prevRead; + if (!surface_is_offscreen(This)) + { + /* We would need to flip onscreen surfaces, but there's no efficient + * way to do that here. It makes more sense for the caller to + * explicitly go through sysmem. */ + ERR("Not supported for onscreen targets.\n"); + return; + } + /* Activate the surface to read from. In some situations it isn't the currently active target(e.g. backbuffer * locking during offscreen rendering). RESOURCELOAD is ok because glCopyTexSubImage2D isn't affected by any * states in the stateblock, and no driver was found yet that had bugs in that regard. @@ -1504,42 +1514,13 @@ static void read_from_framebuffer_texture(IWineD3DSurfaceImpl *This, BOOL srgb) surface_prepare_texture(This, gl_info, srgb); surface_bind_and_dirtify(This, srgb); - ENTER_GL(); - glGetIntegerv(GL_READ_BUFFER, &prevRead); - LEAVE_GL(); - - /* Select the correct read buffer, and give some debug output. - * There is no need to keep track of the current read buffer or reset it, every part of the code - * that reads sets the read buffer as desired. - */ - if (!surface_is_offscreen(This)) - { - GLenum buffer = surface_get_gl_buffer(This); - TRACE("Locking %#x buffer\n", buffer); - - ENTER_GL(); - glReadBuffer(buffer); - checkGLcall("glReadBuffer"); - LEAVE_GL(); - } - else - { - /* Locking the primary render target which is not on a swapchain(=offscreen render target). - * Read from the back buffer - */ - TRACE("Locking offscreen render target\n"); - ENTER_GL(); - glReadBuffer(device->offscreenBuffer); - checkGLcall("glReadBuffer"); - LEAVE_GL(); - } + TRACE("Reading back offscreen render target %p.\n", This); ENTER_GL(); - /* If !SrcIsUpsideDown we should flip the surface. - * This can be done using glCopyTexSubImage2D but this - * is VERY slow, so don't do that. We should prevent - * this code from getting called in such cases or perhaps - * we can use FBOs */ + + glGetIntegerv(GL_READ_BUFFER, &prevRead); + glReadBuffer(device->offscreenBuffer); + checkGLcall("glReadBuffer"); glCopyTexSubImage2D(This->texture_target, This->texture_level, 0, 0, 0, 0, This->currentDesc.Width, This->currentDesc.Height); @@ -1551,8 +1532,6 @@ static void read_from_framebuffer_texture(IWineD3DSurfaceImpl *This, BOOL srgb) LEAVE_GL(); context_release(context); - - TRACE("Updated target %d\n", This->texture_target); } /* Context activation is done by the caller. */ @@ -3297,7 +3276,7 @@ static HRESULT IWineD3DSurfaceImpl_BltOverride(IWineD3DSurfaceImpl *dst_surface, && dst_surface == dstSwapchain->front_buffer && src_surface == dstSwapchain->back_buffers[0]) { - /* Half-life does a Blt from the back buffer to the front buffer, + /* Half-Life does a Blt from the back buffer to the front buffer, * Full surface size, no flags... Use present instead * * This path will only be entered for d3d7 and ddraw apps, because d3d8/9 offer no way to blit TO the front buffer @@ -4238,11 +4217,11 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_LoadLocation(IWineD3DSurface *iface, D IWineD3DSurfaceImpl *This = (IWineD3DSurfaceImpl *) iface; IWineD3DDeviceImpl *device = This->resource.device; const struct wined3d_gl_info *gl_info = &device->adapter->gl_info; + BOOL drawable_read_ok = surface_is_offscreen(This); struct wined3d_format_desc desc; CONVERT_TYPES convert; int width, pitch, outpitch; BYTE *mem; - BOOL drawable_read_ok = TRUE; BOOL in_fbo = FALSE; if (This->resource.usage & WINED3DUSAGE_DEPTHSTENCIL) @@ -4401,9 +4380,9 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_LoadLocation(IWineD3DSurface *iface, D IWineD3DSurfaceImpl_LoadLocation(iface, SFLAG_INSYSMEM, rect); } } - if(!(This->Flags & SFLAG_INSYSMEM)) { - /* Should not happen */ - ERR("Trying to load a texture from sysmem, but SFLAG_INSYSMEM is not set\n"); + if (!(This->Flags & SFLAG_INSYSMEM)) + { + WARN("Trying to load a texture from sysmem, but SFLAG_INSYSMEM is not set.\n"); /* Lets hope we get it from somewhere... */ IWineD3DSurfaceImpl_LoadLocation(iface, SFLAG_INSYSMEM, rect); } diff --git a/dlls/winejoystick.drv/joystick.c b/dlls/winejoystick.drv/joystick.c index 9a6902e62b3..95d9c32f2ac 100644 --- a/dlls/winejoystick.drv/joystick.c +++ b/dlls/winejoystick.drv/joystick.c @@ -230,10 +230,10 @@ static const WCHAR ini[] = {'W','i','n','e',' ','J','o','y','s','t','i','c','k', lpCaps->wZmin = 0; lpCaps->wZmax = (nrOfAxes >= 3) ? 0xFFFF : 0; #ifdef BODGE_THE_HAT - /* HalfLife won't allow you to map an axis event to things like + /* Half-Life won't allow you to map an axis event to things like "next weapon" and "use". Linux reports the hat on my stick as axis U and V. So, IFF BODGE_THE_HAT is defined, lie through our - teeth and say we have 32 buttons, and we will map the axises to + teeth and say we have 32 buttons, and we will map the axes to the high buttons. Really, perhaps this should be a registry entry, or even a parameter to the Linux joystick driver (which would completely remove the need for this.) diff --git a/dlls/wineps.drv/afm.c b/dlls/wineps.drv/afm.c index 5c9278a8dd8..6f7d8f8001f 100644 --- a/dlls/wineps.drv/afm.c +++ b/dlls/wineps.drv/afm.c @@ -273,9 +273,10 @@ static BOOL AddBuiltinAFMs(void) * * PSDRV_GetFontMetrics * - * Parses all afm files listed in [afmdirs] and [TrueType Font Directories] - * sections of Wine configuration file. Adds built-in data last, so it can - * be overridden by user-supplied AFM or TTF files. + * Parses all afm files listed in the + * HKEY_CURRENT_USER\\Software\\Wine\\Fonts registry key. + * Adds built-in data last, so it can be overridden by + * user-supplied AFM or TTF files. * * If this function fails, PSDRV_Init will destroy PSDRV_Heap, so don't worry * about freeing all the memory that's been allocated. diff --git a/dlls/wineps.drv/truetype.c b/dlls/wineps.drv/truetype.c index 36ee404ead1..e53b4ad6047 100644 --- a/dlls/wineps.drv/truetype.c +++ b/dlls/wineps.drv/truetype.c @@ -570,7 +570,7 @@ static BOOL ReadTrueTypeDir(FT_Library library, LPCSTR dirname) * PSDRV_GetTrueTypeMetrics * * Reads font metrics from TrueType font files in directories listed in the - * [TrueType Font Directories] section of the Wine configuration file. + * HKEY_CURRENT_USER\\Software\\Wine\\Fonts\\Path registry string. * * If this function fails (returns FALSE), the driver will fail to initialize * and the driver heap will be destroyed, so it's not necessary to HeapFree diff --git a/dlls/wineps.drv/type1afm.c b/dlls/wineps.drv/type1afm.c index e7248c40296..f9a8bcbcf97 100644 --- a/dlls/wineps.drv/type1afm.c +++ b/dlls/wineps.drv/type1afm.c @@ -1167,7 +1167,7 @@ static BOOL ReadAFMDir(LPCSTR dirname) * PSDRV_GetType1Metrics * * Reads font metrics from Type 1 AFM font files in directories listed in the - * [afmdirs] section of the Wine configuration file. + * HKEY_CURRENT_USER\\Software\\Wine\\Fonts\\AFMPath registry string. * * If this function fails (returns FALSE), the driver will fail to initialize * and the driver heap will be destroyed, so it's not necessary to HeapFree diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c index 64d1992ea9f..0e8d60cbee1 100644 --- a/dlls/winex11.drv/event.c +++ b/dlls/winex11.drv/event.c @@ -483,6 +483,7 @@ static void set_focus( Display *display, HWND hwnd, Time time ) GetGUIThreadInfo(0, &threadinfo); focus = threadinfo.hwndFocus; + if (!focus) focus = threadinfo.hwndActive; if (focus) focus = GetAncestor( focus, GA_ROOT ); win = X11DRV_get_whole_window(focus); diff --git a/dlls/winex11.drv/xim.c b/dlls/winex11.drv/xim.c index 6daa0754799..791139ec0dd 100644 --- a/dlls/winex11.drv/xim.c +++ b/dlls/winex11.drv/xim.c @@ -51,7 +51,7 @@ static DWORD dwCompStringSize = 0; #define STYLE_ROOT (XIMPreeditNothing | XIMStatusNothing) /* this uses all the callbacks to utilize full IME support */ #define STYLE_CALLBACK (XIMPreeditCallbacks | XIMStatusNothing) -/* inorder to enable deadkey support */ +/* in order to enable deadkey support */ #define STYLE_NONE (XIMPreeditNothing | XIMStatusNothing) static XIMStyle ximStyle = 0; diff --git a/dlls/winex11.drv/xrender.c b/dlls/winex11.drv/xrender.c index 810b1634881..2fc804acdad 100644 --- a/dlls/winex11.drv/xrender.c +++ b/dlls/winex11.drv/xrender.c @@ -1205,7 +1205,7 @@ void X11DRV_XRender_UpdateDrawable(X11DRV_PDEVICE *physDev) * * Helper to ExtTextOut. Must be called inside xrender_cs */ -static BOOL UploadGlyph(X11DRV_PDEVICE *physDev, int glyph, AA_Type format) +static void UploadGlyph(X11DRV_PDEVICE *physDev, int glyph, AA_Type format) { unsigned int buflen; char *buf; @@ -1252,8 +1252,16 @@ static BOOL UploadGlyph(X11DRV_PDEVICE *physDev, int glyph, AA_Type format) buflen = GetGlyphOutlineW(physDev->hdc, glyph, ggo_format, &gm, 0, NULL, &identity); } if(buflen == GDI_ERROR) { - WARN("GetGlyphOutlineW failed\n"); - return FALSE; + WARN("GetGlyphOutlineW failed using default glyph\n"); + buflen = GetGlyphOutlineW(physDev->hdc, 0, ggo_format, &gm, 0, NULL, &identity); + if(buflen == GDI_ERROR) { + WARN("GetGlyphOutlineW failed for default glyph trying for space\n"); + buflen = GetGlyphOutlineW(physDev->hdc, 0x20, ggo_format, &gm, 0, NULL, &identity); + if(buflen == GDI_ERROR) { + ERR("GetGlyphOutlineW for all attempts unable to upload a glyph\n"); + return; + } + } } TRACE("Turning off antialiasing for this monochrome font\n"); } @@ -1423,8 +1431,6 @@ static BOOL UploadGlyph(X11DRV_PDEVICE *physDev, int glyph, AA_Type format) } formatEntry->gis[glyph] = gi; - - return TRUE; } static void SharpGlyphMono(X11DRV_PDEVICE *physDev, INT x, INT y, diff --git a/dlls/wininet/wininet_Ko.rc b/dlls/wininet/wininet_Ko.rc index 5c2595a9b37..ff98f091d2b 100644 --- a/dlls/wininet/wininet_Ko.rc +++ b/dlls/wininet/wininet_Ko.rc @@ -1,6 +1,7 @@ /* - * Copyright 2005,2007 YunSong Hwang - * + * Copyright 2003 Mike McCormack for CodeWeavers + * Copyright 2005,2007,2010 YunSong Hwang + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either @@ -25,16 +26,36 @@ STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "³×Æ®¿öÅ© ¾ÏÈ£ ÀÔ·Â" FONT 9, "MS Shell Dlg" { - LTEXT "´ç½ÅÀÇ »ç¿ëÀÚ À̸§°ú ¾ÏÈ£¸¦ ÀÔ·ÂÇϽÿÀ:", -1, 40, 6, 150, 15 + LTEXT "´ç½ÅÀÇ »ç¿ëÀÚ À̸§°ú ¾ÏÈ£¸¦ ÀÔ·ÂÇϽʽÿÀ:", -1, 40, 6, 150, 15 LTEXT "ÇÁ·Ï½Ã", -1, 40, 26, 50, 10 - LTEXT "Realm", -1, 40, 46, 50, 10 + LTEXT "¿µ¿ª", -1, 40, 46, 50, 10 LTEXT "»ç¿ëÀÚ", -1, 40, 66, 50, 10 LTEXT "¾ÏÈ£", -1, 40, 86, 50, 10 LTEXT "" IDC_PROXY, 80, 26, 150, 14, 0 LTEXT "" IDC_REALM, 80, 46, 150, 14, 0 EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD - CHECKBOX "¾ÏÈ£ ÀÔ·Â(&S)(ÁÖÀÇÇϽÿÀ)", IDC_SAVEPASSWORD, + CHECKBOX "¾ÏÈ£ ÀúÀå(&S)(¾ÈÀüÇÏÁö ¸øÇÔ)", IDC_SAVEPASSWORD, + 80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP + PUSHBUTTON "È®ÀÎ", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON + PUSHBUTTON "Ãë¼Ò", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP +} + +IDD_AUTHDLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 250, 154 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ÀÎÁõ ÇÊ¿ä" +FONT 8, "MS Shell Dlg" +{ + LTEXT "´ç½ÅÀÇ »ç¿ëÀÚ À̸§°ú ¾ÏÈ£¸¦ ÀÔ·ÂÇϽʽÿÀ:", -1, 40, 6, 150, 15 + LTEXT "¼­¹ö", -1, 40, 26, 50, 10 + LTEXT "¿µ¿ª", -1, 40, 46, 50, 10 + LTEXT "»ç¿ëÀÚ", -1, 40, 66, 50, 10 + LTEXT "¾ÏÈ£", -1, 40, 86, 50, 10 + LTEXT "" IDC_SERVER, 80, 26, 150, 14, 0 + LTEXT "" IDC_REALM, 80, 46, 150, 14, 0 + EDITTEXT IDC_USERNAME, 80, 66, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP + EDITTEXT IDC_PASSWORD, 80, 86, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | ES_PASSWORD + CHECKBOX "¾ÏÈ£ ÀúÀå(&S) (¾ÈÀüÇÏÁö ¸øÇÔ)", IDC_SAVEPASSWORD, 80, 106, 150, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP PUSHBUTTON "È®ÀÎ", IDOK, 98, 126, 56, 14, WS_GROUP | WS_TABSTOP | BS_DEFPUSHBUTTON PUSHBUTTON "Ãë¼Ò", IDCANCEL, 158, 126, 56, 14, WS_GROUP | WS_TABSTOP diff --git a/dlls/winspool.drv/Ja.rc b/dlls/winspool.drv/Ja.rc new file mode 100644 index 00000000000..dc32afa6888 --- /dev/null +++ b/dlls/winspool.drv/Ja.rc @@ -0,0 +1,45 @@ +/* + * Japanese resources for winspool + * + * Copyright 2005 Huw Davies + * Copyright 2010 Akihiro Sagawa + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "wspool.h" + +/* UTF-8 */ +#pragma code_page(65001) + +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT + +FILENAME_DIALOG DIALOG LOADONCALL MOVEABLE DISCARDABLE 6, 18, 245, 47 +STYLE DS_CONTEXTHELP | DS_MODALFRAME | DS_SETFONT | DS_SETFOREGROUND | WS_POPUPWINDOW | WS_VISIBLE | WS_CAPTION +CAPTION "ファイルに出力" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "出力ファイル名(&O):", -1, 7, 13, 194, 13, WS_VISIBLE + EDITTEXT EDITBOX, 6, 28, 174, 12, WS_VISIBLE | ES_AUTOHSCROLL + DEFPUSHBUTTON "OK", IDOK, 199, 10, 40, 14, WS_VISIBLE + PUSHBUTTON "キャンセル", IDCANCEL, 199, 27, 40, 14, WS_VISIBLE +END + +STRINGTABLE DISCARDABLE +{ + IDS_CAPTION "ローカル ポート" + IDS_FILE_EXISTS "出力ファイルはすでに存在します。上書きするには OK をクリックしてください。" + IDS_CANNOT_OPEN "出力ファイルを作成できませんでした。" +} diff --git a/dlls/winspool.drv/Makefile.in b/dlls/winspool.drv/Makefile.in index 0cb94688de8..721798bfd54 100644 --- a/dlls/winspool.drv/Makefile.in +++ b/dlls/winspool.drv/Makefile.in @@ -22,6 +22,7 @@ RC_SRCS = \ Fi.rc \ Fr.rc \ It.rc \ + Ja.rc \ Ko.rc \ Lt.rc \ Nl.rc \ diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c index c4050530c3a..9217913aa92 100644 --- a/dlls/ws2_32/tests/sock.c +++ b/dlls/ws2_32/tests/sock.c @@ -2564,7 +2564,7 @@ typedef struct async_message struct async_message *next; } async_message; -static struct async_message *messages_recieved; +static struct async_message *messages_received; #define WM_SOCKET (WM_USER+100) static LRESULT CALLBACK ws2_test_WndProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) @@ -2579,14 +2579,14 @@ static LRESULT CALLBACK ws2_test_WndProc(HWND hwnd, UINT msg, WPARAM wparam, LPA message->lparam = lparam; message->next = NULL; - if (messages_recieved) + if (messages_received) { - struct async_message *last = messages_recieved; + struct async_message *last = messages_received; while (last->next) last = last->next; last->next = message; } else - messages_recieved = message; + messages_received = message; return 0; } @@ -2650,7 +2650,7 @@ static char *dbgstr_event_seq(const LPARAM *seq) static char *dbgstr_event_seq_result(SOCKET s, WSANETWORKEVENTS *netEvents) { static char message[1024]; - struct async_message *curr = messages_recieved; + struct async_message *curr = messages_received; int index, error, bit = 0; char name[10]; @@ -2693,7 +2693,7 @@ static char *dbgstr_event_seq_result(SOCKET s, WSANETWORKEVENTS *netEvents) static void flush_events(SOCKET s, HANDLE hEvent) { WSANETWORKEVENTS netEvents; - struct async_message *prev = NULL, *curr = messages_recieved; + struct async_message *prev = NULL, *curr = messages_received; int ret; DWORD dwRet; @@ -2714,12 +2714,12 @@ static void flush_events(SOCKET s, HANDLE hEvent) if (curr->socket == s) { if (prev) prev->next = curr->next; - else messages_recieved = curr->next; + else messages_received = curr->next; HeapFree(GetProcessHeap(), 0, curr); if (prev) curr = prev->next; - else curr = messages_recieved; + else curr = messages_received; } else { @@ -2759,7 +2759,7 @@ static int match_event_sequence(SOCKET s, WSANETWORKEVENTS *netEvents, const LPA } else { - curr = messages_recieved; + curr = messages_received; while (curr) { if (curr->socket == s) diff --git a/include/d3dx9.h b/include/d3dx9.h index ccf731ebfeb..09ae55374c0 100644 --- a/include/d3dx9.h +++ b/include/d3dx9.h @@ -33,6 +33,7 @@ #include "d3dx9mesh.h" #include "d3dx9shader.h" #include "d3dx9effect.h" +#include "d3dx9shape.h" #include "d3dx9tex.h" #define _FACDD 0x876 diff --git a/include/msvcrt/stdlib.h b/include/msvcrt/stdlib.h index c6a3e0000e1..5e95d35fd33 100644 --- a/include/msvcrt/stdlib.h +++ b/include/msvcrt/stdlib.h @@ -148,6 +148,7 @@ char* __cdecl _ltoa(__msvcrt_long,char*,int); __msvcrt_ulong __cdecl _lrotl(__msvcrt_ulong,int); __msvcrt_ulong __cdecl _lrotr(__msvcrt_ulong,int); void __cdecl _makepath(char*,const char*,const char*,const char*,const char*); +int __cdecl _makepath_s(char*,size_t,const char*,const char*,const char*,const char*); size_t __cdecl _mbstrlen(const char*); _onexit_t __cdecl _onexit(_onexit_t); int __cdecl _putenv(const char*); @@ -204,6 +205,7 @@ wchar_t* __cdecl _ultow(__msvcrt_ulong,wchar_t*,int); wchar_t* __cdecl _wfullpath(wchar_t*,const wchar_t*,size_t); wchar_t* __cdecl _wgetenv(const wchar_t*); void __cdecl _wmakepath(wchar_t*,const wchar_t*,const wchar_t*,const wchar_t*,const wchar_t*); +int __cdecl _wmakepath_s(wchar_t*,size_t,const wchar_t*,const wchar_t*,const wchar_t*,const wchar_t*); void __cdecl _wperror(const wchar_t*); int __cdecl _wputenv(const wchar_t*); void __cdecl _wsearchenv(const wchar_t*,const wchar_t*,wchar_t*); diff --git a/include/wincrypt.h b/include/wincrypt.h index d3f56b9d493..39c098a22bb 100644 --- a/include/wincrypt.h +++ b/include/wincrypt.h @@ -3007,7 +3007,12 @@ typedef struct _CTL_FIND_SUBJECT_PARA #define szOID_AUTO_ENROLL_CTL_USAGE "1.3.6.1.4.1.311.20.1" #define szOID_ENROLL_CERTTYPE_EXTENSION "1.3.6.1.4.1.311.20.2" #define szOID_ENROLLMENT_AGENT "1.3.6.1.4.1.311.20.2.1" +#ifndef szOID_KP_SMARTCARD_LOGON #define szOID_KP_SMARTCARD_LOGON "1.3.6.1.4.1.311.20.2.2" +#endif +#ifndef szOID_NT_PRINCIPAL_NAME +#define szOID_NT_PRINCIPAL_NAME "1.3.6.1.4.1.311.20.2.3" +#endif #define szOID_CERT_MANIFOLD "1.3.6.1.4.1.311.20.3" #ifndef szOID_CERTSRV_CA_VERSION #define szOID_CERTSRV_CA_VERSION "1.3.6.1.4.1.311.21.1" @@ -3079,21 +3084,6 @@ typedef struct _CTL_FIND_SUBJECT_PARA #define szOID_SERIALIZED "1.3.6.1.4.1.311.10.3.3.1" #endif -#define szOID_AUTO_ENROLL_CTL_USAGE "1.3.6.1.4.1.311.20.1" -#define szOID_ENROLL_CERTTYPE_EXTENSION "1.3.6.1.4.1.311.20.2" -#define szOID_ENROLLMENT_AGENT "1.3.6.1.4.1.311.20.2.1" -#ifndef szOID_KP_SMARTCARD_LOGON -#define szOID_KP_SMARTCARD_LOGON "1.3.6.1.4.1.311.20.2.2" -#endif -#ifndef szOID_NT_PRINCIPAL_NAME -#define szOID_NT_PRINCIPAL_NAME "1.3.6.1.4.1.311.20.2.3" -#endif -#define szOID_CERT_MANIFOLD "1.3.6.1.4.1.311.20.3" - -#ifndef szOID_CERTSRV_CA_VERSION -#define szOID_CERTSRV_CA_VERSION "1.3.6.1.4.1.311.21.1" -#endif - #ifndef szOID_PRODUCT_UPDATE #define szOID_PRODUCT_UPDATE "1.3.6.1.4.1.311.31.1" #endif diff --git a/loader/wine.man.in b/loader/wine.man.in index 7d6953c7407..6779b4430ab 100644 --- a/loader/wine.man.in +++ b/loader/wine.man.in @@ -142,8 +142,9 @@ on all relay messages (API calls). .TP WINEDEBUG=relay will turn on all relay messages. For more control on including or excluding -functions and dlls from the relay trace look into the [Debug] section -of the wine configuration file. +functions and dlls from the relay trace, look into the +.B HKEY_CURRENT_USER\\\\Software\\\\Wine\\\\Debug +registry key. .PP For more information on debugging messages, see the .I Running Wine @@ -204,6 +205,19 @@ the builtin load fails; load shell32 always as builtin and comctl32 always as native. Oleaut32 will be disabled. .RE .TP +.I WINEARCH +Specifies the Windows architecture to support. It can be set either to +.B win32 +(support only 32-bit applications), or to +.B win64 +(support both 64-bit applications and 32-bit ones in WoW64 mode). +.br +The architecture supported by a given Wine prefix is set at prefix +creation time and cannot be changed afterwards. When running with an +existing prefix, Wine will refuse to start if +.I WINEARCH +doesn't match the prefix architecture. +.TP .I DISPLAY Specifies the X11 display to use. .TP diff --git a/programs/cmd/De.rc b/programs/cmd/De.rc index 2e8333896a3..b6ca7bccbc7 100644 --- a/programs/cmd/De.rc +++ b/programs/cmd/De.rc @@ -121,7 +121,7 @@ Laufwerken sind.\n" "PATH ändert oder zeigt den CMD Suchpfad an.\n\ \n\ Nach der Eingabe von PATH, wird die aktuelle PATH Einstellung angezeigt\n\ -(nach dem Start wird der Wert aus der wine.conf Datei genommen). Um die\n\ +(nach dem Start wird der Wert aus der Registry genommen). Um die\n\ Einstellungen zu ändern, muss nach dem PATH Befehl der neue Wert angegeben\n\ werden\n\ \n\ diff --git a/programs/cmd/En.rc b/programs/cmd/En.rc index 97f4640dce8..dfc807e0803 100644 --- a/programs/cmd/En.rc +++ b/programs/cmd/En.rc @@ -112,8 +112,8 @@ MOVE fails if the old and new locations are on different DOS drive letters.\n" WCMD_PATH, "PATH displays or changes the cmd search path.\n\ \n\ -Entering PATH will display the current PATH setting (initially this is\n\ -the value given in your wine.conf file). To change the setting follow the\n\ +Entering PATH will display the current PATH setting (initially taken\n\ +from the registry). To change the setting follow the\n\ PATH command with the new value.\n\ \n\ It is also possible to modify the PATH by using the PATH environment\n\ diff --git a/programs/cmd/Fr.rc b/programs/cmd/Fr.rc index 6ee1e1d545a..ba86eed2fe5 100644 --- a/programs/cmd/Fr.rc +++ b/programs/cmd/Fr.rc @@ -114,8 +114,8 @@ MOVE échoue si l'ancien et le nouvel emplacement sont sur des lecteurs DOS diff WCMD_PATH, "PATH affiche ou change le chemin de recherche de cmd.\n\ \n\ -Entrer PATH seul affiche le réglage courant de PATH (initialement\n\ -c'est la valeur donnée dans le fichier wine.conf). Pour changer\n\ +Entrer PATH seul affiche le réglage courant de PATH (dont la valeur\n\ +initiale provient de la base de registre). Pour changer\n\ le réglage, faites suivre la commande PATH par la nouvelle valeur.\n\ Il est aussi possible de modifier le PATH en utilisant la variable\n\ d'environnement PATH, par exemple :\n\ diff --git a/programs/cmd/It.rc b/programs/cmd/It.rc index ecccebe3a01..c503cd1642e 100644 --- a/programs/cmd/It.rc +++ b/programs/cmd/It.rc @@ -113,8 +113,8 @@ MOVE fallisce se la nuova e la vecchia locazione sono su lettere di unità DOS d WCMD_PATH, "PATH mostra o cambia il percorso di ricerca di cmd.\n\ \n\ -Usando PATH, verrà mostrato la configurazione corrente di PATH (inizialmente questa è\n\ -il valore nel tuo file wine.conf). Per cambiarla, fai seguire al\n\ +Usando PATH, verrà mostrato l'impostazione corrente di PATH (il cui valore è preso\n\ +inizialmente dal registro). Per cambiarla, fai seguire al\n\ comando PATH il nuovo valore.\n\ \n\ È anche possibile modificare il PATH usando la variabile d'ambiente\n\ diff --git a/programs/cmd/Lt.rc b/programs/cmd/Lt.rc index d3eccb9776c..9f5ca815c09 100644 --- a/programs/cmd/Lt.rc +++ b/programs/cmd/Lt.rc @@ -113,8 +113,8 @@ MOVE nepavyksta jei sena ir nauja vietos yra su skirtingomis DOS raidėmis.\n" WCMD_PATH, "PATH parodo ar pakeičia paieškos kelią.\n\ \n\ -Įvedus PATH bus parodyta dabartinė PATH reikšmė (iš pradžių tai reikšmė\n\ -nurodyta jūsų wine.conf faile). Norėdami pakeisti nuostatą nurodykite PATH\n\ +Įvedus PATH bus parodyta dabartinė PATH reikšmė (iš pradžių reikšmė\n\ +paimama iš registro). Norėdami pakeisti nuostatą nurodykite PATH\n\ komandai naują reikšmę kaip parametrą.\n\ \n\ PATH modifikuoti taip pat galima naudojant PATH aplinkos kintamąjį,\n\ diff --git a/programs/cmd/Nl.rc b/programs/cmd/Nl.rc index 79a14e49558..ab6c10d2589 100644 --- a/programs/cmd/Nl.rc +++ b/programs/cmd/Nl.rc @@ -120,8 +120,8 @@ DOS-schijven bevinden.\n" WCMD_PATH, "PATH toon of wijzigt het zoekpad van cmd.\n\ \n\ -De opdracht PATH toont het huidige zoekpad (de beginwaarde wordt in\n\ -het bestand genaamd wine.conf toegekend). Om het zoekpad te wijzigen laat\n\ +De opdracht PATH toont het huidige zoekpad (de beginwaarde wordt uit\n\ +het register gehaald). Om het zoekpad te wijzigen laat\n\ u de PATH opdracht volgen door de nieuwe waarde.\n\ \n\ Het is ook mogelijk om het zoekpad te wijzigen met behulp van de PATH\n\ diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c index b86801c310d..b50512ef129 100644 --- a/programs/cmd/wcmdmain.c +++ b/programs/cmd/wcmdmain.c @@ -1405,15 +1405,14 @@ void WCMD_execute (WCHAR *command, WCHAR *redirects, } for (i=0; i<=WCMD_EXIT; i++) { if (CompareStringW(LOCALE_USER_DEFAULT, NORM_IGNORECASE | SORT_STRINGSORT, - whichcmd, count, inbuilt[i], -1) == 2) break; + whichcmd, count, inbuilt[i], -1) == CSTR_EQUAL) break; } p = WCMD_strtrim_leading_spaces (&whichcmd[count]); WCMD_parse (p, quals, param1, param2); WINE_TRACE("param1: %s, param2: %s\n", wine_dbgstr_w(param1), wine_dbgstr_w(param2)); - if((p[0] == '/') && (p[1] == '?')) { - - /*this is a help request for a program*/ + if (i <= WCMD_EXIT && (p[0] == '/') && (p[1] == '?')) { + /* this is a help request for a builtin program */ i = WCMD_HELP; memcpy(p, whichcmd, count * sizeof(WCHAR)); p[count] = '\0'; diff --git a/programs/net/Makefile.in b/programs/net/Makefile.in index 5c06bb8a138..5efbef09bfa 100644 --- a/programs/net/Makefile.in +++ b/programs/net/Makefile.in @@ -21,6 +21,7 @@ RC_SRCS = \ No.rc \ Pl.rc \ Pt.rc \ + Ro.rc \ Ru.rc \ Si.rc diff --git a/programs/net/Ro.rc b/programs/net/Ro.rc new file mode 100644 index 00000000000..9dc52f79897 --- /dev/null +++ b/programs/net/Ro.rc @@ -0,0 +1,48 @@ +/* + * NET.EXE - Wine-compatible net program + * + * Copyright (C) 2007 Tim Schwartz + * Copyright (C) 2010 Claudia Cotună + * Michael Stefaniuc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "resources.h" + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +#pragma code_page(65001) + +STRINGTABLE +{ + STRING_USAGE, "Sintaxa acestei comenzi este:\n\nNET [ HELP | START | STOP | USE ]\n" + STRING_START_USAGE, "Specificați numele serviciului de pornit.\n" + STRING_STOP_USAGE, "Specificați numele serviciului de oprit.\n" + STRING_STOP_DEP, "Se oprește serviciul dependent: %s\n" + STRING_CANT_STOP, "Serviciul %s nu a putut fi oprit\n" + STRING_NO_SCM, "Nu a putut fi accesat managerul de control al serviciului.\n" + STRING_NO_SVCHANDLE, "Serviciul nu a putut fi accesat.\n" + STRING_START_SVC, "Serviciul %s pornește.\n" + STRING_START_SVC_SUCCESS, "Serviciul %s a fost pornit cu succes.\n" + STRING_START_SVC_FAIL, "Pornirea serviciului %s a eșuat.\n" + STRING_STOP_SVC, "Serviciul %s se oprește.\n" + STRING_STOP_SVC_SUCCESS, "Serviciul %s a fost oprit cu succes.\n" + STRING_STOP_SVC_FAIL, "Oprirea serviciului %s a eșuat.\n" + STRING_HELP_USAGE, "Sintaxa acestei comenzi este:\n\ncomandă NET HELP\n -sau-\ncomandă NET /HELP\n\n Comenzile disponibile sunt:\n NET HELP NET START NET STOP NET USE\n" + STRING_NO_ENTRIES, "Nu există nici un element în listă.\n" + STRING_USE_HEADER, "\nStare Local Distant\n---------------------------------------------------------------\n" + STRING_USE_ENTRY, "%s %S %S Resurse deschise: %lu\n" +} diff --git a/programs/notepad/Pt.rc b/programs/notepad/Pt.rc index a9f244a2b87..756962719ad 100644 --- a/programs/notepad/Pt.rc +++ b/programs/notepad/Pt.rc @@ -6,6 +6,7 @@ * Copyright 2002 Sylvain Petreolle * Copyright 2003 Marcelo Duarte * Copyright 2004 Américo José Melo + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -124,16 +125,16 @@ STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" CAPTION "Configurar página" { -LTEXT "&Cabeçalho (mm):", 0x140, 10, 07, 40, 15 +LTEXT "&Cabeçalho:", 0x140, 10, 07, 40, 15 EDITTEXT IDC_PAGESETUP_HEADERVALUE, 60, 05,110, 12, WS_BORDER | WS_TABSTOP LTEXT "&Rodapé:", 0x142, 10, 24, 40, 15 EDITTEXT IDC_PAGESETUP_FOOTERVALUE, 60, 22,110, 12, WS_BORDER | WS_TABSTOP -GROUPBOX "&Margens:", 0x144, 10, 43,160, 45 -LTEXT "&Esquerda:", 0x145, 20, 55, 30, 10, WS_CHILD -EDITTEXT IDC_PAGESETUP_LEFTVALUE, 50, 55, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP -LTEXT "&Superior:", 0x148, 20, 73, 30, 10, WS_CHILD -EDITTEXT IDC_PAGESETUP_TOPVALUE, 50, 73, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP +GROUPBOX "&Margens (milímetros):", 0x144, 10, 43,160, 45 +LTEXT "&Esquerda:", 0x145, 20, 55, 35, 10, WS_CHILD +EDITTEXT IDC_PAGESETUP_LEFTVALUE, 55, 55, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP +LTEXT "&Superior:", 0x148, 20, 73, 35, 10, WS_CHILD +EDITTEXT IDC_PAGESETUP_TOPVALUE, 55, 73, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP LTEXT "&Direita:", 0x14B, 100, 55, 30, 10, WS_CHILD EDITTEXT IDC_PAGESETUP_RIGHTVALUE, 130, 55, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP LTEXT "&Inferior:", 0x14E,100, 73, 30, 10, WS_CHILD @@ -176,10 +177,20 @@ STRING_NOTEXT, "Você não digitou nenhum texto. \ STRING_DOESNOTEXIST, "Arquivo '%s'\nnão existe\n\n \ Você deseja criar um novo arquivo?" STRING_NOTSAVED, "Arquivo '%s'\nfoi modificado\n\n \ -Gostaria de salvar as alteraçÕes?" +Gostaria de salvar as alterações?" STRING_NOTFOUND, "'%s' não pode ser encontrado." STRING_OUT_OF_MEMORY, "Não há memória suficiente para completar essa \ -tarefa.\nFeche uma ou mais aplicações para aumentar a quantidade de memória livre." +tarefa.\nFeche um ou mais aplicativos para aumentar a quantidade de memória livre." + +STRING_UNICODE_LE, "Unicode (UTF-16)" +STRING_UNICODE_BE, "Unicode (UTF-16 big-endian)" + +STRING_LOSS_OF_UNICODE_CHARACTERS, "%s\n\ +Este arquivo contém caracteres Unicode que serão perdidos se\n\ +for salvo na codificação %s.\n\ +Para manter estes caracteres, clique em Cancelar e depois selecione\n\ +uma das opções Unicode na lista de Codificações.\n\ +Continuar?" } LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE @@ -206,7 +217,7 @@ STRINGTABLE DISCARDABLE STRING_DOESNOTEXIST, "Ficheiro '%s'\nnão existe\n\n \ Deseja criar um novo ficheiro?" STRING_NOTSAVED, "Ficheiro '%s'\nfoi modificado\n\n \ -Gostaria de gravar as alteraçÕes?" +Gostaria de gravar as alterações?" STRING_NOTFOUND, "'%s' não pode ser encontrado." STRING_OUT_OF_MEMORY, "Não há memória suficiente para completar esta \ tarefa.\nFeche uma ou mais aplicações para aumentar a quantidade de memória livre." diff --git a/programs/notepad/Si.rc b/programs/notepad/Si.rc index 531e9faefd8..1947286f288 100644 --- a/programs/notepad/Si.rc +++ b/programs/notepad/Si.rc @@ -133,7 +133,7 @@ STRING_UNICODE_BE, "Unicode (UTF-16 big-endian)" STRING_LOSS_OF_UNICODE_CHARACTERS, "%s\n\ Ta datoteka vsebuje Unicode znake, ki bodo izgubljeni,\n\ -če datoteko shranite v %s kodiranju. \n\ +če datoteko shranite v %s kodiranju.\n\ Da bi te znake obdržali, kliknite Prekliči in izberite\n\ eno izmed Unicode možnosti v seznamu kodiranj.\n\ Nadaljujem?" diff --git a/programs/notepad/Wa.rc b/programs/notepad/Wa.rc index 1856490b9a7..85c49c57e75 100644 --- a/programs/notepad/Wa.rc +++ b/programs/notepad/Wa.rc @@ -57,6 +57,7 @@ POPUP "&Candj POPUP "C&werî" { MENUITEM "Cwerî...", CMD_SEARCH MENUITEM "&Shûvant\tF3", CMD_SEARCH_NEXT + MENUITEM "&Replaecî...\tCtrl+H", CMD_REPLACE } POPUP "&Aide" { MENUITEM "Å&dvins", CMD_HELP_CONTENTS diff --git a/programs/notepad/Zh.rc b/programs/notepad/Zh.rc index 005c67d9ce9..242eb65fac6 100644 --- a/programs/notepad/Zh.rc +++ b/programs/notepad/Zh.rc @@ -55,6 +55,7 @@ POPUP "编辑(&E)" { POPUP "搜索(&S)" { MENUITEM "搜索(&S)...", CMD_SEARCH MENUITEM "搜索下一个(&S)\tF3", CMD_SEARCH_NEXT + MENUITEM "替换...\tCtrl+H", CMD_REPLACE } POPUP "帮助(&H)" { MENUITEM "内容(&C)", CMD_HELP_CONTENTS diff --git a/programs/progman/Pt.rc b/programs/progman/Pt.rc index 2b075227a53..fd070686a31 100644 --- a/programs/progman/Pt.rc +++ b/programs/progman/Pt.rc @@ -35,8 +35,8 @@ MAIN_MENU MENU MENUITEM "A&brir\tEnter", PM_OPEN MENUITEM "&Mover...\tF7", PM_MOVE, GRAYED MENUITEM "&Copiar...\tF8", PM_COPY, GRAYED - MENUITEM "&Excluir\tEntf", PM_DELETE - MENUITEM "&Atributos...\tAlt+Enter", PM_ATTRIBUTES + MENUITEM "E&xcluir\tEntf", PM_DELETE + MENUITEM "A&tributos...\tAlt+Enter", PM_ATTRIBUTES MENUITEM SEPARATOR MENUITEM "&Executar...", PM_EXECUTE MENUITEM SEPARATOR @@ -74,7 +74,7 @@ MAIN_MENU MENU MENUITEM "A&brir\tEnter", PM_OPEN MENUITEM "&Mover...\tF7", PM_MOVE, GRAYED MENUITEM "&Copiar...\tF8", PM_COPY, GRAYED - MENUITEM "&Excluir\tEntf", PM_DELETE + MENUITEM "E&xcluir\tEntf", PM_DELETE MENUITEM "&Atributos...\tAlt+Enter", PM_ATTRIBUTES MENUITEM SEPARATOR MENUITEM "&Executar...", PM_EXECUTE @@ -99,7 +99,7 @@ POPUP "Aj&uda" { MENUITEM "&Ajuda da ajuda", PM_HELPONHELP MENUITEM "&Tutorial", PM_TUTORIAL MENUITEM SEPARATOR - MENUITEM "&Acerca do Wine", PM_ABOUT_WINE + MENUITEM "Acerca do &Wine", PM_ABOUT_WINE } } @@ -170,13 +170,13 @@ DIALOG_GROUP DIALOG 0, 0, 230, 65 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Atributos do grupo de programas" { -LTEXT "&Descrição:", PM_DESCRIPTION_TXT, 05, 18, 50, 10 -EDITTEXT PM_DESCRIPTION, 60, 18, 90, 15, WS_TABSTOP +LTEXT "&Descrição:", PM_DESCRIPTION_TXT, 05, 18, 60, 10 +EDITTEXT PM_DESCRIPTION, 70, 18, 90, 15, WS_TABSTOP LTEXT "&Grupo de arquivo:", PM_FILE_TXT, 05, 38, 50, 10 -EDITTEXT PM_FILE, 60, 38, 90, 15, WS_TABSTOP -DEFPUSHBUTTON "OK", IDOK, 155, 5, 60, 15, WS_TABSTOP -PUSHBUTTON "Cancelar", IDCANCEL, 155, 25, 60, 15, WS_TABSTOP -PUSHBUTTON "Aj&uda", PM_HELP, 155, 45, 60, 15, WS_TABSTOP +EDITTEXT PM_FILE, 70, 38, 90, 15, WS_TABSTOP +DEFPUSHBUTTON "OK", IDOK, 165, 5, 60, 15, WS_TABSTOP +PUSHBUTTON "Cancelar", IDCANCEL, 165, 25, 60, 15, WS_TABSTOP +PUSHBUTTON "Aj&uda", PM_HELP, 165, 45, 60, 15, WS_TABSTOP } LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE @@ -185,13 +185,13 @@ DIALOG_GROUP DIALOG 0, 0, 230, 65 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Atributos do grupo de programas" { -LTEXT "&Descrição:", PM_DESCRIPTION_TXT, 05, 18, 50, 10 -EDITTEXT PM_DESCRIPTION, 60, 18, 90, 15, WS_TABSTOP +LTEXT "&Descrição:", PM_DESCRIPTION_TXT, 05, 18, 60, 10 +EDITTEXT PM_DESCRIPTION, 70, 18, 90, 15, WS_TABSTOP LTEXT "&Grupo de ficheiro:", PM_FILE_TXT, 05, 38, 50, 10 -EDITTEXT PM_FILE, 60, 38, 90, 15, WS_TABSTOP -DEFPUSHBUTTON "OK", IDOK, 155, 5, 60, 15, WS_TABSTOP -PUSHBUTTON "Cancelar", IDCANCEL, 155, 25, 60, 15, WS_TABSTOP -PUSHBUTTON "Aj&uda", PM_HELP, 155, 45, 60, 15, WS_TABSTOP +EDITTEXT PM_FILE, 70, 38, 90, 15, WS_TABSTOP +DEFPUSHBUTTON "OK", IDOK, 165, 5, 60, 15, WS_TABSTOP +PUSHBUTTON "Cancelar", IDCANCEL, 165, 25, 60, 15, WS_TABSTOP +PUSHBUTTON "Aj&uda", PM_HELP, 165, 45, 60, 15, WS_TABSTOP } @@ -294,12 +294,12 @@ IDS_DELETE_PROGRAM_s, "Excluir programa '%s' ?" IDS_NOT_IMPLEMENTED, "Não implementado" IDS_FILE_READ_ERROR_s, "Erro lendo '%s'." IDS_FILE_WRITE_ERROR_s, "Erro escrevendo '%s'." -IDS_GRPFILE_READ_ERROR_s, "O arquivo de grupo '%s' não pode ser aberto.\nDeverá ser tentado outras vezes?" +IDS_GRPFILE_READ_ERROR_s, "O arquivo de grupo '%s' não pode ser aberto.\nTentar novamente?" IDS_OUT_OF_MEMORY, "Sem memória." IDS_WINHELP_ERROR, "Ajuda não disponível." IDS_UNKNOWN_FEATURE_s, "Recurso desconhecido em %s" -IDS_FILE_NOT_OVERWRITTEN_s, "Arquivo '%s' existe. Não sobreescrevendo." -IDS_SAVE_GROUP_AS_s, "Salvar grupo como '%s' para prevenir a sobreescrita dos arquivos originais." +IDS_FILE_NOT_OVERWRITTEN_s, "Arquivo '%s' existe. Não foi sobrescrito." +IDS_SAVE_GROUP_AS_s, "Salvar grupo como '%s' para prevenir a sobrescrita dos arquivos originais." IDS_NO_HOT_KEY, "Nenhuma" IDS_ALL_FILES, "Todos os arquivos (*.*)" IDS_PROGRAMS, "Programas" diff --git a/programs/reg/Makefile.in b/programs/reg/Makefile.in index 90ae14352ad..08d96e7fbe1 100644 --- a/programs/reg/Makefile.in +++ b/programs/reg/Makefile.in @@ -24,6 +24,7 @@ RC_SRCS = \ No.rc \ Pl.rc \ Pt.rc \ + Ro.rc \ Ru.rc \ Si.rc \ Uk.rc diff --git a/programs/reg/Ro.rc b/programs/reg/Ro.rc new file mode 100644 index 00000000000..9405c9c38d7 --- /dev/null +++ b/programs/reg/Ro.rc @@ -0,0 +1,40 @@ +/* + * REG.EXE - Wine-compatible reg program. + * + * Copyright 2008 Andrew Riedi + * Copyright 2010 Claudia Cotună + * Michael Stefaniuc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +#pragma code_page(65001) + +STRINGTABLE +{ + STRING_USAGE, "Sintaxa acestei comenzi este:\n\nREG [ ADD | DELETE | QUERY ]\nREG comandă /?\n" + STRING_ADD_USAGE, "REG ADD nume_cheie [/v nume_valoare | /ve] [/t tip] [/s separator] [/d date] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nume_cheie [/v nume_valoare | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nume_cheie [/v nume_valoare | /ve] [/s]\n" + STRING_SUCCESS, "Operațiunea a fost finalizată cu succes\n" + STRING_INVALID_KEY, "Eroare: Nume de cheie nevalid\n" + STRING_INVALID_CMDLINE, "Eroare: Parametri nevalizi pentru linia de comandă\n" + STRING_NO_REMOTE, "Eroare: Nu se pot adăuga chei pe calculatorul de la distanță\n" + STRING_CANNOT_FIND, "Eroare: Sistemul nu a putut găsi cheia sau valoarea de registru specificată\n" +} diff --git a/programs/regedit/Es.rc b/programs/regedit/Es.rc index c6d3f95e877..3799d37f981 100644 --- a/programs/regedit/Es.rc +++ b/programs/regedit/Es.rc @@ -298,7 +298,7 @@ BEGIN IDS_TOO_BIG_VALUE "El valor es demasiado grande (%u)" IDS_DELETE_BOX_TITLE "Confirmar eliminación de valor" IDS_DELETE_BOX_TEXT "¿Seguro que desea eliminar el valor '%s'?" - IDS_DELETE_BOX_TEXT_MULTIPLE "Are you sure you want to delete these values?" + IDS_DELETE_BOX_TEXT_MULTIPLE "¿Está seguro que desea eliminar estos valores?" IDS_NEWKEY "Nueva clave #%d" IDS_NEWVALUE "Nuevo valor #%d" IDS_NOTFOUND "Cadena de búsqueda '%s' no encontrada" @@ -307,7 +307,7 @@ END STRINGTABLE DISCARDABLE BEGIN IDS_FILEDIALOG_IMPORT_TITLE "Importar archivo de registro" - IDS_FILEDIALOG_EXPORT_TITLE "Exportar arvhivo de registro" + IDS_FILEDIALOG_EXPORT_TITLE "Exportar archivo de registro" IDS_FILEDIALOG_FILTER "Archivos de registro\0*.reg\0Archivos de registro de Win9x/NT4 (REGEDIT4)\0*.reg\0Todos los archivos (*.*)\0*.*\0\0" END diff --git a/programs/start/Es.rc b/programs/start/Es.rc index 83881c6a985..d2f878e0001 100644 --- a/programs/start/Es.rc +++ b/programs/start/Es.rc @@ -65,5 +65,5 @@ Mire el archivo COPYING.LIB para informaci STRING_EXECFAIL "La aplicación no se pudo ejecutar, o no hay ninguna aplicación asociada con el archivo especificado.\nShellExecuteEx fallido" -STRING_UNIXFAIL "Could not translate the specified Unix filename to a DOS filename." +STRING_UNIXFAIL "No se pudo traducir el nombre de archivo UNIX especificado a un nombre de archivo de DOS." } diff --git a/programs/taskmgr/Si.rc b/programs/taskmgr/Si.rc index 858e9d271ca..c6cc43d0e53 100644 --- a/programs/taskmgr/Si.rc +++ b/programs/taskmgr/Si.rc @@ -497,7 +497,7 @@ BEGIN IDS_VIEW_SMALL "M&ale ikone" IDS_VIEW_DETAILS "Po&drobnosti" IDS_WINDOWS "&Okna" - IDS_VIEW_SELECTCOLUMNS "&Izbiranje stolcev..." + IDS_VIEW_SELECTCOLUMNS "&Izbiranje stolcev ..." IDS_OPTIONS_SHOW16BITTASKS "&Prikaz 16-bitnih opravil" IDS_VIEW_CPUHISTORY "&Zgodovina procesorja" IDS_VIEW_CPUHISTORY_ONEGRAPHALL "&En grafikon za vse procesorje" @@ -547,9 +547,9 @@ BEGIN nezaželjene posledice, vključno z nesabilnostjo sistema. Ali ste\n\ prepričani, da želite spremeniti prioriteto?" IDS_PRIORITY_UNABLE2CHANGE "Ne morem spremeniti prioritete" - IDS_TERMINATE_MESSAGE "OPOZORILO: Prekinjanje procesa lahko povzroči nezaželjene \n\ + IDS_TERMINATE_MESSAGE "OPOZORILO: Prekinjanje procesa lahko povzroči nezaželjene\n\ posledice, vključno z izgubo podatkov in nestabilnostjo sistema.\n\ - Pred prekinitvijo proces ne bo imel možnosti shraniti svojega \n\ + Pred prekinitvijo proces ne bo imel možnosti shraniti svojega\n\ stanja ali podatkov. Ali ste prepričani, da želite\n\ prekiniti proces?" IDS_TERMINATE_UNABLE2TERMINATE "Ne morem prekiniti procesa" diff --git a/programs/wineboot/wineboot_No.rc b/programs/wineboot/wineboot_No.rc index 1e7b90a17fd..ce7a3bf629e 100644 --- a/programs/wineboot/wineboot_No.rc +++ b/programs/wineboot/wineboot_No.rc @@ -44,6 +44,6 @@ CAPTION "Wine" FONT 8, "MS Shell Dlg" BEGIN ICON "", IDC_WAITICON, 3, 3, 10, 10 - LTEXT "Vent mes Wine-oppsettet i «%s» blir oppdatert ...", + LTEXT "Vent mes Wine-oppsettet i «%s» blir oppdatert...", IDC_WAITTEXT, 40, 5, 150, 40, SS_NOPREFIX END diff --git a/programs/wineboot/wineboot_Si.rc b/programs/wineboot/wineboot_Si.rc index bb210f91b31..82e061b9ce7 100644 --- a/programs/wineboot/wineboot_Si.rc +++ b/programs/wineboot/wineboot_Si.rc @@ -44,6 +44,6 @@ CAPTION "Wine" FONT 8, "MS Shell Dlg" BEGIN ICON "", IDC_WAITICON, 3, 3, 10, 10 - LTEXT "Konfiguracija programa Wine v %s se posodablja, prosimo počkajte...", + LTEXT "Konfiguracija programa Wine v %s se posodablja, prosimo počkajte ...", IDC_WAITTEXT, 40, 5, 150, 40, SS_NOPREFIX END diff --git a/programs/winebrowser/main.c b/programs/winebrowser/main.c index b959d38adad..f5ffe05efb7 100644 --- a/programs/winebrowser/main.c +++ b/programs/winebrowser/main.c @@ -199,27 +199,15 @@ static HDDEDATA CALLBACK ddeCb(UINT uType, UINT uFmt, HCONV hConv, return (HDDEDATA)FALSE; case XTYP_EXECUTE: - { - char *buffer = NULL; - if (!(size = DdeGetData(hData, NULL, 0, 0))) WINE_ERR("DdeGetData returned zero size of execute string\n"); - else if (!(buffer = HeapAlloc(GetProcessHeap(), 0, size))) + else if (!(ddeString = HeapAlloc(GetProcessHeap(), 0, size))) WINE_ERR("Out of memory\n"); - else if (DdeGetData(hData, (LPBYTE)buffer, size, 0) != size) + else if (DdeGetData(hData, (LPBYTE)ddeString, size, 0) != size) WINE_WARN("DdeGetData did not return %d bytes\n", size); - else - { - int len = MultiByteToWideChar(CP_ACP, 0, buffer, -1, NULL, 0); - if (!(ddeString = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)))) - WINE_ERR("Out of memory\n"); - else - MultiByteToWideChar(CP_ACP, 0, buffer, -1, ddeString, len); - } - HeapFree(GetProcessHeap(), 0, buffer); DdeFreeDataHandle(hData); return (HDDEDATA)DDE_FACK; - } + case XTYP_REQUEST: ret = -3; /* error */ if (!(size = DdeQueryStringW(ddeInst, hsz2, NULL, 0, CP_WINUNICODE))) diff --git a/programs/winecfg/Es.rc b/programs/winecfg/Es.rc index a7496a899da..d46f32ed597 100644 --- a/programs/winecfg/Es.rc +++ b/programs/winecfg/Es.rc @@ -155,7 +155,7 @@ BEGIN COMBOBOX IDC_COMBO_TYPE,45,135,77,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "&Mostrar avanzado",IDC_BUTTON_SHOW_HIDE_ADVANCED,166,135,80,13 - LTEXT "De&vice:",IDC_STATIC_DEVICE,15,153,26,9 + LTEXT "Dispositi&vo:",IDC_STATIC_DEVICE,15,153,26,9 EDITTEXT IDC_EDIT_DEVICE,45,150,150,13,ES_AUTOHSCROLL | WS_TABSTOP PUSHBUTTON "E&xaminar...",IDC_BUTTON_BROWSE_DEVICE,200,150,46,13 diff --git a/programs/winecfg/Ko.rc b/programs/winecfg/Ko.rc dissimilarity index 70% index b92b146ffc6..81450d9ae86 100644 --- a/programs/winecfg/Ko.rc +++ b/programs/winecfg/Ko.rc @@ -1,338 +1,339 @@ -/* - * WineCfg resources - * Korean Language Support - * - * Copyright 2002 Jaco Greeff - * Copyright 2003 Dimitrie O. Paun - * Copyright 2003-2004 Mike Hearn - * Copyright 2005,2006,2007 YunSong Hwang - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - * - */ - -#include "config.h" /* Needed for the PACKAGE_STRING definition */ -#include "resource.h" - -LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT - -IDR_WINECFG MENU DISCARDABLE -BEGIN - POPUP "" - BEGIN - MENUITEM "¼³Á¤", IDC_AUDIO_CONFIGURE - END -END - -IDD_ABOUTCFG DIALOGEX 0, 0, 260, 220 -STYLE WS_CHILD -FONT 9, "MS Shell Dlg" -BEGIN - CONTROL "", IDC_ABT_PANEL, "STATIC", SS_OWNERDRAW, 0, 0, 260, 140 - LTEXT PACKAGE_NAME,IDC_ABT_TITLE_TEXT,105,30,55,30 - LTEXT PACKAGE_VERSION,IDC_ABT_PANEL_TEXT,160,43,140,8 - CONTROL "",IDC_ABT_WEB_LINK,"SysLink", LWS_TRANSPARENT, 105,53,106,8 - LTEXT "ÀÌ ¶óÀ̺귯¸®´Â ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾îÀÔ´Ï´Ù. ´ç½ÅÀº ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾î Àç´Ü(Free Software Foundation)¿¡¼­ ¸¸µç GNU LGPL(Lesser General Public License) ¾Æ·¡¿¡¼­ ÀÌ ÇÁ·Î±×·¥À» Àç¹èÆ÷ ¶Ç´Â ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶óÀ̼¾½ºÀÇ ¹öÀüÀº 2.1 ¶Ç´Â (¼±ÅÃÀûÀ¸·Î) ±× ÀÌÈÄ ¹öÀüÀ» µû¸£¸é µË´Ï´Ù.", - IDC_ABT_LICENSE_TEXT,105,64,145,60 - GROUPBOX " À©µµ¿ìÁî µî·Ï Á¤º¸ ", IDC_STATIC, 15, 155, 230, 55 - LTEXT "¼ÒÀ¯ÀÚ(&O):", IDC_STATIC, 22, 171, 40, 20 - EDITTEXT IDC_ABT_OWNER, 75, 171, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP - LTEXT "´Üü(&Z):", IDC_STATIC, 22, 185, 50, 20 - EDITTEXT IDC_ABT_ORG, 75, 185, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP -END - - -IDD_APPCFG DIALOG DISCARDABLE 0, 0, 260, 220 -STYLE WS_CHILD | WS_DISABLED -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX " ÇÁ·Î±×·¥ ¼³Á¤ ",IDC_STATIC, 8,4,244,210 - LTEXT "WineÀº °¢°¢ÀÇ ÇÁ·Î±×·¥¿¡ ´ëÇؼ­ ´Ù¸¥ ¹öÀüÀÇ À©µµ¿ìÁ Èä³»³¾ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÅÇÀº ¶óÀ̺귯¸® ÅÇ, ±×·¡ÇÈ ÅÇ°ú ¿¬°áµÇ¾î À־, À̵é ÅÇÀ» ÀÌ¿ëÇÏ¿© ½Ã½ºÅÛ Àüü ¶Ç´Â ÇÁ·Î±×·¥º°·Î ¼³Á¤ÀÌ °¡´ÉÇÕ´Ï´Ù.", - IDC_STATIC,17,14,227,33 - CONTROL "ÇÁ·Î±×·¥",IDC_APP_LISTVIEW,"SysListView32",WS_BORDER | WS_TABSTOP | LVS_LIST | LVS_SINGLESEL | LVS_SHOWSELALWAYS, - 15,50,230,120 - PUSHBUTTON "ÇÁ·Î±×·¥ Ãß°¡(&A)...",IDC_APP_ADDAPP, 90,174,75,14 - PUSHBUTTON "ÇÁ·Î±×·¥ Á¦°Å(&R)",IDC_APP_REMOVEAPP, 170,174,75,14 - LTEXT "À©µµ¿ìÁî ¹öÁ¯(&W):",IDC_STATIC,16,197,75,14 - COMBOBOX IDC_WINVER,83,194,163,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP -END - -IDD_GRAPHCFG DIALOG DISCARDABLE 0, 0, 260, 220 -STYLE WS_CHILD | WS_DISABLED -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX " â ¼³Á¤ ",IDC_STATIC,8,4,244,84 - CONTROL "¸¶¿ì½º Ä¿¼­¸¦ DirectX ÇÁ·Î±×·¥ â¾È¿¡ Àâ¾ÆµÎ±â(&M)",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,20,230,8 - CONTROL "â°ü¸®ÀÚ°¡ WineâÀ» ²Ù¹Ìµµ·Ï ÇÔ(&D)",IDC_ENABLE_DECORATED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,32,230,8 - CONTROL "â°ü¸®ÀÚ°¡ WineâÀ» °ü¸®Çϵµ·Ï ÇÔ(&W)",IDC_ENABLE_MANAGED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,44,230,8 - CONTROL "°¡»ó µ¥½ºÅ©Å¾ Èä³»³»±â(&E)",IDC_ENABLE_DESKTOP,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,15,56,230,8 - LTEXT "µ¥½ºÅ©Å¾ Å©±â(&S):",IDC_DESKTOP_SIZE,15,70,44,8,WS_DISABLED - LTEXT "X",IDC_DESKTOP_BY,109,70,8,8,WS_DISABLED - EDITTEXT IDC_DESKTOP_WIDTH,64,68,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED - EDITTEXT IDC_DESKTOP_HEIGHT,117,68,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED - - GROUPBOX " ´ÙÀÌ·ºÆ® 3D ",IDC_STATIC,8,95,244,49 - LTEXT "¹öÅؽº ½¦ÀÌ´õ Áö¿ø(&V): ",IDC_STATIC,15,110,80,32 - COMBOBOX IDC_D3D_VSHADER_MODE,100,108,145,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Çϵå¿þ¾î¿¡¼­ Áö¿øÇÒ °æ¿ì, Çȼ¿ ½¦ÀÌ´õ Çã¿ë(&P)",IDC_D3D_PSHADER_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,10 - - GROUPBOX " È­¸é ÇØ»óµµ(&R) ",IDC_STATIC,8,151,244,63 - CONTROL "", IDC_RES_TRACKBAR, "msctls_trackbar32",WS_TABSTOP,12,161,187,15 - EDITTEXT IDC_RES_DPIEDIT,204,161,23,13,ES_NUMBER|WS_TABSTOP - LTEXT "dpi",IDC_STATIC,235,163,10,8 - LTEXT "This is a sample text using 10 point Tahoma",IDC_RES_FONT_PREVIEW,15,181,230,28 -END - -IDD_DLLCFG DIALOG DISCARDABLE 0, 0, 260, 220 -STYLE WS_CHILD | WS_DISABLED -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX " DLL ¿À¹ö¶óÀ̵å ",IDC_STATIC,8,4,244,210 - LTEXT "µ¿Àû ¸µÅ© ¶óÀ̺귯¸®´Â °³º°ÀûÀ¸·Î ³»Àå(Wine¿¡ ÀÇÇØ Á¦°ø)À̳ª ³×ÀÌƼºê(À©µµ¿ìÁ ÇÁ·Î±×·¥¿¡ ÀÇÇØ Á¦°ø)À¸·Î ÁöÁ¤µÉ¼ö ÀÖ½À´Ï´Ù." - ,IDC_STATIC,16,16,220,32 - LTEXT "»õ·Î ¿À¹ö¶óÀ̵åÇÒ ¶óÀ̺귯¸®(&N):",IDC_STATIC,16,58,108,8 - COMBOBOX IDC_DLLCOMBO,16,68,140,14,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP | CBS_SORT | CBS_LOWERCASE - PUSHBUTTON "´õÇϱâ(&A)",IDC_DLLS_ADDDLL, 164,68,82,13,BS_DEFPUSHBUTTON - LTEXT "ÇöÀç ¿À¹ö¶óÀÌµå ¸ñ·Ï(&O):",IDC_STATIC,16,86,100,8 - LISTBOX IDC_DLLS_LIST,16,96,140,112,WS_BORDER | WS_TABSTOP | WS_VSCROLL - PUSHBUTTON "°íÄ¡±â(&E)...",IDC_DLLS_EDITDLL,164,96,82,14 - PUSHBUTTON "Áö¿ì±â(&R)",IDC_DLLS_REMOVEDLL,164,114,82,14 -END - -IDD_LOADORDER DIALOG DISCARDABLE 80, 90, 110, 92 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "¿À¹ö¶óÀÌµå ¼öÁ¤" -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX " ·Îµå ¼ø¼­ ",IDC_STATIC,8,4,94,66 - CONTROL "³»Àå(&B)(Wine)",IDC_RAD_BUILTIN,"Button", BS_AUTORADIOBUTTON | WS_GROUP,16,14,75,10 - CONTROL "³×ÀÌƼºê(&N)(Win)",IDC_RAD_NATIVE,"Button", BS_AUTORADIOBUTTON,16,24,75,10 - CONTROL "³»Àå, ³×ÀÌƼºê(&L)",IDC_RAD_BUILTIN_NATIVE,"Button", BS_AUTORADIOBUTTON,16,34,75,10 - CONTROL "³×ÀÌƼºê, ³»Àå(&V)",IDC_RAD_NATIVE_BUILTIN,"Button", BS_AUTORADIOBUTTON,16,44,75,10 - CONTROL "»ç¿ëÇÏÁö ¾ÊÀ½(&D)",IDC_RAD_DISABLE,"Button", BS_AUTORADIOBUTTON,16,54,75,10 - DEFPUSHBUTTON "È®ÀÎ",IDOK,8,74,45,14,WS_GROUP - PUSHBUTTON "Ãë¼Ò",IDCANCEL,57,74,45,14,WS_GROUP -END - -IDD_DRIVECHOOSE DIALOG DISCARDABLE 60, 70, 170, 60 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "µå¶óÀÌºê ¹®ÀÚ ¼±ÅÃ" -FONT 8, "MS Shell Dlg" -BEGIN - COMBOBOX IDC_DRIVESA2Z,15,10,75,230,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - DEFPUSHBUTTON "È®ÀÎ",IDOK,105,10,45,14,WS_GROUP - PUSHBUTTON "Ãë¼Ò",IDCANCEL,105,30,45,14,WS_GROUP -END - - -IDD_DRIVECFG DIALOG DISCARDABLE 0, 0, 260, 220 -STYLE WS_CHILD | WS_DISABLED -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX " µå¶óÀÌºê ¿¬°á(&M) ",IDC_STATIC,8,4,244,195 - LTEXT "¿¬°á °ü¸®ÀÚ°¡ ¿¬°áÇÏ´Â µ¥ ½ÇÆÐÇÔ, ÀÌ µå¶óÀÌºê ¼³Á¤À» ¼öÁ¤µÉ ¼ö ¾ø½À´Ï´Ù.", IDC_STATIC_MOUNTMGR_ERROR, 15,30,190,76 - CONTROL "¸ñ·Ïº¸±â",IDC_LIST_DRIVES,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT | - LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, 15,18,232,76 - PUSHBUTTON "Ãß°¡(&A)...",IDC_BUTTON_ADD,15,98,37,14 - PUSHBUTTON "Á¦°Å(&R)",IDC_BUTTON_REMOVE,56,98,37,14 - PUSHBUTTON "ÀÚµ¿ ã±â(&D)...",IDC_BUTTON_AUTODETECT,195,98,51,14 - - /* editing drive details */ - LTEXT "°æ·Î(&P):",IDC_STATIC_PATH,15,123,30,10 - EDITTEXT IDC_EDIT_PATH,50,120,140,13,ES_AUTOHSCROLL | WS_TABSTOP - PUSHBUTTON "ã¾Æº¸±â(&B)...",IDC_BUTTON_BROWSE_PATH,195,120,51,13 - - LTEXT "Á¾·ù(&T):",IDC_STATIC_TYPE,15,138,30,10 - COMBOBOX IDC_COMBO_TYPE,50,135,70,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - - PUSHBUTTON "Ãß°¡¿É¼Ç º¸À̱â(&A)",IDC_BUTTON_SHOW_HIDE_ADVANCED,175,135,71,13 - LTEXT "De&vice:",IDC_STATIC_DEVICE,15,153,26,9 - EDITTEXT IDC_EDIT_DEVICE,50,150,140,13,ES_AUTOHSCROLL | WS_TABSTOP - PUSHBUTTON "ã¾Æº¸±â(&W)...",IDC_BUTTON_BROWSE_DEVICE,195,150,51,13 - - LTEXT "¶óº§(&L):",IDC_STATIC_LABEL,15,168,35,12 - EDITTEXT IDC_EDIT_LABEL,50,165,78,13,ES_AUTOHSCROLL | WS_TABSTOP - LTEXT "½Ã¸®¾ó(&E):",IDC_STATIC_SERIAL,15,183,35,12 - EDITTEXT IDC_EDIT_SERIAL,50,180,78,13,ES_AUTOHSCROLL | WS_TABSTOP - - CONTROL "¼û±è ÆÄÀÏ(.À¸·Î ½ÃÀÛÇÏ´Â ÆÄÀÏ) º¸¿©ÁÖ±â(&D)",IDC_SHOW_DOT_FILES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,205,230,8 -END - -IDD_AUDIOCFG DIALOG DISCARDABLE 0, 0, 260, 220 -STYLE WS_CHILD | WS_DISABLED -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX " µå¶óÀ̹ö ¼±Åà ",IDC_STATIC,8,4,244,160 - LTEXT "¿øÇÏ´Â µå¶óÀ̹öÀÇ ¹Ú½º¸¦ üũÇÏ¿© »ç¿îµå µå¶óÀ̹ö¸¦ ¼±ÅÃÇÕ´Ï´Ù. ¾î¶² µå¶óÀ̹öµµ ¼±ÅÃÇÏÁö ¾ÊÀ¸¸é »ç¿îµå°¡ ÇØÁ¦µË´Ï´Ù. ¿©·¯ µå¶óÀ̹ö¸¦ ¼±ÅÃÇÏ´Â °ÍÀº ÃßõÇÏÁö ¾Ê½À´Ï´Ù. µå¶óÀ̹ö À§¿¡¼­ ¸¶¿ì½º ¿À¸¥ÂÊ ¹öÆ° Ŭ¸¯ÇÏ¿© µå¶óÀ̹ö¸¦ ¼³Á¤ÇÕ´Ï´Ù.",IDC_STATIC,15,20,227,33 - CONTROL "ÀåÄ¡",IDC_AUDIO_TREE,"SysTreeView32",WS_BORDER | WS_TABSTOP,15,56,140,99 - PUSHBUTTON "¼Ò¸® Å×½ºÆ®(&T)",IDC_AUDIO_TEST,170,57,59,14 - PUSHBUTTON "Á¦¾îÆÇ(&C)",IDC_AUDIO_CONTROL_PANEL,170,77,59,14 - GROUPBOX " ´ÙÀÌ·ºÆ® »ç¿îµå ",IDC_STATIC,8,170,244,45 - LTEXT "Çϵå¿þ¾î °¡¼Ó(&H): ",IDC_STATIC,15,180,90,10 - COMBOBOX IDC_DSOUND_HW_ACCEL,100,178,146,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "±âº» »ùÇÃ/ÃÊ(&S):",IDC_STATIC,15,197,70,8 - COMBOBOX IDC_DSOUND_RATES,90,195,42,76,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "±âº» ºñÆ®/»ùÇÃ(&B):",IDC_STATIC,137,197,80,8 - COMBOBOX IDC_DSOUND_BITS,220,195,26,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP -END - -IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE 0, 0, 260, 220 -STYLE WS_CHILD | WS_DISABLED -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX " ¿Ü°ü ",IDC_STATIC,8,4,244,106 - LTEXT "Å׸¶(&T):",IDC_STATIC,15,16,130,8 - COMBOBOX IDC_THEME_THEMECOMBO,15,24,130,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Å׸¶ ¼³Ä¡(&I)...",IDC_THEME_INSTALL,152,23,93,14 - LTEXT "»ö»ó(&C):",IDC_THEME_COLORTEXT,15,40,112,8 - COMBOBOX IDC_THEME_COLORCOMBO,15,48,112,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Å©±â(&S):",IDC_THEME_SIZETEXT,135,40,110,8 - COMBOBOX IDC_THEME_SIZECOMBO,135,48,110,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "¸ñ·Ï(&E):",IDC_STATIC,15,64,112,8 - COMBOBOX IDC_SYSPARAM_COMBO,15,74,112,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | CBS_SORT - LTEXT "»ö»ó(&O):",IDC_SYSPARAM_COLOR_TEXT,135,64,25,8,WS_DISABLED - PUSHBUTTON "",IDC_SYSPARAM_COLOR,135,74,25,13,WS_DISABLED | BS_OWNERDRAW - LTEXT "Å©±â(&Z):",IDC_SYSPARAM_SIZE_TEXT,166,64,30,8,WS_DISABLED - EDITTEXT IDC_SYSPARAM_SIZE,166,74,23,13,ES_AUTOHSCROLL | WS_TABSTOP | WS_DISABLED - CONTROL "",IDC_SYSPARAM_SIZE_UD,UPDOWN_CLASS,UDS_SETBUDDYINT | WS_DISABLED,187,74,15,13 - PUSHBUTTON "±Û²Ã(&F)...",IDC_SYSPARAM_FONT,208,74,37,13,WS_DISABLED - GROUPBOX " Æú´õ(&D) ",IDC_STATIC,8,114,244,100 - CONTROL "¸ñ·Ïº¸±â",IDC_LIST_SFPATHS,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT | - LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, 15,126,230,64 - CONTROL "¿¬°á À§Ä¡(&L):",IDC_LINK_SFPATH,"Button",BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED,15,195,55,13 - EDITTEXT IDC_EDIT_SFPATH,75,195,135,13,ES_AUTOHSCROLL|WS_TABSTOP|WS_DISABLED - PUSHBUTTON "ã±â(&R)...",IDC_BROWSE_SFPATH,215,195,34,13,WS_DISABLED -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_TAB_APPLICATIONS "ÇÁ·Î±×·¥" - IDS_TAB_DLLS "¶óÀ̺귯¸®" - IDS_TAB_DRIVES "µå¶óÀ̺ê" - IDS_CHOOSE_PATH "À¯´Ð½º ¸ñÀû Æú´õ¸¦ ¼±ÅÃÇϽʽÿÀ." - IDS_HIDE_ADVANCED "Ãß°¡¿É¼Ç ¼û±â±â(&A)" - IDS_SHOW_ADVANCED "Ãß°¡¿É¼Ç º¸À̱â(&A)" - IDS_NOTHEME "(Å׸¶ ¾øÀ½)" - IDS_TAB_GRAPHICS "±×·¡ÇÈ" - IDS_TAB_DESKTOP_INTEGRATION "µ¥½ºÅ©Å¾ ¼³Á¤" - IDS_TAB_AUDIO "¿Àµð¿À" - IDS_TAB_ABOUT "Á¤º¸" - IDS_WINECFG_TITLE "Wine ¼³Á¤" - IDS_WINECFG_TITLE_APP "%s¸¦ À§ÇÑ Wine ¼³Á¤" - IDS_THEMEFILE "Å׸¶ ÆÄÀÏ (*.msstyles; *.theme)" - IDS_THEMEFILE_SELECT "Å׸¶ ÆÄÀÏ ¼±ÅÃ" - IDS_AUDIO_MISSING "ÇöÀç ·¹Áö½ºÆ®¸®¿¡ ¿Àµð¿À µå¶óÀ̹ö°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.\n\nÃßõ µå¶óÀ̹ö°¡ ¼±ÅõǾú½À´Ï´Ù.\nÀÌ µå¶óÀ̹ö¸¦ »ç¿ëÇϰųª °¡´ÉÇÑ ´Ù¸¥ µå¶óÀ̹ö¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.\n\n¼±Åà »çÇ×ÀÌ È¿°ú¸¦ ³ªÅ¸³»±â À§Çؼ­´Â Àû¿ë ¹öÆ°À» ´­·¯¾ß ÇÕ´Ï´Ù." - IDS_SHELL_FOLDER "Æú´õ" - IDS_LINKS_TO "¿¬°á À§Ä¡" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_DLL_WARNING "ÀÌ ¶óÀ̺귯¸®ÀÇ ·Îµå ¼ø¼­¸¦ ¹Ù²Ù´Â °ÍÀ» ÃßõÇÏÁö ¾Ê½À´Ï´Ù..\nÁ¤¸»·Î ¹Ù²Ù½Ã°Ú½À´Ï±î?" - IDS_DLL_WARNING_CAPTION "°æ°í: ½Ã½ºÅÛ ¶óÀ̺귯¸®" - IDS_DLL_NATIVE "³×ÀÌƼºê" - IDS_DLL_BUILTIN "³»Àå" - IDS_DLL_NATIVE_BUILTIN "³×ÀÌƼºê, ³»Àå" - IDS_DLL_BUILTIN_NATIVE "³»Àå, ³×ÀÌƼºê" - IDS_DLL_DISABLED "»ç¿ëÇÏÁö ¾ÊÀ½" - IDS_DEFAULT_SETTINGS "±âº» ¼³Á¤" - IDS_EXECUTABLE_FILTER "Wine ÇÁ·Î±×·¥ (*.exe,*.exe.so)\0*.exe;*.exe.so\0" - IDS_USE_GLOBAL_SETTINGS "Àüü ¼³Á¤ »ç¿ë" - IDS_SELECT_EXECUTABLE "½ÇÇà ÆÄÀÏ ¼±ÅÃ" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_SHADER_MODE_HARDWARE "Çϵå¿þ¾î" - IDS_SHADER_MODE_NONE "¾øÀ½" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_DRIVE_UNKNOWN "ÀÚµ¿À¸·Î ã±â" - IDS_DRIVE_FIXED "¿¬°áµÈ ÇÏµå µð½ºÅ©" - IDS_DRIVE_REMOTE "³×Æ®¿öÅ© °øÀ¯" - IDS_DRIVE_REMOVABLE "Ç÷ÎÇÇ µð½ºÅ©" - IDS_DRIVE_CDROM "CD-ROM" - IDS_DRIVE_LETTERS_EXCEEDED "´ç½ÅÀº ´õ ÀÌ»ó µå¶óÀ̺긦 Ãß°¡ÇÒ ¼ö ¾ø½À´Ï´Ù.\n\n°¢ µå¶óÀ̺ê´Â ¹Ýµå½Ã A~Z±îÁöÀÇ ¹®ÀÚ¸¦ °¡Áý´Ï´Ù, ±×·¡¼­ ´ç½ÅÀº 26°³º¸´Ù ´õ ¸¹ÀÌ Ãß°¡ÇÒ ¼ö ¾ø½À´Ï´Ù" - IDS_SYSTEM_DRIVE_LABEL "½Ã½ºÅÛ µå¶óÀ̺ê" - IDS_CONFIRM_DELETE_C "´ç½ÅÀº ÇÏµå µå¶óÀ̺ê C¸¦ Áö¿ì±â¸¦ ¿øÇմϱî?\n\n´ëºÎºÐÀÇ À©µµ¿ì ÇÁ·Î±×·¥Àº Cµå¶óÀ̺갡 ÀÖ´Ù°í ¿¹»óÇÏ°í, ¾øÀ¸¸é ´Ù¿îµÉ°ÍÀÔ´Ï´Ù. ¸¸¾à ´ç½ÅÀÌ °è¼Ó ÁøÇàÇϱ⸦ ¿øÇÑ´Ù¸é ¹Ýµå½Ã ´Ù½Ã ¸¸µå½Ê½Ã¿À!" - IDS_COL_DRIVELETTER "¹®ÀÚ" - IDS_COL_DRIVEMAPPING "µå¶óÀ̺ê ÇÒ´ç" - IDS_NO_DRIVE_C "´ç½ÅÀº Cµå¶óÀ̺긦 °¡Áö°í ÀÖÁö ¾Ê½À´Ï´Ù. ÀÌ°ÍÀº ÁÁÀº ÀÏÀÌ ¾Æ´Õ´Ï´Ù.\n\nµå¶óÀ̺ê ÅÇ¿¡¼­ 'Ãß°¡'¸¦ Ŭ¸¯Çؼ­ ¸¸µå´Â °ÍÀ» ÀØÁö ¸¶½Ê½Ã¿À!\n" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_ACCEL_FULL "Àüü" - IDS_ACCEL_STANDARD "Ç¥ÁØ" - IDS_ACCEL_BASIC "±âº»" - IDS_ACCEL_EMULATION "¾Ö¹Ä·¹À̼Ç" - IDS_DRIVER_PULSE "PulseAudio µå¶óÀ̹ö" - IDS_DRIVER_ALSA "ALSA µå¶óÀ̹ö" - IDS_DRIVER_ESOUND "EsounD µå¶óÀ̹ö" - IDS_DRIVER_OSS "OSS µå¶óÀ̹ö" - IDS_DRIVER_JACK "JACK µå¶óÀ̹ö" - IDS_DRIVER_NAS "NAS µå¶óÀ̹ö" - IDS_DRIVER_AUDIOIO "Audio IO (Solaris) µå¶óÀ̹ö" - IDS_DRIVER_COREAUDIO "CoreAudio µå¶óÀ̹ö" - IDS_OPEN_DRIVER_ERROR "%s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù!" - IDS_SOUNDDRIVERS "»ç¿îµå µå¶óÀ̹ö" - IDS_DEVICES_WAVEOUT "Wave Ãâ·Â ÀåÄ¡" - IDS_DEVICES_WAVEIN "Wave ÀÔ·Â ÀåÄ¡" - IDS_DEVICES_MIDIOUT "MIDI Ãâ·Â ÀåÄ¡" - IDS_DEVICES_MIDIIN "MIDI ÀÔ·Â ÀåÄ¡" - IDS_DEVICES_AUX "Aux ÀåÄ¡" - IDS_DEVICES_MIXER "Mixer ÀåÄ¡" - IDS_UNAVAILABLE_DRIVER "·¹Áö½ºÆ®¸®¿¡¼­ °¡´ÉÇÏÁö ¾ÊÀº µå¶óÀ̹ö°¡ ¹ß°ßµÇ¾ú½À´Ï´Ù!\n\n '%s'¸¦ ·¹Áö½ºÆ®¸®¿¡¼­ Áö¿ì°Ú½À´Ï±î?" - IDS_WARNING "°æ°í" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDC_SYSPARAMS_BUTTON "ÄÁÆ®·Ñ ¹è°æ" - IDC_SYSPARAMS_BUTTON_TEXT "ÄÁÆ®·Ñ ¹®ÀÚ" - IDC_SYSPARAMS_DESKTOP "¹ÙÅÁÈ­¸é" - IDC_SYSPARAMS_MENU "¸Þ´º ¹è°æ" - IDC_SYSPARAMS_MENU_TEXT "¸Þ´º ¹®ÀÚ" - IDC_SYSPARAMS_SCROLLBAR "¸ñ·Ï¹Ù" - IDC_SYSPARAMS_SELECTION "¼±ÅÃµÈ ¹è°æ" - IDC_SYSPARAMS_SELECTION_TEXT "¼±ÅÃµÈ ¹®ÀÚ" - IDC_SYSPARAMS_TOOLTIP "µµ±¸ÆÁ ¹è°æ" - IDC_SYSPARAMS_TOOLTIP_TEXT "µµ±¸ÆÁ ¹®ÀÚ" - IDC_SYSPARAMS_WINDOW "â ¹è°æ" - IDC_SYSPARAMS_WINDOW_TEXT "â ¹®ÀÚ" - IDC_SYSPARAMS_ACTIVE_TITLE "È°¼ºµÈ Á¦¸ñ ¸·´ë" - IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "È°¼ºµÈ Á¦¸ñ ¹®ÀÚ" - IDC_SYSPARAMS_INACTIVE_TITLE "ºñÈ°¼ºµÈ Á¦¸ñ ¸·´ë" - IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "ºñÈ°¼ºµÈ Á¦¸ñ ¹®ÀÚ" - IDC_SYSPARAMS_MSGBOX_TEXT "¸Þ¼¼Áö »óÀÚ ÅؽºÆ®" - IDC_SYSPARAMS_APPWORKSPACE "¾îÇø®ÄÉÀÌ¼Ç ÀÛ¾÷°ø°£" - IDC_SYSPARAMS_WINDOW_FRAME "â ÇÁ·¹ÀÓ" - IDC_SYSPARAMS_ACTIVE_BORDER "È°¼ºÈ­µÈ âƲ" - IDC_SYSPARAMS_INACTIVE_BORDER "ºñ È°¼ºÈ­µÈ âƲ" - IDC_SYSPARAMS_BUTTON_SHADOW "ÄÁÆ®·Ñ ±×ÇÔÁö" - IDC_SYSPARAMS_GRAY_TEXT "ȸ»ö ¹®ÀÚ" - IDC_SYSPARAMS_BUTTON_HILIGHT "ÄÁÆ®·Ñ ÇÏÀ̶óÀÌÆ®" - IDC_SYSPARAMS_BUTTON_DARK_SHADOW "ÄÁÆ®·Ñ ¾îµÎ¿î ±×¸²ÀÚ" - IDC_SYSPARAMS_BUTTON_LIGHT "ÄÁÆ®·Ñ ¹àÀ½" - IDC_SYSPARAMS_BUTTON_ALTERNATE "ÄÁÆ®·Ñ ¹Ù²ð¶§ ¹è°æ" - IDC_SYSPARAMS_HOT_TRACKING "ÇÖ Æ®·¢µÈ ¾ÆÀÌÅÛ" - IDC_SYSPARAMS_ACTIVE_TITLE_GRADIENT "È°¼ºÈ­µÈ Á¦¸ñ ¹Ù »ö±ò º¯È­" - IDC_SYSPARAMS_INACTIVE_TITLE_GRADIENT "ºñÈ°¼ºÈ­µÈ Á¦¸ñ¹Ù »ö±ò º¯È­" - IDC_SYSPARAMS_MENU_HILIGHT "¸Þ´º ÇÏÀ̶óÀÌÆ®" - IDC_SYSPARAMS_MENUBAR "¸Þ´º¹Ù" -END +/* + * WineCfg resources + * Korean Language Support + * + * Copyright 2002 Jaco Greeff + * Copyright 2003 Dimitrie O. Paun + * Copyright 2003-2004 Mike Hearn + * Copyright 2005,2006,2007,2010 YunSong Hwang + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + */ + +#include "config.h" /* Needed for the PACKAGE_STRING definition */ +#include "resource.h" + +/* UTF-8 */ +#pragma code_page(65001) + +LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT + +IDR_WINECFG MENU DISCARDABLE +BEGIN + POPUP "" + BEGIN + MENUITEM "설정", IDC_AUDIO_CONFIGURE + END +END + +IDD_ABOUTCFG DIALOGEX 0, 0, 260, 220 +STYLE WS_CHILD +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", IDC_ABT_PANEL, "STATIC", SS_OWNERDRAW, 0, 0, 260, 140 + LTEXT PACKAGE_NAME,IDC_ABT_TITLE_TEXT,105,30,55,30 + LTEXT PACKAGE_VERSION,IDC_ABT_PANEL_TEXT,160,43,140,8 + CONTROL "",IDC_ABT_WEB_LINK,"SysLink", LWS_TRANSPARENT, 105,53,106,8 + LTEXT "이 라이브러리는 자유 소프트웨어입니다. 당신은 자유 소프트웨어 재단(Free Software Foundation)에서 만든 GNU LGPL(Lesser General Public License) 아래에서 이 프로그램을 재배포 또는 수정할 수 있습니다. 라이센스의 버전은 2.1 또는 (선택적으로) 그 이후 버전을 따르면 됩니다.", + IDC_ABT_LICENSE_TEXT,105,64,145,60 + GROUPBOX " 윈도우즈 등록 정보 ", IDC_STATIC, 15, 155, 230, 55 + LTEXT "소유자(&O):", IDC_STATIC, 22, 171, 40, 20 + EDITTEXT IDC_ABT_OWNER, 75, 171, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP + LTEXT "단체(&Z):", IDC_STATIC, 22, 185, 50, 20 + EDITTEXT IDC_ABT_ORG, 75, 185, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP +END + +IDD_APPCFG DIALOG DISCARDABLE 0, 0, 260, 220 +STYLE WS_CHILD | WS_DISABLED +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX " 어플리케이션 설정 ",IDC_STATIC, 8,4,244,210 + LTEXT "Wine은 각각의 프로그램에 대해서 다른 버전의 윈도우즈를 흉내낼 수 있습니다. 이 탭은 라이브러리 탭, 그래픽 탭과 연결되어 있어서, 이들 탭을 이용하여 시스템 전체 또는 프로그램별로 설정이 가능합니다.", + IDC_STATIC,15,20,227,30 + CONTROL "어플리케이션",IDC_APP_LISTVIEW,"SysListView32",WS_BORDER | WS_TABSTOP | LVS_LIST | LVS_SINGLESEL | LVS_SHOWSELALWAYS, + 15,50,230,120 + PUSHBUTTON "어플리케이션 추가(&A)...",IDC_APP_ADDAPP, 90,174,80,14 + PUSHBUTTON "어플리케이션 제거(&R)",IDC_APP_REMOVEAPP, 170,174,75,14 + LTEXT "윈도우즈 버젼(&W):",IDC_STATIC,17,196,64,8 + COMBOBOX IDC_WINVER,83,194,163,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP +END + +IDD_GRAPHCFG DIALOG DISCARDABLE 0, 0, 260, 220 +STYLE WS_CHILD | WS_DISABLED +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX " 창 설정 ",IDC_STATIC,8,4,244,84 + CONTROL "마우스 커서를 DirectX 프로그램 창안에 잡아두기(&M)",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,20,230,8 + CONTROL "창관리자가 Wine창을 꾸미도록 함(&D)",IDC_ENABLE_DECORATED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,32,230,8 + CONTROL "창관리자가 Wine창을 관리하도록 함(&W)",IDC_ENABLE_MANAGED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,44,230,8 + CONTROL "가상 데스크탑 흉내내기(&E)",IDC_ENABLE_DESKTOP,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,15,56,230,8 + LTEXT "데스크탑 크기(&S):",IDC_DESKTOP_SIZE,15,70,44,8,WS_DISABLED + LTEXT "X",IDC_DESKTOP_BY,109,70,8,8,WS_DISABLED + EDITTEXT IDC_DESKTOP_WIDTH,64,68,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED + EDITTEXT IDC_DESKTOP_HEIGHT,117,68,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED + + GROUPBOX " 다이렉트 3D ",IDC_STATIC,8,95,244,49 + LTEXT "버텍스 쉐이더 지원(&V): ",IDC_STATIC,15,110,80,32 + COMBOBOX IDC_D3D_VSHADER_MODE,100,108,145,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "(만약 하드웨어에서 지원할 경우 ) 픽셀 쉐이더 허용(&P)",IDC_D3D_PSHADER_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,10 + + GROUPBOX " 화면 해상도(&R) ",IDC_STATIC,8,151,244,63 + CONTROL "", IDC_RES_TRACKBAR, "msctls_trackbar32",WS_TABSTOP,12,161,187,15 + EDITTEXT IDC_RES_DPIEDIT,204,161,23,13,ES_NUMBER|WS_TABSTOP + LTEXT "dpi",IDC_STATIC,235,163,10,8 + LTEXT "This is a sample text using 10 point Tahoma",IDC_RES_FONT_PREVIEW,15,181,230,28 +END + +IDD_DLLCFG DIALOG DISCARDABLE 0, 0, 260, 220 +STYLE WS_CHILD | WS_DISABLED +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX " DLL 오버라이드 ",IDC_STATIC,8,4,244,210 + LTEXT "동적 링크 라이브러리는 개별적으로 내장(Wine에 의해 제공)이나 네이티브(윈도우즈나 프로그램에 의해 제공)으로 지정될수 있습니다." + ,IDC_STATIC,16,16,220,32 + LTEXT "새로 오버라이드할 라이브러리(&N):",IDC_STATIC,16,58,112,8 + COMBOBOX IDC_DLLCOMBO,16,68,140,14,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP | CBS_SORT | CBS_LOWERCASE + PUSHBUTTON "더하기(&A)",IDC_DLLS_ADDDLL, 164,68,82,13,BS_DEFPUSHBUTTON + LTEXT "현재 오버라이드 목록(&O):",IDC_STATIC,16,86,100,8 + LISTBOX IDC_DLLS_LIST,16,96,140,112,WS_BORDER | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "고치기(&E)...",IDC_DLLS_EDITDLL,164,96,82,14 + PUSHBUTTON "지우기(&R)",IDC_DLLS_REMOVEDLL,164,114,82,14 +END + +IDD_LOADORDER DIALOG DISCARDABLE 80, 90, 110, 92 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "오버라이드 수정" +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX "불러오기 순서 ",IDC_STATIC,8,4,94,66 + CONTROL "내장(&B)(Wine)",IDC_RAD_BUILTIN,"Button", BS_AUTORADIOBUTTON | WS_GROUP,16,14,75,10 + CONTROL "네이티브(&N)(Win)",IDC_RAD_NATIVE,"Button", BS_AUTORADIOBUTTON,16,24,75,10 + CONTROL "내장, 네이티브(&L)",IDC_RAD_BUILTIN_NATIVE,"Button", BS_AUTORADIOBUTTON,16,34,75,10 + CONTROL "네이티브, 내장(&V)",IDC_RAD_NATIVE_BUILTIN,"Button", BS_AUTORADIOBUTTON,16,44,75,10 + CONTROL "사용하지 않음(&D)",IDC_RAD_DISABLE,"Button", BS_AUTORADIOBUTTON,16,54,75,10 + DEFPUSHBUTTON "확인",IDOK,8,74,45,14,WS_GROUP + PUSHBUTTON "취소",IDCANCEL,57,74,45,14,WS_GROUP +END + +IDD_DRIVECHOOSE DIALOG DISCARDABLE 60, 70, 170, 60 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "드라이브 문자 선택" +FONT 8, "MS Shell Dlg" +BEGIN + COMBOBOX IDC_DRIVESA2Z,15,10,75,230,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "확인",IDOK,105,10,45,14,WS_GROUP + PUSHBUTTON "취소",IDCANCEL,105,30,45,14,WS_GROUP +END + +IDD_DRIVECFG DIALOG DISCARDABLE 0, 0, 260, 220 +STYLE WS_CHILD | WS_DISABLED +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX " 드라이브 연결(&M) ",IDC_STATIC,8,4,244,195 + LTEXT "연결 관리자가 연결하는 데 실패함, 이 드라이브 설정을 수정될 수 없습니다.", IDC_STATIC_MOUNTMGR_ERROR, 15,30,190,76 + CONTROL "Listview",IDC_LIST_DRIVES,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT | + LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, 15,18,232,76 + PUSHBUTTON "추가(&A)...",IDC_BUTTON_ADD,15,98,37,14 + PUSHBUTTON "제거(&R)",IDC_BUTTON_REMOVE,56,98,37,14 + PUSHBUTTON "자동찾기(&D)...",IDC_BUTTON_AUTODETECT,197,98,49,14 + + /* editing drive details */ + LTEXT "경로(&P):",IDC_STATIC_PATH,13,123,25,9 + EDITTEXT IDC_EDIT_PATH,41,120,160,13,ES_AUTOHSCROLL | WS_TABSTOP + PUSHBUTTON "찾아보기(&B)...",IDC_BUTTON_BROWSE_PATH,200,120,48,13 + + LTEXT "형식(&T):",IDC_STATIC_TYPE,13,138,25,10 + COMBOBOX IDC_COMBO_TYPE,41,135,77,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + + PUSHBUTTON "추가옵션 보이기(&A)",IDC_BUTTON_SHOW_HIDE_ADVANCED,179,135,67,13 + LTEXT "장치(&V):",IDC_STATIC_DEVICE,13,153,26,9 + EDITTEXT IDC_EDIT_DEVICE,41,150,160,13,ES_AUTOHSCROLL | WS_TABSTOP + PUSHBUTTON "찾아보기(&W)...",IDC_BUTTON_BROWSE_DEVICE,200,150,48,13 + + LTEXT "라벨(&L):",IDC_STATIC_LABEL,13,168,26,12 + EDITTEXT IDC_EDIT_LABEL,41,165,78,13,ES_AUTOHSCROLL | WS_TABSTOP + LTEXT "시리얼(&E):",IDC_STATIC_SERIAL,13,183,34,12 + EDITTEXT IDC_EDIT_SERIAL,47,180,78,13,ES_AUTOHSCROLL | WS_TABSTOP + + CONTROL "닷 파일 보이기(&D)",IDC_SHOW_DOT_FILES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,205,230,8 +END + +IDD_AUDIOCFG DIALOG DISCARDABLE 0, 0, 260, 220 +STYLE WS_CHILD | WS_DISABLED +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX " 드라이버 선택 ",IDC_STATIC,8,4,244,160 + LTEXT "원하는 드라이버의 박스를 체크하여 사운드 드라이버를 선택합니다. 어떤 드라이버도 선택하지 않으면 사운드가 해제됩니다. 여러 드라이버를 선택하는 것은 추천하지 않습니다. 드라이버 위에서 마우스 오른쪽 버튼 클릭하여 드라이버를 설정합니다.",IDC_STATIC,16,17,227,33 + CONTROL "장치",IDC_AUDIO_TREE,"SysTreeView32",WS_BORDER | WS_TABSTOP,15,50,155,105 + PUSHBUTTON "소리 테스트(&T)",IDC_AUDIO_TEST,180,50,59,14 + PUSHBUTTON "제어판(&C)",IDC_AUDIO_CONTROL_PANEL,180,70,59,14 + GROUPBOX " 다이렉트 사운드 ",IDC_STATIC,8,170,244,44 + LTEXT "하드웨어 가속(&H): ",IDC_STATIC,15,180,90,10 + COMBOBOX IDC_DSOUND_HW_ACCEL,100,178,150,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "기본 샘플 비율(&S):",IDC_STATIC,15,197,70,8 + COMBOBOX IDC_DSOUND_RATES,90,195,42,76,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "기본 비트/샘플(&B):",IDC_STATIC,197,247,80,8 + COMBOBOX IDC_DSOUND_BITS,220,195,30,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP +END + +IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE 0, 0, 260, 220 +STYLE WS_CHILD | WS_DISABLED +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX "외관 ",IDC_STATIC,8,4,244,106 + LTEXT "테마(&T):",IDC_STATIC,15,16,130,8 + COMBOBOX IDC_THEME_THEMECOMBO,15,24,130,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "테마 설치(&I)...",IDC_THEME_INSTALL,152,23,93,14 + LTEXT "색상(&C):",IDC_THEME_COLORTEXT,15,40,112,8 + COMBOBOX IDC_THEME_COLORCOMBO,15,48,112,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "크기(&S):",IDC_THEME_SIZETEXT,135,40,110,8 + COMBOBOX IDC_THEME_SIZECOMBO,135,48,110,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "목록(&E):",IDC_STATIC,15,64,112,8 + COMBOBOX IDC_SYSPARAM_COMBO,15,74,112,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | CBS_SORT + LTEXT "색상(&O):",IDC_SYSPARAM_COLOR_TEXT,135,64,25,8,WS_DISABLED + PUSHBUTTON "",IDC_SYSPARAM_COLOR,135,74,25,13,WS_DISABLED | BS_OWNERDRAW + LTEXT "크기(&Z):",IDC_SYSPARAM_SIZE_TEXT,166,64,30,8,WS_DISABLED + EDITTEXT IDC_SYSPARAM_SIZE,166,74,23,13,ES_AUTOHSCROLL | WS_TABSTOP | WS_DISABLED + CONTROL "",IDC_SYSPARAM_SIZE_UD,UPDOWN_CLASS,UDS_SETBUDDYINT | WS_DISABLED,187,74,15,13 + PUSHBUTTON "글꼴(&F)...",IDC_SYSPARAM_FONT,208,74,37,13,WS_DISABLED + GROUPBOX " 폴더(&D) ",IDC_STATIC,8,114,244,100 + CONTROL "목록보기",IDC_LIST_SFPATHS,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT | + LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, 15,126,230,64 + CONTROL "연결 위치(&L):",IDC_LINK_SFPATH,"Button",BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED,15,195,55,13 + EDITTEXT IDC_EDIT_SFPATH,75,195,135,13,ES_AUTOHSCROLL|WS_TABSTOP|WS_DISABLED + PUSHBUTTON "찾기(&R)...",IDC_BROWSE_SFPATH,215,195,34,13,WS_DISABLED +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_TAB_APPLICATIONS "프로그램" + IDS_TAB_DLLS "라이브러리" + IDS_TAB_DRIVES "드라이브" + IDS_CHOOSE_PATH "유닉스 목적 폴더를 선택하십시오." + IDS_HIDE_ADVANCED "추가옵션 숨기기(&A)" + IDS_SHOW_ADVANCED "추가옵션 보이기(&A)" + IDS_NOTHEME "(테마 없음)" + IDS_TAB_GRAPHICS "그래픽" + IDS_TAB_DESKTOP_INTEGRATION "데스크탑 설정" + IDS_TAB_AUDIO "오디오" + IDS_TAB_ABOUT "정보" + IDS_WINECFG_TITLE "Wine 설정" + IDS_WINECFG_TITLE_APP "%s를 위한 Wine 설정" + IDS_THEMEFILE "테마 파일 (*.msstyles; *.theme)" + IDS_THEMEFILE_SELECT "테마 파일 선택" + IDS_AUDIO_MISSING "현재 레지스트리에 오디오 드라이버가 지정되어 있지 않습니다.\n\n추천 드라이버가 선택되었습니다.\n이 드라이버를 사용하거나 가능한 다른 드라이버를 선택할 수 있습니다.\n\n선택 사항이 효과를 나타내기 위해서는 적용 버튼을 눌러야 합니다." + IDS_SHELL_FOLDER "폴더" + IDS_LINKS_TO "연결 위치" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_DLL_WARNING "이 라이브러리의 로드 순서를 바꾸는 것을 추천하지 않습니다..\n정말로 바꾸시겠습니까?" + IDS_DLL_WARNING_CAPTION "경고: 시스템 라이브러리" + IDS_DLL_NATIVE "네이티브" + IDS_DLL_BUILTIN "내장" + IDS_DLL_NATIVE_BUILTIN "네이티브, 내장" + IDS_DLL_BUILTIN_NATIVE "내장, 네이티브" + IDS_DLL_DISABLED "사용하지 않음" + IDS_DEFAULT_SETTINGS "기본 설정" + IDS_EXECUTABLE_FILTER "Wine 프로그램 (*.exe,*.exe.so)\0*.exe;*.exe.so\0" + IDS_USE_GLOBAL_SETTINGS "전체 설정 사용" + IDS_SELECT_EXECUTABLE "실행 파일 선택" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "하드웨어" + IDS_SHADER_MODE_NONE "없음" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_DRIVE_UNKNOWN "자동으로 찾기" + IDS_DRIVE_FIXED "연결된 하드 디스크" + IDS_DRIVE_REMOTE "네트워크 공유" + IDS_DRIVE_REMOVABLE "플로피 디스크" + IDS_DRIVE_CDROM "CD-ROM" + IDS_DRIVE_LETTERS_EXCEEDED "당신은 더 이상 드라이브를 추가할 수 없습니다.\n\n각 드라이브는 반드시 A~Z까지의 문자를 가집니다, 그래서 당신은 26개보다 더 많이 추가할 수 없습니다" + IDS_SYSTEM_DRIVE_LABEL "시스템 드라이브" + IDS_CONFIRM_DELETE_C "당신은 하드 드라이브 C를 지우기를 원합니까?\n\n대부분의 윈도우 프로그램은 C드라이브가 있다고 예상하고, 없으면 다운될것입니다. 만약 당신이 계속 진행하기를 원한다면 반드시 다시 만드십시오!" + IDS_COL_DRIVELETTER "문자" + IDS_COL_DRIVEMAPPING "드라이브 할당" + IDS_NO_DRIVE_C "당신은 C드라이브를 가지고 있지 않습니다. 이것은 좋은 일이 아닙니다.\n\n드라이브 탭에서 '추가'를 클릭해서 만드는 것을 잊지 마십시오!\n" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_ACCEL_FULL "전체" + IDS_ACCEL_STANDARD "표준" + IDS_ACCEL_BASIC "기본" + IDS_ACCEL_EMULATION "애뮬레이션" + IDS_DRIVER_ALSA "ALSA 드라이버" + IDS_DRIVER_PULSE "PulseAudio 드라이버" + IDS_DRIVER_ESOUND "EsounD 드라이버" + IDS_DRIVER_OSS "OSS 드라이버" + IDS_DRIVER_JACK "JACK 드라이버" + IDS_DRIVER_NAS "NAS 드라이버" + IDS_DRIVER_AUDIOIO "Audio IO (Solaris) 드라이버" + IDS_DRIVER_COREAUDIO "CoreAudio 드라이버" + IDS_OPEN_DRIVER_ERROR "%s를 열 수 없습니다!" + IDS_SOUNDDRIVERS "사운드 드라이버" + IDS_DEVICES_WAVEOUT "Wave 출력 장치" + IDS_DEVICES_WAVEIN "Wave 입력 장치" + IDS_DEVICES_MIDIOUT "MIDI 출력 장치" + IDS_DEVICES_MIDIIN "MIDI 입력 장치" + IDS_DEVICES_AUX "Aux 장치" + IDS_DEVICES_MIXER "Mixer 장치" + IDS_UNAVAILABLE_DRIVER "레지스트리에서 가능하지 않은 드라이버가 발견되었습니다!\n\n '%s'를 레지스트리에서 지우겠습니까?" + IDS_WARNING "경고" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDC_SYSPARAMS_BUTTON "컨트롤 배경" + IDC_SYSPARAMS_BUTTON_TEXT "컨트롤 문자" + IDC_SYSPARAMS_DESKTOP "바탕화면" + IDC_SYSPARAMS_MENU "메뉴 배경" + IDC_SYSPARAMS_MENU_TEXT "메뉴 문자" + IDC_SYSPARAMS_SCROLLBAR "목록바" + IDC_SYSPARAMS_SELECTION "선택된 배경" + IDC_SYSPARAMS_SELECTION_TEXT "선택된 문자" + IDC_SYSPARAMS_TOOLTIP "도구팁 배경" + IDC_SYSPARAMS_TOOLTIP_TEXT "도구팁 문자" + IDC_SYSPARAMS_WINDOW "창 배경" + IDC_SYSPARAMS_WINDOW_TEXT "창 문자" + IDC_SYSPARAMS_ACTIVE_TITLE "활성된 제목 막대" + IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "활성된 제목 문자" + IDC_SYSPARAMS_INACTIVE_TITLE "비활성된 제목 막대" + IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "비활성된 제목 문자" + IDC_SYSPARAMS_MSGBOX_TEXT "메세지 상자 텍스트" + IDC_SYSPARAMS_APPWORKSPACE "어플리케이션 작업공간" + IDC_SYSPARAMS_WINDOW_FRAME "창 프레임" + IDC_SYSPARAMS_ACTIVE_BORDER "활성화된 창틀" + IDC_SYSPARAMS_INACTIVE_BORDER "비 활성화된 창틀" + IDC_SYSPARAMS_BUTTON_SHADOW "컨트롤 그함지" + IDC_SYSPARAMS_GRAY_TEXT "회색 문자" + IDC_SYSPARAMS_BUTTON_HILIGHT "컨트롤 하이라이트" + IDC_SYSPARAMS_BUTTON_DARK_SHADOW "컨트롤 어두운 그림자" + IDC_SYSPARAMS_BUTTON_LIGHT "컨트롤 밝음" + IDC_SYSPARAMS_BUTTON_ALTERNATE "컨트롤 바뀔때 배경" + IDC_SYSPARAMS_HOT_TRACKING "핫 트랙된 아이템" + IDC_SYSPARAMS_ACTIVE_TITLE_GRADIENT "활성화된 제목 바 색깔 변화" + IDC_SYSPARAMS_INACTIVE_TITLE_GRADIENT "비활성화된 제목바 색깔 변화" + IDC_SYSPARAMS_MENU_HILIGHT "메뉴 하이라이트" + IDC_SYSPARAMS_MENUBAR "메뉴바" +END diff --git a/programs/winecfg/Pt.rc b/programs/winecfg/Pt.rc index a4badead0e3..4d8a05b3238 100644 --- a/programs/winecfg/Pt.rc +++ b/programs/winecfg/Pt.rc @@ -4,6 +4,7 @@ * * Copyright 2003 Marcelo Duarte * Copyright 2004,2007,2008 Américo José Melo + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -26,7 +27,7 @@ #pragma code_page(65001) -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE +LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL IDR_WINECFG MENU DISCARDABLE BEGIN @@ -44,14 +45,15 @@ STYLE WS_CHILD FONT 8, "MS Shell Dlg" BEGIN CONTROL "", IDC_ABT_PANEL, "STATIC", SS_OWNERDRAW, 0, 0, 260, 140 - CONTROL IDB_WINE,IDC_STATIC,"Static", SS_BITMAP, 15,17,157,111 + LTEXT PACKAGE_NAME,IDC_ABT_TITLE_TEXT,105,30,55,30 + LTEXT PACKAGE_VERSION,IDC_ABT_PANEL_TEXT,160,43,140,8 CONTROL "",IDC_ABT_WEB_LINK,"SysLink", LWS_TRANSPARENT, 105,53,106,8 - LTEXT "This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.", - IDC_ABT_PANEL_TEXT,105,64,145,60 + LTEXT "Este programa é software livre; você pode redistribui-lo e/ou modificá-lo nos termos da GNU Lesser General Public License (LGPL) conforme publicado pela Free Software Foundation; tanto na versão 2.1 desta licença ou (à sua escolha) qualquer versão posterior.", + IDC_ABT_LICENSE_TEXT,105,64,145,60 GROUPBOX " Informações de registro do Windows ", IDC_STATIC, 15, 155, 230, 55 - LTEXT "Proprietário:", IDC_STATIC, 22, 171, 40, 20 + LTEXT "&Proprietário:", IDC_STATIC, 22, 171, 40, 20 EDITTEXT IDC_ABT_OWNER, 75, 171, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP - LTEXT "Organização:", IDC_STATIC, 22, 185, 50, 20 + LTEXT "&Organização:", IDC_STATIC, 22, 185, 50, 20 EDITTEXT IDC_ABT_ORG, 75, 185, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP END @@ -81,15 +83,15 @@ IDD_APPCFG DIALOG DISCARDABLE 0, 0, 260, 220 STYLE WS_CHILD | WS_DISABLED FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX " Configurações da aplicação ",IDC_STATIC, 8,4,244,210 - LTEXT "Wine pode imitar vários estilos e versões do Windows para cada aplicação", - IDC_STATIC,15,20,227,20 + GROUPBOX " Configurações de Aplicativo",IDC_STATIC, 8,4,244,210 + LTEXT "O Wine pode imitar diferentes versões do Windows para cada aplicativo. Esta aba é ligada às abas Bibliotecas e Gráficos para permitir alterar configurações globais ou por aplicativo também nessas abas.", + IDC_STATIC,15,20,227,45 CONTROL "Aplicações",IDC_APP_LISTVIEW,"SysListView32",WS_BORDER | WS_TABSTOP | LVS_LIST | LVS_SINGLESEL | LVS_SHOWSELALWAYS, - 15,50,230,120 - PUSHBUTTON "&Adicionar aplicação...",IDC_APP_ADDAPP, 90,174,75,14 - PUSHBUTTON "&Remover aplicação",IDC_APP_REMOVEAPP, 170,174,75,14 - LTEXT "Versão do &Windows:",IDC_STATIC,17,196,58,8 - COMBOBOX IDC_WINVER,83,194,163,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + 15,55,230,115 + PUSHBUTTON "&Adicionar aplicativo...",IDC_APP_ADDAPP, 90,174,75,14 + PUSHBUTTON "&Remover aplicativo",IDC_APP_REMOVEAPP, 170,174,75,14 + LTEXT "Versão do &Windows:",IDC_STATIC,17,196,68,8 + COMBOBOX IDC_WINVER,90,194,153,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP END LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE @@ -105,8 +107,8 @@ BEGIN 15,55,230,115 PUSHBUTTON "&Adicionar aplicação...",IDC_APP_ADDAPP, 90,174,75,14 PUSHBUTTON "&Remover aplicação",IDC_APP_REMOVEAPP, 170,174,75,14 - LTEXT "Versão do &Windows:",IDC_STATIC,17,226,68,8 - COMBOBOX IDC_WINVER,90,224,156,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Versão do &Windows:",IDC_STATIC,17,196,68,8 + COMBOBOX IDC_WINVER,90,194,153,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP END @@ -116,27 +118,27 @@ IDD_GRAPHCFG DIALOG DISCARDABLE 0, 0, 260, 220 STYLE WS_CHILD | WS_DISABLED FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX " Configurações de janela ",IDC_STATIC,8,4,244,84 - CONTROL "Programas DirectX podem impedir que o mouse deixe a janela?",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,20,230,8 - CONTROL "Allow the window manager to &decorate the windows",IDC_ENABLE_DECORATED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,32,230,8 - CONTROL "Allow the &window manager to control the windows",IDC_ENABLE_MANAGED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,44,230,8 - CONTROL "Emular uma área de trabalho virtual",IDC_ENABLE_DESKTOP,"Button", + GROUPBOX " Configurações de Janela ",IDC_STATIC,8,4,244,84 + CONTROL "Permitir aos aplicativos DirectX impedir que o &mouse deixe a janela",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,20,230,8 + CONTROL "Permitir que o gerenciador de janelas &decore as janelas",IDC_ENABLE_DECORATED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,32,230,8 + CONTROL "Permitir que o gerenciador de janelas controle as &janelas",IDC_ENABLE_MANAGED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,44,230,8 + CONTROL "&Emular uma área de trabalho virtual",IDC_ENABLE_DESKTOP,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,15,56,230,8 - LTEXT "Tamanho da área de trabalho:",IDC_DESKTOP_SIZE,15,70,44,8,WS_DISABLED + LTEXT "Tamanho da Tela:",IDC_DESKTOP_SIZE,15,70,44,8,WS_DISABLED LTEXT "X",IDC_DESKTOP_BY,109,70,8,8,WS_DISABLED EDITTEXT IDC_DESKTOP_WIDTH,64,68,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED EDITTEXT IDC_DESKTOP_HEIGHT,117,68,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED GROUPBOX " Direct3D ",IDC_STATIC,8,95,244,49 - LTEXT "&Vertex Shader Support: ",IDC_STATIC,15,110,80,32 - COMBOBOX IDC_D3D_VSHADER_MODE,100,108,145,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Allow &Pixel Shader (if supported by hardware)",IDC_D3D_PSHADER_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,10 + LTEXT "Suporte a &Vertex Shader:",IDC_STATIC,15,110,90,32 + COMBOBOX IDC_D3D_VSHADER_MODE,110,108,135,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Permitir &Pixel Shader (se suportado pelo hardware)",IDC_D3D_PSHADER_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,10 - GROUPBOX " Screen &Resolution ",IDC_STATIC,8,151,244,63 + GROUPBOX " &Resolução da Tela ",IDC_STATIC,8,151,244,63 CONTROL "", IDC_RES_TRACKBAR, "msctls_trackbar32",WS_TABSTOP,12,161,187,15 EDITTEXT IDC_RES_DPIEDIT,204,161,23,13,ES_NUMBER|WS_TABSTOP LTEXT "dpi",IDC_STATIC,235,163,10,8 - LTEXT "This is a sample text using 10 point Tahoma",IDC_RES_FONT_PREVIEW,15,181,230,28 + LTEXT "Este é um texto exemplo usando Tahoma 10 pontos",IDC_RES_FONT_PREVIEW,15,180,230,28 END LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE @@ -169,6 +171,24 @@ BEGIN END +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDD_DLLCFG DIALOG DISCARDABLE 0, 0, 260, 220 +STYLE WS_CHILD | WS_DISABLED +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX " Substituição de DLL ",IDC_STATIC,8,4,244,210 + LTEXT "As bibliotecas de dinâmicas (DLLs) podem ser especificadas individualmente como embutidas (fornecidas pelo Wine) ou nativas (tiradas do Windows ou fornecidas pelo aplicativo)." + ,IDC_STATIC,16,16,220,32 + LTEXT "&Nova substituição para a biblioteca:",IDC_STATIC,16,58,150,8 + COMBOBOX IDC_DLLCOMBO,16,68,140,14,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP | CBS_SORT | CBS_LOWERCASE + PUSHBUTTON "&Adicionar",IDC_DLLS_ADDDLL, 164,68,82,13,BS_DEFPUSHBUTTON + LTEXT "Substituições e&xistentes:",IDC_STATIC,16,86,100,8 + LISTBOX IDC_DLLS_LIST,16,96,140,112,WS_BORDER | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "&Editar...",IDC_DLLS_EDITDLL,164,96,82,14 + PUSHBUTTON "&Remover",IDC_DLLS_REMOVEDLL,164,114,82,14 +END + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE IDD_DLLCFG DIALOG DISCARDABLE 0, 0, 260, 220 @@ -188,6 +208,23 @@ BEGIN END +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDD_LOADORDER DIALOG DISCARDABLE 80, 90, 110, 92 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Editar Substituição" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX " Ordem de Carregamento ",IDC_STATIC,8,4,94,66 + CONTROL "&Embutida (Wine)",IDC_RAD_BUILTIN,"Button", BS_AUTORADIOBUTTON | WS_GROUP,16,14,75,10 + CONTROL "&Nativa (Windows)",IDC_RAD_NATIVE,"Button", BS_AUTORADIOBUTTON,16,24,75,10 + CONTROL "E&mbutida depois Nativa",IDC_RAD_BUILTIN_NATIVE,"Button", BS_AUTORADIOBUTTON,16,34,75,10 + CONTROL "Nati&va depois Embutida",IDC_RAD_NATIVE_BUILTIN,"Button", BS_AUTORADIOBUTTON,16,44,75,10 + CONTROL "&Desativar",IDC_RAD_DISABLE,"Button", BS_AUTORADIOBUTTON,16,54,75,10 + DEFPUSHBUTTON "OK",IDOK,8,74,45,14,WS_GROUP + PUSHBUTTON "Cancelar",IDCANCEL,57,74,45,14,WS_GROUP +END + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE IDD_LOADORDER DIALOG DISCARDABLE 80, 90, 110, 92 @@ -208,37 +245,49 @@ END LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN +IDD_DRIVECHOOSE DIALOG DISCARDABLE 60, 70, 170, 60 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Selecione a Letra" +FONT 8, "MS Shell Dlg" +BEGIN + COMBOBOX IDC_DRIVESA2Z,15,10,75,230,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "OK",IDOK,105,10,45,14,WS_GROUP + PUSHBUTTON "Cancelar",IDCANCEL,105,30,45,14,WS_GROUP +END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + IDD_DRIVECFG DIALOG DISCARDABLE 0, 0, 260, 220 STYLE WS_CHILD | WS_DISABLED FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX " Outras unidades",IDC_STATIC,8,4,244,195 - LTEXT "Failed to connect to the mount manager, the drive configuration cannot be edited.", IDC_STATIC_MOUNTMGR_ERROR, 15,30,190,76 - CONTROL "Listview",IDC_LIST_DRIVES,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT | + GROUPBOX " &Mapeamentos de unidade ",IDC_STATIC,8,4,244,195 + LTEXT "Falha de conexão com o gerenciador de montagem, a configuração da unidade não pôde ser alterada.", IDC_STATIC_MOUNTMGR_ERROR, 15,30,190,76 + CONTROL "Listagem",IDC_LIST_DRIVES,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, 15,18,232,76 PUSHBUTTON "&Adicionar...",IDC_BUTTON_ADD,15,98,44,14 PUSHBUTTON "&Remover",IDC_BUTTON_REMOVE,62,98,37,14 - PUSHBUTTON "Auto&detectar...",IDC_BUTTON_AUTODETECT,190,98,56,14 + PUSHBUTTON "Auto&detectar",IDC_BUTTON_AUTODETECT,197,98,49,14 /* editing drive details */ - LTEXT "&Path:",IDC_STATIC_PATH,15,123,20,9 - EDITTEXT IDC_EDIT_PATH,41,120,160,13,ES_AUTOHSCROLL | WS_TABSTOP - PUSHBUTTON "&Browse...",IDC_BUTTON_BROWSE_PATH,206,120,40,13 + LTEXT "&Caminho:",IDC_STATIC_PATH,15,123,30,9 + EDITTEXT IDC_EDIT_PATH,51,120,150,13,ES_AUTOHSCROLL | WS_TABSTOP + PUSHBUTTON "&Navegar...",IDC_BUTTON_BROWSE_PATH,206,120,40,13 - LTEXT "&Type:",IDC_STATIC_TYPE,15,138,21,10 + LTEXT "&Tipo:",IDC_STATIC_TYPE,15,138,21,10 COMBOBOX IDC_COMBO_TYPE,41,135,77,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Show &Advanced",IDC_BUTTON_SHOW_HIDE_ADVANCED,186,135,60,13 - LTEXT "De&vice:",IDC_STATIC_DEVICE,15,153,26,9 + PUSHBUTTON "Mostrar &Avançado",IDC_BUTTON_SHOW_HIDE_ADVANCED,186,135,60,13 + LTEXT "Dispositi&vo",IDC_STATIC_DEVICE,15,153,26,9 EDITTEXT IDC_EDIT_DEVICE,41,150,160,13,ES_AUTOHSCROLL | WS_TABSTOP - PUSHBUTTON "Bro&wse...",IDC_BUTTON_BROWSE_DEVICE,206,150,40,13 + PUSHBUTTON "Nave&gar",IDC_BUTTON_BROWSE_DEVICE,206,150,40,13 - LTEXT "&Label:",IDC_STATIC_LABEL,15,168,29,12 - EDITTEXT IDC_EDIT_LABEL,45,165,78,13,ES_AUTOHSCROLL | WS_TABSTOP - LTEXT "S&erial:",IDC_STATIC_SERIAL,15,183,29,12 - EDITTEXT IDC_EDIT_SERIAL,45,180,78,13,ES_AUTOHSCROLL | WS_TABSTOP + LTEXT "&Rótulo:",IDC_STATIC_LABEL,15,168,26,12 + EDITTEXT IDC_EDIT_LABEL,41,165,78,13,ES_AUTOHSCROLL | WS_TABSTOP + LTEXT "S&erial:",IDC_STATIC_SERIAL,15,183,26,12 + EDITTEXT IDC_EDIT_SERIAL,41,180,78,13,ES_AUTOHSCROLL | WS_TABSTOP - CONTROL "Show &dot files",IDC_SHOW_DOT_FILES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,205,230,8 + CONTROL "Mostrar arquivos com &ponto",IDC_SHOW_DOT_FILES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,205,230,8 END LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE @@ -268,8 +317,8 @@ BEGIN PUSHBUTTON "Auto&detectar...",IDC_BUTTON_AUTODETECT,190,98,56,14 /* editing drive details */ - LTEXT "&Localização:",IDC_STATIC_PATH,15,123,20,9 - EDITTEXT IDC_EDIT_PATH,41,120,160,13,ES_AUTOHSCROLL | WS_TABSTOP + LTEXT "&Localização:",IDC_STATIC_PATH,15,123,38,9 + EDITTEXT IDC_EDIT_PATH,59,120,142,13,ES_AUTOHSCROLL | WS_TABSTOP PUSHBUTTON "&Procurar...",IDC_BUTTON_BROWSE_PATH,206,120,40,13 LTEXT "&Tipo:",IDC_STATIC_TYPE,15,138,21,10 @@ -289,6 +338,26 @@ BEGIN END +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDD_AUDIOCFG DIALOG DISCARDABLE 0, 0, 260, 220 +STYLE WS_CHILD | WS_DISABLED +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX " Seleção de Driver ",IDC_STATIC,8,4,244,160 + LTEXT "Selecione um driver de som selecionando a caixa do driver desejado. Não marque nenhuma opção para desabilitar o som. Não é recomendado selecionar mais de um driver. Configure um driver clicando com o botão direito sobre ele.:",IDC_STATIC,15,20,227,30 + CONTROL "Dispositivos",IDC_AUDIO_TREE,"SysTreeView32",WS_BORDER | WS_TABSTOP,15,55,140,105 + PUSHBUTTON "&Testar Som",IDC_AUDIO_TEST,170,55,65,14 + PUSHBUTTON "Painel de &Controle",IDC_AUDIO_CONTROL_PANEL,170,75,65,14 + GROUPBOX " DirectSound ",IDC_STATIC,8,170,244,45 + LTEXT "Aceleração via &Hardware: ",IDC_STATIC,15,180,90,10 + COMBOBOX IDC_DSOUND_HW_ACCEL,110,178,140,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Taxa de Amo&stra:",IDC_STATIC,15,197,70,8 + COMBOBOX IDC_DSOUND_RATES,90,195,42,76,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "&Bits por Amostra:",IDC_STATIC,137,197,80,8 + COMBOBOX IDC_DSOUND_BITS,220,195,30,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP +END + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE IDD_AUDIOCFG DIALOG DISCARDABLE 0, 0, 260, 220 @@ -316,28 +385,28 @@ IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE 0, 0, 260, 220 STYLE WS_CHILD | WS_DISABLED FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX " Appearance ",IDC_STATIC,8,4,244,106 - LTEXT "&Theme:",IDC_STATIC,15,16,130,8 + GROUPBOX " Aparência ",IDC_STATIC,8,4,244,106 + LTEXT "&Tema:",IDC_STATIC,15,16,130,8 COMBOBOX IDC_THEME_THEMECOMBO,15,24,130,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Install theme...",IDC_THEME_INSTALL,152,23,93,14 - LTEXT "&Color:",IDC_THEME_COLORTEXT,15,40,112,8 + PUSHBUTTON "&Instalar tema...",IDC_THEME_INSTALL,152,23,93,14 + LTEXT "&Cor:",IDC_THEME_COLORTEXT,15,40,112,8 COMBOBOX IDC_THEME_COLORCOMBO,15,48,112,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "&Size:",IDC_THEME_SIZETEXT,135,40,110,8 + LTEXT "&Tamanho:",IDC_THEME_SIZETEXT,135,40,110,8 COMBOBOX IDC_THEME_SIZECOMBO,135,48,110,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "It&em:",IDC_STATIC,15,64,112,8 COMBOBOX IDC_SYSPARAM_COMBO,15,74,112,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | CBS_SORT - LTEXT "C&olor:",IDC_SYSPARAM_COLOR_TEXT,135,64,25,8,WS_DISABLED + LTEXT "C&or:",IDC_SYSPARAM_COLOR_TEXT,135,64,25,8,WS_DISABLED PUSHBUTTON "",IDC_SYSPARAM_COLOR,135,74,25,13,WS_DISABLED | BS_OWNERDRAW - LTEXT "Si&ze:",IDC_SYSPARAM_SIZE_TEXT,166,64,30,8,WS_DISABLED + LTEXT "Ta&manho:",IDC_SYSPARAM_SIZE_TEXT,166,64,30,8,WS_DISABLED EDITTEXT IDC_SYSPARAM_SIZE,166,74,23,13,ES_AUTOHSCROLL | WS_TABSTOP | WS_DISABLED CONTROL "",IDC_SYSPARAM_SIZE_UD,UPDOWN_CLASS,UDS_SETBUDDYINT | WS_DISABLED,187,74,15,13 - PUSHBUTTON "&Font",IDC_SYSPARAM_FONT,208,74,37,13,WS_DISABLED - GROUPBOX " S&hell Folder ",IDC_STATIC,8,114,244,100 - CONTROL "Listview",IDC_LIST_SFPATHS,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT | + PUSHBUTTON "&Fonte:",IDC_SYSPARAM_FONT,208,74,37,13,WS_DISABLED + GROUPBOX " &Diretórios ",IDC_STATIC,8,114,244,100 + CONTROL "Listagem",IDC_LIST_SFPATHS,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, 15,126,230,64 - CONTROL "&Link to:",IDC_LINK_SFPATH,"Button",BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED,15,195,50,13 - EDITTEXT IDC_EDIT_SFPATH,65,195,145,13,ES_AUTOHSCROLL|WS_TABSTOP|WS_DISABLED - PUSHBUTTON "B&rowse",IDC_BROWSE_SFPATH,215,195,30,13,WS_DISABLED + CONTROL "&Link para:",IDC_LINK_SFPATH,"Button",BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED,15,195,50,13 + EDITTEXT IDC_EDIT_SFPATH,65,195,125,13,ES_AUTOHSCROLL|WS_TABSTOP|WS_DISABLED + PUSHBUTTON "&Navegar...",IDC_BROWSE_SFPATH,195,195,50,13,WS_DISABLED END LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE @@ -375,24 +444,24 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN STRINGTABLE DISCARDABLE BEGIN - IDS_TAB_APPLICATIONS "Applications" + IDS_TAB_APPLICATIONS "Aplicativos" IDS_TAB_DLLS "Bibliotecas" IDS_TAB_DRIVES "Unidades" - IDS_CHOOSE_PATH "Select the unix target directory, please." - IDS_HIDE_ADVANCED "Hide &Advanced" - IDS_SHOW_ADVANCED "Show &Advanced" - IDS_NOTHEME "(No Theme)" - IDS_TAB_GRAPHICS "Graphics" - IDS_TAB_DESKTOP_INTEGRATION "Desktop Integration" - IDS_TAB_AUDIO "Audio" - IDS_TAB_ABOUT "About" + IDS_CHOOSE_PATH "Por favor, selecione o diretório unix alvo." + IDS_HIDE_ADVANCED "Ocult&ar" + IDS_SHOW_ADVANCED "&Avançado" + IDS_NOTHEME "(Sem Tema)" + IDS_TAB_GRAPHICS "Gráficos" + IDS_TAB_DESKTOP_INTEGRATION "Integração com Área de Trabalho" + IDS_TAB_AUDIO "Áudio" + IDS_TAB_ABOUT "Sobre" IDS_WINECFG_TITLE "Configuração do Wine" IDS_WINECFG_TITLE_APP "Configuração do Wine para %s" - IDS_THEMEFILE "Theme files (*.msstyles; *.theme)" - IDS_THEMEFILE_SELECT "Select a theme file" - IDS_AUDIO_MISSING "There is no audio driver currently specified in the registry.\n\nA recommended driver has been selected for you.\nYou can use this driver or select another driver if available.\n\nYou must click Apply for the selection to take effect." - IDS_SHELL_FOLDER "Diretórios" - IDS_LINKS_TO "Links para" + IDS_THEMEFILE "Arquivos de tema (*.msstyles; *.theme)" + IDS_THEMEFILE_SELECT "Selecione um arquivo de tema" + IDS_AUDIO_MISSING "Não existe nenhum driver de áudio especificado no registro.\n\nUm driver recomendado foi selecionado.\nVocê pode usar este driver ou selecionar outro que esteja disponível.\n\nVocê deve clicar em Aplicar para que a alteração tenha efeito." + IDS_SHELL_FOLDER "Pasta" + IDS_LINKS_TO "Link para" END LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE @@ -420,6 +489,23 @@ BEGIN END +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE DISCARDABLE +BEGIN + IDS_DLL_WARNING "Não é recomendado alterar a ordem de carregamento desta biblioteca.\nTem certeza que quer fazer isto?" + IDS_DLL_WARNING_CAPTION "Aviso: biblioteca do sistema" + IDS_DLL_NATIVE "nativa" + IDS_DLL_BUILTIN "embutida" + IDS_DLL_NATIVE_BUILTIN "nativa, embutida" + IDS_DLL_BUILTIN_NATIVE "embutida, nativa" + IDS_DLL_DISABLED "desativada" + IDS_DEFAULT_SETTINGS "Configurações Padrão" + IDS_EXECUTABLE_FILTER "Programas Wine (*.exe,*.exe.so)\0*.exe;*.exe.so\0" + IDS_USE_GLOBAL_SETTINGS "Usar configurações globais" + IDS_SELECT_EXECUTABLE "Selecione um arquivo executável" +END + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE STRINGTABLE DISCARDABLE @@ -438,6 +524,14 @@ BEGIN END +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHADER_MODE_HARDWARE "Hardware" + IDS_SHADER_MODE_NONE "Nenhum" +END + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE STRINGTABLE DISCARDABLE @@ -447,6 +541,23 @@ BEGIN END +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE DISCARDABLE +BEGIN + IDS_DRIVE_UNKNOWN "Autodetectar" + IDS_DRIVE_FIXED "Disco rígido local" + IDS_DRIVE_REMOTE "Compartilhamento de rede" + IDS_DRIVE_REMOVABLE "Disquete" + IDS_DRIVE_CDROM "CD-ROM" + IDS_DRIVE_LETTERS_EXCEEDED "Não é possível adicionar mais unidades.\n\nCada unidade deve ter uma letra, de A a Z, então não é possível ter mais que 26" + IDS_SYSTEM_DRIVE_LABEL "Unidade do sistema" + IDS_CONFIRM_DELETE_C "Tem certeza que deseja apaga a unidade C?\n\nA maior parte das aplicações Windows esperam que a unidade C exista, e irá danificar-se se não existir. Se continuar lembre-se de recriar a unidade!" + IDS_COL_DRIVELETTER "Letra" + IDS_COL_DRIVEMAPPING "Unidades" + IDS_NO_DRIVE_C "Não existe uma unidade C. Isto não é nada bom.\n\nLembre-se de clicar em 'Adicionar' na aba Unidades para criar uma!\n" +END + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE STRINGTABLE DISCARDABLE @@ -465,6 +576,33 @@ BEGIN END +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE DISCARDABLE +BEGIN + IDS_ACCEL_FULL "Total" + IDS_ACCEL_STANDARD "Padrão" + IDS_ACCEL_BASIC "Básico" + IDS_ACCEL_EMULATION "Emulação" + IDS_DRIVER_ALSA "Driver ALSA" + IDS_DRIVER_ESOUND "Driver EsounD" + IDS_DRIVER_OSS "Driver OSS" + IDS_DRIVER_JACK "Driver JACK" + IDS_DRIVER_NAS "Driver NAS" + IDS_DRIVER_AUDIOIO "Driver IO de Áudio (Solaris)" + IDS_DRIVER_COREAUDIO "Driver CoreAudio" + IDS_OPEN_DRIVER_ERROR "Não foi possível abrir %s!" + IDS_SOUNDDRIVERS "Drivers de Som" + IDS_DEVICES_WAVEOUT "Dispositivos de Saída Wave" + IDS_DEVICES_WAVEIN "Dispositivos de Entrada Wave" + IDS_DEVICES_MIDIOUT "Dispositivos de Saída MIDI" + IDS_DEVICES_MIDIIN "Dispositivos de Entrada MIDI" + IDS_DEVICES_AUX "Dispositivos Auxiliares" + IDS_DEVICES_MIXER "Dispositivos Misturadores" + IDS_UNAVAILABLE_DRIVER "Foi encontrado um driver no registo que não está disponível!\n\nRemover '%s' do registo?" + IDS_WARNING "Aviso" +END + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE STRINGTABLE DISCARDABLE @@ -494,6 +632,44 @@ BEGIN END +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE DISCARDABLE +BEGIN + IDC_SYSPARAMS_BUTTON "Fundo do Botão" + IDC_SYSPARAMS_BUTTON_TEXT "Texto do Botão" + IDC_SYSPARAMS_DESKTOP "Área de Trabalho" + IDC_SYSPARAMS_MENU "Fundo do Menu" + IDC_SYSPARAMS_MENU_TEXT "Texto do Menu" + IDC_SYSPARAMS_SCROLLBAR "Barra de Rolagem" + IDC_SYSPARAMS_SELECTION "Fundo de Seleção" + IDC_SYSPARAMS_SELECTION_TEXT "Texto de Seleção" + IDC_SYSPARAMS_TOOLTIP "Fundo da Dica" + IDC_SYSPARAMS_TOOLTIP_TEXT "Texto da Dica" + IDC_SYSPARAMS_WINDOW "Fundo da Janela" + IDC_SYSPARAMS_WINDOW_TEXT "Texto da Janela" + IDC_SYSPARAMS_ACTIVE_TITLE "Barra de Título Ativa" + IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Texto de Título Ativo" + IDC_SYSPARAMS_INACTIVE_TITLE "Barra de Título Inativa" + IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Texto de Título Inativo" + IDC_SYSPARAMS_MSGBOX_TEXT "Texto da Caixa de Mensagens" + IDC_SYSPARAMS_APPWORKSPACE "Área do Aplicativo" + IDC_SYSPARAMS_WINDOW_FRAME "Corpo da Janela" + IDC_SYSPARAMS_ACTIVE_BORDER "Borda Ativa" + IDC_SYSPARAMS_INACTIVE_BORDER "Borda Inativa" + IDC_SYSPARAMS_BUTTON_SHADOW "Sombra dos Botões" + IDC_SYSPARAMS_GRAY_TEXT "Texto Inativo" + IDC_SYSPARAMS_BUTTON_HILIGHT "Realce do Botão" + IDC_SYSPARAMS_BUTTON_DARK_SHADOW "Sombra Escura do Botão" + IDC_SYSPARAMS_BUTTON_LIGHT "Luz do Botão" + IDC_SYSPARAMS_BUTTON_ALTERNATE "Fundo Alternativo do Botão" + IDC_SYSPARAMS_HOT_TRACKING "Hot Tracked Item" + IDC_SYSPARAMS_ACTIVE_TITLE_GRADIENT "Gradiente da Barra Ativa" + IDC_SYSPARAMS_INACTIVE_TITLE_GRADIENT "Gradiente da Barra Inativa" + IDC_SYSPARAMS_MENU_HILIGHT "Realce de Menu" + IDC_SYSPARAMS_MENUBAR "Barra de Menu" +END + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE STRINGTABLE DISCARDABLE diff --git a/programs/winecfg/Zh.rc b/programs/winecfg/Zh.rc index 49df9be6215..84bc6a0e730 100644 --- a/programs/winecfg/Zh.rc +++ b/programs/winecfg/Zh.rc @@ -349,8 +349,8 @@ BEGIN IDC_ABT_LICENSE_TEXT,105,64,145,60 GROUPBOX " Windows 註冊信息 ", IDC_STATIC, 15, 155, 230, 55 LTEXT "姓名:", IDC_STATIC, 22, 171, 40, 20 - LTEXT "單位:", IDC_STATIC, 22, 185, 50, 20 EDITTEXT IDC_ABT_OWNER, 75, 171, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP + LTEXT "單位:", IDC_STATIC, 22, 185, 50, 20 EDITTEXT IDC_ABT_ORG, 75, 185, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP END diff --git a/programs/winecfg/about.c b/programs/winecfg/about.c index b8a69644264..d6b2a7d689e 100644 --- a/programs/winecfg/about.c +++ b/programs/winecfg/about.c @@ -29,12 +29,10 @@ #include #include #include -#include #include "resource.h" #include "winecfg.h" -WINE_DEFAULT_DEBUG_CHANNEL(winecfg); static HICON logo = NULL; static HFONT titleFont = NULL; diff --git a/programs/winecfg/audio.c b/programs/winecfg/audio.c index af8373b6cd5..1d70c03a1de 100644 --- a/programs/winecfg/audio.c +++ b/programs/winecfg/audio.c @@ -86,9 +86,10 @@ typedef struct { UINT nameID; const char *szDriver; + HDRVR hDriver; } AUDIO_DRIVER; -static const AUDIO_DRIVER sAudioDrivers[] = { +static AUDIO_DRIVER sAudioDrivers[] = { {IDS_DRIVER_PULSE, "pulse"}, {IDS_DRIVER_ALSA, "alsa"}, {IDS_DRIVER_OSS, "oss"}, @@ -119,7 +120,7 @@ static void configureAudioDriver(HWND hDlg) HDRVR hdrvr; char wine_driver[MAX_NAME_LENGTH + 9]; sprintf(wine_driver, "wine%s.drv", pAudioDrv->szDriver); - hdrvr = OpenDriverA(wine_driver, 0, 0); + hdrvr = pAudioDrv->hDriver; if (hdrvr != 0) { if (SendDriverMessage(hdrvr, DRV_QUERYCONFIGURE, 0, 0) != 0) @@ -130,7 +131,6 @@ static void configureAudioDriver(HWND hDlg) dci.lpszDCIAliasName = NULL; SendDriverMessage(hdrvr, DRV_CONFIGURE, 0, (LONG_PTR)&dci); } - CloseDriver(hdrvr, 0, 0); } else { @@ -198,7 +198,7 @@ static void removeDriver(const char * driver) static void initAudioDeviceTree(HWND hDlg) { - const AUDIO_DRIVER *pAudioDrv = NULL; + AUDIO_DRIVER *pAudioDrv = NULL; int i, j; TVINSERTSTRUCTW insert; HTREEITEM root, driver[10]; @@ -248,7 +248,7 @@ static void initAudioDeviceTree(HWND hDlg) LoadStringW (GetModuleHandle (NULL), pAudioDrv->nameID, text, sizeof(text)/sizeof(text[0])); - if ((hdrv = OpenDriverA(name, 0, 0))) + if ((hdrv = pAudioDrv->hDriver)) { HMODULE lib; if ((lib = GetDriverModuleHandle(hdrv))) @@ -474,7 +474,6 @@ static void initAudioDeviceTree(HWND hDlg) } } } - CloseDriver(hdrv, 0, 0); } } @@ -491,7 +490,7 @@ static void initAudioDeviceTree(HWND hDlg) static void findAudioDrivers(void) { int numFound = 0; - const AUDIO_DRIVER *pAudioDrv = NULL; + AUDIO_DRIVER *pAudioDrv = NULL; HCURSOR old_cursor; /* delete an existing list */ @@ -512,10 +511,38 @@ static void findAudioDrivers(void) sprintf(driver, "wine%s.drv", pAudioDrv->szDriver); - if ((hdrv = OpenDriverA(driver, 0, 0))) - { - CloseDriver(hdrv, 0, 0); + hdrv = pAudioDrv->hDriver; + if (!pAudioDrv->hDriver && (hdrv = OpenDriverA(driver, 0, 0))) { + HMODULE lib = GetDriverModuleHandle(hdrv); + MessagePtr wodMessagePtr = (MessagePtr)GetProcAddress(lib, "wodMessage"); + MessagePtr widMessagePtr = (MessagePtr)GetProcAddress(lib, "widMessage"); + MessagePtr modMessagePtr = (MessagePtr)GetProcAddress(lib, "modMessage"); + MessagePtr midMessagePtr = (MessagePtr)GetProcAddress(lib, "midMessage"); + MessagePtr auxMessagePtr = (MessagePtr)GetProcAddress(lib, "auxMessage"); + MessagePtr mxdMessagePtr = (MessagePtr)GetProcAddress(lib, "mxdMessage"); + + pAudioDrv->hDriver = hdrv; + if (wodMessagePtr) + wodMessagePtr(0, DRVM_INIT, 0, 0, 0); + + if (widMessagePtr) + widMessagePtr(0, DRVM_INIT, 0, 0, 0); + + if (modMessagePtr) + modMessagePtr(0, DRVM_INIT, 0, 0, 0); + + if (midMessagePtr) + midMessagePtr(0, DRVM_INIT, 0, 0, 0); + + if (auxMessagePtr) + auxMessagePtr(0, DRVM_INIT, 0, 0, 0); + + if (mxdMessagePtr) + mxdMessagePtr(0, DRVM_INIT, 0, 0, 0); + } + if (hdrv) + { if (loadedAudioDrv) loadedAudioDrv = HeapReAlloc(GetProcessHeap(), 0, loadedAudioDrv, (numFound + 1) * sizeof(AUDIO_DRIVER)); else diff --git a/programs/wineconsole/wineconsole_Es.rc b/programs/wineconsole/wineconsole_Es.rc index da6e1fbeb5d..7fd81624eef 100644 --- a/programs/wineconsole/wineconsole_Es.rc +++ b/programs/wineconsole/wineconsole_Es.rc @@ -32,7 +32,7 @@ IDS_MARK, "&Marcar" IDS_COPY, "&Copiar" IDS_PASTE, "&Pegar" IDS_SELECTALL, "&Seleccionar todo" -IDS_SCROLL, "Sc&roll" +IDS_SCROLL, "Desplaza&r" IDS_SEARCH, "&Buscar" IDS_FNT_DISPLAY, "Cada caracter tiene %ld píxeles de ancho por %ld píxeles de alto" IDS_FNT_PREVIEW, "Esto es una prueba" diff --git a/programs/winedbg/Makefile.in b/programs/winedbg/Makefile.in index 29894579042..6656db04f91 100644 --- a/programs/winedbg/Makefile.in +++ b/programs/winedbg/Makefile.in @@ -45,6 +45,7 @@ RC_SRCS = \ rsrc_No.rc \ rsrc_Pl.rc \ rsrc_Pt.rc \ + rsrc_Ro.rc \ rsrc_Ru.rc \ rsrc_Si.rc \ rsrc_Sv.rc diff --git a/programs/winedbg/rsrc_Ro.rc b/programs/winedbg/rsrc_Ro.rc new file mode 100644 index 00000000000..0f0ece3c260 --- /dev/null +++ b/programs/winedbg/rsrc_Ro.rc @@ -0,0 +1,58 @@ +/* + * Copyright 2008 Mikolaj Zalewski + * Copyright 2010 Claudia Cotună + * Michael Stefaniuc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "resource.h" + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +#pragma code_page(65001) + +IDM_DEBUG_POPUP MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Depanează", ID_DEBUG + END +END + +IDD_CRASH_DLG DIALOGEX 100, 100, 273, 175 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Eroare de program" +FONT 8, "Tahoma" +BEGIN + LTEXT "",IDC_STATIC_BG,0,0,273,52,WS_BORDER,0 + LTEXT "Programul %s a întâmpinat o problemă gravă și trebuie să \ + se închidă. Ne cerem scuze pentru neplăcerile create.", + IDC_STATIC_TXT1,27,10,224,30 + LTEXT "Cauza poate fi o problemă în program sau o deficiență în \ + Wine. Puteți consulta http://appdb.winehq.org pentru \ + sugestii privind executarea acestei aplicații.\n\n\ + Dacă această problemă nu este prezentă în Windows și nu a \ + fost raportată încă, o puteți raporta la \ + http://bugs.winehq.org.",IDC_STATIC_TXT2,27,60,224,100 + DEFPUSHBUTTON "Închide", IDOK, 205, 151, 60, 16, WS_TABSTOP +END + +STRINGTABLE +BEGIN + IDS_AUTO_CAPTION "Avarie program Wine" + IDS_INVALID_PARAMS "Erori interne - s-au recepționat parametri nevalizi" + IDS_UNIDENTIFIED "(neidentificat)" +END diff --git a/programs/winedevice/device.c b/programs/winedevice/device.c index e0cd07bf390..2ce8c15fd6b 100644 --- a/programs/winedevice/device.c +++ b/programs/winedevice/device.c @@ -67,7 +67,8 @@ static HMODULE load_driver_module( const WCHAR *name ) IMAGE_NT_HEADERS *nt; const IMAGE_IMPORT_DESCRIPTOR *imports; size_t page_size = getpagesize(); - int i, delta; + int i; + INT_PTR delta; ULONG size; HMODULE module = LoadLibraryW( name ); diff --git a/programs/winefile/Pt.rc b/programs/winefile/Pt.rc index 6c4ad680d04..3a76ba72044 100644 --- a/programs/winefile/Pt.rc +++ b/programs/winefile/Pt.rc @@ -4,6 +4,7 @@ * * Copyright 2003 Marcelo Duarte * Copyright 2004,2007 Américo José Melo + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -34,20 +35,20 @@ IDM_WINEFILE MENU FIXED IMPURE MENUITEM "A&brir\tEnter", ID_ACTIVATE MENUITEM "&Mover...\tF7", ID_FILE_MOVE MENUITEM "&Copiar...\tF8", ID_FILE_COPY - MENUITEM "&In Clipboard...\tF9", 118 + MENUITEM "Na área de &transferência...\tF9", 118 MENUITEM "E&xcluir\tDel", ID_FILE_DELETE MENUITEM "Re&nomear...", 109 - MENUITEM "&Propriedades...\tAlt+Enter", ID_EDIT_PROPERTIES + MENUITEM "Propri&edades...\tAlt+Enter", ID_EDIT_PROPERTIES MENUITEM SEPARATOR MENUITEM "C&omprimir...", 119 - MENUITEM "Descomprimir...", 120 + MENUITEM "&Descomprimir...", 120 MENUITEM SEPARATOR - MENUITEM "Execu&tar...", ID_RUN + MENUITEM "Exec&utar...", ID_RUN MENUITEM "&Imprimir...", 102 MENUITEM "A&ssociar...", 103 MENUITEM SEPARATOR - MENUITEM "Cri&ar pasta...", 111 - MENUITEM "P&esquisar...", 104 + MENUITEM "Criar &pasta...", 111 + MENUITEM "Pes&quisar...", 104 MENUITEM "Selecionar arqui&vos...", 116 MENUITEM SEPARATOR #ifndef _NO_EXTENSIONS @@ -66,8 +67,8 @@ IDM_WINEFILE MENU FIXED IMPURE MENUITEM "&Gerar disco de sistema...", -1 /*TODO*/ #endif MENUITEM SEPARATOR - MENUITEM "Conecta&r unidade de rede", ID_CONNECT_NETWORK_DRIVE - MENUITEM "&Desconectar unidade de rede",ID_DISCONNECT_NETWORK_DRIVE + MENUITEM "Con&ectar unidade de rede", ID_CONNECT_NETWORK_DRIVE + MENUITEM "De&sconectar unidade de rede",ID_DISCONNECT_NETWORK_DRIVE MENUITEM SEPARATOR MENUITEM "C&ompartilhar como...", 254 MENUITEM "&Remover compartilhamento...",255 @@ -77,30 +78,30 @@ IDM_WINEFILE MENU FIXED IMPURE POPUP "Á&rvore" { MENUITEM "&Próximo nível\t+", 301 - MENUITEM "Expandi&r pasta\t*", 302 + MENUITEM "E&xpandir pasta\t*", 302 MENUITEM "Expandir &tudo\tStrg+*", 303 MENUITEM "Recolher p&asta\t-", 304 MENUITEM SEPARATOR MENUITEM "&Indicar subníveis", 505 } - POPUP "&Exibir" { + POPUP "E&xibir" { MENUITEM "Á&rvore e pasta", 413 - MENUITEM "S&omente árvore", 411 - MENUITEM "So&mente pasta", 412 + MENUITEM "Apenas ár&vore", 411 + MENUITEM "Apenas &pasta", 412 MENUITEM SEPARATOR MENUITEM "&Dividir", ID_VIEW_SPLIT MENUITEM SEPARATOR MENUITEM "&Nome", ID_VIEW_NAME - MENUITEM "&Todos os delalhes", ID_VIEW_ALL_ATTRIBUTES, CHECKED + MENUITEM "&Todos os detalhes", ID_VIEW_ALL_ATTRIBUTES, CHECKED MENUITEM "D&etalhes parciais...", ID_VIEW_SELECTED_ATTRIBUTES MENUITEM SEPARATOR MENUITEM "&Classificar por nome", ID_VIEW_SORT_NAME - MENUITEM "C&lassificar por tipo", ID_VIEW_SORT_TYPE - MENUITEM "Cl&assificar por tamanho", ID_VIEW_SORT_SIZE - MENUITEM "Cla&ssificar por &data", ID_VIEW_SORT_DATE + MENUITEM "Cla&ssificar por tipo", ID_VIEW_SORT_TYPE + MENUITEM "Classificar por ta&manho", ID_VIEW_SORT_SIZE + MENUITEM "Classi&ficar por data", ID_VIEW_SORT_DATE MENUITEM SEPARATOR - MENUITEM "Classificar &por...", ID_VIEW_FILTER + MENUITEM "Classificar p&or...", ID_VIEW_FILTER } POPUP "&Opções" { @@ -109,10 +110,10 @@ IDM_WINEFILE MENU FIXED IMPURE MENUITEM "&Personalizar barra de ferramentas...", 512 MENUITEM SEPARATOR MENUITEM "Barra d&e ferramentas", ID_VIEW_TOOL_BAR, CHECKED - MENUITEM "&Barra de unidades", ID_VIEW_DRIVE_BAR, CHECKED - MENUITEM "B&arra de &status", ID_VIEW_STATUSBAR, CHECKED + MENUITEM "Barra de &unidades", ID_VIEW_DRIVE_BAR, CHECKED + MENUITEM "Barra de s&tatus", ID_VIEW_STATUSBAR, CHECKED #ifndef _NO_EXTENSIONS - MENUITEM "Tela Cheia\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "Tela cheia\tCtrl+Shift+S", ID_VIEW_FULLSCREEN #endif MENUITEM SEPARATOR MENUITEM "&Minimizar durante o uso", 504 @@ -122,8 +123,8 @@ IDM_WINEFILE MENU FIXED IMPURE POPUP "&Segurança" { MENUITEM "&Acesso...", 605 - MENUITEM "&Logging...", 606 - MENUITEM "&Owner...", 607 + MENUITEM "Au&tenticação...", 606 + MENUITEM "&Proprietário...", 607 } POPUP "&Janela" { @@ -140,8 +141,8 @@ IDM_WINEFILE MENU FIXED IMPURE POPUP "Aj&uda" { MENUITEM "&Tópicos da ajuda\tF1", ID_HELP - MENUITEM "Pesquisar...", ID_HELP - MENUITEM "&Usando a ajuda", ID_HELP_USING + MENUITEM "&Pesquisar...", ID_HELP + MENUITEM "Usando a &ajuda", ID_HELP_USING MENUITEM SEPARATOR MENUITEM "&Sobre o Winefile...", ID_ABOUT } @@ -155,21 +156,21 @@ IDM_WINEFILE MENU FIXED IMPURE MENUITEM "A&brir\tEnter", ID_ACTIVATE MENUITEM "&Mover...\tF7", ID_FILE_MOVE MENUITEM "&Copiar...\tF8", ID_FILE_COPY - MENUITEM "&Na Area de Transferência...\tF9", 118 + MENUITEM "Na Area de &Transferência...\tF9", 118 MENUITEM "E&xcluir\tDel", ID_FILE_DELETE MENUITEM "Re&nomear...", 109 - MENUITEM "&Propriedades...\tAlt+Enter", ID_EDIT_PROPERTIES + MENUITEM "Propri&edades...\tAlt+Enter", ID_EDIT_PROPERTIES MENUITEM SEPARATOR MENUITEM "C&omprimir...", 119 MENUITEM "&Descomprimir...", 120 MENUITEM SEPARATOR - MENUITEM "Execu&tar...", ID_RUN + MENUITEM "Exec&utar...", ID_RUN MENUITEM "&Imprimir...", 102 MENUITEM "A&ssociar...", 103 MENUITEM SEPARATOR - MENUITEM "Cri&ar pasta...", 111 - MENUITEM "P&esquisar...", 104 - MENUITEM "Seleccionar fichei&ros...", 116 + MENUITEM "Criar &pasta...", 111 + MENUITEM "Pes&quisar...", 104 + MENUITEM "Seleccion&ar ficheiros...", 116 MENUITEM SEPARATOR #ifndef _NO_EXTENSIONS MENUITEM "Sai&r\tAlt+X", ID_FILE_EXIT @@ -187,8 +188,8 @@ IDM_WINEFILE MENU FIXED IMPURE MENUITEM "&Gerar disco de sistema...", -1 /*TODO*/ #endif MENUITEM SEPARATOR - MENUITEM "Liga&r unidade de rede", ID_CONNECT_NETWORK_DRIVE - MENUITEM "&Desligar unidade de rede",ID_DISCONNECT_NETWORK_DRIVE + MENUITEM "L&igar unidade de rede", ID_CONNECT_NETWORK_DRIVE + MENUITEM "D&esligar unidade de rede",ID_DISCONNECT_NETWORK_DRIVE MENUITEM SEPARATOR MENUITEM "&Partilhar como...", 254 MENUITEM "&Remover partilha...", 255 @@ -198,42 +199,42 @@ IDM_WINEFILE MENU FIXED IMPURE POPUP "Á&rvore" { MENUITEM "&Próximo nível\t+", 301 - MENUITEM "Expandi&r pasta\t*", 302 + MENUITEM "E&xpandir pasta\t*", 302 MENUITEM "Expandir &tudo\tStrg+*", 303 MENUITEM "Recolher p&asta\t-", 304 MENUITEM SEPARATOR MENUITEM "&Indicar subníveis", 505 } - POPUP "&Exibir" { + POPUP "E&xibir" { MENUITEM "Á&rvore e pasta", 413 - MENUITEM "A&penas árvore", 411 - MENUITEM "Ap&enas pasta", 412 + MENUITEM "Apenas ár&vore", 411 + MENUITEM "Apenas &pasta", 412 MENUITEM SEPARATOR MENUITEM "&Dividir", ID_VIEW_SPLIT MENUITEM SEPARATOR MENUITEM "&Nome", ID_VIEW_NAME - MENUITEM "&Todos os delalhes", ID_VIEW_ALL_ATTRIBUTES, CHECKED + MENUITEM "&Todos os detalhes", ID_VIEW_ALL_ATTRIBUTES, CHECKED MENUITEM "D&etalhes parciais...", ID_VIEW_SELECTED_ATTRIBUTES MENUITEM SEPARATOR MENUITEM "&Classificar por nome", ID_VIEW_SORT_NAME - MENUITEM "C&lassificar por tipo", ID_VIEW_SORT_TYPE - MENUITEM "Cl&assificar por tamanho", ID_VIEW_SORT_SIZE - MENUITEM "Cla&ssificar por &data", ID_VIEW_SORT_DATE + MENUITEM "Cla&ssificar por tipo", ID_VIEW_SORT_TYPE + MENUITEM "Classificar por ta&manho", ID_VIEW_SORT_SIZE + MENUITEM "Classi&ficar por data", ID_VIEW_SORT_DATE MENUITEM SEPARATOR - MENUITEM "Classificar &por...", ID_VIEW_FILTER + MENUITEM "Classificar p&or...", ID_VIEW_FILTER } POPUP "&Opções" { MENUITEM "&Confirmação...", 501 - MENUITEM "&Tipo de Letra...", ID_SELECT_FONT + MENUITEM "&Tipo de letra...", ID_SELECT_FONT MENUITEM "&Personalizar barra de ferramentas...", 512 MENUITEM SEPARATOR - MENUITEM "Barra d&e ferramentas", ID_VIEW_TOOL_BAR, CHECKED - MENUITEM "&Barra de unidades", ID_VIEW_DRIVE_BAR, CHECKED - MENUITEM "B&arra de e&stado", ID_VIEW_STATUSBAR, CHECKED + MENUITEM "Barra de &ferramentas", ID_VIEW_TOOL_BAR, CHECKED + MENUITEM "Barra de &unidades", ID_VIEW_DRIVE_BAR, CHECKED + MENUITEM "Barra de &estado", ID_VIEW_STATUSBAR, CHECKED #ifndef _NO_EXTENSIONS - MENUITEM "Ecrã Completo\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "Ecrã completo\tCtrl+Shift+S", ID_VIEW_FULLSCREEN #endif MENUITEM SEPARATOR MENUITEM "&Minimizar durante o uso", 504 @@ -243,7 +244,7 @@ IDM_WINEFILE MENU FIXED IMPURE POPUP "&Segurança" { MENUITEM "&Acesso...", 605 - MENUITEM "&Autenticação...", 606 + MENUITEM "Au&tenticação...", 606 MENUITEM "&Dono...", 607 } @@ -261,8 +262,8 @@ IDM_WINEFILE MENU FIXED IMPURE POPUP "Aj&uda" { MENUITEM "&Tópicos da ajuda\tF1", ID_HELP - MENUITEM "Pesquisar...", ID_HELP - MENUITEM "&Usar a ajuda", ID_HELP_USING + MENUITEM "&Pesquisar...", ID_HELP + MENUITEM "Usar a &ajuda", ID_HELP_USING MENUITEM SEPARATOR MENUITEM "&Sobre o Winefile...", ID_ABOUT } @@ -298,6 +299,34 @@ FONT 8, "MS Shell Dlg" PUSHBUTTON "&Procurar", 254, 158, 43, 47, 14 } + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDD_DIALOG_VIEW_TYPE DIALOG DISCARDABLE 15, 13, 161, 97 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Por tipo de arquivo" +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "&Nome:",-1,7,8,22,10 + EDITTEXT IDC_VIEW_PATTERN,31,7,63,12,ES_AUTOHSCROLL + GROUPBOX "Tipo de arquivo",-1,7,23,87,56 + CONTROL "&Diretórios",IDC_VIEW_TYPE_DIRECTORIES,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,13,32,70,10 + CONTROL "&Programas",IDC_VIEW_TYPE_PROGRAMS,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,13,43,70,10 + CONTROL "Do&cumentos",IDC_VIEW_TYPE_DOCUMENTS,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,13,54,70,10 + CONTROL "&Outros arquivos",IDC_VIEW_TYPE_OTHERS,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,13,65,70,10 + CONTROL "&Mostrar arquivos ocultos/sistema",IDC_VIEW_TYPE_HIDDEN, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,81,106,9 + DEFPUSHBUTTON "OK",IDOK,104,7,50,14 + PUSHBUTTON "Cancelar",IDCANCEL,104,24,50,14 +END + + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + IDD_DIALOG_VIEW_TYPE DIALOG DISCARDABLE 15, 13, 161, 97 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Por tipo de ficheiro" @@ -310,7 +339,7 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,13,32,70,10 CONTROL "&Programas",IDC_VIEW_TYPE_PROGRAMS,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,13,43,70,10 - CONTROL "Docu&mentos",IDC_VIEW_TYPE_DOCUMENTS,"Button", + CONTROL "Do&cumentos",IDC_VIEW_TYPE_DOCUMENTS,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,13,54,70,10 CONTROL "&Outros ficheiros",IDC_VIEW_TYPE_OTHERS,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,13,65,70,10 @@ -320,6 +349,41 @@ BEGIN PUSHBUTTON "Cancelar",IDCANCEL,104,24,50,14 END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDD_DIALOG_PROPERTIES DIALOG DISCARDABLE 0, 0, 248, 215 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Propriedades de %s" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "OK",IDOK,191,7,50,14 + PUSHBUTTON "Cancelar",IDCANCEL,191,29,50,14 + LTEXT "&Nome do arquivo:",-1,7,7,59,9 + EDITTEXT IDC_STATIC_PROP_FILENAME,71,7,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP + LTEXT "&Localização Completa:",-1,7,18,59,9 + EDITTEXT IDC_STATIC_PROP_PATH,71,18,120,9, ES_READONLY | NOT WS_BORDER | WS_TABSTOP + LTEXT "Última alteração:",-1,7,29,59,9 + EDITTEXT IDC_STATIC_PROP_LASTCHANGE,71,29,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP + LTEXT "Versão:",-1,7,40,59,9 + EDITTEXT IDC_STATIC_PROP_VERSION,71,40,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP + LTEXT "Direitos de autor:",-1,7,51,59,9 + EDITTEXT IDC_STATIC_PROP_COPYRIGHT,71,51,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP + LTEXT "Tamanho:",-1,7,62,59,9 + EDITTEXT IDC_STATIC_PROP_SIZE,71,62,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP + GROUPBOX "Atributos",-1,7,79,158,46 + CONTROL "&Apenas leitura",IDC_CHECK_READONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,91,68,9 + CONTROL "&Oculto",IDC_CHECK_HIDDEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,91,68,9 + CONTROL "Ar&quivo",IDC_CHECK_ARCHIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,101,68,9 + CONTROL "&Sistema",IDC_CHECK_SYSTEM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,101,68,9 + CONTROL "&Comprimido",IDC_CHECK_COMPRESSED,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,17,111,68,9 + GROUPBOX "&Informação de versão",-1,7,129,234,79 + LISTBOX IDC_LIST_PROP_VERSION_TYPES,13,139,107,63,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + EDITTEXT IDC_LIST_PROP_VERSION_VALUES,123,139,111,63,ES_MULTILINE | ES_READONLY | WS_VSCROLL +END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + IDD_DIALOG_PROPERTIES DIALOG DISCARDABLE 0, 0, 248, 215 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Propriedades de %s" @@ -341,10 +405,10 @@ BEGIN EDITTEXT IDC_STATIC_PROP_SIZE,71,62,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP GROUPBOX "Atributos",-1,7,79,158,46 CONTROL "&Apenas de leitura",IDC_CHECK_READONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,91,68,9 - CONTROL "&Ocultos",IDC_CHECK_HIDDEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,91,68,9 - CONTROL "&Arquivos",IDC_CHECK_ARCHIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,101,68,9 + CONTROL "&Oculto",IDC_CHECK_HIDDEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,91,68,9 + CONTROL "Ar&quivo",IDC_CHECK_ARCHIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,101,68,9 CONTROL "&Sistema",IDC_CHECK_SYSTEM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,101,68,9 - CONTROL "&Comprimidos",IDC_CHECK_COMPRESSED,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,17,111,68,9 + CONTROL "&Comprimido",IDC_CHECK_COMPRESSED,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,17,111,68,9 GROUPBOX "&Informação de versão",-1,7,129,234,79 LISTBOX IDC_LIST_PROP_VERSION_TYPES,13,139,107,63,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP EDITTEXT IDC_LIST_PROP_VERSION_VALUES,123,139,111,63,ES_MULTILINE | ES_READONLY | WS_VSCROLL @@ -355,7 +419,7 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN STRINGTABLE { IDS_FONT_SEL_DLG_NAME "Aplicando configurações de fonte" - IDS_FONT_SEL_ERROR "Erro enquanto seleciona nova fonte." + IDS_FONT_SEL_ERROR "Erro al selecionar nova fonte." } LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE @@ -367,7 +431,37 @@ STRINGTABLE } -LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE +{ + IDS_WINEFILE "Gerenciador de Arquivos do Wine" + IDS_ERROR "Erro" + IDS_ROOT_FS "root fs" + IDS_UNIXFS "unixfs" + IDS_DESKTOP "Área de trabalho" + IDS_SHELL "Linha de comandos" + IDS_TITLEFMT "%s - %s" + IDS_NO_IMPL "Ainda não implementado" + IDS_WINE_FILE "Arquivo Wine" +} + +STRINGTABLE +{ + IDS_COL_NAME "Nome" + IDS_COL_SIZE "Tamanho" + IDS_COL_CDATE "CData" + IDS_COL_ADATE "AData" + IDS_COL_MDATE "MData" + IDS_COL_IDX "Índice/Inode" + IDS_COL_LINKS "Links" + IDS_COL_ATTR "Atributos" + IDS_COL_SEC "Segurança" + + IDS_FREE_SPACE_FMT "%s de %s livre" +} + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE STRINGTABLE { diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c index 3abfc39a429..c027dad3ac0 100644 --- a/programs/winemenubuilder/winemenubuilder.c +++ b/programs/winemenubuilder/winemenubuilder.c @@ -514,7 +514,7 @@ static BOOL SaveIconResAsPNG(const BITMAPINFO *pIcon, const char *png_filename, case 32: return SaveTrueColorIconResAsPNG(pIcon, png_filename, commentW); default: - WINE_FIXME("unsupported bpp %d, please report", pIcon->bmiHeader.biBitCount); + WINE_FIXME("unsupported bpp %d, please report\n", pIcon->bmiHeader.biBitCount); return FALSE; } } diff --git a/programs/winemine/main.c b/programs/winemine/main.c index 582f2cbd8bf..e9e89ecbac9 100644 --- a/programs/winemine/main.c +++ b/programs/winemine/main.c @@ -1015,6 +1015,7 @@ int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdline, int cmd LoadString( hInst, IDS_APPNAME, appname, sizeof(appname)); + wc.cbSize = sizeof(wc); wc.style = 0; wc.lpfnWndProc = MainProc; wc.cbClsExtra = 0; diff --git a/programs/winetest/gui.c b/programs/winetest/gui.c index 45b3232cc31..a9f346570d3 100644 --- a/programs/winetest/gui.c +++ b/programs/winetest/gui.c @@ -456,7 +456,8 @@ DlgProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) MAKEINTRESOURCE (IDD_ABOUT), hwnd, AboutProc); return TRUE; case IDABORT: - report (R_WARNING, "Not implemented"); + report (R_STATUS, "Aborting, please wait..."); + aborting = TRUE; return TRUE; } } diff --git a/programs/winetest/main.c b/programs/winetest/main.c index 01217d2d056..f5bf8d48115 100644 --- a/programs/winetest/main.c +++ b/programs/winetest/main.c @@ -49,6 +49,7 @@ struct wine_test char *tag = NULL; char *email = NULL; +BOOL aborting = FALSE; static struct wine_test *wine_tests; static int nr_of_files, nr_of_tests; static int nr_native_dlls; @@ -677,6 +678,7 @@ extract_test_proc (HMODULE hModule, LPCTSTR lpszType, HMODULE dll; DWORD err; + if (aborting) return TRUE; if (test_filtered_out( lpszName, NULL )) return TRUE; /* Check if the main dll is present on this system */ @@ -840,6 +842,8 @@ run_tests (char *logname, char *outdir) FreeLibrary(hmscoree); + if (aborting) return logname; + xprintf ("Test output:\n" ); report (R_DELTA, 0, "Extracting: Done"); @@ -853,12 +857,15 @@ run_tests (char *logname, char *outdir) struct wine_test *test = wine_tests + i; int j; + if (aborting) break; + if (test->maindllpath) { /* We need to add the path (to the main dll) to PATH */ append_path(test->maindllpath); } for (j = 0; j < test->subtest_count; j++) { + if (aborting) break; report (R_STEP, "Running: %s:%s", test->name, test->subtests[j]); run_test (test, test->subtests[j], logfile, tempdir); @@ -1105,6 +1112,10 @@ int main( int argc, char *argv[] ) if (!logname) { logname = run_tests (NULL, outdir); + if (aborting) { + DeleteFileA(logname); + exit (0); + } if (build_id[0] && !nb_filters && !nr_native_dlls && report (R_ASK, MB_YESNO, "Do you want to submit the test results?") == IDYES) if (!send_file (logname) && !DeleteFileA(logname)) diff --git a/programs/winetest/send.c b/programs/winetest/send.c index c25042457c8..11c9f334198 100644 --- a/programs/winetest/send.c +++ b/programs/winetest/send.c @@ -177,6 +177,7 @@ send_file_direct (const char *name) report (R_PROGRESS, 2, filesize); total = 0; while (total < filesize && ReadFile( file, buffer, BUFLEN/2, &bytes_read, NULL )) { + if (aborting) goto abort2; if (!bytes_read) break; total += bytes_read; if (total > filesize) bytes_read -= total - filesize; @@ -344,6 +345,7 @@ send_file_wininet (const char *name) report (R_PROGRESS, 2, filesize); total = 0; while (total < filesize && ReadFile( file, buffer, BUFLEN/2, &bytes_read, NULL )) { + if (aborting) goto done; if (!bytes_read) break; total += bytes_read; if (total > filesize) bytes_read -= total - filesize; diff --git a/programs/winetest/winetest.h b/programs/winetest/winetest.h index a0d2fbd93e9..2b9046caebc 100644 --- a/programs/winetest/winetest.h +++ b/programs/winetest/winetest.h @@ -69,6 +69,7 @@ enum report_type { #define MAXTAGLEN 20 extern char *tag; extern char *email; +extern BOOL aborting; int guiAskTag (void); int guiAskEmail (void); int report (enum report_type t, ...); diff --git a/programs/winhlp32/Es.rc b/programs/winhlp32/Es.rc index e752950bcd9..745cac62692 100644 --- a/programs/winhlp32/Es.rc +++ b/programs/winhlp32/Es.rc @@ -42,21 +42,21 @@ MAIN_MENU MENU LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL POPUP "&Marcador" { MENUITEM "&Definir...", MNID_BKMK_DEFINE } - POPUP "&Options" { - POPUP "Help always visible" + POPUP "&Opciones" { + POPUP "Ayuda siempre visible" BEGIN - MENUITEM "Default", MNID_OPTS_HELP_DEFAULT + MENUITEM "Por defecto", MNID_OPTS_HELP_DEFAULT MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE - MENUITEM "Non visible", MNID_OPTS_HELP_NONVISIBLE + MENUITEM "No visible", MNID_OPTS_HELP_NONVISIBLE END - MENUITEM "History", MNID_OPTS_HISTORY - POPUP "Fonts" + MENUITEM "Historial", MNID_OPTS_HISTORY + POPUP "Fuentes" BEGIN - MENUITEM "Small", MNID_OPTS_FONTS_SMALL + MENUITEM "Pequeña", MNID_OPTS_FONTS_SMALL MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL - MENUITEM "Large", MNID_OPTS_FONTS_LARGE + MENUITEM "Grande", MNID_OPTS_FONTS_LARGE END - MENUITEM "Use system colors", MNID_OPTS_SYSTEM_COLORS + MENUITEM "Usar colores del sistema", MNID_OPTS_SYSTEM_COLORS } POPUP "A&yuda" { MENUITEM "&Ayuda sobre la ayuda", MNID_HELP_HELPON @@ -69,6 +69,22 @@ MAIN_MENU MENU LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL } } +IDD_INDEX DIALOG DISCARDABLE 0, 0, 200, 190 LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Índice" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG DISCARDABLE 0, 0, 200, 190 LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Buscar" +{ + LTEXT "Aún no implementado", -1, 10, 10, 180, 150 +} + /* Strings */ STRINGTABLE DISCARDABLE LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL { @@ -79,11 +95,11 @@ STID_INFO, "Informaci STID_NOT_IMPLEMENTED, "Aún no implementado" STID_HLPFILE_ERROR_s, "Error al leer el archivo de ayuda `%s'" STID_INDEX, "&Índice" -STID_CONTENTS, "Summary" +STID_CONTENTS, "Resumen" STID_BACK, "&Anterior" STID_ALL_FILES, "Todos los archivos (*.*)" STID_HELP_FILES_HLP, "Archivos de ayuda (*.hlp)" -STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?" -STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting" -STID_PSH_INDEX, "Help topics: " +STID_FILE_NOT_FOUND_s "No se pudo encontrar '%s'. ¿Desea buscar este archivo usted mismo?" +STID_NO_RICHEDIT "No se pudo encontrar una implementación de richedit... Abortando" +STID_PSH_INDEX, "Temas de ayuda: " } diff --git a/programs/winhlp32/Nl.rc b/programs/winhlp32/Nl.rc index 0a4594aa07b..9294856e7dd 100644 --- a/programs/winhlp32/Nl.rc +++ b/programs/winhlp32/Nl.rc @@ -113,7 +113,7 @@ BEGIN BEGIN MENUITEM "Annotering...", MNID_CTXT_ANNOTATE MENUITEM "Kopiëren", MNID_CTXT_COPY - MENUITEM "Afdrukken ...", MNID_CTXT_PRINT + MENUITEM "Afdrukken...", MNID_CTXT_PRINT POPUP "Lettertype" BEGIN MENUITEM "Klein", MNID_CTXT_FONTS_SMALL diff --git a/programs/wordpad/No.rc b/programs/wordpad/No.rc index fbca2a09bee..7fa0c84b956 100644 --- a/programs/wordpad/No.rc +++ b/programs/wordpad/No.rc @@ -247,13 +247,6 @@ BEGIN STRING_PREVIEW_ZOOMIN, "Zoom in" STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "Lukk" - STRING_PREVIEW_PAGE, "Page" - STRING_PREVIEW_PAGES, "Pages" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_UNITS_CM, "cm" END STRINGTABLE DISCARDABLE diff --git a/programs/wordpad/Pt.rc b/programs/wordpad/Pt.rc index 3f14049af41..2bc44febd79 100644 --- a/programs/wordpad/Pt.rc +++ b/programs/wordpad/Pt.rc @@ -2,6 +2,7 @@ * Portuguese Language File * * Copyright 2008 Ricardo Filipe + * Copyright 2010 Gustavo Henrique Milaré * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -22,6 +23,81 @@ #pragma code_page(65001) +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDM_MAINMENU MENU DISCARDABLE +BEGIN + POPUP "&Arquivo" + BEGIN + MENUITEM "&Novo...\tCtrl+N", ID_FILE_NEW + MENUITEM "&Abrir...\tCtrl+O", ID_FILE_OPEN + MENUITEM "&Salvar\tCtrl+S", ID_FILE_SAVE + MENUITEM "Salvar &como...", ID_FILE_SAVEAS + MENUITEM SEPARATOR + MENUITEM "&Imprimir...\tCtrl+P", ID_PRINT + MENUITEM "&Pré visualizar...", ID_PREVIEW + MENUITEM "C&onfigurar página...", ID_PRINTSETUP + MENUITEM SEPARATOR + MENUITEM "&Sair", ID_FILE_EXIT + END + POPUP "&Editar" + BEGIN + MENUITEM "&Desfazer\tCtrl+Z", ID_EDIT_UNDO + MENUITEM "&Refazer\tCtrl+Y", ID_EDIT_REDO + MENUITEM SEPARATOR + MENUITEM "Cor&tar\tCtrl+X", ID_EDIT_CUT + MENUITEM "C&opiar\tCtrl+C", ID_EDIT_COPY + MENUITEM "&Colar\tCtrl+V", ID_EDIT_PASTE + MENUITEM "&Limpar\tDEL", ID_EDIT_CLEAR + MENUITEM "&Selecionar tudo\tCtrl+A", ID_EDIT_SELECTALL + MENUITEM SEPARATOR + MENUITEM "Locali&zar...\tCtrl+F", ID_FIND + MENUITEM "&Localizar próxima\tF3", ID_FIND_NEXT + MENUITEM "Substitui&r...\tCtrl+H", ID_REPLACE + MENUITEM SEPARATOR + MENUITEM "Some&nte leitura", ID_EDIT_READONLY + MENUITEM "&Modificado", ID_EDIT_MODIFIED + MENUITEM SEPARATOR + POPUP "E&xtras" + BEGIN + MENUITEM "&Informação da selecção", ID_EDIT_SELECTIONINFO + MENUITEM "&Formato dos caracteres", ID_EDIT_CHARFORMAT + MENUITEM "&Definir formato dos caracteres", ID_EDIT_DEFCHARFORMAT + MENUITEM "F&ormato dos parágrafos", ID_EDIT_PARAFORMAT + MENUITEM "&Buscar texto", ID_EDIT_GETTEXT + END + END + POPUP "E&xibir" + BEGIN + MENUITEM "&Barra de Ferramentas", ID_TOGGLE_TOOLBAR + MENUITEM "Barra de &Formatação", ID_TOGGLE_FORMATBAR + MENUITEM "&Régua", ID_TOGGLE_RULER + MENUITEM "Barra de &Estado", ID_TOGGLE_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Opções...", ID_VIEWPROPERTIES + END + POPUP "&Inserir" + BEGIN + MENUITEM "&Data e hora...", ID_DATETIME + END + POPUP "F&ormatar" + BEGIN + MENUITEM "&Fonte...", ID_FONTSETTINGS + MENUITEM "&Marcadores" ID_BULLET + MENUITEM "&Parágrafo..." ID_PARAFORMAT + MENUITEM "T&abulação..." ID_TABSTOPS + POPUP "&Fundo" + BEGIN + MENUITEM "&Sistema\tCtrl+1", ID_BACK_1 + MENUITEM "&PostThat amarelo\tCtrl+2", ID_BACK_2 + END + END + POPUP "&Ajuda" + BEGIN + MENUITEM "&Sobre Wine Wordpad" ID_ABOUT + END +END + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE IDM_MAINMENU MENU DISCARDABLE @@ -97,6 +173,24 @@ BEGIN END END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +IDM_POPUP MENU DISCARDABLE +BEGIN + POPUP "" + BEGIN + MENUITEM "&Cortar", ID_EDIT_CUT + MENUITEM "C&opiar", ID_EDIT_COPY + MENUITEM "Co&lar", ID_EDIT_PASTE + MENUITEM SEPARATOR + MENUITEM "&Marcadores" ID_BULLET + MENUITEM "&Parágrafo..." ID_PARAFORMAT + END +END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + IDM_POPUP MENU DISCARDABLE BEGIN POPUP "" @@ -110,6 +204,9 @@ BEGIN END END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL + IDM_COLOR_POPUP MENU DISCARDABLE BEGIN POPUP "" @@ -130,7 +227,7 @@ BEGIN MENUITEM "Fúcsia" ID_COLOR_FUCHSIA MENUITEM "Azul-piscina" ID_COLOR_AQUA MENUITEM "Branco" ID_COLOR_WHITE - MENUITEM "Automatic" ID_COLOR_AUTOMATIC + MENUITEM "Automático" ID_COLOR_AUTOMATIC END END @@ -156,22 +253,22 @@ BEGIN PUSHBUTTON "&Cancelar",IDCANCEL,97,26,40,12 END -IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110 +IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 220, 110 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU Caption "Parágrafo" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Identação", -1, 10, 10, 120, 68 - LTEXT "Esquerda", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Direita", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Primeira Linha", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Alinhamento", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Cancelar", IDCANCEL, 137, 33, 50, 15 + GROUPBOX "Identação", -1, 10, 10, 140, 68 + LTEXT "Esquerda", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 60, 13 + LTEXT "Direita", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 60, 13 + LTEXT "Primeira Linha", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 60, 13 + LTEXT "Alinhamento", -1, 15, 87, 50, 13 + COMBOBOX IDC_PARA_ALIGN, 65, 85, 70, 60, CBS_DROPDOWNLIST + PUSHBUTTON "&OK", IDOK, 157, 15, 50, 15 + PUSHBUTTON "&Cancelar", IDCANCEL, 157, 33, 50, 15 END IDD_TABSTOPS DIALOG DISCARDABLE 30, 20, 200, 110 @@ -207,29 +304,49 @@ END STRINGTABLE DISCARDABLE BEGIN - STRING_RICHTEXT_FILES_RTF, "Rich text format (*.rtf)" + STRING_RICHTEXT_FILES_RTF, "Formato rich text (*.rtf)" STRING_TEXT_FILES_TXT, "Documentos de texto (*.txt)" STRING_TEXT_FILES_UNICODE_TXT, "Documentos de texto Unicode (*.txt)" STRING_ALL_FILES, "Todos os documentos (*.*)" END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + STRINGTABLE DISCARDABLE BEGIN - STRING_ALIGN_LEFT, "Esquerda" - STRING_ALIGN_RIGHT, "Direita" - STRING_ALIGN_CENTER, "Centro" + STRING_ALL_FILES, "Todos os documentos (*.*)" + STRING_TEXT_FILES_TXT, "Documentos de texto (*.txt)" + STRING_TEXT_FILES_UNICODE_TXT, "Documentos de texto Unicode (*.txt)" + STRING_RICHTEXT_FILES_RTF, "Formato rich text (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Documento rich text" + STRING_NEWFILE_TXT, "Documento de texto" + STRING_NEWFILE_TXT_UNICODE, "Documento de texto Unicode" + STRING_PRINTER_FILES_PRN, "Arquivos de impressora (*.PRN)" END +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + STRINGTABLE DISCARDABLE BEGIN - STRING_NEWFILE_RICHTEXT, "Rich text document" - STRING_NEWFILE_TXT, "Documento de texto" - STRING_NEWFILE_TXT_UNICODE, "Documento de texto Unicode" + STRING_ALL_FILES, "Todos os documentos (*.*)" + STRING_TEXT_FILES_TXT, "Documentos de texto (*.txt)" + STRING_TEXT_FILES_UNICODE_TXT, "Documentos de texto Unicode (*.txt)" + STRING_RICHTEXT_FILES_RTF, "Formato rich text (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Documento rich text" + STRING_NEWFILE_TXT, "Documento de texto" + STRING_NEWFILE_TXT_UNICODE, "Documento de texto Unicode" + STRING_PRINTER_FILES_PRN, "Ficheiros de impressora (*.PRN)" END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL + STRINGTABLE DISCARDABLE BEGIN - STRING_PRINTER_FILES_PRN, "Ficheiros de impressora (*.PRN)" + STRING_ALIGN_LEFT, "Esquerda" + STRING_ALIGN_RIGHT, "Direita" + STRING_ALIGN_CENTER, "Centro" END STRINGTABLE DISCARDABLE @@ -257,6 +374,30 @@ BEGIN STRING_UNITS_PT, "pt" END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +STRINGTABLE DISCARDABLE +BEGIN + STRING_DEFAULT_FILENAME, "Documento" + STRING_PROMPT_SAVE_CHANGES, "Salvar as alterações de '%s'?" + STRING_SEARCH_FINISHED, "Acabou a pesquisa do documento." + STRING_LOAD_RICHED_FAILED, "Falha ao carregar a biblioteca RichEdit." + STRING_SAVE_LOSEFORMATTING, "Foi escolhido salvar em formato de texto simples, " \ + "o que vai anular todas as formatações. " \ + "Tem a certeza que deseja fazer isto?" + STRING_INVALID_NUMBER, "Formato de número inválido" + STRING_OLE_STORAGE_NOT_SUPPORTED, "Documentos OLE não são suportados" + STRING_WRITE_FAILED, "Não foi possível salvar o arquivo." + STRING_WRITE_ACCESS_DENIED, "Não tem permissões para salvar o arquivo." + STRING_OPEN_FAILED, "Não foi possível abrir o arquivo." + STRING_OPEN_ACCESS_DENIED, "Não tem permissões para abrir o arquivo." + STRING_PRINTING_NOT_IMPLEMENTED, "Impressão não implementada" + STRING_MAX_TAB_STOPS, "Não é possível adicionar mais de 32 tabulações." +END + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + STRINGTABLE DISCARDABLE BEGIN STRING_DEFAULT_FILENAME, "Documento" diff --git a/programs/wordpad/Tr.rc b/programs/wordpad/Tr.rc index ef66aa40ad8..2273175700a 100644 --- a/programs/wordpad/Tr.rc +++ b/programs/wordpad/Tr.rc @@ -131,127 +131,3 @@ BEGIN MENUITEM "Automatic" ID_COLOR_AUTOMATIC END END - -IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Date and time" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Available formats",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "&Cancel",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "New" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "New document type",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "&Cancel",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -Caption "Paragraph format" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Indentation", -1, 10, 10, 120, 68 - LTEXT "Left", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Right", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "First line", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Alignment", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Cancel", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG DISCARDABLE 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -Caption "Tabs" -FONT 8, "MS SHell DLg" -BEGIN - GROUPBOX "Tab stops", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Add", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "&Remove", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Cancel", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "Remove al&l", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG DISCARDABLE 0, 0, 280, 110 -STYLE DS_SYSMODAL -Caption "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Line wrapping", -1, 10, 10, 130, 85 - RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Toolbars", -1, 150, 10, 120, 85 - CHECKBOX "&Toolbar", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "&Formatbar", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Ruler", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "&Statusbar", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_RICHTEXT_FILES_RTF, "Rich text format (*.rtf)" - STRING_TEXT_FILES_TXT, "Text documents (*.txt)" - STRING_TEXT_FILES_UNICODE_TXT, "Unicode text document (*.txt)" - STRING_ALL_FILES, "All documents (*.*)" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_ALIGN_LEFT, "Left" - STRING_ALIGN_RIGHT, "Right" - STRING_ALIGN_CENTER, "Center" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_NEWFILE_RICHTEXT, "Rich text document" - STRING_NEWFILE_TXT, "Text document" - STRING_NEWFILE_TXT_UNICODE, "Unicode text document" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_PRINTER_FILES_PRN, "Printer files (*.PRN)" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_VIEWPROPS_TITLE, "Options" - STRING_VIEWPROPS_TEXT, "Text" - STRING_VIEWPROPS_RICHTEXT, "Rich text" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_PREVIEW_PRINT, "Print" - STRING_PREVIEW_NEXTPAGE, "Next page" - STRING_PREVIEW_PREVPAGE, "Previous page" - STRING_PREVIEW_TWOPAGES, "Two pages" - STRING_PREVIEW_ONEPAGE, "One page" - STRING_PREVIEW_ZOOMIN, "Zoom in" - STRING_PREVIEW_ZOOMOUT, "Zoom out" - STRING_PREVIEW_CLOSE, "Close" - STRING_PREVIEW_PAGE, "Page" - STRING_PREVIEW_PAGES, "Pages" -END - -STRINGTABLE DISCARDABLE -BEGIN - STRING_UNITS_CM, "cm" -END diff --git a/programs/wordpad/Zh.rc b/programs/wordpad/Zh.rc index 135f00c3422..bae40a7fb02 100644 --- a/programs/wordpad/Zh.rc +++ b/programs/wordpad/Zh.rc @@ -111,30 +111,6 @@ BEGIN END END -IDM_COLOR_POPUP MENU DISCARDABLE -BEGIN - POPUP "" - BEGIN - MENUITEM "Black", ID_COLOR_BLACK - MENUITEM "Maroon", ID_COLOR_MAROON - MENUITEM "Green", ID_COLOR_GREEN - MENUITEM "Olive" ID_COLOR_OLIVE - MENUITEM "Navy" ID_COLOR_NAVY - MENUITEM "Purple" ID_COLOR_PURPLE - MENUITEM "Teal" ID_COLOR_TEAL - MENUITEM "Gray" ID_COLOR_GRAY - MENUITEM "Silver" ID_COLOR_SILVER - MENUITEM "Red" ID_COLOR_RED - MENUITEM "Lime" ID_COLOR_LIME - MENUITEM "Yellow" ID_COLOR_YELLOW - MENUITEM "Blue" ID_COLOR_BLUE - MENUITEM "Fuchsia" ID_COLOR_FUCHSIA - MENUITEM "Aqua" ID_COLOR_AQUA - MENUITEM "White" ID_COLOR_WHITE - MENUITEM "Automatic" ID_COLOR_AUTOMATIC - END -END - IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "日期和时间" diff --git a/programs/wordpad/print.c b/programs/wordpad/print.c index 1d4e6e38bd9..231c90e891c 100644 --- a/programs/wordpad/print.c +++ b/programs/wordpad/print.c @@ -891,7 +891,7 @@ static void update_preview_buttons(HWND hMainWnd) EnableWindow(GetDlgItem(hReBar, ID_PREVIEW_ZOOMOUT), preview.zoomlevel > 0); } -LRESULT print_preview(HWND hwndPreview) +static LRESULT print_preview(HWND hwndPreview) { HDC hdc; RECT window, background; @@ -1039,7 +1039,7 @@ static void toggle_num_pages(HWND hMainWnd) /* Returns the page shown that the point is in (1 or 2) or 0 if the point * isn't inside either page */ -int preview_page_hittest(POINT pt) +static int preview_page_hittest(POINT pt) { RECT rc; rc.left = preview.spacing.cx; diff --git a/programs/wordpad/wordpad.c b/programs/wordpad/wordpad.c index d73a79b88be..0e6566df74c 100644 --- a/programs/wordpad/wordpad.c +++ b/programs/wordpad/wordpad.c @@ -2435,7 +2435,7 @@ static LRESULT OnCommand( HWND hWnd, WPARAM wParam, LPARAM lParam) break; case ID_TABSTOPS: - DialogBoxW(GetModuleHandleW(0), MAKEINTRESOURCEW(IDD_PARAFORMAT), hWnd, tabstops_proc); + DialogBoxW(GetModuleHandleW(0), MAKEINTRESOURCEW(IDD_TABSTOPS), hWnd, tabstops_proc); break; case ID_ABOUT: diff --git a/programs/wordpad/wordpad.h b/programs/wordpad/wordpad.h index c250cc15c36..c3c5bc089ba 100644 --- a/programs/wordpad/wordpad.h +++ b/programs/wordpad/wordpad.h @@ -247,7 +247,6 @@ LRESULT preview_command(HWND, WPARAM); void init_preview(HWND, LPWSTR); void close_preview(HWND); BOOL preview_isactive(void); -LRESULT print_preview(HWND); void get_default_printer_opts(void); void registry_set_pagemargins(HKEY); void registry_read_pagemargins(HKEY); diff --git a/programs/xcopy/En.rc b/programs/xcopy/En.rc index 83ef291c9df..6fb299c221d 100644 --- a/programs/xcopy/En.rc +++ b/programs/xcopy/En.rc @@ -53,8 +53,8 @@ XCOPY source [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\ \n\ Where:\n\ \n\ -[/I] Assume directory if destination does not exist and copying 2 or\n\ -\tmore files\n\ +[/I] Assume directory if destination does not exist and copying two or\n\ +\ more files\n\ [/S] Copy directories and subdirectories\n\ [/E] Copy directories and subdirectories, including any empty ones\n\ [/Q] Do not list names during copy, ie quiet.\n\ @@ -72,7 +72,7 @@ Where:\n\ [/C] Continue even if an error occurs during the copy\n\ [/A] Only copy files with archive attribute set\n\ [/M] Only copy files with archive attribute set, removes\n\ -\tarchive attribute\n\ +\ archive attribute\n\ [/D | /D:m-d-y] Copy new files or those modified after the supplied date.\n\ \t\tIf no date is supplied, only copy if destination is older\n\ \t\tthan source\n\n" diff --git a/programs/xcopy/Makefile.in b/programs/xcopy/Makefile.in index ea98ebac352..8d8e9e7f79e 100644 --- a/programs/xcopy/Makefile.in +++ b/programs/xcopy/Makefile.in @@ -25,6 +25,7 @@ RC_SRCS = \ No.rc \ Pl.rc \ Pt.rc \ + Ro.rc \ Ru.rc \ Si.rc \ Uk.rc diff --git a/programs/xcopy/Ro.rc b/programs/xcopy/Ro.rc new file mode 100644 index 00000000000..bf4f5ebe87d --- /dev/null +++ b/programs/xcopy/Ro.rc @@ -0,0 +1,80 @@ +/* + * XCOPY - Wine-compatible xcopy program + * + * Copyright (C) 2007 J. Edmeades + * Copyright (C) 2010 Claudia Cotună + * Michael Stefaniuc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "xcopy.h" + +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +#pragma code_page(65001) + +STRINGTABLE +{ + STRING_INVPARMS, "Număr de parametri nevalid - Utilizați xcopy /? pentru ajutor\n" + STRING_INVPARM, "Parametru nevalid „%s” - Utilizați xcopy /? pentru ajutor\n" + STRING_PAUSE, "Apăsați pe pentru a începe copierea\n" + STRING_SIMCOPY, "%d fișier(e) ar fi copiat(e)\n" + STRING_COPY, "%d fișier(e) copiat(e)\n" + STRING_QISDIR, "„%s” este un nume de fișier sau un director\ndin destinație?\n(F - Fișier, D - Director)\n" + STRING_SRCPROMPT,"%s? (Da|Nu)\n" + STRING_OVERWRITE,"Se suprascrie %s? (Da|Nu|Toate)\n" + STRING_COPYFAIL, "Copierea „%s” în „%s” a eșuat cu cod de retur %d\n" + STRING_OPENFAIL, "Deschiderea „%s” a eșuat\n" + STRING_READFAIL, "Citirea „%s” a eșuat\n" + STRING_YES_CHAR, "D" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "T" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "D" + + STRING_HELP, +"XCOPY - Copiază fișiere sau arbori de directoare sursă într-o destinație\n\ +\n\ +Sintaxă:\n\ +XCOPY sursă [destinație] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\ +\ [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\ +\nCu:\n\ +\n\ +[/I] Creează director dacă destinația nu există și se copiază două sau\n\ +\ mai multe fișiere\n\ +[/S] Copiază directoarele și subdirectoarele\n\ +[/E] Copiază directoarele și subdirectoarele, inclusiv pe cele goale\n\ +[/Q] Nu afișa numele în timpul copierii.\n\ +[/F] Arată numele întreg pentru sursă și destinație în timpul copierii\n\ +[/L] Simulează operațiunea, afișând numele care ar fi copiate\n\ +[/W] Solicită confirmarea înainte de a începe copierea\n\ +[/T] Creează o structură de directoare goale, dar nu copiază fișiere\n\ +[/Y] Nu solicita confirmarea la suprascrierea fișierelor\n\ +[/-Y] Solicită confirmarea la suprascrierea fișierelor\n\ +[/P] Solicită confirmarea înainte de copierea fiecărui fișier sursă\n\ +[/N] Copiază utilizând prescurtări de nume\n\ +[/U] Copiază numai fișierele care există deja în destinație\n\ +[/R] Suprascrie orice fișiere cu protecție la modificări\n\ +[/H] Include în copie fișierele ascunse și de sistem\n\ +[/C] Continuă chiar dacă apare o eroare în timpul copierii\n\ +[/A] Copiază numai fișierele cu atributul de arhivă activat\n\ +[/M] Copiază numai fișierele cu atributul de arhivă activat, dezactivează\n\ +\ apoi atributul\n\ +[/D | /D:m-d-y] Copiază fișierele noi sau pe cele modificate după data\n\ +\t\tspecificată. Dacă nu este specificată nici o dată, copiază\n\ +\t\tnumai dacă fișierul destinație este mai vechi decât fișierul\n\ +\t\tsursă\n\n" +} diff --git a/tools/winedump/README b/tools/winedump/README index b1ef087d75f..a6bb59bb2e3 100644 --- a/tools/winedump/README +++ b/tools/winedump/README @@ -450,5 +450,5 @@ Please send questions and bug reports to jon_p_griffiths@yahoo.com. References ---------- -[1] See the wine and wine.conf man pages for details on how to tell Wine +[1] See the wine man page for details on how to tell Wine whether to use native (Win32) or internal DLL's. diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c index 40f44c38165..5fed4a360b6 100644 --- a/tools/winegcc/winegcc.c +++ b/tools/winegcc/winegcc.c @@ -1003,7 +1003,7 @@ static int is_linker_arg(const char* arg) { "-nostartfiles", "-nodefaultlibs", "-nostdlib", "-s", "-static", "-static-libgcc", "-shared", "-shared-libgcc", "-symbolic", - "-framework" + "-framework", "--coverage", "-fprofile-generate", "-fprofile-use" }; unsigned int j; diff --git a/tools/winemaker b/tools/winemaker index 23f800fe45e..64cf54b7f8a 100755 --- a/tools/winemaker +++ b/tools/winemaker @@ -670,7 +670,11 @@ sub source_scan_project_file($$$) # Additional Include Directories $sfilet=$1; $sfilet=~s/\\/\//g; - push @{@$project_settings[$T_INCLUDE_PATH]},"-I".$sfilet." "; + if ($sfilet=~/^\w:/) { + print STDERR "warning: Can't fix path $sfilet\n" + } else { + push @{@$project_settings[$T_INCLUDE_PATH]},"-I".$sfilet." "; + } } elsif (/^U\s*\"(.*)\"/) { # Undefines a previously defined symbol $prj_target_cflags.="-U".$1." "; @@ -687,19 +691,19 @@ sub source_scan_project_file($$$) # this option is always present and is already specified in the suffix rules } elsif (/^GB$/) { # Blend Optimization - $prj_target_cflags.="-mcpu=pentiumpro -D_M_IX86=500 "; + $prj_target_cflags.="-march=pentiumpro -D_M_IX86=500 "; } elsif (/^G6$/) { # Pentium Pro Optimization $prj_target_cflags.="-march=pentiumpro -D_M_IX86=600 "; } elsif (/^G5$/) { # Pentium Optimization - $prj_target_cflags.="-mcpu=pentium -D_M_IX86=500 "; + $prj_target_cflags.="-march=pentium -D_M_IX86=500 "; } elsif (/^G3$/) { # 80386 Optimization - $prj_target_cflags.="-mcpu=i386 -D_M_IX86=300 "; + $prj_target_cflags.="-march=i386 -D_M_IX86=300 "; } elsif (/^G4$/) { # 80486 Optimization - $prj_target_cflags.="-mcpu=i486 -D_M_IX86=400 "; + $prj_target_cflags.="-march=i486 -D_M_IX86=400 "; } elsif (/^Yc/) { # Create Precompiled Header } elsif (/^Yu/) { @@ -782,6 +786,7 @@ sub source_scan_project_file($$$) } elsif (/^SOURCE=(.*)$/) { my @components=split /[\/\\]+/, $1; $sfilet=search_from($path, \@components); + if (!defined $sfilet) { next; } if ($sfilet =~ /\.c$/i and $sfilet !~ /\.(dbg|spec)\.c$/) { push @sources_c,$sfilet; } elsif ($sfilet =~ /\.(cpp|cxx)$/i) { @@ -1163,6 +1168,8 @@ sub source_scan_workspace_file($) next; } elsif (/^#/) { # ignore Comments + } elsif (/^Global:/) { + # ignore the Global section } elsif (/\w:/) { print STDERR "unknown section $_\n"; } elsif (/^Microsoft(.*)Studio(.*)File,\sFormat Version\s(.*)/) { -- 2.11.4.GIT